FLTK logo

[Library] r8231 - in branches/branch-3.0-2011: FL fltk3 ide/Xcode3/FLTK.xcodeproj ide/Xcode3/plists src test1

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 All Forums  |  Back to fltk.commit  ]
 
Previous Message ]Next Message ]

[Library] r8231 - in branches/branch-3.0-2011: FL fltk3 ide/Xcode3/FLTK.xcodeproj ide/Xcode3/plists src test1 fltk-dev Jan 09, 2011  
 
Author: matt
Date: 2011-01-09 11:24:30 -0800 (Sun, 09 Jan 2011)
New Revision: 8231
Log:
Hello1 and Hello3 working.

Added:
   branches/branch-3.0-2011/fltk3/Group.h
   branches/branch-3.0-2011/fltk3/Object.h
   branches/branch-3.0-2011/fltk3/Widget.h
   branches/branch-3.0-2011/fltk3/Wrapper.h
Removed:
   branches/branch-3.0-2011/fltk3/Fl_Group.H
   branches/branch-3.0-2011/fltk3/Fl_Widget.H
Modified:
   branches/branch-3.0-2011/FL/Enumerations.H
   branches/branch-3.0-2011/FL/Fl.H
   branches/branch-3.0-2011/FL/Fl_Box.H
   branches/branch-3.0-2011/FL/Fl_Export.H
   branches/branch-3.0-2011/FL/Fl_Group.H
   branches/branch-3.0-2011/FL/Fl_Widget.H
   branches/branch-3.0-2011/FL/Fl_Window.H
   branches/branch-3.0-2011/FL/fl_types.h
   branches/branch-3.0-2011/FL/fl_utf8.h
   branches/branch-3.0-2011/fltk3/Box.h
   branches/branch-3.0-2011/fltk3/Enumerations.H
   branches/branch-3.0-2011/fltk3/Fl_Bitmap.H
   branches/branch-3.0-2011/fltk3/Fl_Browser.H
   branches/branch-3.0-2011/fltk3/Fl_Browser_.H
   branches/branch-3.0-2011/fltk3/Fl_Button.H
   branches/branch-3.0-2011/fltk3/Fl_Chart.H
   branches/branch-3.0-2011/fltk3/Fl_Choice.H
   branches/branch-3.0-2011/fltk3/Fl_Clock.H
   branches/branch-3.0-2011/fltk3/Fl_Color_Chooser.H
   branches/branch-3.0-2011/fltk3/Fl_Counter.H
   branches/branch-3.0-2011/fltk3/Fl_Device.H
   branches/branch-3.0-2011/fltk3/Fl_File_Browser.H
   branches/branch-3.0-2011/fltk3/Fl_File_Chooser.H
   branches/branch-3.0-2011/fltk3/Fl_File_Icon.H
   branches/branch-3.0-2011/fltk3/Fl_FormsBitmap.H
   branches/branch-3.0-2011/fltk3/Fl_FormsPixmap.H
   branches/branch-3.0-2011/fltk3/Fl_Free.H
   branches/branch-3.0-2011/fltk3/Fl_Gl_Window.H
   branches/branch-3.0-2011/fltk3/Fl_Help_Dialog.H
   branches/branch-3.0-2011/fltk3/Fl_Help_View.H
   branches/branch-3.0-2011/fltk3/Fl_Image.H
   branches/branch-3.0-2011/fltk3/Fl_Input_.H
   branches/branch-3.0-2011/fltk3/Fl_Input_Choice.H
   branches/branch-3.0-2011/fltk3/Fl_Menu_.H
   branches/branch-3.0-2011/fltk3/Fl_Menu_Bar.H
   branches/branch-3.0-2011/fltk3/Fl_Menu_Button.H
   branches/branch-3.0-2011/fltk3/Fl_Menu_Item.H
   branches/branch-3.0-2011/fltk3/Fl_Multi_Label.H
   branches/branch-3.0-2011/fltk3/Fl_Object.H
   branches/branch-3.0-2011/fltk3/Fl_Pack.H
   branches/branch-3.0-2011/fltk3/Fl_Paged_Device.H
   branches/branch-3.0-2011/fltk3/Fl_Pixmap.H
   branches/branch-3.0-2011/fltk3/Fl_Positioner.H
   branches/branch-3.0-2011/fltk3/Fl_Progress.H
   branches/branch-3.0-2011/fltk3/Fl_Scroll.H
   branches/branch-3.0-2011/fltk3/Fl_Slider.H
   branches/branch-3.0-2011/fltk3/Fl_Spinner.H
   branches/branch-3.0-2011/fltk3/Fl_Table.H
   branches/branch-3.0-2011/fltk3/Fl_Tabs.H
   branches/branch-3.0-2011/fltk3/Fl_Text_Display.H
   branches/branch-3.0-2011/fltk3/Fl_Tile.H
   branches/branch-3.0-2011/fltk3/Fl_Timer.H
   branches/branch-3.0-2011/fltk3/Fl_Tooltip.H
   branches/branch-3.0-2011/fltk3/Fl_Tree.H
   branches/branch-3.0-2011/fltk3/Fl_Tree_Item.H
   branches/branch-3.0-2011/fltk3/Fl_Valuator.H
   branches/branch-3.0-2011/fltk3/Fl_Value_Input.H
   branches/branch-3.0-2011/fltk3/Fl_Value_Output.H
   branches/branch-3.0-2011/fltk3/Fl_Value_Slider.H
   branches/branch-3.0-2011/fltk3/Fl_Wizard.H
   branches/branch-3.0-2011/fltk3/Window.h
   branches/branch-3.0-2011/fltk3/fl_ask.H
   branches/branch-3.0-2011/fltk3/fl_draw.H
   branches/branch-3.0-2011/fltk3/forms.H
   branches/branch-3.0-2011/fltk3/glut.H
   branches/branch-3.0-2011/fltk3/mac.H
   branches/branch-3.0-2011/fltk3/names.h
   branches/branch-3.0-2011/fltk3/run.h
   branches/branch-3.0-2011/ide/Xcode3/FLTK.xcodeproj/project.pbxproj
   branches/branch-3.0-2011/ide/Xcode3/plists/hello-Info.plist
   branches/branch-3.0-2011/src/Fl.cxx
   branches/branch-3.0-2011/src/Fl_Bitmap.cxx
   branches/branch-3.0-2011/src/Fl_Box.cxx
   branches/branch-3.0-2011/src/Fl_Browser.cxx
   branches/branch-3.0-2011/src/Fl_Browser_.cxx
   branches/branch-3.0-2011/src/Fl_Button.cxx
   branches/branch-3.0-2011/src/Fl_Chart.cxx
   branches/branch-3.0-2011/src/Fl_Choice.cxx
   branches/branch-3.0-2011/src/Fl_Clock.cxx
   branches/branch-3.0-2011/src/Fl_Color_Chooser.cxx
   branches/branch-3.0-2011/src/Fl_Counter.cxx
   branches/branch-3.0-2011/src/Fl_File_Chooser.cxx
   branches/branch-3.0-2011/src/Fl_File_Chooser2.cxx
   branches/branch-3.0-2011/src/Fl_File_Icon.cxx
   branches/branch-3.0-2011/src/Fl_File_Icon2.cxx
   branches/branch-3.0-2011/src/Fl_Font.H
   branches/branch-3.0-2011/src/Fl_Gl_Device_Plugin.cxx
   branches/branch-3.0-2011/src/Fl_Group.cxx
   branches/branch-3.0-2011/src/Fl_Help_Dialog.cxx
   branches/branch-3.0-2011/src/Fl_Help_Dialog_Dox.cxx
   branches/branch-3.0-2011/src/Fl_Help_View.cxx
   branches/branch-3.0-2011/src/Fl_Image.cxx
   branches/branch-3.0-2011/src/Fl_Input.cxx
   branches/branch-3.0-2011/src/Fl_Input_.cxx
   branches/branch-3.0-2011/src/Fl_Menu.cxx
   branches/branch-3.0-2011/src/Fl_Menu_.cxx
   branches/branch-3.0-2011/src/Fl_Menu_Button.cxx
   branches/branch-3.0-2011/src/Fl_Menu_add.cxx
   branches/branch-3.0-2011/src/Fl_Multi_Label.cxx
   branches/branch-3.0-2011/src/Fl_Native_File_Chooser_FLTK.cxx
   branches/branch-3.0-2011/src/Fl_Overlay_Window.cxx
   branches/branch-3.0-2011/src/Fl_Pack.cxx
   branches/branch-3.0-2011/src/Fl_Paged_Device.cxx
   branches/branch-3.0-2011/src/Fl_Pixmap.cxx
   branches/branch-3.0-2011/src/Fl_Positioner.cxx
   branches/branch-3.0-2011/src/Fl_PostScript.cxx
   branches/branch-3.0-2011/src/Fl_Progress.cxx
   branches/branch-3.0-2011/src/Fl_Scroll.cxx
   branches/branch-3.0-2011/src/Fl_Table.cxx
   branches/branch-3.0-2011/src/Fl_Tabs.cxx
   branches/branch-3.0-2011/src/Fl_Text_Display.cxx
   branches/branch-3.0-2011/src/Fl_Text_Editor.cxx
   branches/branch-3.0-2011/src/Fl_Tile.cxx
   branches/branch-3.0-2011/src/Fl_Tooltip.cxx
   branches/branch-3.0-2011/src/Fl_Tree.cxx
   branches/branch-3.0-2011/src/Fl_Tree_Item.cxx
   branches/branch-3.0-2011/src/Fl_Tree_Prefs.cxx
   branches/branch-3.0-2011/src/Fl_Valuator.cxx
   branches/branch-3.0-2011/src/Fl_Value_Input.cxx
   branches/branch-3.0-2011/src/Fl_Value_Output.cxx
   branches/branch-3.0-2011/src/Fl_Value_Slider.cxx
   branches/branch-3.0-2011/src/Fl_Widget.cxx
   branches/branch-3.0-2011/src/Fl_Window.cxx
   branches/branch-3.0-2011/src/Fl_Window_hotspot.cxx
   branches/branch-3.0-2011/src/Fl_Wizard.cxx
   branches/branch-3.0-2011/src/Fl_arg.cxx
   branches/branch-3.0-2011/src/Fl_cocoa.mm
   branches/branch-3.0-2011/src/Fl_mac.cxx
   branches/branch-3.0-2011/src/Fl_win32.cxx
   branches/branch-3.0-2011/src/Fl_x.cxx
   branches/branch-3.0-2011/src/fl_ask.cxx
   branches/branch-3.0-2011/src/fl_boxtype.cxx
   branches/branch-3.0-2011/src/fl_cursor.cxx
   branches/branch-3.0-2011/src/fl_dnd_win32.cxx
   branches/branch-3.0-2011/src/fl_draw.cxx
   branches/branch-3.0-2011/src/fl_engraved_label.cxx
   branches/branch-3.0-2011/src/fl_font_mac.cxx
   branches/branch-3.0-2011/src/fl_font_win32.cxx
   branches/branch-3.0-2011/src/fl_font_x.cxx
   branches/branch-3.0-2011/src/fl_font_xft.cxx
   branches/branch-3.0-2011/src/fl_labeltype.cxx
   branches/branch-3.0-2011/src/fl_rect.cxx
   branches/branch-3.0-2011/src/fl_set_font.cxx
   branches/branch-3.0-2011/src/fl_set_fonts_mac.cxx
   branches/branch-3.0-2011/src/fl_set_fonts_win32.cxx
   branches/branch-3.0-2011/src/fl_set_fonts_x.cxx
   branches/branch-3.0-2011/src/fl_set_fonts_xft.cxx
   branches/branch-3.0-2011/src/fl_shortcut.cxx
   branches/branch-3.0-2011/src/forms_bitmap.cxx
   branches/branch-3.0-2011/src/forms_compatability.cxx
   branches/branch-3.0-2011/src/forms_free.cxx
   branches/branch-3.0-2011/src/forms_pixmap.cxx
   branches/branch-3.0-2011/src/forms_timer.cxx
   branches/branch-3.0-2011/src/gl_draw.cxx
   branches/branch-3.0-2011/src/glut_font.cxx
   branches/branch-3.0-2011/src/print_panel.cxx
   branches/branch-3.0-2011/src/print_panel.h
   branches/branch-3.0-2011/test1/hello.cxx

Modified: branches/branch-3.0-2011/FL/Enumerations.H
===================================================================
--- branches/branch-3.0-2011/FL/Enumerations.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/FL/Enumerations.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -1,5 +1,3 @@
-#warn FLTK123: This file has not been ported yet
-#if 0
 //
 // "$Id$"
 //
@@ -31,12 +29,14 @@
  *  This file contains type definitions and general enumerations.
  */
 
-#ifndef Fl_Enumerations_H
-#define Fl_Enumerations_H
+#ifndef FLTK1_Enumerations_H
+#define FLTK1_Enumerations_H
 
 #  include "Fl_Export.H"
 #  include "fl_types.h"
 
+#if 0 // TODO: FLTK123
+
 /** \name Version Numbers
 
     FLTK defines some constants to help the programmer to
@@ -427,25 +427,10 @@
 
 /*@}*/		// group: Event States
 
-/** \name Box Types
-    \brief FLTK standard box types
-    
-    This enum defines the standard box types included with FLTK.
-    
-    FL_NO_BOX means nothing is drawn at all, so whatever is already 
-    on the screen remains. The FL_..._FRAME types only draw their edges, 
-    leaving the interior unchanged. The blue color in Figure 1 
-    is the area that is not drawn by the frame types.
-    
-    \image html boxtypes.png "Figure 1: FLTK standard box types"
-    \image latex boxtypes.png "FLTK standard box types" width=10cm
-    \todo	Description of boxtypes is incomplete.
-    		See below for the defined enum Fl_Boxtype.
-		\see src/Fl_get_system_colors.cxx
-*/
-/*@{*/
-enum Fl_Boxtype { // boxtypes (if you change these you must fix fl_boxtype.C):
+#endif // TODO: FLTK123
 
+enum Fl_Boxtype {
+
   FL_NO_BOX = 0,		///< nothing is drawn at all, this box is invisible
   FL_FLAT_BOX,			///< a flat box
   FL_UP_BOX,			///< see figure 1
@@ -461,41 +446,43 @@
   FL_ENGRAVED_FRAME,		///< see figure 1
   FL_EMBOSSED_FRAME,		///< see figure 1
   FL_BORDER_BOX,		///< see figure 1
-  _FL_SHADOW_BOX,		///< see figure 1
+  FL_SHADOW_BOX,		///< see figure 1
   FL_BORDER_FRAME,		///< see figure 1
-  _FL_SHADOW_FRAME,		///< see figure 1
-  _FL_ROUNDED_BOX,		///< see figure 1
-  _FL_RSHADOW_BOX,		///< see figure 1
-  _FL_ROUNDED_FRAME,		///< see figure 1
-  _FL_RFLAT_BOX,		///< see figure 1
-  _FL_ROUND_UP_BOX,		///< see figure 1
-  _FL_ROUND_DOWN_BOX,		///< see figure 1
-  _FL_DIAMOND_UP_BOX,		///< see figure 1
-  _FL_DIAMOND_DOWN_BOX,		///< see figure 1
-  _FL_OVAL_BOX,			///< see figure 1
-  _FL_OSHADOW_BOX,		///< see figure 1
-  _FL_OVAL_FRAME,		///< see figure 1
-  _FL_OFLAT_BOX,		///< see figure 1
-  _FL_PLASTIC_UP_BOX,		///< plastic version of FL_UP_BOX
-  _FL_PLASTIC_DOWN_BOX,		///< plastic version of FL_DOWN_BOX
-  _FL_PLASTIC_UP_FRAME,		///< plastic version of FL_UP_FRAME
-  _FL_PLASTIC_DOWN_FRAME,	///< plastic version of FL_DOWN_FRAME
-  _FL_PLASTIC_THIN_UP_BOX,	///< plastic version of FL_THIN_UP_BOX
-  _FL_PLASTIC_THIN_DOWN_BOX,	///< plastic version of FL_THIN_DOWN_BOX
-  _FL_PLASTIC_ROUND_UP_BOX,	///< plastic version of FL_ROUND_UP_BOX
-  _FL_PLASTIC_ROUND_DOWN_BOX,	///< plastic version of FL_ROUND_DOWN_BOX
-  _FL_GTK_UP_BOX,		///< gtk+ version of FL_UP_BOX
-  _FL_GTK_DOWN_BOX,		///< gtk+ version of FL_DOWN_BOX
-  _FL_GTK_UP_FRAME,		///< gtk+ version of FL_UP_FRAME
-  _FL_GTK_DOWN_FRAME,		///< gtk+ version of FL_DOWN_RAME
-  _FL_GTK_THIN_UP_BOX,		///< gtk+ version of FL_THIN_UP_BOX
-  _FL_GTK_THIN_DOWN_BOX,	///< gtk+ version of FL_THIN_DOWN_BOX
-  _FL_GTK_THIN_UP_FRAME,	///< gtk+ version of FL_UP_FRAME
-  _FL_GTK_THIN_DOWN_FRAME,	///< gtk+ version of FL_THIN_DOWN_FRAME
-  _FL_GTK_ROUND_UP_BOX,		///< gtk+ version of FL_ROUND_UP_BOX
-  _FL_GTK_ROUND_DOWN_BOX,	///< gtk+ version of FL_ROUND_DOWN_BOX
+  FL_SHADOW_FRAME,		///< see figure 1
+  FL_ROUNDED_BOX,		///< see figure 1
+  FL_RSHADOW_BOX,		///< see figure 1
+  FL_ROUNDED_FRAME,		///< see figure 1
+  FL_RFLAT_BOX,		///< see figure 1
+  FL_ROUND_UP_BOX,		///< see figure 1
+  FL_ROUND_DOWN_BOX,		///< see figure 1
+  FL_DIAMOND_UP_BOX,		///< see figure 1
+  FL_DIAMOND_DOWN_BOX,		///< see figure 1
+  FL_OVAL_BOX,			///< see figure 1
+  FL_OSHADOW_BOX,		///< see figure 1
+  FL_OVAL_FRAME,		///< see figure 1
+  FL_OFLAT_BOX,		///< see figure 1
+  FL_PLASTIC_UP_BOX,		///< plastic version of FL_UP_BOX
+  FL_PLASTIC_DOWN_BOX,		///< plastic version of FL_DOWN_BOX
+  FL_PLASTIC_UP_FRAME,		///< plastic version of FL_UP_FRAME
+  FL_PLASTIC_DOWN_FRAME,	///< plastic version of FL_DOWN_FRAME
+  FL_PLASTIC_THIN_UP_BOX,	///< plastic version of FL_THIN_UP_BOX
+  FL_PLASTIC_THIN_DOWN_BOX,	///< plastic version of FL_THIN_DOWN_BOX
+  FL_PLASTIC_ROUND_UP_BOX,	///< plastic version of FL_ROUND_UP_BOX
+  FL_PLASTIC_ROUND_DOWN_BOX,	///< plastic version of FL_ROUND_DOWN_BOX
+  FL_GTK_UP_BOX,		///< gtk+ version of FL_UP_BOX
+  FL_GTK_DOWN_BOX,		///< gtk+ version of FL_DOWN_BOX
+  FL_GTK_UP_FRAME,		///< gtk+ version of FL_UP_FRAME
+  FL_GTK_DOWN_FRAME,		///< gtk+ version of FL_DOWN_RAME
+  FL_GTK_THIN_UP_BOX,		///< gtk+ version of FL_THIN_UP_BOX
+  FL_GTK_THIN_DOWN_BOX,	///< gtk+ version of FL_THIN_DOWN_BOX
+  FL_GTK_THIN_UP_FRAME,	///< gtk+ version of FL_UP_FRAME
+  FL_GTK_THIN_DOWN_FRAME,	///< gtk+ version of FL_THIN_DOWN_FRAME
+  FL_GTK_ROUND_UP_BOX,		///< gtk+ version of FL_ROUND_UP_BOX
+  FL_GTK_ROUND_DOWN_BOX,	///< gtk+ version of FL_ROUND_DOWN_BOX
   FL_FREE_BOXTYPE		///< the first free box type for creation of new box types
 };
+
+#if 0 // TODO: FLTK123
 extern FL_EXPORT Fl_Boxtype fl_define_FL_ROUND_UP_BOX();
 #define FL_ROUND_UP_BOX fl_define_FL_ROUND_UP_BOX()
 #define FL_ROUND_DOWN_BOX (Fl_Boxtype)(fl_define_FL_ROUND_UP_BOX()+1)
@@ -574,43 +561,22 @@
 
 /*@}*/	// group: Box Types
 
-/**
-   The labeltype() method sets the type of the label.
-   
-   The following standard label types are included:
-   
-   \todo	The doxygen comments are incomplete, and some labeltypes
-   		are starting with an underscore. Also, there are three
-		external functions undocumented (yet):
-		  - fl_define_FL_SHADOW_LABEL()
-		  - fl_define_FL_ENGRAVED_LABEL()
-		  - fl_define_FL_EMBOSSED_LABEL()
-*/
+#endif // TODO: FLTK123
+
 enum Fl_Labeltype {	// labeltypes:
   FL_NORMAL_LABEL	= 0,	///< draws the text (0)
   FL_NO_LABEL,			///< does nothing
-  _FL_SHADOW_LABEL,		///< draws a drop shadow under the text
-  _FL_ENGRAVED_LABEL,		///< draws edges as though the text is engraved
-  _FL_EMBOSSED_LABEL,		///< draws edges as thought the text is raised
-  _FL_MULTI_LABEL,		///< ?
-  _FL_ICON_LABEL,		///< draws the icon associated with the text
-  _FL_IMAGE_LABEL,		///< ?
+  FL_SHADOW_LABEL,		///< draws a drop shadow under the text
+  FL_ENGRAVED_LABEL,		///< draws edges as though the text is engraved
+  FL_EMBOSSED_LABEL,		///< draws edges as thought the text is raised
+  FL_MULTI_LABEL,		///< ?
+  FL_ICON_LABEL,		///< draws the icon associated with the text
+  FL_IMAGE_LABEL,		///< ?
 
   FL_FREE_LABELTYPE		///< first free labeltype to use for creating own labeltypes
 };
 
-/** 
-  Sets the current  label type end return its corresponding Fl_Labeltype value. 
-  @{
-*/
-#define FL_SYMBOL_LABEL FL_NORMAL_LABEL
-extern Fl_Labeltype FL_EXPORT fl_define_FL_SHADOW_LABEL();
-#define FL_SHADOW_LABEL fl_define_FL_SHADOW_LABEL()
-extern Fl_Labeltype FL_EXPORT fl_define_FL_ENGRAVED_LABEL();
-#define FL_ENGRAVED_LABEL fl_define_FL_ENGRAVED_LABEL()
-extern Fl_Labeltype FL_EXPORT fl_define_FL_EMBOSSED_LABEL();
-#define FL_EMBOSSED_LABEL fl_define_FL_EMBOSSED_LABEL()
-/** @} */
+#if 0 // TODO: FLTK123
 
 /** \name Alignment Flags */
 /*@{*/
@@ -685,6 +651,7 @@
 const Fl_Align FL_ALIGN_IMAGE_MASK      = 0x0320; // l/r, t/b, backdrop
 /*@}*/
 
+#endif // TODO: FLTK123
 
 /** \name Font Numbers */
 /*@{*/
@@ -719,13 +686,10 @@
 const Fl_Font FL_ITALIC                 = 2;	///< add this to helvetica, courier, or times
 const Fl_Font FL_BOLD_ITALIC            = 3;	///< add this to helvetica, courier, or times
 
-/*@}*/
-
-/** Size of a font in pixels.
- *  This is the approximate height of a font in pixels.
- */
 typedef int Fl_Fontsize;
 
+#if 0 // TODO: FLTK123
+
 extern FL_EXPORT Fl_Fontsize FL_NORMAL_SIZE;	///< normal font size
 
 /** \name Colors */
@@ -914,9 +878,10 @@
 #    define inactive	fl_inactive
 #  endif // FLTK_1_0_COMPAT
 
+#endif // TODO: FLTK123
+
 #endif
 
 //
 // End of "$Id$".
 //
-#endif

Modified: branches/branch-3.0-2011/FL/Fl.H
===================================================================
--- branches/branch-3.0-2011/FL/Fl.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/FL/Fl.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -1,5 +1,3 @@
-#warn FLTK123: This file has not been ported yet
-#if 0
 //
 // "$Id$"
 //
@@ -31,9 +29,11 @@
     Fl static class.
  */
 
-#ifndef Fl_H
-#  define Fl_H
+#ifndef FLTK1_H
+#  define FLTK1_H
 
+#include <fltk3/run.h>
+
 #ifdef FLTK_HAVE_CAIRO
 # include <FL/Fl_Cairo.H>
 #endif
@@ -48,6 +48,7 @@
 #    undef check
 #  endif
 
+#if 0
 
 class Fl_Widget;
 class Fl_Window;
@@ -108,12 +109,16 @@
 
 /** @} */ /* group callback_functions */
 
+#endif // TODO: FLTK123
 
 /**
   The Fl is the FLTK global (static) containing
   state information and global methods for the current application.
 */
 class FL_EXPORT Fl {
+public:
+  
+#if 0 // TODO: FLTK123
   Fl() {}; // no constructor!
   
 public: // should be private!
@@ -273,7 +278,11 @@
   static double wait(double time);
   static int check();
   static int ready();
-  static int run();
+#endif  // TODO: FLTK123
+  
+  static int run() { return fltk3::run(); }
+  
+#if 0 // TODO: FLTK123
   static Fl_Widget* readqueue();
   /**
   Adds a one-shot timeout callback.  The function will be called by
@@ -1067,9 +1076,12 @@
   /** @} */ 
 
 #endif // FLTK_HAVE_CAIRO
-
+  
+#endif // TODO: FLTK123
+  
 };
 
+#if 0 // TODO: FLTK123
 /**
   This class should be used to control safe widget deletion.
 
@@ -1155,9 +1167,10 @@
      @{ */
  /** @} */
 
+#endif
+
 #endif // !Fl_H
 
 //
 // End of "$Id$".
 //
-#endif

Modified: branches/branch-3.0-2011/FL/Fl_Box.H
===================================================================
--- branches/branch-3.0-2011/FL/Fl_Box.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/FL/Fl_Box.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -1,5 +1,3 @@
-#warn FLTK123: This file has not been ported yet
-#if 0
 //
 // "$Id$"
 //
@@ -30,38 +28,29 @@
 /* \file
    Fl_Box widget . */
 
-#ifndef Fl_Box_H
-#define Fl_Box_H
+#ifndef FLTK1_Box_H
+#define FLTK1_Box_H
 
-#ifndef Fl_Widget_H
+#include <fltk3/Box.h>
 #include "Fl_Widget.H"
-#endif
 
-/**
-  This widget simply draws its box, and possibly it's label.  Putting it
-  before some other widgets and making it big enough to surround them
-  will let you draw a frame around them.
-*/
 class FL_EXPORT Fl_Box : public Fl_Widget {
+  
+#if 0 // TODO: FLTK123
 protected:
   void draw();
+#endif  // TODO: FLTK123
+  
 public:
-  /**
-    - The first constructor sets box() to FL_NO_BOX, which
-    means it is invisible. However such widgets are useful as placeholders
-    or Fl_Group::resizable()
-    values.  To change the box to something visible, use box(n).
-    - The second form of the constructor sets the box to the specified box
-    type.
-    <P>The destructor removes the box.
-  */
-    Fl_Box(int X, int Y, int W, int H, const char *l=0)
-	: Fl_Widget(X,Y,W,H,l) {}
-  /**    See Fl_Box::Fl_Box(int x, int y, int w, int h, const char * = 0)   */
-    Fl_Box(Fl_Boxtype b, int X, int Y, int W, int H, const char *l)
-	: Fl_Widget(X,Y,W,H,l) {box(b);}
+  Fl_Box(int X, int Y, int W, int H, const char *l=0) {
+    _p = new fltk3::Box(X, Y, W, H, l);
+    _p->wrapper(this);
+  }
+  Fl_Box(Fl_Boxtype b, int X, int Y, int W, int H, const char *l);
 
+#if 0 // TODO: FLTK123
   virtual int handle(int);
+#endif // TODO: FLTK123
 };
 
 #endif
@@ -69,4 +58,3 @@
 //
 // End of "$Id$".
 //
-#endif

Modified: branches/branch-3.0-2011/FL/Fl_Export.H
===================================================================
--- branches/branch-3.0-2011/FL/Fl_Export.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/FL/Fl_Export.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -1,5 +1,3 @@
-#warn FLTK123: This file has not been ported yet
-#if 0
 /*
  * "$Id$"
  *
@@ -27,8 +25,8 @@
  *     http://www.fltk.org/str.php
  */
 
-#ifndef Fl_Export_H
-#  define Fl_Export_H
+#ifndef FLTK1_EXPORT_H
+#  define FLTK1_EXPORT_H
 
 /*
  * The following is only used when building DLLs under WIN32...
@@ -49,4 +47,3 @@
 /*
  * End of "$Id$".
  */
-#endif

Modified: branches/branch-3.0-2011/FL/Fl_Group.H
===================================================================
--- branches/branch-3.0-2011/FL/Fl_Group.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/FL/Fl_Group.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -1,5 +1,3 @@
-#warn FLTK123: This file has not been ported yet
-#if 0
 //
 // "$Id$"
 //
@@ -30,22 +28,15 @@
 /* \file
    Fl_Group, Fl_End classes . */
 
-#ifndef Fl_Group_H
-#define Fl_Group_H
+#ifndef FLTK1_Group_H
+#define FLTK1_Group_H
 
-#ifndef Fl_Widget_H
 #include "Fl_Widget.H"
-#endif
 
-/**
-  The Fl_Group class is the FLTK container widget. It maintains
-  an array of child widgets. These children can themselves be any widget
-  including Fl_Group. The most important subclass of Fl_Group
-  is Fl_Window, however groups can also be used to control radio buttons 
-  or to enforce resize behavior.
-*/
+
 class FL_EXPORT Fl_Group : public Fl_Widget {
 
+#if 0 // TODO: FLTK123
   Fl_Widget** array_;
   Fl_Widget* savedfocus_;
   Fl_Widget* resizable_;
@@ -58,8 +49,12 @@
   // unimplemented copy ctor and assignment operator
   Fl_Group(const Fl_Group&);
   Fl_Group& operator=(const Fl_Group&);
+#endif // TODO: FLTK123
 
 protected:
+  Fl_Group() {}
+  
+#if 0 // TODO: FLTK123
   void draw();
   void draw_child(Fl_Widget& widget) const;
   void draw_children();
@@ -67,11 +62,19 @@
   void update_child(Fl_Widget& widget) const;
   int  *sizes();
 
+#endif // TODO: FLTK123
+  
 public:
 
+#if 0 // TODO: FLTK123
+  
   int handle(int);
-  void begin();
-  void end();
+#endif // TODO: FLTK123
+
+  void begin() { ((fltk3::Group*)_p)->begin(); }
+  void end() { ((fltk3::Group*)_p)->end(); }
+  
+#if 0 // TODO: FLTK123
   static Fl_Group *current();
   static void current(Fl_Group *g);
 
@@ -91,11 +94,13 @@
   Fl_Widget* const* array() const;
 
   void resize(int,int,int,int);
-  /**
-    Creates a new Fl_Group widget using the given position, size,
-    and label string. The default boxtype is FL_NO_BOX.
-  */
+
+#endif // TODO: FLTK123
+  
   Fl_Group(int,int,int,int, const char * = 0);
+  
+#if 0 // TODO: FLTK123
+  
   virtual ~Fl_Group();
   void add(Fl_Widget&);
   /**
@@ -196,8 +201,13 @@
 
   /** This is for forms compatibility only */
   void forms_end();
+  
+#endif // TODO: FLTK123
+  
 };
 
+#if 0 // TODO: FLTK123
+
 // dummy class used to end child groups in constructors for complex
 // subclasses of Fl_Group:
 /**
@@ -225,9 +235,10 @@
   Fl_End() {Fl_Group::current()->end();}
 };
 
+#endif // TODO: FLTK123
+
 #endif
 
 //
 // End of "$Id$".
 //
-#endif

Modified: branches/branch-3.0-2011/FL/Fl_Widget.H
===================================================================
--- branches/branch-3.0-2011/FL/Fl_Widget.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/FL/Fl_Widget.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -1,5 +1,3 @@
-#warn FLTK123: This file has not been ported yet
-#if 0
 //
 // "$Id$"
 //
@@ -30,14 +28,15 @@
 /** \file
    Fl_Widget, Fl_Label classes . */
 
-#ifndef Fl_Widget_H
-#define Fl_Widget_H
+#ifndef FLTK1_Widget_H
+#define FLTK1_Widget_H
 
+#include <fltk3/Wrapper.h>
+#include <fltk3/Widget.h>
 #include "Enumerations.H"
 
-/**
-  \todo	typedef's fl_intptr_t and fl_uintptr_t should be documented.
-*/
+#if 0  // TODO: FLTK123
+
 #ifdef _WIN64
 #ifdef __GNUC__
 #include <stdint.h>
@@ -95,56 +94,16 @@
   void measure(int &w, int &h) const ;
 };
 
+#endif  // TODO: FLTK123
 
-/** Fl_Widget is the base class for all widgets in FLTK.  
-  
-    You can't create one of these because the constructor is not public.
-    However you can subclass it.  
 
-    All "property" accessing methods, such as color(), parent(), or argument() 
-    are implemented as trivial inline functions and thus are as fast and small 
-    as accessing fields in a structure. Unless otherwise noted, the property 
-    setting methods such as color(n) or label(s) are also trivial inline 
-    functions, even if they change the widget's appearance. It is up to the 
-    user code to call redraw() after these.
- */
-class FL_EXPORT Fl_Widget {
+class FL_EXPORT Fl_Widget : public fltk3::Wrapper {
   friend class Fl_Group;
-
-  Fl_Group* parent_;
-  Fl_Callback* callback_;
-  void* user_data_;
-  int x_,y_,w_,h_;
-  Fl_Label label_;
-  unsigned int flags_;
-  Fl_Color color_;
-  Fl_Color color2_;
-  uchar type_;
-  uchar damage_;
-  uchar box_;
-  uchar when_;
-
-  const char *tooltip_;
-
-  /** unimplemented copy ctor */
-  Fl_Widget(const Fl_Widget &);
-  /** unimplemented assignment operator */
-  Fl_Widget& operator=(const Fl_Widget &);
-
+  
 protected:
-
-  /** Creates a widget at the given position and size.
-
-      The Fl_Widget is a protected constructor, but all derived widgets have a 
-      matching public constructor. It takes a value for x(), y(), w(), h(), and 
-      an optional value for label().
-    
-      \param[in] x, y the position of the widget relative to the enclosing window
-      \param[in] w, h size of the widget in pixels
-      \param[in] label optional text for the widget label
-   */
-  Fl_Widget(int x, int y, int w, int h, const char *label=0L);
-
+  Fl_Widget() {}
+  
+#if 0 // TODO: FLTK123
   /** Internal use only. Use position(int,int), size(int,int) or resize(int,int,int,int) instead. */
   void x(int v) {x_ = v;}
   /** Internal use only. Use position(int,int), size(int,int) or resize(int,int,int,int) instead. */
@@ -196,8 +155,13 @@
   void draw_label() const;
   void draw_label(int, int, int, int) const;
 
+#endif // TODO: FLTK123
+  
 public:
 
+  Fl_Widget(int x, int y, int w, int h, const char *label=0L);
+  
+#if 0 // TODO: FLTK123
   /** Destroys the widget.
       Destroying single widgets is not very common. You almost always want to 
       destroy the parent group instead, which will destroy all of the child widgets 
@@ -353,22 +317,12 @@
       \see align(), Fl_Align
    */
   void align(Fl_Align alignment) {label_.align_ = alignment;}
+#endif // TODO: FLTK123
 
-  /** Gets the box type of the widget.
-      \return the current box type
-      \see box(Fl_Boxtype), Fl_Boxtype
-   */
-  Fl_Boxtype box() const {return (Fl_Boxtype)box_;}
-  
-  /** Sets the box type for the widget. 
-      This identifies a routine that draws the background of the widget.
-      See Fl_Boxtype for the available types. The default depends on the 
-      widget, but is usually FL_NO_BOX or FL_UP_BOX.
-      \param[in] new_box the new box type
-      \see box(), Fl_Boxtype
-   */
-  void box(Fl_Boxtype new_box) {box_ = new_box;}
+  Fl_Boxtype box() const { return (Fl_Boxtype)((fltk3::Widget*)_p)->box(); }
+  void box(Fl_Boxtype new_box) { ((fltk3::Widget*)_p)->box((fltk3::Boxtype)new_box); }
 
+#if 0 // TODO: FLTK123
   /** Gets the background color of the widget.
       \return current background color
       \see color(Fl_Color), color(Fl_Color, Fl_Color)
@@ -447,22 +401,7 @@
    */
   void label(Fl_Labeltype a, const char* b) {label_.type = a; label_.value = b;}
 
-  /** Gets the label type.
-      \return the current label type.
-      \see Fl_Labeltype
-   */
-  Fl_Labeltype labeltype() const {return (Fl_Labeltype)label_.type;}
 
-  /** Sets the label type. 
-      The label type identifies the function that draws the label of the widget. 
-      This is generally used for special effects such as embossing or for using 
-      the label() pointer as another form of data such as an icon. The value 
-      FL_NORMAL_LABEL prints the label as plain text.
-      \param[in] a new label type
-      \see Fl_Labeltype
-   */
-  void labeltype(Fl_Labeltype a) {label_.type = a;}
-
   /** Gets the label color. 
       The default color is FL_FOREGROUND_COLOR. 
       \return the current label color
@@ -475,36 +414,17 @@
    */
   void labelcolor(Fl_Color c) {label_.color=c;}
 
-  /** Gets the font to use. 
-      Fonts are identified by indexes into a table. The default value
-      uses a Helvetica typeface (Arial for Microsoft&reg; Windows&reg;).
-      The function Fl::set_font() can define new typefaces.
-      \return current font used by the label
-      \see Fl_Font
-   */
-  Fl_Font labelfont() const {return label_.font;}
+#endif // TODO: FLTK123
+  
+  Fl_Labeltype labeltype() const { return (Fl_Labeltype)((fltk3::Widget*)_p)->labeltype(); }
+  void labeltype(Fl_Labeltype a) { ((fltk3::Widget*)_p)->labeltype((fltk3::Labeltype)a); }
+  Fl_Font labelfont() const { return (Fl_Font)((fltk3::Widget*)_p)->labelfont(); }
+  void labelfont(Fl_Font f) { ((fltk3::Widget*)_p)->labelfont((fltk3::Font)f); }
+  Fl_Fontsize labelsize() const { return (Fl_Fontsize)((fltk3::Widget*)_p)->labelsize(); }
+  void labelsize(Fl_Fontsize pix) { ((fltk3::Widget*)_p)->labelsize((fltk3::Fontsize)pix); }
 
-  /** Sets the font to use. 
-      Fonts are identified by indexes into a table. The default value
-      uses a Helvetica typeface (Arial for Microsoft&reg; Windows&reg;).
-      The function Fl::set_font() can define new typefaces.
-      \param[in] f the new font for the label
-      \see Fl_Font
-   */
-  void labelfont(Fl_Font f) {label_.font=f;}
+#if 0 // TODO: FLTK123
 
-  /** Gets the font size in pixels. 
-      The default size is 14 pixels.
-      \return the current font size
-   */
-  Fl_Fontsize labelsize() const {return label_.size;}
-
-  /** Sets the font size in pixels.
-      \param[in] pix the new font size
-      \see Fl_Fontsize labelsize()
-   */
-  void labelsize(Fl_Fontsize pix) {label_.size=pix;}
-
   /** Gets the image that is used as part of the widget label.
       This image is used when drawing the widget in the active state.
       \return the current image
@@ -991,8 +911,12 @@
       \deprecated Use selection_color(unsigned) instead.
   */
   void color2(unsigned a) {color2_ = a;}
+#endif  // TODO: FLTK123
+  
 };
 
+#if 0  // TODO: FLTK123
+
 /**
     Reserved type numbers (necessary for my cheapo RTTI) start here.
     Grep the header files for "RESERVED_TYPE" to find the next available
@@ -1000,9 +924,10 @@
 */
 #define FL_RESERVED_TYPE 100
 
+#endif // TODO: FLTK123
+
 #endif
 
 //
 // End of "$Id$".
 //
-#endif

Modified: branches/branch-3.0-2011/FL/Fl_Window.H
===================================================================
--- branches/branch-3.0-2011/FL/Fl_Window.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/FL/Fl_Window.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -1,5 +1,3 @@
-#warn FLTK123: This file has not been ported yet
-#if 0
 //
 // "$Id$"
 //
@@ -30,35 +28,24 @@
 /* \file
    Fl_Window widget . */
 
-#ifndef Fl_Window_H
-#define Fl_Window_H
+#ifndef FLTK1_Window_H
+#define FLTK1_Window_H
 
+#include <fltk3/Window.h>
 #include "Fl_Group.H"
 
+#if 0 // TODO: FLTK123
+
 #define FL_WINDOW 0xF0		///< window type id all subclasses have type() >= this
 #define FL_DOUBLE_WINDOW 0xF1   ///< double window type id
 
 class Fl_X;
 
-/**
-  This widget produces an actual window.  This can either be a main
-  window, with a border and title and all the window management controls,
-  or a "subwindow" inside a window.  This is controlled by whether or not
-  the window has a parent().
+#endif // TODO: FLTK123
 
-  Once you create a window, you usually add children Fl_Widget
-  's to it by using window->add(child) for each new widget.
-  See Fl_Group for more information on how to add and remove children.
-
-  There are several subclasses of Fl_Window that provide
-  double-buffering, overlay, menu, and OpenGL support.
-
-  The window's callback is done if the user tries to close a window
-  using the window manager and Fl::modal() is zero or equal to the
-  window. Fl_Window has a default callback that calls Fl_Window::hide().
-*/
 class FL_EXPORT Fl_Window : public Fl_Group {
 
+#if 0  // TODO: FLTK123
   static char *default_xclass_;
 
   friend class Fl_X;
@@ -110,38 +97,16 @@
     \see force_position(int)
   */
   int force_position() const { return ((flags() & FORCE_POSITION)?1:0); }
-
+#endif
+  
 public:
 
-  /**
-    Creates a window from the given size and title. 
-    If Fl_Group::current() is not NULL, the window is created as a 
-    subwindow of the parent window.
-    
-    The first form of the constructor creates a top-level window
-    and asks the window manager to position the window. The second
-    form of the constructor either creates a subwindow or a
-    top-level window at the specified location (x,y) , subject to window
-    manager configuration. If you do not specify the position of the
-    window, the window manager will pick a place to show the window
-    or allow the user to pick a location. Use position(x,y)
-    or hotspot() before calling show() to request a
-    position on the screen. See Fl_Window::resize() 
-    for some more details on positioning windows.
-    
-    Top-level windows initially have visible() set to 0
-    and parent() set to NULL. Subwindows initially
-    have visible() set to 1 and parent() set to
-    the parent window pointer.
-    
-    Fl_Widget::box() defaults to FL_FLAT_BOX. If you plan to
-    completely fill the window with children widgets you should
-    change this to FL_NO_BOX. If you turn the window border off
-    you may want to change this to FL_UP_BOX.
-
-    \see Fl_Window(int x, int y, int w, int h, const char* title = 0)
-  */
-    Fl_Window(int w, int h, const char* title= 0);
+  Fl_Window(int w, int h, const char* title= 0) {
+    _p = new fltk3::Window(w, h, title); 
+    _p->wrapper(this);
+  }
+  
+#if 0 // TODO: FLTK123
   /** Creates a window from the given position, size and title.
 
     \see Fl_Window::Fl_Window(int w, int h, const char *title = 0)
@@ -364,28 +329,13 @@
     has not been shown then this does nothing and is harmless.
   */
   virtual void hide();
+  
+#endif // TODO: FLTK123
+  
+  void show(int argc, char **argv) { ((fltk3::Window*)_p)->show(argc, argv); }
+  
+#if 0 // TODO: FLTK123
   /**
-    Puts the window on the screen and parses command-line arguments.
-
-    Usually (on X) this has the side effect of opening the display.
-
-    This form should be used for top-level windows, at least for the
-    first (main) window. It allows standard arguments to be parsed
-    from the command-line. You can use \p argc and \p argv from
-    main(int argc, char **argv) for this call.
-
-    The first call also sets up some system-specific internal
-    variables like the system colors.
-
-    \todo explain which system parameters are set up.
-
-    \param argc command-line argument count, usually from main()
-    \param argv command-line argument vector, usually from main()
-
-    \see virtual void Fl_Window::show()
-  */
-  void show(int argc, char **argv);
-  /**
     Makes the window completely fill the screen, without any window
     manager border visible.  You must use fullscreen_off() to undo
     this. This may not work with all window managers.
@@ -447,7 +397,8 @@
   void cursor(Fl_Cursor, Fl_Color=FL_BLACK, Fl_Color=FL_WHITE); // platform dependent
   void default_cursor(Fl_Cursor, Fl_Color=FL_BLACK, Fl_Color=FL_WHITE);
   static void default_callback(Fl_Window*, void* v);
-
+#endif  // TODO: FLTK123
+  
 };
 
 #endif
@@ -455,4 +406,3 @@
 //
 // End of "$Id$".
 //
-#endif

Modified: branches/branch-3.0-2011/FL/fl_types.h
===================================================================
--- branches/branch-3.0-2011/FL/fl_types.h	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/FL/fl_types.h	2011-01-09 19:24:30 UTC (rev 8231)
@@ -1,5 +1,3 @@
-#warn FLTK123: This file has not been ported yet
-#if 0
 /*
  * "$Id$"
  *
@@ -31,8 +29,8 @@
  *  This file contains simple "C"-style type definitions.
  */
 
-#ifndef FL_TYPES_H
-#define FL_TYPES_H
+#ifndef FLTK1_TYPES_H
+#define FLTK1_TYPES_H
 
 /** \name	Miscellaneous */
 /*@{*/	/* group: Miscellaneous */
@@ -66,4 +64,3 @@
 /*
  * End of "$Id$".
  */
-#endif

Modified: branches/branch-3.0-2011/FL/fl_utf8.h
===================================================================
--- branches/branch-3.0-2011/FL/fl_utf8.h	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/FL/fl_utf8.h	2011-01-09 19:24:30 UTC (rev 8231)
@@ -1,5 +1,3 @@
-#warn FLTK123: This file has not been ported yet
-#if 0
 /* "$Id$"
  *
  * Author: Jean-Marc Lienher ( http://oksid.ch )
@@ -37,8 +35,8 @@
   \brief header for Unicode and UTF8 chracter handling
 */
 
-#ifndef _HAVE_FL_UTF8_HDR_
-#define _HAVE_FL_UTF8_HDR_
+#ifndef FLTK1_UTF8_H
+#define FLTK1_UTF8_H
 
 #include "Fl_Export.H"
 #include "fl_types.h"
@@ -47,6 +45,8 @@
 #include <string.h>
 #include <stdlib.h>
 
+#if 0 // TODO: FLTK123
+
 #ifdef WIN32
 #  include <sys/types.h>
 #  include <sys/stat.h>
@@ -257,9 +257,10 @@
 #endif /* __cplusplus */
 
 
+#endif // TODO: FLTK123
+
 #endif /* _HAVE_FL_UTF8_HDR_ */
 
 /*
  * End of "$Id$".
  */
-#endif

Modified: branches/branch-3.0-2011/fltk3/Box.h
===================================================================
--- branches/branch-3.0-2011/fltk3/Box.h	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Box.h	2011-01-09 19:24:30 UTC (rev 8231)
@@ -32,7 +32,7 @@
 #define FLTK3_Box_H
 
 #ifndef Fl_Widget_H
-#include "Fl_Widget.H"
+#include "Widget.h"
 #endif
 
 namespace fltk3 {
@@ -44,24 +44,24 @@
   before some other widgets and making it big enough to surround them
   will let you draw a frame around them.
 */
-class FL_EXPORT fltk3::Box : public Fl_Widget {
+class FL_EXPORT fltk3::Box : public fltk3::Widget {
 protected:
   void draw();
 public:
   /**
     - The first constructor sets box() to fltk3::NO_BOX, which
     means it is invisible. However such widgets are useful as placeholders
-    or Fl_Group::resizable()
+    or fltk3::Group::resizable()
     values.  To change the box to something visible, use box(n).
     - The second form of the constructor sets the box to the specified box
     type.
     <P>The destructor removes the box.
   */
     Box(int X, int Y, int W, int H, const char *l=0)
-	: Fl_Widget(X,Y,W,H,l) {}
+	: fltk3::Widget(X,Y,W,H,l) {}
   /**    See fltk3::Box::Box(int x, int y, int w, int h, const char * = 0)   */
     Box(fltk3::Boxtype b, int X, int Y, int W, int H, const char *l)
-	: Fl_Widget(X,Y,W,H,l) {box(b);}
+	: fltk3::Widget(X,Y,W,H,l) {box(b);}
 
   virtual int handle(int);
 };

Modified: branches/branch-3.0-2011/fltk3/Enumerations.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Enumerations.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Enumerations.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -93,7 +93,7 @@
  *  window manager.
  * 
  *  Events are identified by the integer argument passed to the 
- *  Fl_Widget::handle() virtual method. Other information about the 
+ *  fltk3::Widget::handle() virtual method. Other information about the 
  *  most recent event is stored in static locations and acquired  by 
  *  calling the fltk3::event_*() methods. This static information remains 
  *  valid until the next event is read from the window system, so it 
@@ -111,9 +111,9 @@
    *  fltk3::event_y().
    *
    *  A widget indicates that it "wants" the mouse click by returning non-zero 
-   *  from its Fl_Widget::handle() method. It will then become the 
+   *  from its fltk3::Widget::handle() method. It will then become the 
    *  fltk3::pushed() widget and will get FL_DRAG and the matching FL_RELEASE events.  
-   *  If Fl_Widget::handle() returns zero then FLTK will try sending the FL_PUSH 
+   *  If fltk3::Widget::handle() returns zero then FLTK will try sending the FL_PUSH 
    *  to another widget. 
    */
   FL_PUSH		= 1,
@@ -229,31 +229,31 @@
    */
   FL_SHORTCUT		= 12,
 
-  /** This widget is no longer active, due to Fl_Widget::deactivate() 
-   *  being called on it or one of its parents. Fl_Widget::active() may 
-   *  still be true after this, the widget is only active if Fl_Widget::active()
-   *  is true on it and all its parents (use Fl_Widget::active_r() to check this).
+  /** This widget is no longer active, due to fltk3::Widget::deactivate() 
+   *  being called on it or one of its parents. fltk3::Widget::active() may 
+   *  still be true after this, the widget is only active if fltk3::Widget::active()
+   *  is true on it and all its parents (use fltk3::Widget::active_r() to check this).
    */
   FL_DEACTIVATE		= 13,
 
-  /** This widget is now active, due to Fl_Widget::activate() being 
+  /** This widget is now active, due to fltk3::Widget::activate() being 
    *  called on it or one of its parents.
    */
   FL_ACTIVATE		= 14,
 
-  /** This widget is no longer visible, due to Fl_Widget::hide() being 
+  /** This widget is no longer visible, due to fltk3::Widget::hide() being 
    *  called on it or one of its parents, or due to a parent window being 
-   *  minimized.  Fl_Widget::visible() may still be true after this, but the 
+   *  minimized.  fltk3::Widget::visible() may still be true after this, but the 
    *  widget is visible only if visible() is true for it and all its 
-   *  parents (use Fl_Widget::visible_r() to check this).
+   *  parents (use fltk3::Widget::visible_r() to check this).
    */
   FL_HIDE		= 15,
 
-  /** This widget is visible again, due to Fl_Widget::show() being called on 
+  /** This widget is visible again, due to fltk3::Widget::show() being called on 
    *  it or one of its parents, or due to a parent window being restored. 
    *  Child fltk3::Windows respond to this by actually creating the window if not 
    *  done already, so if you subclass a window, be sure to pass FL_SHOW 
-   *  to the base class Fl_Widget::handle() method!
+   *  to the base class fltk3::Widget::handle() method!
    */
   FL_SHOW		= 16,
 
@@ -302,10 +302,10 @@
 /*@{*/
 /** These constants determine when a callback is performed.
  *
- *  \sa Fl_Widget::when();
+ *  \sa fltk3::Widget::when();
  *  \todo doxygen comments for values are incomplete and maybe wrong or unclear
  */
-enum Fl_When { // Fl_Widget::when():
+enum Fl_When { // fltk3::Widget::when():
   FL_WHEN_NEVER		= 0,	///< Never call the callback
   FL_WHEN_CHANGED	= 1,	///< Do the callback only when the widget value changes
   FL_WHEN_NOT_CHANGED	= 2,	///< Do the callback whenever the user interacts with the widget
@@ -535,27 +535,27 @@
 /*@}*/	// group: Box Types
 
 namespace fltk3 {
-
-/**
+  
+  /**
    The labeltype() method sets the type of the label.
    
    The following standard label types are included:
    
-*/
-enum Labeltype {	// labeltypes:
-  NORMAL_LABEL	= 0,	///< draws the text (0)
-  NO_LABEL,			///< does nothing
-  SHADOW_LABEL,		///< draws a drop shadow under the text
-  ENGRAVED_LABEL,		///< draws edges as though the text is engraved
-  EMBOSSED_LABEL,		///< draws edges as thought the text is raised
-  MULTI_LABEL,		///< ?
-  ICON_LABEL,		///< draws the icon associated with the text
-  IMAGE_LABEL,		///< ?
-
-  FL_FREE_LABELTYPE		///< first free labeltype to use for creating own labeltypes
-};
-
-
+   */
+  enum Labeltype {	// labeltypes:
+    NORMAL_LABEL	= 0,	///< draws the text (0)
+    NO_LABEL,			///< does nothing
+    SHADOW_LABEL,		///< draws a drop shadow under the text
+    ENGRAVED_LABEL,		///< draws edges as though the text is engraved
+    EMBOSSED_LABEL,		///< draws edges as thought the text is raised
+    MULTI_LABEL,		///< ?
+    ICON_LABEL,		///< draws the icon associated with the text
+    IMAGE_LABEL,		///< ?
+    
+    FREE_LABELTYPE		///< first free labeltype to use for creating own labeltypes
+  };
+  
+  
 } // namespace
 
 /** \name Alignment Flags */
@@ -632,50 +632,52 @@
 /*@}*/
 
 
-/** \name Font Numbers */
-/*@{*/
-/** A font number is an index into the internal font table.
-
-    The following constants define the standard FLTK fonts:
-
- */
-typedef int Fl_Font;
-
-// standard fonts
-
-const Fl_Font FL_HELVETICA              = 0;	///< Helvetica (or Arial) normal (0)
-const Fl_Font FL_HELVETICA_BOLD         = 1;	///< Helvetica (or Arial) bold
-const Fl_Font FL_HELVETICA_ITALIC       = 2;	///< Helvetica (or Arial) oblique
-const Fl_Font FL_HELVETICA_BOLD_ITALIC  = 3;	///< Helvetica (or Arial) bold-oblique
-const Fl_Font FL_COURIER                = 4;	///< Courier normal
-const Fl_Font FL_COURIER_BOLD           = 5;	///< Courier bold 
-const Fl_Font FL_COURIER_ITALIC         = 6;	///< Courier italic
-const Fl_Font FL_COURIER_BOLD_ITALIC    = 7;	///< Courier bold-italic
-const Fl_Font FL_TIMES                  = 8;	///< Times roman
-const Fl_Font FL_TIMES_BOLD             = 9;	///< Times roman bold
-const Fl_Font FL_TIMES_ITALIC           = 10;	///< Times roman italic
-const Fl_Font FL_TIMES_BOLD_ITALIC      = 11;	///< Times roman bold-italic
-const Fl_Font FL_SYMBOL                 = 12;	///< Standard symbol font
-const Fl_Font FL_SCREEN                 = 13;	///< Default monospaced screen font
-const Fl_Font FL_SCREEN_BOLD            = 14;	///< Default monospaced bold screen font
-const Fl_Font FL_ZAPF_DINGBATS          = 15;	///< Zapf-dingbats font
-
-const Fl_Font FL_FREE_FONT              = 16;	///< first one to allocate
-
 namespace fltk3 {
-  const Fl_Font BOLD                   = 1;	///< add this to helvetica, courier, or times
-  const Fl_Font ITALIC                 = 2;	///< add this to helvetica, courier, or times
-  const Fl_Font BOLD_ITALIC            = 3;	///< add this to helvetica, courier, or times
-}
+  
+  /** \name Font Numbers */
+  /*@{*/
+  /** A font number is an index into the internal font table.
+   
+   The following constants define the standard FLTK fonts:
+   
+   */
+  typedef int Font;
+  
+  // standard fonts
+  
+  const Font HELVETICA              = 0;	///< Helvetica (or Arial) normal (0)
+  const Font HELVETICA_BOLD         = 1;	///< Helvetica (or Arial) bold
+  const Font HELVETICA_ITALIC       = 2;	///< Helvetica (or Arial) oblique
+  const Font HELVETICA_BOLD_ITALIC  = 3;	///< Helvetica (or Arial) bold-oblique
+  const Font COURIER                = 4;	///< Courier normal
+  const Font COURIER_BOLD           = 5;	///< Courier bold 
+  const Font COURIER_ITALIC         = 6;	///< Courier italic
+  const Font COURIER_BOLD_ITALIC    = 7;	///< Courier bold-italic
+  const Font TIMES                  = 8;	///< Times roman
+  const Font TIMES_BOLD             = 9;	///< Times roman bold
+  const Font TIMES_ITALIC           = 10;	///< Times roman italic
+  const Font TIMES_BOLD_ITALIC      = 11;	///< Times roman bold-italic
+  const Font SYMBOL                 = 12;	///< Standard symbol font
+  const Font SCREEN                 = 13;	///< Default monospaced screen font
+  const Font SCREEN_BOLD            = 14;	///< Default monospaced bold screen font
+  const Font ZAPF_DINGBATS          = 15;	///< Zapf-dingbats font
+  
+  const Font FREE_FONT              = 16;	///< first one to allocate
+  
+  const Font BOLD                   = 1;	///< add this to helvetica, courier, or times
+  const Font ITALIC                 = 2;	///< add this to helvetica, courier, or times
+  const Font BOLD_ITALIC            = 3;	///< add this to helvetica, courier, or times
 
 /*@}*/
 
-/** Size of a font in pixels.
- *  This is the approximate height of a font in pixels.
- */
-typedef int Fl_Fontsize;
+  /** Size of a font in pixels.
+   *  This is the approximate height of a font in pixels.
+   */
+  typedef int Fontsize;
 
-extern FL_EXPORT Fl_Fontsize FL_NORMAL_SIZE;	///< normal font size
+}
+  
+extern FL_EXPORT fltk3::Fontsize FL_NORMAL_SIZE;	///< normal font size
 
 /** \name Colors */
 /*@{*/

Modified: branches/branch-3.0-2011/fltk3/Fl_Bitmap.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Bitmap.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Bitmap.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -32,7 +32,7 @@
 #define Fl_Bitmap_H
 #  include "Fl_Image.H"
 
-class Fl_Widget;
+class fltk3::Widget;
 struct Fl_Menu_Item;
 
 /**
@@ -73,7 +73,7 @@
   Fl_Image *copy() { return copy(w(), h()); }
   virtual void draw(int X, int Y, int W, int H, int cx=0, int cy=0);
   void draw(int X, int Y) {draw(X, Y, w(), h(), 0, 0);}
-  virtual void label(Fl_Widget*w);
+  virtual void label(fltk3::Widget*w);
   virtual void label(Fl_Menu_Item*m);
   virtual void uncache();
 };

Modified: branches/branch-3.0-2011/fltk3/Fl_Browser.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Browser.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Browser.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -148,7 +148,7 @@
     Returns 0 if browser is empty.
   */
   int size() const { return lines; }
-  void size(int W, int H) { Fl_Widget::size(W, H); }
+  void size(int W, int H) { fltk3::Widget::size(W, H); }
 
   int topline() const ;
   /** For internal use only? */
@@ -180,10 +180,10 @@
   int selected(int line) const ;
   void show(int line);
   /** Shows the entire Fl_Browser widget -- opposite of hide(). */
-  void show() { Fl_Widget::show(); }
+  void show() { fltk3::Widget::show(); }
   void hide(int line);
   /** Hides the entire Fl_Browser widget -- opposite of show(). */
-  void hide() { Fl_Widget::hide(); }
+  void hide() { fltk3::Widget::hide(); }
   int visible(int line) const ;
 
   int value() const ;
@@ -217,7 +217,7 @@
     \li <tt>'\@b'</tt> Use a <B>bold</B> font (adds fltk3::BOLD to font)
     \li <tt>'\@i'</tt> Use an <I>italic</I> font (adds fltk3::ITALIC to font)
     \li <tt>'\@f' or '\@t'</tt> Use a fixed-pitch
-    font (sets font to FL_COURIER)
+    font (sets font to fltk3::COURIER)
     \li <tt>'\@c'</tt> Center the line horizontally
     \li <tt>'\@r'</tt> Right-justify the text
     \li <tt>'\@B0', '\@B1', ... '\@B255'</tt> Fill the backgound with

Modified: branches/branch-3.0-2011/fltk3/Fl_Browser_.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Browser_.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Browser_.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -34,7 +34,7 @@
 #define Fl_Browser__H
 
 #ifndef Fl_Group_H
-#include "Fl_Group.H"
+#include "fltk3/Group.H"
 #endif
 #include "Fl_Scrollbar.H"
 #include <fltk3/run.h>		// fltk3::scrollbar_size()
@@ -64,7 +64,7 @@
   accessing image data or doing stat() on a file or doing some
   other slow operation.
 */
-class FL_EXPORT Fl_Browser_ : public Fl_Group {
+class FL_EXPORT Fl_Browser_ : public fltk3::Group {
   int position_;	// where user wants it scrolled to
   int real_position_;	// the current vertical scrolling position
   int hposition_;	// where user wants it panned to
@@ -72,8 +72,8 @@
   int offset_;		// how far down top_ item the real_position is
   int max_width;	// widest object seen so far
   uchar has_scrollbar_;	// which scrollbars are enabled
-  Fl_Font textfont_;
-  Fl_Fontsize textsize_;
+  fltk3::Font textfont_;
+  fltk3::Fontsize textsize_;
   Fl_Color textcolor_;
   void* top_;		// which item scrolling position is in
   void* selection_;	// which is selected (except for FL_MULTI_BROWSER)
@@ -279,20 +279,20 @@
     Gets the default text font for the lines in the browser.
     \see textfont(), textsize(), textcolor()
   */
-  Fl_Font textfont() const { return textfont_; }
+  fltk3::Font textfont() const { return textfont_; }
   /**
     Sets the default text font for the lines in the browser to \p font.
   */
-  void textfont(Fl_Font font) { textfont_ = font; }
+  void textfont(fltk3::Font font) { textfont_ = font; }
 
   /**
     Gets the default text size (in pixels) for the lines in the browser.
   */
-  Fl_Fontsize textsize() const { return textsize_; }
+  fltk3::Fontsize textsize() const { return textsize_; }
   /**
     Sets the default text size (in pixels) for the lines in the browser to \p size.
   */
-  void textsize(Fl_Fontsize size) { textsize_ = size; }
+  void textsize(fltk3::Fontsize size) { textsize_ = size; }
 
   /**
     Gets the default text color for the lines in the browser.

Modified: branches/branch-3.0-2011/fltk3/Fl_Button.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Button.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Button.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -32,7 +32,7 @@
 #define Fl_Button_H
 
 #ifndef Fl_Widget_H
-#include "Fl_Widget.H"
+#include "Widget.h"
 #endif
 
 // values for type()
@@ -81,7 +81,7 @@
          (when the user pushes and releases the button, and as the mouse is
 	 dragged around in and out of the button).
 */
-class FL_EXPORT Fl_Button : public Fl_Widget {
+class FL_EXPORT Fl_Button : public fltk3::Widget {
 
   int shortcut_;
   char value_;

Modified: branches/branch-3.0-2011/fltk3/Fl_Chart.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Chart.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Chart.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -32,7 +32,7 @@
 #define Fl_Chart_H
 
 #ifndef Fl_Widget_H
-#include "Fl_Widget.H"
+#include "Widget.h"
 #endif
 
 // values for type()
@@ -78,15 +78,15 @@
          separated from the pie.
   \li \c FL_SPIKE_CHART: Each sample value is drawn as a vertical line.
  */
-class FL_EXPORT Fl_Chart : public Fl_Widget {
+class FL_EXPORT Fl_Chart : public fltk3::Widget {
     int numb;
     int maxnumb;
     int sizenumb;
     FL_CHART_ENTRY *entries;
     double min,max;
     uchar autosize_;
-    Fl_Font textfont_;
-    Fl_Fontsize textsize_;
+    fltk3::Font textfont_;
+    fltk3::Fontsize textsize_;
     Fl_Color textcolor_;
 protected:
     void draw();
@@ -116,7 +116,7 @@
      */
     int size() const {return numb;}
 
-    void size(int W, int H) { Fl_Widget::size(W, H); }
+    void size(int W, int H) { fltk3::Widget::size(W, H); }
 
     /**
       Gets the maximum number of data values for a chart.
@@ -126,14 +126,14 @@
     void maxsize(int m);
 
     /** Gets the chart's text font */
-    Fl_Font textfont() const {return textfont_;}
+    fltk3::Font textfont() const {return textfont_;}
     /** Sets the chart's text font to \p s. */
-    void textfont(Fl_Font s) {textfont_ = s;}
+    void textfont(fltk3::Font s) {textfont_ = s;}
 
     /** Gets the chart's text size */
-    Fl_Fontsize textsize() const {return textsize_;}
+    fltk3::Fontsize textsize() const {return textsize_;}
     /** gets the chart's text size to \p s. */
-    void textsize(Fl_Fontsize s) {textsize_ = s;}
+    void textsize(fltk3::Fontsize s) {textsize_ = s;}
 
     /** Gets the chart's text color */
     Fl_Color textcolor() const {return textcolor_;}

Modified: branches/branch-3.0-2011/fltk3/Fl_Choice.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Choice.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Choice.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -49,7 +49,7 @@
 
   When the user picks an item off the menu the value() is set to that item
   and then the item's callback is done with the menu_button as the
-  \c Fl_Widget* argument. If the item does not have a callback the
+  \c fltk3::Widget* argument. If the item does not have a callback the
   menu_button's callback is done instead.
 
   All three mouse buttons pop up the menu. The Forms behavior of the first
@@ -68,13 +68,13 @@
   \image latex choice.png  "Fl_Choice" width=4cm
   \todo Refactor the doxygen comments for Fl_Choice changed() documentation.
 
-  \li <tt>int Fl_Widget::changed() const</tt>
+  \li <tt>int fltk3::Widget::changed() const</tt>
       This value is true the user picks a different value. <em>It is turned
       off by value() and just before doing a callback (the callback can turn
       it back on if desired).</em>
-  \li <tt>void Fl_Widget::set_changed()</tt>
+  \li <tt>void fltk3::Widget::set_changed()</tt>
       This method sets the changed() flag.
-  \li <tt>void Fl_Widget::clear_changed()</tt>
+  \li <tt>void fltk3::Widget::clear_changed()</tt>
       This method clears the changed() flag.
   \li <tt>fltk3::Boxtype Fl_Choice::down_box() const</tt>
       Gets the current down box, which is used when the menu is popped up.

Modified: branches/branch-3.0-2011/fltk3/Fl_Clock.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Clock.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Clock.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -32,7 +32,7 @@
 #define Fl_Clock_H
 
 #ifndef Fl_Widget_H
-#include "Fl_Widget.H"
+#include "Widget.h"
 #endif
 
 // values for type:
@@ -60,7 +60,7 @@
   \image latex clock.png "FL_SQUARE_CLOCK type" width=4cm
   \image latex round_clock.png "FL_ROUND_CLOCK type" width=4cm
  */
-class FL_EXPORT Fl_Clock_Output : public Fl_Widget {
+class FL_EXPORT Fl_Clock_Output : public fltk3::Widget {
   int hour_, minute_, second_;
   ulong value_;
   void drawhands(Fl_Color,Fl_Color); // part of draw

Modified: branches/branch-3.0-2011/fltk3/Fl_Color_Chooser.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Color_Chooser.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Color_Chooser.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -35,7 +35,7 @@
 #ifndef Fl_Color_Chooser_H
 #define Fl_Color_Chooser_H
 
-#include <fltk3/Fl_Group.H>
+#include <fltk3/Group.H>
 #include <fltk3/Box.h>
 #include <fltk3/Fl_Return_Button.H>
 #include <fltk3/Fl_Choice.H>
@@ -44,26 +44,26 @@
 #ifndef FL_DOXYGEN
 
 /** For internal use only */
-class FL_EXPORT Flcc_HueBox : public Fl_Widget {
+class FL_EXPORT Flcc_HueBox : public fltk3::Widget {
   int px, py;
 protected:
   void draw();
   int handle_key(int);
 public:
   int handle(int);
-  Flcc_HueBox(int X, int Y, int W, int H) : Fl_Widget(X,Y,W,H) {
+  Flcc_HueBox(int X, int Y, int W, int H) : fltk3::Widget(X,Y,W,H) {
   px = py = 0;}
 };
 
 /** For internal use only */
-class FL_EXPORT Flcc_ValueBox : public Fl_Widget {
+class FL_EXPORT Flcc_ValueBox : public fltk3::Widget {
   int py;
 protected:
   void draw();
   int handle_key(int);
 public:
   int handle(int);
-  Flcc_ValueBox(int X, int Y, int W, int H) : Fl_Widget(X,Y,W,H) {
+  Flcc_ValueBox(int X, int Y, int W, int H) : fltk3::Widget(X,Y,W,H) {
   py = 0;}
 };
 
@@ -113,7 +113,7 @@
   color using dithering.
  */
 /** @} */
-class FL_EXPORT Fl_Color_Chooser : public Fl_Group {
+class FL_EXPORT Fl_Color_Chooser : public fltk3::Group {
   Flcc_HueBox huebox;
   Flcc_ValueBox valuebox;
   Fl_Choice choice;
@@ -124,8 +124,8 @@
   double hue_, saturation_, value_;
   double r_, g_, b_;
   void set_valuators();
-  static void rgb_cb(Fl_Widget*, void*);
-  static void mode_cb(Fl_Widget*, void*);
+  static void rgb_cb(fltk3::Widget*, void*);
+  static void mode_cb(fltk3::Widget*, void*);
 public:
   
   /** 

Modified: branches/branch-3.0-2011/fltk3/Fl_Counter.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Counter.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Counter.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -56,8 +56,8 @@
 */
 class FL_EXPORT Fl_Counter : public Fl_Valuator {
 
-  Fl_Font textfont_;
-  Fl_Fontsize textsize_;
+  fltk3::Font textfont_;
+  fltk3::Fontsize textsize_;
   Fl_Color textcolor_;
   double lstep_;
   uchar mouseobj;
@@ -101,14 +101,14 @@
   double step() const {return Fl_Valuator::step();}
 
   /** Gets the text font */
-  Fl_Font textfont() const {return textfont_;}
+  fltk3::Font textfont() const {return textfont_;}
   /** Sets the text font to \p s */
-  void textfont(Fl_Font s) {textfont_ = s;}
+  void textfont(fltk3::Font s) {textfont_ = s;}
 
   /** Gets the font size */
-  Fl_Fontsize textsize() const {return textsize_;}
+  fltk3::Fontsize textsize() const {return textsize_;}
   /** Sets the font size to \p s */
-  void textsize(Fl_Fontsize s) {textsize_ = s;}
+  void textsize(fltk3::Fontsize s) {textsize_ = s;}
 
   /** Gets the font color */
   Fl_Color textcolor() const {return textcolor_;}

Modified: branches/branch-3.0-2011/fltk3/Fl_Device.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Device.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Device.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -119,7 +119,7 @@
   friend void fl_draw(const char *str, int n, int x, int y);
   friend void fl_draw(int angle, const char *str, int n, int x, int y);
   friend void fl_rtl_draw(const char *str, int n, int x, int y);
-  friend void fl_font(Fl_Font face, Fl_Fontsize size);
+  friend void fl_font(fltk3::Font face, fltk3::Fontsize size);
   friend void fl_color(Fl_Color c);
   friend void fl_color(uchar r, uchar g, uchar b);
   friend void fl_point(int x, int y);
@@ -185,8 +185,8 @@
   virtual void draw(int angle, const char *str, int n, int x, int y) {};
   /** \brief see fl_rtl_draw(const char *str, int n, int x, int y). */
   virtual void rtl_draw(const char *str, int n, int x, int y) {};
-  /** \brief see fl_font(Fl_Font face, Fl_Fontsize size). */
-  virtual void font(Fl_Font face, Fl_Fontsize size) {};
+  /** \brief see fl_font(fltk3::Font face, fltk3::Fontsize size). */
+  virtual void font(fltk3::Font face, fltk3::Fontsize size) {};
   /** \brief see fl_color(Fl_Color c). */
   virtual void color(Fl_Color c) {};
   /** \brief see fl_color(uchar r, uchar g, uchar b). */
@@ -298,7 +298,7 @@
   void draw(const char* str, int n, int x, int y);
   void draw(int angle, const char *str, int n, int x, int y);
   void rtl_draw(const char* str, int n, int x, int y);
-  void font(Fl_Font face, Fl_Fontsize size);
+  void font(fltk3::Font face, fltk3::Fontsize size);
   void draw(Fl_Pixmap *pxm, int XP, int YP, int WP, int HP, int cx, int cy);
   void draw(Fl_Bitmap *pxm, int XP, int YP, int WP, int HP, int cx, int cy);
   void draw(Fl_RGB_Image *img, int XP, int YP, int WP, int HP, int cx, int cy);
@@ -324,7 +324,7 @@
   void draw(const char* str, int n, int x, int y);
   void draw(int angle, const char *str, int n, int x, int y);
   void rtl_draw(const char* str, int n, int x, int y);
-  void font(Fl_Font face, Fl_Fontsize size);
+  void font(fltk3::Font face, fltk3::Fontsize size);
   void draw(Fl_Pixmap *pxm, int XP, int YP, int WP, int HP, int cx, int cy);
   void draw(Fl_Bitmap *pxm, int XP, int YP, int WP, int HP, int cx, int cy);
   void draw(Fl_RGB_Image *img, int XP, int YP, int WP, int HP, int cx, int cy);
@@ -350,7 +350,7 @@
   void draw(const char* str, int n, int x, int y);
   void draw(int angle, const char *str, int n, int x, int y);
   void rtl_draw(const char* str, int n, int x, int y);
-  void font(Fl_Font face, Fl_Fontsize size);
+  void font(fltk3::Font face, fltk3::Fontsize size);
   void draw(Fl_Pixmap *pxm, int XP, int YP, int WP, int HP, int cx, int cy);
   void draw(Fl_Bitmap *pxm, int XP, int YP, int WP, int HP, int cx, int cy);
   void draw(Fl_RGB_Image *img, int XP, int YP, int WP, int HP, int cx, int cy);
@@ -416,7 +416,7 @@
    \param x,y offsets where to print relatively to coordinates origin
    \param height height of the current drawing area
    */
-  virtual int print(Fl_Widget* w, int x, int y, int height) { return 0; }
+  virtual int print(fltk3::Widget* w, int x, int y, int height) { return 0; }
 };
 
 #endif // Fl_Device_H

Modified: branches/branch-3.0-2011/fltk3/Fl_File_Browser.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_File_Browser.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_File_Browser.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -94,8 +94,8 @@
   */
   int		load(const char *directory, Fl_File_Sort_F *sort = fl_numericsort);
 
-  Fl_Fontsize  textsize() const { return Fl_Browser::textsize(); };
-  void		textsize(Fl_Fontsize s) { Fl_Browser::textsize(s); iconsize_ = (uchar)(3 * s / 2); };
+  fltk3::Fontsize  textsize() const { return Fl_Browser::textsize(); };
+  void		textsize(fltk3::Fontsize s) { Fl_Browser::textsize(s); iconsize_ = (uchar)(3 * s / 2); };
 
   /**
     Sets or gets the file browser type, FILES or

Modified: branches/branch-3.0-2011/fltk3/Fl_File_Chooser.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_File_Chooser.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_File_Chooser.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -34,7 +34,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <fltk3/Fl_Group.H>
+#include <fltk3/Group.H>
 #include <fltk3/Fl_Choice.H>
 #include <fltk3/Fl_Menu_Button.H>
 #include <fltk3/Fl_Button.H>
@@ -59,7 +59,7 @@
   char preview_text_[2048]; 
   int type_; 
   void favoritesButtonCB(); 
-  void favoritesCB(Fl_Widget *w); 
+  void favoritesCB(fltk3::Widget *w); 
   void fileListCB(); 
   void fileNameCB(); 
   void newdir(); 
@@ -150,10 +150,10 @@
   int shown();
   void textcolor(Fl_Color c);
   Fl_Color textcolor();
-  void textfont(Fl_Font f);
-  Fl_Font textfont();
-  void textsize(Fl_Fontsize s);
-  Fl_Fontsize textsize();
+  void textfont(fltk3::Font f);
+  fltk3::Font textfont();
+  void textsize(fltk3::Fontsize s);
+  fltk3::Fontsize textsize();
   void type(int t);
   int type();
   void * user_data() const;
@@ -219,9 +219,9 @@
   */
   static Fl_File_Sort_F *sort; 
 private:
-  Fl_Widget* ext_group; 
+  fltk3::Widget* ext_group; 
 public:
-  Fl_Widget* add_extra(Fl_Widget* gr);
+  fltk3::Widget* add_extra(fltk3::Widget* gr);
   Fl_File_Browser *browser(void) {return fileList; };
 };
 FL_EXPORT char *fl_dir_chooser(const char *message,const char *fname,int relative=0);

Modified: branches/branch-3.0-2011/fltk3/Fl_File_Icon.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_File_Icon.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_File_Icon.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -122,7 +122,7 @@
 
   void		draw(int x, int y, int w, int h, Fl_Color ic, int active = 1);
 
-  void		label(Fl_Widget *w);
+  void		label(fltk3::Widget *w);
 
   static void	labeltype(const Fl_Label *o, int x, int y, int w, int h, Fl_Align a);
   void		load(const char *f);

Modified: branches/branch-3.0-2011/fltk3/Fl_FormsBitmap.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_FormsBitmap.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_FormsBitmap.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -36,7 +36,7 @@
 /** 
     Forms compatibility Bitmap Image Widget
 */
-class FL_EXPORT Fl_FormsBitmap : public Fl_Widget {
+class FL_EXPORT Fl_FormsBitmap : public fltk3::Widget {
     Fl_Bitmap *b;
 protected:
     void draw();

Modified: branches/branch-3.0-2011/fltk3/Fl_FormsPixmap.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_FormsPixmap.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_FormsPixmap.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -37,7 +37,7 @@
   \class Fl_FormsPixmap
   \brief Forms pixmap drawing routines
 */
-class FL_EXPORT Fl_FormsPixmap : public Fl_Widget {
+class FL_EXPORT Fl_FormsPixmap : public fltk3::Widget {
     Fl_Pixmap *b;
 protected:
     void draw();

Modified: branches/branch-3.0-2011/fltk3/Fl_Free.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Free.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Free.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -32,7 +32,7 @@
 #define Fl_Free_H
 
 #ifndef Fl_Widget_H
-#include "Fl_Widget.H"
+#include "Widget.h"
 #endif
 
 #define FL_NORMAL_FREE		1 /**< normal event handling */
@@ -42,7 +42,7 @@
 #define FL_ALL_FREE		5 /**< FL_INPUT_FREE and FL_CONTINOUS_FREE */
 
 /** appropriate signature for handle function */
-typedef int (*FL_HANDLEPTR)(Fl_Widget *, int , float, float, char);
+typedef int (*FL_HANDLEPTR)(fltk3::Widget *, int , float, float, char);
 
 /**
   Emulation of the Forms "free" widget.
@@ -63,7 +63,7 @@
   \li \c FL_ALL_FREE         same as FL_INPUT_FREE and FL_CONTINUOUS_FREE.
  
 */
-class FL_EXPORT Fl_Free : public Fl_Widget {
+class FL_EXPORT Fl_Free : public fltk3::Widget {
     FL_HANDLEPTR hfunc;
     static void step(void *);
 protected:

Modified: branches/branch-3.0-2011/fltk3/Fl_Gl_Window.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Gl_Window.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Gl_Window.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -58,7 +58,7 @@
   Please note that the FLTK drawing and clipping functions
   will not work inside an Fl_Gl_Window. All drawing
   should be done using OpenGL calls exclusively.
-  Even though Fl_Gl_Window is derived from Fl_Group, 
+  Even though Fl_Gl_Window is derived from fltk3::Group, 
   it is not useful to add other FLTK Widgets as children,
   unless those widgets are modified to draw using OpenGL calls.
 */
@@ -206,7 +206,7 @@
   */
   void make_overlay_current();
 
-  // Note: Doxygen docs in Fl_Widget.H to avoid redundancy.
+  // Note: Doxygen docs in Widget.h to avoid redundancy.
   virtual Fl_Gl_Window* as_gl_window() {return this;}
   
   ~Fl_Gl_Window();

Deleted: branches/branch-3.0-2011/fltk3/Fl_Group.H

Modified: branches/branch-3.0-2011/fltk3/Fl_Help_Dialog.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Help_Dialog.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Help_Dialog.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -34,7 +34,7 @@
 #define Fl_Help_Dialog_H
 #include <fltk3/run.h>
 #include <fltk3/Fl_Double_Window.H>
-#include <fltk3/Fl_Group.H>
+#include <fltk3/Group.H>
 #include <fltk3/Fl_Button.H>
 #include <fltk3/Fl_Input.H>
 #include <fltk3/Box.h>
@@ -77,8 +77,8 @@
   void resize(int xx, int yy, int ww, int hh);
   void show();
   void show(int argc, char **argv);
-  void textsize(Fl_Fontsize s);
-  Fl_Fontsize textsize();
+  void textsize(fltk3::Fontsize s);
+  fltk3::Fontsize textsize();
   void topline(const char *n);
   void topline(int n);
   void value(const char *f);

Modified: branches/branch-3.0-2011/fltk3/Fl_Help_View.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Help_View.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Help_View.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -38,7 +38,7 @@
 
 #  include <stdio.h>
 #  include "run.h"
-#  include "Fl_Group.H"
+#  include "fltk3/Group.H"
 #  include "Fl_Scrollbar.H"
 #  include "fl_draw.H"
 #  include "Fl_Shared_Image.H"
@@ -50,7 +50,7 @@
 //
 
 
-typedef const char *(Fl_Help_Func)(Fl_Widget *, const char *);
+typedef const char *(Fl_Help_Func)(fltk3::Widget *, const char *);
 
 
 //
@@ -90,12 +90,12 @@
 
 /** Fl_Help_View font stack element definition. */
 struct Fl_Help_Font_Style {
-  Fl_Font      f;  ///< Font
-  Fl_Fontsize  s;  ///< Font Size
+  fltk3::Font      f;  ///< Font
+  fltk3::Fontsize  s;  ///< Font Size
   Fl_Color     c;  ///< Font Color
-  void get(Fl_Font &afont, Fl_Fontsize &asize, Fl_Color &acolor) {afont=f; asize=s; acolor=c;} ///< Gets current font attributes
-  void set(Fl_Font afont, Fl_Fontsize asize, Fl_Color acolor) {f=afont; s=asize; c=acolor;} ///< Sets current font attributes
-  Fl_Help_Font_Style(Fl_Font afont, Fl_Fontsize asize, Fl_Color acolor) {set(afont, asize, acolor);}
+  void get(fltk3::Font &afont, fltk3::Fontsize &asize, Fl_Color &acolor) {afont=f; asize=s; acolor=c;} ///< Gets current font attributes
+  void set(fltk3::Font afont, fltk3::Fontsize asize, Fl_Color acolor) {f=afont; s=asize; c=acolor;} ///< Sets current font attributes
+  Fl_Help_Font_Style(fltk3::Font afont, fltk3::Fontsize asize, Fl_Color acolor) {set(afont, asize, acolor);}
   Fl_Help_Font_Style(){} // For in table use
 };
 
@@ -108,22 +108,22 @@
     nfonts_ = 0;
   }
 
-  void init(Fl_Font f, Fl_Fontsize s, Fl_Color c) { 
+  void init(fltk3::Font f, fltk3::Fontsize s, Fl_Color c) { 
     nfonts_ = 0;
     elts_[nfonts_].set(f, s, c);
     fl_font(f, s); 
     fl_color(c);
   }
   /** Gets the top (current) element on the stack. */
-  void top(Fl_Font &f, Fl_Fontsize &s, Fl_Color &c) { elts_[nfonts_].get(f, s, c); }
+  void top(fltk3::Font &f, fltk3::Fontsize &s, Fl_Color &c) { elts_[nfonts_].get(f, s, c); }
   /** Pushes the font style triplet on the stack, also calls fl_font() & fl_color() adequately */
-  void push(Fl_Font f, Fl_Fontsize s, Fl_Color c) { 
+  void push(fltk3::Font f, fltk3::Fontsize s, Fl_Color c) { 
     if (nfonts_ <  MAX_FL_HELP_FS_ELTS-1) nfonts_ ++;
     elts_[nfonts_].set(f, s, c);
     fl_font(f, s); fl_color(c); 
   }
   /** Pops from the stack the font style triplet and calls fl_font() & fl_color() adequately */
-  void pop(Fl_Font &f, Fl_Fontsize &s, Fl_Color &c) { 
+  void pop(fltk3::Font &f, fltk3::Fontsize &s, Fl_Color &c) { 
     if (nfonts_ > 0) nfonts_ --;
     top(f, s, c);
     fl_font(f, s); fl_color(c);
@@ -209,7 +209,7 @@
      - yen Yuml yuml
 
 */
-class FL_EXPORT Fl_Help_View : public Fl_Group	// Help viewer widget
+class FL_EXPORT Fl_Help_View : public fltk3::Group	// Help viewer widget
 {
   enum { RIGHT = -1, CENTER, LEFT };	///< Alignments
 
@@ -218,8 +218,8 @@
 		bgcolor_,		///< Background color
 		textcolor_,		///< Text color
 		linkcolor_;		///< Link color
-  Fl_Font       textfont_;		///< Default font for text
-  Fl_Fontsize  textsize_;		///< Default font size
+  fltk3::Font       textfont_;		///< Default font for text
+  fltk3::Fontsize  textsize_;		///< Default font size
   const char	*value_;		///< HTML text value
   Fl_Help_Font_Stack fstack_;           ///< font stack management
   int		nblocks_,		///< Number of blocks/paragraphs
@@ -262,10 +262,10 @@
   static Fl_Color hv_selection_text_color;
 
 
-  void initfont(Fl_Font &f, Fl_Fontsize &s, Fl_Color &c) { f = textfont_; s = textsize_; c = textcolor_; fstack_.init(f, s, c); }
-  void pushfont(Fl_Font f, Fl_Fontsize s) {fstack_.push(f, s, textcolor_);}
-  void pushfont(Fl_Font f, Fl_Fontsize s, Fl_Color c) {fstack_.push(f, s, c);}
-  void popfont(Fl_Font &f, Fl_Fontsize &s, Fl_Color &c) {fstack_.pop(f, s, c);}
+  void initfont(fltk3::Font &f, fltk3::Fontsize &s, Fl_Color &c) { f = textfont_; s = textsize_; c = textcolor_; fstack_.init(f, s, c); }
+  void pushfont(fltk3::Font f, fltk3::Fontsize s) {fstack_.push(f, s, textcolor_);}
+  void pushfont(fltk3::Font f, fltk3::Fontsize s, Fl_Color c) {fstack_.push(f, s, c);}
+  void popfont(fltk3::Font &f, fltk3::Fontsize &s, Fl_Color &c) {fstack_.pop(f, s, c);}
 
   Fl_Help_Block	*add_block(const char *s, int xx, int yy, int ww, int hh, uchar border = 0);
   void		add_link(const char *n, int xx, int yy, int ww, int hh);
@@ -312,7 +312,7 @@
     It must return a pathname that can be opened as a local file or NULL:
     
     \code
-    const char *fn(Fl_Widget *w, const char *uri);
+    const char *fn(fltk3::Widget *w, const char *uri);
     \endcode
     
     The link function can be used to retrieve remote or virtual
@@ -329,19 +329,19 @@
   void		resize(int,int,int,int);
   /** Gets the size of the help view. */
   int		size() const { return (size_); }
-  void		size(int W, int H) { Fl_Widget::size(W, H); }
+  void		size(int W, int H) { fltk3::Widget::size(W, H); }
   /** Sets the default text color. */
   void		textcolor(Fl_Color c) { if (textcolor_ == defcolor_) textcolor_ = c; defcolor_ = c; }
   /** Returns the current default text color. */
   Fl_Color	textcolor() const { return (defcolor_); }
   /** Sets the default text font. */
-  void		textfont(Fl_Font f) { textfont_ = f; format(); }
+  void		textfont(fltk3::Font f) { textfont_ = f; format(); }
   /** Returns the current default text font. */
-  Fl_Font       textfont() const { return (textfont_); }
+  fltk3::Font       textfont() const { return (textfont_); }
   /** Sets the default text size. */
-  void		textsize(Fl_Fontsize s) { textsize_ = s; format(); }
+  void		textsize(fltk3::Fontsize s) { textsize_ = s; format(); }
   /** Gets the default text size. */
-  Fl_Fontsize  textsize() const { return (textsize_); }
+  fltk3::Fontsize  textsize() const { return (textsize_); }
   /** Returns the current document title, or NULL if there is no title. */
   const char	*title() { return (title_); }
   void		topline(const char *n);

Modified: branches/branch-3.0-2011/fltk3/Fl_Image.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Image.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Image.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -33,10 +33,13 @@
 
 #  include "Enumerations.H"
 
-class Fl_Widget;
 struct Fl_Menu_Item;
 struct Fl_Label;
 
+namespace fltk3 {
+  class Widget;
+}
+
 /**
   Fl_Image is the base class used for caching and
   drawing all kinds of images in FLTK. This class keeps track of
@@ -159,7 +162,7 @@
   */
   void inactive() { color_average(FL_GRAY, .33f); }
   virtual void desaturate();
-  virtual void label(Fl_Widget*w);
+  virtual void label(fltk3::Widget*w);
   virtual void label(Fl_Menu_Item*m);
   /**
     The draw() methods draw the image. This form specifies
@@ -218,7 +221,7 @@
   virtual void desaturate();
   virtual void draw(int X, int Y, int W, int H, int cx=0, int cy=0);
   void draw(int X, int Y) {draw(X, Y, w(), h(), 0, 0);}
-  virtual void label(Fl_Widget*w);
+  virtual void label(fltk3::Widget*w);
   virtual void label(Fl_Menu_Item*m);
   virtual void uncache();
 };

Modified: branches/branch-3.0-2011/fltk3/Fl_Input_.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Input_.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Input_.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -32,7 +32,7 @@
 #define Fl_Input__H
 
 #ifndef Fl_Widget_H
-#include "Fl_Widget.H"
+#include "Widget.h"
 #endif
 
 #define FL_NORMAL_INPUT		0
@@ -99,7 +99,7 @@
   None of these issues should be disastrous. Nevertheless, we should
   discuss how FLTK should handle false UTF-8 sequences and pointers.
 */
-class FL_EXPORT Fl_Input_ : public Fl_Widget {
+class FL_EXPORT Fl_Input_ : public fltk3::Widget {
 
   /** \internal Storage for the text field. */
   const char* value_;
@@ -142,10 +142,10 @@
   uchar erase_cursor_only;
 
   /** \internal The font used for the entire text. */
-  Fl_Font textfont_;
+  fltk3::Font textfont_;
 
   /** \internal Height of the font used for the entire text. */
-  Fl_Fontsize textsize_;
+  fltk3::Fontsize textsize_;
 
   /** \internal color of the entire text */
   Fl_Color textcolor_;
@@ -266,8 +266,8 @@
 
   /** Sets the width and height of this widget.
     \param [in] W, H new width and height
-    \see Fl_Widget::size(int, int) */
-  void size(int W, int H) { Fl_Widget::size(W, H); }
+    \see fltk3::Widget::size(int, int) */
+  void size(int W, int H) { fltk3::Widget::size(W, H); }
 
   /** Gets the maximum length of the input field.  
     \todo It is not clear if this function is actually required */
@@ -383,22 +383,22 @@
   void shortcut(int s) {shortcut_ = s;}
 
   /** Gets the font of the text in the input field.
-    \return the current Fl_Font index */
-  Fl_Font textfont() const {return textfont_;}
+    \return the current fltk3::Font index */
+  fltk3::Font textfont() const {return textfont_;}
 
   /** Sets the font of the text in the input field.
-    The text font defaults to \c FL_HELVETICA.
+    The text font defaults to \c fltk3::HELVETICA.
     \param [in] s the new text font */
-  void textfont(Fl_Font s) {textfont_ = s;}
+  void textfont(fltk3::Font s) {textfont_ = s;}
 
   /** Gets the size of the text in the input field.
     \return the text height in pixels */
-  Fl_Fontsize textsize() const {return textsize_;}
+  fltk3::Fontsize textsize() const {return textsize_;}
 
   /** Sets the size of the text in the input field.
     The text height defaults to \c FL_NORMAL_SIZE.
     \param [in] s the new font height in pixel units */
-  void textsize(Fl_Fontsize s) {textsize_ = s;}
+  void textsize(fltk3::Fontsize s) {textsize_ = s;}
 
   /** Gets the color of the text in the input field.
     \return the text color

Modified: branches/branch-3.0-2011/fltk3/Fl_Input_Choice.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Input_Choice.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Input_Choice.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -39,7 +39,7 @@
 #define Fl_Input_Choice_H
 
 #include <fltk3/run.h>
-#include <fltk3/Fl_Group.H>
+#include <fltk3/Group.H>
 #include <fltk3/Fl_Input.H>
 #include <fltk3/Fl_Menu_Button.H>
 #include <fltk3/fl_draw.H>
@@ -56,7 +56,7 @@
   widgets directly, using the menubutton()
   and input() accessor methods.
 */
-class FL_EXPORT Fl_Input_Choice : public Fl_Group {
+class FL_EXPORT Fl_Input_Choice : public fltk3::Group {
   // Private class to handle slightly 'special' behavior of menu button
   class InputMenuButton : public Fl_Menu_Button {
     void draw() {
@@ -74,14 +74,14 @@
   Fl_Input *inp_;
   InputMenuButton *menu_;
 
-  static void menu_cb(Fl_Widget*, void *data) { 
+  static void menu_cb(fltk3::Widget*, void *data) { 
     Fl_Input_Choice *o=(Fl_Input_Choice *)data;
     Fl_Widget_Tracker wp(o);
     const Fl_Menu_Item *item = o->menubutton()->mvalue();
     if (item && item->flags & (FL_SUBMENU|FL_SUBMENU_POINTER)) return;	// ignore submenus
     if (!strcmp(o->inp_->value(), o->menu_->text()))
     {
-      o->Fl_Widget::clear_changed();
+      o->fltk3::Widget::clear_changed();
       if (o->when() & FL_WHEN_NOT_CHANGED)
 	o->do_callback();
     }
@@ -89,7 +89,7 @@
     {
       o->inp_->value(o->menu_->text());
       o->inp_->set_changed();
-      o->Fl_Widget::set_changed();
+      o->fltk3::Widget::set_changed();
       if (o->when() & (FL_WHEN_CHANGED|FL_WHEN_RELEASE))
 	o->do_callback();
     }
@@ -98,20 +98,20 @@
 
     if (o->callback() != default_callback)
     {
-      o->Fl_Widget::clear_changed();
+      o->fltk3::Widget::clear_changed();
       o->inp_->clear_changed();
     }
   }
 
-  static void inp_cb(Fl_Widget*, void *data) { 
+  static void inp_cb(fltk3::Widget*, void *data) { 
     Fl_Input_Choice *o=(Fl_Input_Choice *)data;
     Fl_Widget_Tracker wp(o);
     if (o->inp_->changed()) {
-      o->Fl_Widget::set_changed();
+      o->fltk3::Widget::set_changed();
       if (o->when() & (FL_WHEN_CHANGED|FL_WHEN_RELEASE))
 	o->do_callback();
     } else {
-      o->Fl_Widget::clear_changed();
+      o->fltk3::Widget::clear_changed();
       if (o->when() & FL_WHEN_NOT_CHANGED)
 	o->do_callback();
     }
@@ -119,7 +119,7 @@
     if (wp.deleted()) return;
 
     if (o->callback() != default_callback)
-      o->Fl_Widget::clear_changed();
+      o->fltk3::Widget::clear_changed();
   }
 
   // Custom resize behavior -- input stretches, menu button doesn't
@@ -139,8 +139,8 @@
     and label string.
   <P> Inherited destructor Destroys the widget and any value associated with it.
   */
-  Fl_Input_Choice (int x,int y,int w,int h,const char*l=0) : Fl_Group(x,y,w,h,l) {
-    Fl_Group::box(fltk3::DOWN_BOX);
+  Fl_Input_Choice (int x,int y,int w,int h,const char*l=0) : fltk3::Group(x,y,w,h,l) {
+    fltk3::Group::box(fltk3::DOWN_BOX);
     align(FL_ALIGN_LEFT);				// default like Fl_Input
     inp_ = new Fl_Input(inp_x(), inp_y(),
 			inp_w(), inp_h());
@@ -156,14 +156,14 @@
   
   /** Adds an item to the menu.*/
   void add(const char *s) { menu_->add(s);  }
-  int changed() const { return inp_->changed() | Fl_Widget::changed();}
+  int changed() const { return inp_->changed() | fltk3::Widget::changed();}
   void clear_changed() { 
     inp_->clear_changed();
-    Fl_Widget::clear_changed();
+    fltk3::Widget::clear_changed();
   }
   void set_changed() { 
     inp_->set_changed();
-    // no need to call Fl_Widget::set_changed()
+    // no need to call fltk3::Widget::set_changed()
   }
   /** Removes all items from the menu. */
   void clear() { menu_->clear(); }
@@ -176,7 +176,7 @@
   /** Sets the Fl_Menu_Item array used for the menu. */
   void menu(const Fl_Menu_Item *m) { menu_->menu(m); }
   void resize(int X, int Y, int W, int H) {
-    Fl_Group::resize(X,Y,W,H);
+    fltk3::Group::resize(X,Y,W,H);
     inp_->resize(inp_x(), inp_y(), inp_w(), inp_h());
     menu_->resize(menu_x(), menu_y(), menu_w(), menu_h());
   }
@@ -185,13 +185,13 @@
   /** Sets the encapsulated input text color attributes */
   void textcolor(Fl_Color c) { inp_->textcolor(c);}
   /** Gets the encapsulated input text font  attributes */
-  Fl_Font textfont() const { return (inp_->textfont());}
+  fltk3::Font textfont() const { return (inp_->textfont());}
   /** Sets the encapsulated input text font attributes */
-  void textfont(Fl_Font f) { inp_->textfont(f);}
+  void textfont(fltk3::Font f) { inp_->textfont(f);}
   /** Gets the encapsulated input size attributes */
-  Fl_Fontsize textsize() const { return (inp_->textsize()); }
+  fltk3::Fontsize textsize() const { return (inp_->textsize()); }
   /** Sets the encapsulated input size attributes */
-  void textsize(Fl_Fontsize s) { inp_->textsize(s); }
+  void textsize(fltk3::Fontsize s) { inp_->textsize(s); }
   /** See void Fl_Input_Choice::value(const char *s)  */
   const char* value() const { return (inp_->value()); }
   /**

Modified: branches/branch-3.0-2011/fltk3/Fl_Menu_.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Menu_.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Menu_.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -32,7 +32,7 @@
 #define Fl_Menu__H
 
 #ifndef Fl_Widget_H
-#include "Fl_Widget.H"
+#include "Widget.h"
 #endif
 #include "Fl_Menu_Item.H"
 
@@ -45,7 +45,7 @@
   array may either be supplied directly by the user program, or it may
   be "private": a dynamically allocated array managed by the Fl_Menu_.
 */
-class FL_EXPORT Fl_Menu_ : public Fl_Widget {
+class FL_EXPORT Fl_Menu_ : public fltk3::Widget {
 
   Fl_Menu_Item *menu_;
   const Fl_Menu_Item *value_;
@@ -54,8 +54,8 @@
 
   uchar alloc;			// flag indicates if menu_ is a dynamic copy (=1) or not (=0)
   uchar down_box_;
-  Fl_Font textfont_;
-  Fl_Fontsize textsize_;
+  fltk3::Font textfont_;
+  fltk3::Fontsize textsize_;
   Fl_Color textcolor_;
 
 public:
@@ -103,7 +103,7 @@
   }
   int  add(const char *);
   int  size() const ;
-  void size(int W, int H) { Fl_Widget::size(W, H); }
+  void size(int W, int H) { fltk3::Widget::size(W, H); }
   void clear();
   int clear_submenu(int index);
   void replace(int,const char *);
@@ -133,13 +133,13 @@
   const char *text(int i) const {return menu_[i].text;}
 
   /** Gets the current font of menu item labels.  */
-  Fl_Font textfont() const {return textfont_;}
+  fltk3::Font textfont() const {return textfont_;}
   /**  Sets the current font of menu item labels.  */
-  void textfont(Fl_Font c) {textfont_=c;}
+  void textfont(fltk3::Font c) {textfont_=c;}
   /**  Gets the font size of menu item labels.  */
-  Fl_Fontsize textsize() const {return textsize_;}
+  fltk3::Fontsize textsize() const {return textsize_;}
   /**  Sets the font size of menu item labels.  */
-  void textsize(Fl_Fontsize c) {textsize_=c;}
+  void textsize(fltk3::Fontsize c) {textsize_=c;}
   /** Get the current color of menu item labels.  */
   Fl_Color textcolor() const {return textcolor_;}
   /** Sets the current color of menu item labels. */

Modified: branches/branch-3.0-2011/fltk3/Fl_Menu_Bar.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Menu_Bar.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Menu_Bar.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -50,7 +50,7 @@
   submenu, then it acts like a "button" in the menubar.  Clicking on it
   will pick it. </P>
   <P>When the user picks an item off the menu, the item's callback is
-  done with the menubar as the Fl_Widget* argument.  If the item
+  done with the menubar as the fltk3::Widget* argument.  If the item
   does not have a callback the menubar's callback is done instead. </P>
   <P>Submenus will also pop up in response to shortcuts indicated by
   putting a '&' character in the name field of the menu item. If you put a

Modified: branches/branch-3.0-2011/fltk3/Fl_Menu_Button.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Menu_Button.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Menu_Button.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -52,7 +52,7 @@
   The '&' character in menu item names are only looked at when the menu is
   popped up, however. </P>
   <P>When the user picks an item off the menu, the item's callback is
-  done with the menu_button as the Fl_Widget* argument.  If the
+  done with the menu_button as the fltk3::Widget* argument.  If the
   item does not have a callback the menu_button's callback is done
   instead.
 */

Modified: branches/branch-3.0-2011/fltk3/Fl_Menu_Item.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Menu_Item.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Menu_Item.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -28,7 +28,7 @@
 #ifndef Fl_Menu_Item_H
 #define Fl_Menu_Item_H
 
-#  include "Fl_Widget.H"
+#  include "Widget.h"
 #  include "Fl_Image.H"
 
 #  if defined(__APPLE__) && defined(check)
@@ -122,8 +122,8 @@
   void *user_data_;	    ///< menu item user_data for the menu's callback
   int flags;		    ///< menu item flags like FL_MENU_TOGGLE, FL_MENU_RADIO
   uchar labeltype_;	    ///< how the menu item text looks like
-  Fl_Font labelfont_;	    ///< which font for this menu item text
-  Fl_Fontsize labelsize_;   ///< size of menu item text
+  fltk3::Font labelfont_;	    ///< which font for this menu item text
+  fltk3::Fontsize labelsize_;   ///< size of menu item text
   Fl_Color labelcolor_;	    ///< menu item text color
 
   // advance N items, skipping submenus:
@@ -197,7 +197,7 @@
     enumeration list for predefined fonts. The default value is a
     Helvetica font. The function fltk3::set_font() can define new fonts.
   */
-  Fl_Font labelfont() const {return labelfont_;}
+  fltk3::Font labelfont() const {return labelfont_;}
 
   /**
     Sets the menu item's label font.
@@ -205,13 +205,13 @@
     enumeration list for predefined fonts. The default value is a
     Helvetica font.  The function fltk3::set_font() can define new fonts.
   */
-  void labelfont(Fl_Font a) {labelfont_ = a;}
+  void labelfont(fltk3::Font a) {labelfont_ = a;}
 
   /** Gets the label font pixel size/height. */
-  Fl_Fontsize labelsize() const {return labelsize_;}
+  fltk3::Fontsize labelsize() const {return labelsize_;}
 
   /** Sets the label font pixel size/height.*/
-  void labelsize(Fl_Fontsize a) {labelsize_ = a;}
+  void labelsize(fltk3::Fontsize a) {labelsize_ = a;}
 
   /**
     Returns the callback function that is set for the menu item.
@@ -377,27 +377,27 @@
   const Fl_Menu_Item* find_shortcut(int *ip=0, const bool require_alt = false) const;
 
   /**
-    Calls the Fl_Menu_Item item's callback, and provides the Fl_Widget argument.
+    Calls the Fl_Menu_Item item's callback, and provides the fltk3::Widget argument.
     The callback is called with the stored user_data() as its second argument.
     You must first check that callback() is non-zero before calling this.
   */
-  void do_callback(Fl_Widget* o) const {callback_(o, user_data_);}
+  void do_callback(fltk3::Widget* o) const {callback_(o, user_data_);}
 
   /**
-    Calls the Fl_Menu_Item item's callback, and provides the Fl_Widget argument.
+    Calls the Fl_Menu_Item item's callback, and provides the fltk3::Widget argument.
     This call overrides the callback's second argument with the given value \p arg.
     You must first check that callback() is non-zero before calling this.
   */
-  void do_callback(Fl_Widget* o,void* arg) const {callback_(o, arg);}
+  void do_callback(fltk3::Widget* o,void* arg) const {callback_(o, arg);}
 
   /**
-    Calls the Fl_Menu_Item item's callback, and provides the Fl_Widget argument.
+    Calls the Fl_Menu_Item item's callback, and provides the fltk3::Widget argument.
     This call overrides the callback's second argument with the
     given value \p arg. long \p arg is cast to void* when calling
     the callback.
     You must first check that callback() is non-zero before calling this.
   */
-  void do_callback(Fl_Widget* o,long arg) const {callback_(o, (void*)arg);}
+  void do_callback(fltk3::Widget* o,long arg) const {callback_(o, (void*)arg);}
 
   // back-compatibility, do not use:
 

Modified: branches/branch-3.0-2011/fltk3/Fl_Multi_Label.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Multi_Label.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Multi_Label.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -28,7 +28,7 @@
 #ifndef Fl_Multi_Label_H
 #define Fl_Multi_Label_H
 
-class Fl_Widget;
+class fltk3::Widget;
 struct Fl_Menu_Item;
 
 struct FL_EXPORT Fl_Multi_Label {
@@ -36,7 +36,7 @@
   const char* labelb;
   uchar typea;
   uchar typeb;
-  void label(Fl_Widget*);
+  void label(fltk3::Widget*);
   void label(Fl_Menu_Item*);
 };
 

Modified: branches/branch-3.0-2011/fltk3/Fl_Object.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Object.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Object.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -25,11 +25,11 @@
 //     http://www.fltk.org/str.php
 //
 
-// This file is provided for back compatibility only.  Please use Fl_Widget
+// This file is provided for back compatibility only.  Please use fltk3::Widget
 #ifndef Fl_Object
-#define Fl_Object Fl_Widget
+#define Fl_Object fltk3::Widget
 #endif
-#include "Fl_Widget.H"
+#include "Widget.h"
 
 //
 // End of "$Id$".

Modified: branches/branch-3.0-2011/fltk3/Fl_Pack.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Pack.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Pack.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -31,7 +31,7 @@
 #ifndef Fl_Pack_H
 #define Fl_Pack_H
 
-#include <fltk3/Fl_Group.H>
+#include <fltk3/Group.H>
 
 /**
   This widget was designed to add the functionality of compressing and
@@ -47,9 +47,9 @@
   Fl_Scroll.
 
   <P>The resizable for Fl_Pack is set to NULL by default.</p>
-  <P>See also: Fl_Group::resizable()
+  <P>See also: fltk3::Group::resizable()
 */
-class FL_EXPORT Fl_Pack : public Fl_Group {
+class FL_EXPORT Fl_Pack : public fltk3::Group {
   int spacing_;
 
 public:
@@ -73,7 +73,7 @@
     between the children.
   */
   void spacing(int i) {spacing_ = i;}
-  /** Same as Fl_Group::type() */
+  /** Same as fltk3::Group::type() */
   uchar horizontal() const {return type();}
 };
 

Modified: branches/branch-3.0-2011/fltk3/Fl_Paged_Device.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Paged_Device.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Paged_Device.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -117,7 +117,7 @@
   };
   void add_image(Fl_Image *image, const uchar *data); // adds an image to the page image list
 #endif
-  void traverse(Fl_Widget *widget); // finds subwindows of widget and prints them
+  void traverse(fltk3::Widget *widget); // finds subwindows of widget and prints them
 protected:
   /** \brief horizontal offset to the origin of graphics coordinates */
   int x_offset;
@@ -145,7 +145,7 @@
   virtual void rotate(float angle);
   virtual void translate(int x, int y);
   virtual void untranslate(void);
-  void print_widget(Fl_Widget* widget, int delta_x = 0, int delta_y = 0);
+  void print_widget(fltk3::Widget* widget, int delta_x = 0, int delta_y = 0);
   void print_window_part(fltk3::Window *win, int x, int y, int w, int h, int delta_x = 0, int delta_y = 0);
   virtual int end_page (void);
   virtual void end_job (void);

Modified: branches/branch-3.0-2011/fltk3/Fl_Pixmap.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Pixmap.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Pixmap.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -32,7 +32,7 @@
 #define Fl_Pixmap_H
 #  include "Fl_Image.H"
 
-class Fl_Widget;
+class fltk3::Widget;
 struct Fl_Menu_Item;
 
 // Older C++ compilers don't support the explicit keyword... :(
@@ -87,7 +87,7 @@
   virtual void desaturate();
   virtual void draw(int X, int Y, int W, int H, int cx=0, int cy=0);
   void draw(int X, int Y) {draw(X, Y, w(), h(), 0, 0);}
-  virtual void label(Fl_Widget*w);
+  virtual void label(fltk3::Widget*w);
   virtual void label(Fl_Menu_Item*m);
   virtual void uncache();
 };

Modified: branches/branch-3.0-2011/fltk3/Fl_Positioner.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Positioner.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Positioner.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -32,7 +32,7 @@
 #define Fl_Positioner_H
 
 #ifndef Fl_Widget_H
-#include "Fl_Widget.H"
+#include "Widget.h"
 #endif
 
 /**
@@ -43,7 +43,7 @@
   <P ALIGN=CENTER>\image html  positioner.png </P> 
   \image latex  positioner.png " Fl_Positioner" width=4cm
 */
-class FL_EXPORT Fl_Positioner : public Fl_Widget {
+class FL_EXPORT Fl_Positioner : public fltk3::Widget {
 
   double xmin, ymin;
   double xmax, ymax;

Modified: branches/branch-3.0-2011/fltk3/Fl_Progress.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Progress.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Progress.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -35,7 +35,7 @@
 // Include necessary headers.
 //
 
-#include "Fl_Widget.H"
+#include "Widget.h"
 
 
 //
@@ -44,7 +44,7 @@
 /**
     Displays a progress bar for the user.
 */
-class FL_EXPORT Fl_Progress : public Fl_Widget
+class FL_EXPORT Fl_Progress : public fltk3::Widget
 {
   float	value_,
 	minimum_,

Modified: branches/branch-3.0-2011/fltk3/Fl_Scroll.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Scroll.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Scroll.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -31,7 +31,7 @@
 #ifndef Fl_Scroll_H
 #define Fl_Scroll_H
 
-#include "Fl_Group.H"
+#include "fltk3/Group.H"
 #include "Fl_Scrollbar.H"
 
 /**
@@ -64,7 +64,7 @@
   <LI>Fl_Scroll::BOTH_ALWAYS       - Both always on. </LI>
   </UL>
 
-  Use <B> scrollbar.align(int) ( see void Fl_Widget::align(Fl_Align) ) :</B>
+  Use <B> scrollbar.align(int) ( see void fltk3::Widget::align(Fl_Align) ) :</B>
   to change what side the scrollbars are drawn on.
 
   If the FL_ALIGN_LEFT bit is on, the vertical scrollbar is on the left.
@@ -93,13 +93,13 @@
   clipping is not conveyed to it when drawn, and it will draw over the
   scrollbars and neighboring objects.</I>
 */
-class FL_EXPORT Fl_Scroll : public Fl_Group {
+class FL_EXPORT Fl_Scroll : public fltk3::Group {
 
   int xposition_, yposition_;
   int oldx, oldy;
   int scrollbar_size_;
-  static void hscrollbar_cb(Fl_Widget*, void*);
-  static void scrollbar_cb(Fl_Widget*, void*);
+  static void hscrollbar_cb(fltk3::Widget*, void*);
+  static void scrollbar_cb(fltk3::Widget*, void*);
   void fix_scrollbar_order();
   static void draw_clip(void*,int,int,int,int);
 

Modified: branches/branch-3.0-2011/fltk3/Fl_Slider.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Slider.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Slider.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -50,7 +50,7 @@
   maximum().  The minimum() may be greater than the maximum() to
   reverse the slider direction.
 
-  Use void Fl_Widget::type(int) to set how the slider is drawn, 
+  Use void fltk3::Widget::type(int) to set how the slider is drawn, 
   which can be one of the following:
   
   \li FL_VERTICAL - Draws a vertical slider (this is the default).

Modified: branches/branch-3.0-2011/fltk3/Fl_Spinner.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Spinner.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Spinner.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -36,7 +36,7 @@
 //
 
 #  include <fltk3/Enumerations.H>
-#  include <fltk3/Fl_Group.H>
+#  include <fltk3/Group.H>
 #  include <fltk3/Fl_Input.H>
 #  include <fltk3/Fl_Repeat_Button.H>
 #  include <stdio.h>
@@ -48,7 +48,7 @@
   widget and repeat buttons. The user can either type into the
   input area or use the buttons to change the value.
 */
-class FL_EXPORT Fl_Spinner : public Fl_Group
+class FL_EXPORT Fl_Spinner : public fltk3::Group
 {
   double	value_;			// Current value
   double	minimum_;		// Minimum value
@@ -62,7 +62,7 @@
 		down_button_;		// Down button
 
 
-  static void	sb_cb(Fl_Widget *w, Fl_Spinner *sb) {
+  static void	sb_cb(fltk3::Widget *w, Fl_Spinner *sb) {
 		  double v;		// New value
 
 		  if (w == &(sb->input_)) {
@@ -124,7 +124,7 @@
 		  <P>Inherited destructor Destroys the widget and any value associated with it.
 		*/
 		Fl_Spinner(int X, int Y, int W, int H, const char *L = 0)
-		  : Fl_Group(X, Y, W, H, L),
+		  : fltk3::Group(X, Y, W, H, L),
 		    input_(X, Y, W - H / 2 - 2, H),
 		    up_button_(X + W - H / 2 - 2, Y, H / 2 + 2, H / 2, "@-42<"),
 		    down_button_(X + W - H / 2 - 2, Y + H - H / 2,
@@ -171,7 +171,7 @@
 		      else return 0;
 		  }
 
-		  return Fl_Group::handle(event);
+		  return fltk3::Group::handle(event);
 		}
 
   /** Speling mistakes retained for source compatibility \deprecated */
@@ -189,7 +189,7 @@
   /** Sets the minimum and maximum values for the widget. */
   void		range(double a, double b) { minimum_ = a; maximum_ = b; }
   void		resize(int X, int Y, int W, int H) {
-		  Fl_Group::resize(X,Y,W,H);
+		  fltk3::Group::resize(X,Y,W,H);
 
 		  input_.resize(X, Y, W - H / 2 - 2, H);
 		  up_button_.resize(X + W - H / 2 - 2, Y, H / 2 + 2, H / 2);
@@ -218,19 +218,19 @@
 		  input_.textcolor(c);
 		}
   /** Gets the font of the text in the input field. */
-  Fl_Font       textfont() const {
+  fltk3::Font       textfont() const {
 		  return (input_.textfont());
 		}
   /** Sets the font of the text in the input field. */
-  void		textfont(Fl_Font f) {
+  void		textfont(fltk3::Font f) {
 		  input_.textfont(f);
 		}
   /** Gets the size of the text in the input field. */
-  Fl_Fontsize  textsize() const {
+  fltk3::Fontsize  textsize() const {
 		  return (input_.textsize());
 		}
   /** Sets the size of the text in the input field. */
-  void		textsize(Fl_Fontsize s) {
+  void		textsize(fltk3::Fontsize s) {
 		  input_.textsize(s);
 		}
   /** Sets or Gets the numeric representation in the input field.

Modified: branches/branch-3.0-2011/fltk3/Fl_Table.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Table.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Table.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -40,7 +40,7 @@
 #endif /*WIN32*/
 
 #include <fltk3/run.h>
-#include <fltk3/Fl_Group.H>
+#include <fltk3/Group.H>
 #include <fltk3/Fl_Scroll.H>
 #include <fltk3/Box.h>
 #include <fltk3/Fl_Scrollbar.H>
@@ -178,7 +178,7 @@
  
  
  */
-class FL_EXPORT Fl_Table : public Fl_Group {
+class FL_EXPORT Fl_Table : public fltk3::Group {
 public:
   /**
    The context bit flags for Fl_Table related callbacks (eg. draw_cell(), callback(), etc)
@@ -398,7 +398,7 @@
        sprintf(s, "%d/%d", R, C);              // text for each cell
        switch ( context ) {
 	   case CONTEXT_STARTPAGE:             // Fl_Table telling us its starting to draw page
-	       fl_font(FL_HELVETICA, 16);
+	       fl_font(fltk3::HELVETICA, 16);
 	       return;
        
 	   case CONTEXT_ROW_HEADER:            // Fl_Table telling us it's draw row/col headers
@@ -445,10 +445,10 @@
   long col_scroll_position(int col);		// find scroll position of col (in pixels)
   
   int is_fltk_container() { 			// does table contain fltk widgets?
-    return( Fl_Group::children() > 3 );		// (ie. more than box and 2 scrollbars?)
+    return( fltk3::Group::children() > 3 );		// (ie. more than box and 2 scrollbars?)
   }
   
-  static void scroll_cb(Fl_Widget*,void*);	// h/v scrollbar callback
+  static void scroll_cb(fltk3::Widget*,void*);	// h/v scrollbar callback
   
   void damage_zone(int r1, int c1, int r2, int c2, int r3 = 0, int c3 = 0);
   
@@ -841,13 +841,13 @@
   
   // This crashes sortapp() during init.
   //  void box(fltk3::Boxtype val) {
-  //    Fl_Group::box(val);
+  //    fltk3::Group::box(val);
   //    if ( table ) {
   //      resize(x(), y(), w(), h());
   //    }
   //  }
   //  fltk3::Boxtype box(void) const {
-  //    return(Fl_Group::box());
+  //    return(fltk3::Group::box());
   //  }
   
   // Child group
@@ -855,19 +855,19 @@
     table->init_sizes();
     table->redraw();
   }
-  void add(Fl_Widget& w) {
+  void add(fltk3::Widget& w) {
     table->add(w);
   }
-  void add(Fl_Widget* w) {
+  void add(fltk3::Widget* w) {
     table->add(w);
   }
-  void insert(Fl_Widget& w, int n) {
+  void insert(fltk3::Widget& w, int n) {
     table->insert(w,n);
   }
-  void insert(Fl_Widget& w, Fl_Widget* w2) {
+  void insert(fltk3::Widget& w, fltk3::Widget* w2) {
     table->insert(w,w2);
   }
-  void remove(Fl_Widget& w) {
+  void remove(fltk3::Widget& w) {
     table->remove(w);
   }
   void begin() {
@@ -883,9 +883,9 @@
     } else {
       table->hide();
     } 
-    Fl_Group::current(Fl_Group::parent());
+    fltk3::Group::current(fltk3::Group::parent());
   }
-  Fl_Widget * const *array() {
+  fltk3::Widget * const *array() {
     return(table->array());
   }
   
@@ -898,12 +898,12 @@
    Typically used in loops, eg:
    \code
    for ( int i=0; i<children(); i++ ) {
-     Fl_Widget *w = child(i);
+     fltk3::Widget *w = child(i);
      [..]
    }
    \endcode
    */
-  Fl_Widget *child(int n) const {
+  fltk3::Widget *child(int n) const {
     return(table->child(n));
   }
   
@@ -918,10 +918,10 @@
   int children() const {
     return(table->children()-2);    // -2: skip Fl_Scroll's h/v scrollbar widgets
   }
-  int find(const Fl_Widget *w) const {
+  int find(const fltk3::Widget *w) const {
     return(table->find(w));
   }
-  int find(const Fl_Widget &w) const {
+  int find(const fltk3::Widget &w) const {
     return(table->find(w));
   } 
   // CALLBACKS
@@ -957,12 +957,12 @@
     _callback_context = context;
     _callback_row = row;
     _callback_col = col;
-    Fl_Widget::do_callback();
+    fltk3::Widget::do_callback();
   }
   
 #if FL_DOXYGEN
   /**
-   The Fl_Widget::when() function is used to set a group of flags, determining
+   The fltk3::Widget::when() function is used to set a group of flags, determining
    when the widget callback is called:
    
    <table border=1>
@@ -994,7 +994,7 @@
   
 #if FL_DOXYGEN
   /**
-   Callbacks will be called depending on the setting of Fl_Widget::when().
+   Callbacks will be called depending on the setting of fltk3::Widget::when().
    
    Callback functions should use the following functions to determine the 
    context/row/column:
@@ -1055,7 +1055,7 @@
      }
    
      // Actual static callback
-     static void event_callback(Fl_Widget*, void* data) {
+     static void event_callback(fltk3::Widget*, void* data) {
        MyTable *o = (MyTable*)data;
        o-&gt;event_callback2();
      }
@@ -1070,7 +1070,7 @@
    };
    \endcode
    */
-  void callback(Fl_Widget*, void*);
+  void callback(fltk3::Widget*, void*);
 #endif
 };
 

Modified: branches/branch-3.0-2011/fltk3/Fl_Tabs.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Tabs.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Tabs.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -31,7 +31,7 @@
 #ifndef Fl_Tabs_H
 #define Fl_Tabs_H
 
-#include "Fl_Group.H"
+#include "fltk3/Group.H"
 
 /**
   The Fl_Tabs widget is the "file card tabs"
@@ -43,7 +43,7 @@
   
   Clicking the tab makes a child visible() by calling
   show() on it, and all other children are made invisible
-  by calling hide() on them. Usually the children are Fl_Group widgets
+  by calling hide() on them. Usually the children are fltk3::Group widgets
   containing several widgets themselves.
   
   Each child makes a card, and its label() is printed
@@ -59,28 +59,28 @@
   fluid browser to select each child group and resize them until
   the tabs look the way you want them to.
 */
-class FL_EXPORT Fl_Tabs : public Fl_Group {
-  Fl_Widget *value_;
-  Fl_Widget *push_;
+class FL_EXPORT Fl_Tabs : public fltk3::Group {
+  fltk3::Widget *value_;
+  fltk3::Widget *push_;
   int *tab_pos;		// array of x-offsets of tabs per child + 1
   int *tab_width;	// array of widths of tabs per child + 1
   int tab_count;	// array size
   int tab_positions();	// allocate and calculate tab positions
   void clear_tab_positions();
   int tab_height();
-  void draw_tab(int x1, int x2, int W, int H, Fl_Widget* o, int sel=0);
+  void draw_tab(int x1, int x2, int W, int H, fltk3::Widget* o, int sel=0);
 protected:
   void redraw_tabs();
   void draw();
 
 public:
   int handle(int);
-  Fl_Widget *value();
-  int value(Fl_Widget *);
-  Fl_Widget *push() const {return push_;}
-  int push(Fl_Widget *);
+  fltk3::Widget *value();
+  int value(fltk3::Widget *);
+  fltk3::Widget *push() const {return push_;}
+  int push(fltk3::Widget *);
   Fl_Tabs(int,int,int,int,const char * = 0);
-  Fl_Widget *which(int event_x, int event_y);
+  fltk3::Widget *which(int event_x, int event_y);
   ~Fl_Tabs();
   void client_area(int &rx, int &ry, int &rw, int &rh, int tabh=0);
 };

Modified: branches/branch-3.0-2011/fltk3/Fl_Text_Display.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Text_Display.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Text_Display.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -34,8 +34,8 @@
 #define FL_TEXT_DISPLAY_H
 
 #include "fl_draw.H"
-#include "Fl_Group.H"
-#include "Fl_Widget.H"
+#include "fltk3/Group.H"
+#include "Widget.h"
 #include "Fl_Scrollbar.H"
 #include "Fl_Text_Buffer.H"
 
@@ -47,7 +47,7 @@
  in the widget is managed by the Fl_Text_Buffer class. A single Text Buffer
  can be displayed by multiple Text Displays.
  */
-class FL_EXPORT Fl_Text_Display: public Fl_Group 
+class FL_EXPORT Fl_Text_Display: public fltk3::Group 
 {
 public:
   
@@ -105,8 +105,8 @@
    */
   struct Style_Table_Entry {
     Fl_Color    color;
-    Fl_Font     font;
-    Fl_Fontsize size;
+    fltk3::Font     font;
+    fltk3::Fontsize size;
     unsigned    attr;
   };
   
@@ -244,25 +244,25 @@
    Gets the default font used when drawing text in the widget.
    \return current text font face unless overridden by a style
    */
-  Fl_Font textfont() const {return textfont_;}
+  fltk3::Font textfont() const {return textfont_;}
   
   /**
    Sets the default font used when drawing text in the widget.
    \param s default text font face
    */
-  void textfont(Fl_Font s) {textfont_ = s; mColumnScale = 0;}
+  void textfont(fltk3::Font s) {textfont_ = s; mColumnScale = 0;}
   
   /**
    Gets the default size of text in the widget.
    \return current text height unless overridden by a style
    */
-  Fl_Fontsize textsize() const {return textsize_;}
+  fltk3::Fontsize textsize() const {return textsize_;}
   
   /**
    Sets the default size of text in the widget.
    \param s new text size
    */
-  void textsize(Fl_Fontsize s) {textsize_ = s; mColumnScale = 0;}
+  void textsize(fltk3::Fontsize s) {textsize_ = s; mColumnScale = 0;}
   
   /**
    Gets the default color of text in the widget.
@@ -462,8 +462,8 @@
   
   int shortcut_;
   
-  Fl_Font textfont_;
-  Fl_Fontsize textsize_;
+  fltk3::Font textfont_;
+  fltk3::Fontsize textsize_;
   Fl_Color textcolor_;
   
   // The following are not presently used from the original NEdit code,

Modified: branches/branch-3.0-2011/fltk3/Fl_Tile.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Tile.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Tile.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -31,7 +31,7 @@
 #ifndef Fl_Tile_H
 #define Fl_Tile_H
 
-#include "Fl_Group.H"
+#include "fltk3/Group.H"
 
 /**
   The Fl_Tile class lets you resize the children by dragging
@@ -68,15 +68,15 @@
   children but before displaying the window to set the borders where you
   want.
 
-  <P>Note on resizable(Fl_Widget &w) :
+  <P>Note on resizable(fltk3::Widget &w) :
   The "resizable" child widget (which should be invisible) limits where the
   border can be dragged to.  If you don't set it, it will be possible to
   drag the borders right to the edge, and thus resize objects on the edge
   to zero width or height.  The resizable() widget is not
-  resized by dragging any borders. See also void Fl_Group::resizable(Fl_Widget &w)
+  resized by dragging any borders. See also void fltk3::Group::resizable(fltk3::Widget &w)
 
 */
-class FL_EXPORT Fl_Tile : public Fl_Group {
+class FL_EXPORT Fl_Tile : public fltk3::Group {
 public:
   int handle(int);
   /**
@@ -90,7 +90,7 @@
     variables, but you must declare the Fl_Tile <I>first</I>, so
     that it is destroyed last.
   */
-  Fl_Tile(int X,int Y,int W,int H,const char*l=0) : Fl_Group(X,Y,W,H,l) {}
+  Fl_Tile(int X,int Y,int W,int H,const char*l=0) : fltk3::Group(X,Y,W,H,l) {}
   void resize(int, int, int, int);
   void position(int, int, int, int);
 };

Modified: branches/branch-3.0-2011/fltk3/Fl_Timer.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Timer.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Timer.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -32,7 +32,7 @@
 #define Fl_Timer_H
 
 #ifndef Fl_Widget_H
-#include "Fl_Widget.H"
+#include "Widget.h"
 #endif
 
 // values for type():
@@ -47,7 +47,7 @@
   future.  You should directly call 
   fltk3::add_timeout() instead.
 */
-class FL_EXPORT Fl_Timer : public Fl_Widget {
+class FL_EXPORT Fl_Timer : public fltk3::Widget {
   static void stepcb(void *);
   void step();
   char on, direction_;

Modified: branches/branch-3.0-2011/fltk3/Fl_Tooltip.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Tooltip.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Tooltip.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -32,7 +32,7 @@
 #define Fl_Tooltip_H
 
 #include <fltk3/run.h>
-#include <fltk3/Fl_Widget.H>
+#include <fltk3/Widget.h>
 
 /**
   The Fl_Tooltip class provides tooltip support for
@@ -60,21 +60,21 @@
   static void enable(int b = 1) { fltk3::option(fltk3::OPTION_SHOW_TOOLTIPS, b);}
   /**    Same as enable(0), disables tooltips on all widgets.  */
   static void disable() { enable(0); }
-  static void (*enter)(Fl_Widget* w);
-  static void enter_area(Fl_Widget* w, int X, int Y, int W, int H, const char* tip);
-  static void (*exit)(Fl_Widget *w);
+  static void (*enter)(fltk3::Widget* w);
+  static void enter_area(fltk3::Widget* w, int X, int Y, int W, int H, const char* tip);
+  static void (*exit)(fltk3::Widget *w);
   /** Gets the current widget target */
-  static Fl_Widget* current() {return widget_;}
-  static void current(Fl_Widget*);
+  static fltk3::Widget* current() {return widget_;}
+  static void current(fltk3::Widget*);
 
   /**    Gets the typeface for the tooltip text.  */
-  static Fl_Font font() { return font_; }
+  static fltk3::Font font() { return font_; }
   /**    Sets the typeface for the tooltip text.  */
-  static void font(Fl_Font i) { font_ = i; }
+  static void font(fltk3::Font i) { font_ = i; }
   /**    Gets the size of the tooltip text.  */
-  static Fl_Fontsize size() { return size_; }
+  static fltk3::Fontsize size() { return size_; }
   /**    Sets the size of the tooltip text.  */
-  static void size(Fl_Fontsize s) { size_ = s; }
+  static void size(fltk3::Fontsize s) { size_ = s; }
   /** Gets the background color for tooltips. The default background color is a pale yellow.  */
   static Fl_Color color() { return color_; }
   /** Sets the background color for tooltips. The default background color is a pale yellow.  */
@@ -88,13 +88,13 @@
   static fltk3::Window* current_window(void);
 #endif
 
-  // These should not be public, but Fl_Widget::tooltip() needs them...
+  // These should not be public, but fltk3::Widget::tooltip() needs them...
   // fabien: made it private with only a friend function access
 private:
-  friend void Fl_Widget::tooltip(const char *);
-  friend void Fl_Widget::copy_tooltip(const char *);
-  static void enter_(Fl_Widget* w);
-  static void exit_(Fl_Widget *w);
+  friend void fltk3::Widget::tooltip(const char *);
+  friend void fltk3::Widget::copy_tooltip(const char *);
+  static void enter_(fltk3::Widget* w);
+  static void exit_(fltk3::Widget *w);
   static void set_enter_exit_once_();
 
 private:
@@ -102,9 +102,9 @@
   static float hoverdelay_; //!< delay between tooltips
   static Fl_Color color_;
   static Fl_Color textcolor_;
-  static Fl_Font font_;
-  static Fl_Fontsize size_;
-  static Fl_Widget* widget_; //!< Keeps track of the current target widget
+  static fltk3::Font font_;
+  static fltk3::Fontsize size_;
+  static fltk3::Widget* widget_; //!< Keeps track of the current target widget
 };
 
 #endif

Modified: branches/branch-3.0-2011/fltk3/Fl_Tree.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Tree.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Tree.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -6,7 +6,7 @@
 #define FL_TREE_H
 
 #include <fltk3/run.h>
-#include <fltk3/Fl_Group.H>
+#include <fltk3/Group.H>
 #include <fltk3/Fl_Scrollbar.H>
 #include <fltk3/fl_draw.H>
 
@@ -131,7 +131,7 @@
 };
 
 
-class FL_EXPORT Fl_Tree : public Fl_Group {
+class FL_EXPORT Fl_Tree : public fltk3::Group {
   Fl_Tree_Item  *_root;				// can be null!
   Fl_Tree_Item  *_item_focus;			// item that has focus box
   Fl_Tree_Item  *_callback_item;		// item invoked during callback (can be NULL)
@@ -149,7 +149,7 @@
   void do_callback_for_item(Fl_Tree_Item* item, Fl_Tree_Reason reason) {
     callback_reason(reason);
     callback_item(item);
-    do_callback((Fl_Widget*)this, user_data());
+    do_callback((fltk3::Widget*)this, user_data());
   }
   Fl_Tree_Item *next_visible_item(Fl_Tree_Item *start, int dir);
 
@@ -818,7 +818,7 @@
   /// Use this to skip over the scrollbars when walking the child() array. Example:
   /// \code
   /// for ( int i=0; i<tree->children(); i++ ) {    // walk children
-  ///     Fl_Widget *w= tree->child(i);
+  ///     fltk3::Widget *w= tree->child(i);
   ///     if ( brow->is_scrollbar(w) ) continue;    // skip scrollbars
   ///     ..do work here..
   /// }
@@ -826,7 +826,7 @@
   /// \param[in] w Widget to test
   /// \returns 1 if \p w is a scrollbar, 0 if not.
   ///
-  int is_scrollbar(Fl_Widget *w) {
+  int is_scrollbar(fltk3::Widget *w) {
       return( ( w == _vscroll ) ? 1 : 0 );
   }
   /// Gets the current size of the scrollbars' troughs, in pixels.
@@ -892,7 +892,7 @@
   ///
   /// The callback() can use this value to see why it was called. Example:
   /// \code
-  ///     void MyTreeCallback(Fl_Widget *w, void *userdata) {
+  ///     void MyTreeCallback(fltk3::Widget *w, void *userdata) {
   ///         Fl_Tree *tree = (Fl_Tree*)w;
   ///         Fl_Tree_Item *item = tree->callback_item();    // the item changed (can be NULL if more than one item was changed!)
   ///         switch ( tree->callback_reason() ) {           // reason callback was invoked

Modified: branches/branch-3.0-2011/fltk3/Fl_Tree_Item.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Tree_Item.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Tree_Item.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -6,7 +6,7 @@
 #define FL_TREE_ITEM_H
 
 #include <fltk3/run.h>
-#include <fltk3/Fl_Widget.H>
+#include <fltk3/Widget.h>
 #include <fltk3/Fl_Image.H>
 #include <fltk3/fl_draw.H>
 
@@ -69,7 +69,7 @@
   int                     _xywh[4];		// xywh of this widget (if visible)
   int                     _collapse_xywh[4];	// xywh of collapse icon (if any)
   int                     _label_xywh[4];	// xywh of label
-  Fl_Widget              *_widget;		// item's label widget (optional)
+  fltk3::Widget              *_widget;		// item's label widget (optional)
   Fl_Image               *_usericon;		// item's user-specific icon (optional)
   Fl_Tree_Item_Array      _children;		// array of child items
   Fl_Tree_Item           *_parent;		// parent item (=0 if root)
@@ -87,7 +87,7 @@
   int y() const { return(_xywh[1]); }
   int w() const { return(_xywh[2]); }
   int h() const { return(_xywh[3]); }
-  void draw(int X, int &Y, int W, Fl_Widget *tree, Fl_Tree_Item *itemfocus, const Fl_Tree_Prefs &prefs, int lastchild=1);
+  void draw(int X, int &Y, int W, fltk3::Widget *tree, Fl_Tree_Item *itemfocus, const Fl_Tree_Prefs &prefs, int lastchild=1);
   void show_self(const char *indent = "") const;
   void label(const char *val);
   const char *label() const;
@@ -139,11 +139,11 @@
     return(_labelbgcolor); 
   }
   /// Assign an FLTK widget to this item.
-  void widget(Fl_Widget *val) {
+  void widget(fltk3::Widget *val) {
     _widget = val; 
   }
   /// Return FLTK widget assigned to this item.
-  Fl_Widget *widget() const {
+  fltk3::Widget *widget() const {
     return(_widget); 
   }
   /// Return the number of children this item has.

Modified: branches/branch-3.0-2011/fltk3/Fl_Valuator.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Valuator.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Valuator.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -32,7 +32,7 @@
 #define Fl_Valuator_H
 
 #ifndef Fl_Widget_H
-#include "Fl_Widget.H"
+#include "Widget.h"
 #endif
 
 // shared type() values for classes that work in both directions:
@@ -52,7 +52,7 @@
   The ones labelled "0" are the default versions with a type(0).  
   For consistency the symbol FL_VERTICAL is defined as zero.
 */
-class FL_EXPORT Fl_Valuator : public Fl_Widget {
+class FL_EXPORT Fl_Valuator : public fltk3::Widget {
 
   double value_;
   double previous_value_;

Modified: branches/branch-3.0-2011/fltk3/Fl_Value_Input.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Value_Input.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Value_Input.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -69,7 +69,7 @@
   Fl_Input input;
 private:
   char soft_;
-  static void input_cb(Fl_Widget*,void*);
+  static void input_cb(fltk3::Widget*,void*);
   virtual void value_damage(); // cause damage() due to value() changing
 public:
   int handle(int);
@@ -110,13 +110,13 @@
   void shortcut(int s) {input.shortcut(s);}
 
   /** Gets the typeface of the text in the value box.  */
-  Fl_Font textfont() const {return input.textfont();}
+  fltk3::Font textfont() const {return input.textfont();}
   /** Sets the typeface of the text in the value box.  */
-  void textfont(Fl_Font s) {input.textfont(s);}
+  void textfont(fltk3::Font s) {input.textfont(s);}
   /** Gets the size of the text in the value box.  */
-  Fl_Fontsize textsize() const {return input.textsize();}
+  fltk3::Fontsize textsize() const {return input.textsize();}
   /** Sets the size of the text in the value box.  */
-  void textsize(Fl_Fontsize s) {input.textsize(s);}
+  void textsize(fltk3::Fontsize s) {input.textsize(s);}
   /** Gets the color of the text in the value box.  */
   Fl_Color textcolor() const {return input.textcolor();}
   /** Sets the color of the text in the value box.*/

Modified: branches/branch-3.0-2011/fltk3/Fl_Value_Output.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Value_Output.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Value_Output.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -48,8 +48,8 @@
   \image latex  Fl_Value_Output.png "Fl_Value_Output" width=4cm
 */
 class FL_EXPORT Fl_Value_Output : public Fl_Valuator {
-  Fl_Font textfont_;
-  Fl_Fontsize textsize_;
+  fltk3::Font textfont_;
+  fltk3::Fontsize textsize_;
   uchar soft_;
   Fl_Color textcolor_;
 
@@ -76,12 +76,12 @@
   uchar soft() const {return soft_;}
 
   /**    Gets the typeface of the text in the value box.  */
-  Fl_Font textfont() const {return textfont_;}
+  fltk3::Font textfont() const {return textfont_;}
   /**    Sets the typeface of the text in the value box.  */
-  void textfont(Fl_Font s) {textfont_ = s;}
+  void textfont(fltk3::Font s) {textfont_ = s;}
   /**    Gets the size of the text in the value box.  */
-  Fl_Fontsize textsize() const {return textsize_;}
-  void textsize(Fl_Fontsize s) {textsize_ = s;}
+  fltk3::Fontsize textsize() const {return textsize_;}
+  void textsize(fltk3::Fontsize s) {textsize_ = s;}
   /**    Sets the color of the text in the value box.  */
   Fl_Color textcolor() const {return textcolor_;}
   /**    Gets the color of the text in the value box.  */

Modified: branches/branch-3.0-2011/fltk3/Fl_Value_Slider.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Value_Slider.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Value_Slider.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -40,8 +40,8 @@
   \image latex  value_slider.png "Fl_Value_Slider" width=4cm
 */
 class FL_EXPORT Fl_Value_Slider : public Fl_Slider {
-    Fl_Font textfont_;
-    Fl_Fontsize textsize_;
+    fltk3::Font textfont_;
+    fltk3::Fontsize textsize_;
     Fl_Color textcolor_;
 protected:
     void draw();
@@ -49,13 +49,13 @@
     int handle(int);
     Fl_Value_Slider(int x,int y,int w,int h, const char *l = 0);
     /**    Gets the typeface of the text in the value box.  */
-    Fl_Font textfont() const {return textfont_;}
+    fltk3::Font textfont() const {return textfont_;}
     /**    Sets the typeface of the text in the value box.  */
-    void textfont(Fl_Font s) {textfont_ = s;}
+    void textfont(fltk3::Font s) {textfont_ = s;}
     /**    Gets the size of the text in the value box.  */
-    Fl_Fontsize textsize() const {return textsize_;}
+    fltk3::Fontsize textsize() const {return textsize_;}
     /**    Sets the size of the text in the value box.  */
-    void textsize(Fl_Fontsize s) {textsize_ = s;}
+    void textsize(fltk3::Fontsize s) {textsize_ = s;}
     /**    Gets the color of the text in the value box.  */
     Fl_Color textcolor() const {return textcolor_;}
     /**    Sets the color of the text in the value box.  */

Deleted: branches/branch-3.0-2011/fltk3/Fl_Widget.H

Modified: branches/branch-3.0-2011/fltk3/Fl_Wizard.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Wizard.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Fl_Wizard.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -35,7 +35,7 @@
 #ifndef _Fl_Wizard_H_
 #  define _Fl_Wizard_H_
 
-#  include <fltk3/Fl_Group.H>
+#  include <fltk3/Group.H>
 
 
 /**
@@ -45,11 +45,11 @@
     step a user through configuration or troubleshooting tasks.
 
     <P>As with Fl_Tabs, wizard panes are composed of child (usually
-    Fl_Group) widgets. Navigation buttons must be added separately.
+    fltk3::Group) widgets. Navigation buttons must be added separately.
 */
-class FL_EXPORT Fl_Wizard : public Fl_Group
+class FL_EXPORT Fl_Wizard : public fltk3::Group
 {
-  Fl_Widget *value_;
+  fltk3::Widget *value_;
 
   void draw();
 
@@ -59,8 +59,8 @@
 
   void		next();
   void		prev();
-  Fl_Widget	*value();
-  void		value(Fl_Widget *);
+  fltk3::Widget	*value();
+  void		value(fltk3::Widget *);
 };
 
 #endif // !_Fl_Wizard_H_

Copied: branches/branch-3.0-2011/fltk3/Group.h (from rev 8230, branches/branch-3.0-2011/fltk3/Fl_Group.H)
===================================================================
--- branches/branch-3.0-2011/fltk3/Group.h	                        (rev 0)
+++ branches/branch-3.0-2011/fltk3/Group.h	2011-01-09 19:24:30 UTC (rev 8231)
@@ -0,0 +1,232 @@
+//
+// "$Id$"
+//
+// Group header file for the Fast Light Tool Kit (FLTK).
+//
+// Copyright 1998-2010 by Bill Spitzak and others.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+// Please report all bugs and problems on the following page:
+//
+//     http://www.fltk.org/str.php
+//
+
+/* \file
+   fltk3::Group, Fl_End classes . */
+
+#ifndef FLTK3_Group_H
+#define FLTK3_Group_H
+
+#include "Widget.h"
+
+namespace fltk3 {
+  class Group;
+}
+
+/**
+  The fltk3::Group class is the FLTK container widget. It maintains
+  an array of child widgets. These children can themselves be any widget
+  including fltk3::Group. The most important subclass of fltk3::Group
+  is fltk3::Window, however groups can also be used to control radio buttons 
+  or to enforce resize behavior.
+*/
+class FL_EXPORT fltk3::Group : public fltk3::Widget {
+
+  fltk3::Widget** array_;
+  fltk3::Widget* savedfocus_;
+  fltk3::Widget* resizable_;
+  int children_;
+  int *sizes_; // remembered initial sizes of children
+
+  int navigation(int);
+  static fltk3::Group *current_;
+ 
+  // unimplemented copy ctor and assignment operator
+  Group(const Group&);
+  Group& operator=(const Group&);
+
+protected:
+  void draw();
+  void draw_child(fltk3::Widget& widget) const;
+  void draw_children();
+  void draw_outside_label(const fltk3::Widget& widget) const ;
+  void update_child(fltk3::Widget& widget) const;
+  int  *sizes();
+
+public:
+
+  int handle(int);
+  void begin();
+  void end();
+  static Group *current();
+  static void current(Group *g);
+
+  /**
+    Returns how many child widgets the group has.
+  */
+  int children() const {return children_;}
+  /**
+    Returns array()[n].  <i>No range checking is done!</i>
+  */
+  fltk3::Widget* child(int n) const {return array()[n];}
+  int find(const fltk3::Widget*) const;
+  /**
+    See int fltk3::Group::find(const fltk3::Widget *w) const 
+  */
+  int find(const fltk3::Widget& o) const {return find(&o);}
+  fltk3::Widget* const* array() const;
+
+  void resize(int,int,int,int);
+  /**
+    Creates a new fltk3::Group widget using the given position, size,
+    and label string. The default boxtype is fltk3::NO_BOX.
+  */
+  Group(int,int,int,int, const char * = 0);
+  virtual ~Group();
+  void add(fltk3::Widget&);
+  /**
+    See void fltk3::Group::add(fltk3::Widget &w) 
+  */
+  void add(fltk3::Widget* o) {add(*o);}
+  void insert(fltk3::Widget&, int i);
+  /**
+    This does insert(w, find(before)).  This will append the
+    widget if \p before is not in the group.
+  */
+  void insert(fltk3::Widget& o, fltk3::Widget* before) {insert(o,find(before));}
+  void remove(int index);
+  void remove(fltk3::Widget&);
+  /**
+    Removes the widget \p o from the group.
+    \sa void remove(fltk3::Widget&)
+  */
+  void remove(fltk3::Widget* o) {remove(*o);}
+  void clear();
+
+  /**
+    See void fltk3::Group::resizable(fltk3::Widget *box) 
+  */
+  void resizable(fltk3::Widget& o) {resizable_ = &o;}
+  /**
+    The resizable widget defines the resizing box for the group. When the
+    group is resized it calculates a new size and position for all of its
+    children. Widgets that are horizontally or vertically inside the
+    dimensions of the box are scaled to the new size. Widgets outside the
+    box are moved.
+
+    In these examples the gray area is the resizable:
+
+    \image html resizebox1.png
+    
+    \image html resizebox2.png
+    
+    \image latex resizebox1.png "before resize"  width=4cm
+    
+    \image latex resizebox2.png "after resize"   width=4cm
+
+    The resizable may be set to the group itself, in which case all the
+    contents are resized. This is the default value for fltk3::Group,
+    although NULL is the default for fltk3::Window and Fl_Pack.
+
+    If the resizable is NULL then all widgets remain a fixed size
+    and distance from the top-left corner.
+
+    It is possible to achieve any type of resize behavior by using an
+    invisible fltk3::Box as the resizable and/or by using a hierarchy
+    of child fltk3::Group's.
+  */
+  void resizable(fltk3::Widget* o) {resizable_ = o;}
+  /**
+    See void fltk3::Group::resizable(fltk3::Widget *box) 
+  */
+  fltk3::Widget* resizable() const {return resizable_;}
+  /**
+    Adds a widget to the group and makes it the resizable widget.
+  */
+  void add_resizable(fltk3::Widget& o) {resizable_ = &o; add(o);}
+  void init_sizes();
+
+  /**
+    Controls whether the group widget clips the drawing of
+    child widgets to its bounding box.
+    
+    Set \p c to 1 if you want to clip the child widgets to the
+    bounding box.
+
+    The default is to not clip (0) the drawing of child widgets.
+  */
+  void clip_children(int c) { if (c) set_flag(CLIP_CHILDREN); else clear_flag(CLIP_CHILDREN); }
+  /**
+    Returns the current clipping mode.
+
+    \return true, if clipping is enabled, false otherwise.
+
+    \see void fltk3::Group::clip_children(int c)
+  */
+  unsigned int clip_children() { return (flags() & CLIP_CHILDREN) != 0; }
+
+  // Note: Doxygen docs in Widget.h to avoid redundancy.
+  virtual Group* as_group() { return this; }
+
+  // back compatibility functions:
+
+  /**
+    \deprecated This is for backwards compatibility only. You should use
+    \e W->%take_focus() instead.
+    \sa fltk3::Widget::take_focus();
+  */
+  void focus(fltk3::Widget* W) {W->take_focus();}
+
+  /** This is for forms compatibility only */
+  fltk3::Widget* & _ddfdesign_kludge() {return resizable_;}
+
+  /** This is for forms compatibility only */
+  void forms_end();
+};
+
+// dummy class used to end child groups in constructors for complex
+// subclasses of fltk3::Group:
+/**
+  This is a dummy class that allows you to end a fltk3::Group in a constructor list of a
+  class:
+  \code 
+   class MyClass {
+   fltk3::Group group;
+   Fl_Button button_in_group;
+   Fl_End end;
+   Fl_Button button_outside_group;
+   MyClass();
+  };
+  MyClass::MyClass() :
+   group(10,10,100,100),
+   button_in_group(20,20,60,30),
+   end(),
+   button_outside_group(10,120,60,30)
+  {} 
+  \endcode
+*/
+class FL_EXPORT Fl_End {
+public:
+  /** All it does is calling fltk3::Group::current()->end() */
+  Fl_End() {fltk3::Group::current()->end();}
+};
+
+#endif
+
+//
+// End of "$Id$".
+//

Added: branches/branch-3.0-2011/fltk3/Object.h
===================================================================
--- branches/branch-3.0-2011/fltk3/Object.h	                        (rev 0)
+++ branches/branch-3.0-2011/fltk3/Object.h	2011-01-09 19:24:30 UTC (rev 8231)
@@ -0,0 +1,59 @@
+//
+// "$Id: Wrapper.h 7365 2010-03-30 15:18:29Z matt $"
+//
+// Widget header file for the Fast Light Tool Kit (FLTK).
+//
+// Copyright 1998-2010 by Bill Spitzak and others.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+// Please report all bugs and problems on the following page:
+//
+//     http://www.fltk.org/str.php
+//
+
+/* \file
+   fltk3::Object */
+
+#ifndef FLTK3_Object_H
+#define FLTK3_Object_H
+
+namespace fltk3 {
+  
+  class Wrapper; 
+
+/**
+ * \brief a base class for any kind of langage wrapper around FLTK3.
+ */
+  class Object {
+  protected:
+    Wrapper *pWrapper;
+  public:
+    Object() 
+    : pWrapper(0L) { }
+    virtual ~Object() { }
+    Wrapper *wrapper() { return pWrapper; }
+    void wrapper(Wrapper *w) { pWrapper = w; }
+  };
+  
+}; // namespace fltk3
+
+
+#endif
+
+//
+// End of "$Id: Wrapper.h 7365 2010-03-30 15:18:29Z matt $".
+//

Copied: branches/branch-3.0-2011/fltk3/Widget.h (from rev 8230, branches/branch-3.0-2011/fltk3/Fl_Widget.H)
===================================================================
--- branches/branch-3.0-2011/fltk3/Widget.h	                        (rev 0)
+++ branches/branch-3.0-2011/fltk3/Widget.h	2011-01-09 19:24:30 UTC (rev 8231)
@@ -0,0 +1,1009 @@
+//
+// "$Id$"
+//
+// Widget header file for the Fast Light Tool Kit (FLTK).
+//
+// Copyright 1998-2010 by Bill Spitzak and others.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+// Please report all bugs and problems on the following page:
+//
+//     http://www.fltk.org/str.php
+//
+
+/** \file
+   fltk3::Widget, Fl_Label classes . */
+
+#ifndef FLTK3_Widget_H
+#define FLTK3_Widget_H
+
+#include "Enumerations.H"
+#include "Object.H"
+
+/**
+  \todo	typedef's fl_intptr_t and fl_uintptr_t should be documented.
+*/
+#ifdef _WIN64
+#ifdef __GNUC__
+#include <stdint.h>
+#else
+#include <stddef.h>  // M$VC
+#endif
+typedef intptr_t fl_intptr_t;
+typedef uintptr_t fl_uintptr_t;
+#else
+typedef long fl_intptr_t;
+typedef unsigned long fl_uintptr_t;
+#endif
+
+class Fl_Image;
+
+namespace fltk3 {
+  class Window;
+  class Group;
+  class Widget;
+}
+
+/** Default callback type definition for all fltk widgets (by far the most used) */
+typedef void (Fl_Callback )(fltk3::Widget*, void*);
+/** Default callback type pointer definition for all fltk widgets */
+typedef Fl_Callback* Fl_Callback_p; // needed for BORLAND
+/** One parameter callback type definition passing only the widget */
+typedef void (Fl_Callback0)(fltk3::Widget*);
+/** Callback type definition passing the widget and a long data value */
+typedef void (Fl_Callback1)(fltk3::Widget*, long);
+
+/** This struct stores all information for a text or mixed graphics label.
+
+    \todo For FLTK 1.3, the Fl_Label type will become a widget by itself. That way
+          we will be avoiding a lot of code duplication by handling labels in 
+          a similar fashion to widgets containing text. We also provide an easy
+          interface for very complex labels, containing html or vector graphics.
+ */
+struct FL_EXPORT Fl_Label {
+  /** label text */
+  const char* value;
+  /** optional image for an active label */
+  Fl_Image* image;
+  /** optional image for a deactivated label */
+  Fl_Image* deimage;
+  /** label font used in text */
+  fltk3::Font font;
+  /** size of label font */
+  fltk3::Fontsize size;
+  /** text color */
+  Fl_Color color;
+  /** alignment of label */
+  Fl_Align align_;
+  /** type of label. \see fltk3::Labeltype */
+  uchar type;
+
+  /** Draws the label aligned to the given box */
+  void draw(int,int,int,int, Fl_Align) const ;
+  void measure(int &w, int &h) const ;
+};
+
+
+/** fltk3::Widget is the base class for all widgets in FLTK.  
+  
+    You can't create one of these because the constructor is not public.
+    However you can subclass it.  
+
+    All "property" accessing methods, such as color(), parent(), or argument() 
+    are implemented as trivial inline functions and thus are as fast and small 
+    as accessing fields in a structure. Unless otherwise noted, the property 
+    setting methods such as color(n) or label(s) are also trivial inline 
+    functions, even if they change the widget's appearance. It is up to the 
+    user code to call redraw() after these.
+ */
+class FL_EXPORT fltk3::Widget : public fltk3::Object {
+  friend class ::fltk3::Group;
+
+  fltk3::Group* parent_;
+  Fl_Callback* callback_;
+  void* user_data_;
+  int x_,y_,w_,h_;
+  Fl_Label label_;
+  unsigned int flags_;
+  Fl_Color color_;
+  Fl_Color color2_;
+  uchar type_;
+  uchar damage_;
+  uchar box_;
+  uchar when_;
+
+  const char *tooltip_;
+
+  /** unimplemented copy ctor */
+  Widget(const Widget &);
+  /** unimplemented assignment operator */
+  Widget& operator=(const Widget &);
+
+protected:
+
+  /** Creates a widget at the given position and size.
+
+      The fltk3::Widget is a protected constructor, but all derived widgets have a 
+      matching public constructor. It takes a value for x(), y(), w(), h(), and 
+      an optional value for label().
+    
+      \param[in] x, y the position of the widget relative to the enclosing window
+      \param[in] w, h size of the widget in pixels
+      \param[in] label optional text for the widget label
+   */
+  Widget(int x, int y, int w, int h, const char *label=0L);
+
+  /** Internal use only. Use position(int,int), size(int,int) or resize(int,int,int,int) instead. */
+  void x(int v) {x_ = v;}
+  /** Internal use only. Use position(int,int), size(int,int) or resize(int,int,int,int) instead. */
+  void y(int v) {y_ = v;}
+  /** Internal use only. Use position(int,int), size(int,int) or resize(int,int,int,int) instead. */
+  void w(int v) {w_ = v;}
+  /** Internal use only. Use position(int,int), size(int,int) or resize(int,int,int,int) instead. */
+  void h(int v) {h_ = v;}
+  /** Gets the widget flags mask */
+  unsigned int flags() const {return flags_;}
+  /** Sets a flag in the flags mask */
+  void set_flag(unsigned int c) {flags_ |= c;}
+  /** Clears a flag in the flags mask */
+  void clear_flag(unsigned int c) {flags_ &= ~c;}
+  /** flags possible values enumeration.
+      See activate(), output(), visible(), changed(), set_visible_focus()
+  */
+  enum {
+        INACTIVE        = 1<<0,   ///< the widget can't receive focus, and is disabled but potentially visible
+        INVISIBLE       = 1<<1,   ///< the widget is not drawn but can receive events
+        OUTPUT          = 1<<2,   ///< for output only
+        NOBORDER        = 1<<3,   ///< don't draw a decoration (fltk3::Window)
+        FORCE_POSITION  = 1<<4,   ///< don't let the window manager position the window (fltk3::Window)
+        NON_MODAL       = 1<<5,   ///< thisis a hovering toolbar window (fltk3::Window)
+        SHORTCUT_LABEL  = 1<<6,   ///< the label contains a shortcut we need to draw
+        CHANGED         = 1<<7,   ///< the widget value changed
+        OVERRIDE        = 1<<8,   ///< position window on top (fltk3::Window)
+        VISIBLE_FOCUS   = 1<<9,   ///< accepts keyboard focus navigation if the widget can have the focus
+        COPIED_LABEL    = 1<<10,  ///< the widget label is internally copied, its destruction is handled by the widget
+        CLIP_CHILDREN   = 1<<11,  ///< all drawing within this widget will be clipped (fltk3::Group)
+        MENU_WINDOW     = 1<<12,  ///< a temporary popup window, dismissed by clicking outside (fltk3::Window)
+        TOOLTIP_WINDOW  = 1<<13,  ///< a temporary popup, transparent to events, and dismissed easily (fltk3::Window)
+        MODAL           = 1<<14,  ///< a window blocking input to all other winows (fltk3::Window)
+        NO_OVERLAY      = 1<<15,  ///< window not using a hardware overlay plane (Fl_Menu_Window)
+        GROUP_RELATIVE  = 1<<16,  ///< position this idget relative to the parent group, not to the window
+        COPIED_TOOLTIP  = 1<<17,  ///< the widget tooltip is internally copied, its destruction is handled by the widget
+        // (space for more flags)
+        USERFLAG3       = 1<<29,  ///< reserved for 3rd party extensions
+        USERFLAG2       = 1<<30,  ///< reserved for 3rd party extensions
+        USERFLAG1       = 1<<31   ///< reserved for 3rd party extensions
+  };
+  void draw_box() const;
+  void draw_box(fltk3::Boxtype t, Fl_Color c) const;
+  void draw_box(fltk3::Boxtype t, int x,int y,int w,int h, Fl_Color c) const;
+  void draw_backdrop() const;
+  /** draws a focus rectangle around the widget */
+  void draw_focus() {draw_focus(box(),x(),y(),w(),h());}
+  void draw_focus(fltk3::Boxtype t, int x,int y,int w,int h) const;
+  void draw_label() const;
+  void draw_label(int, int, int, int) const;
+
+public:
+
+  /** Destroys the widget.
+      Destroying single widgets is not very common. You almost always want to 
+      destroy the parent group instead, which will destroy all of the child widgets 
+      and groups in that group.
+      
+      \since FLTK 1.3, the widget's destructor removes the widget from its parent
+      group, if it is member of a group.
+   */
+  virtual ~Widget();
+
+  /** Draws the widget.
+      Never call this function directly. FLTK will schedule redrawing whenever
+      needed. If your widget must be redrawn as soon as possible, call redraw()
+      instead.
+
+      Override this function to draw your own widgets.
+
+      If you ever need to call another widget's draw method <I>from within your
+      own draw() method</I>, e.g. for an embedded scrollbar, you can do it
+      (because draw() is virtual) like this:
+
+      \code
+        fltk3::Widget *s = &scroll;		// scroll is an embedded Fl_Scrollbar
+	s->draw();			// calls Fl_Scrollbar::draw()
+      \endcode
+   */
+  virtual void draw() = 0;
+
+  /** Handles the specified event. 
+      You normally don't call this method directly, but instead let FLTK do 
+      it when the user interacts with the widget.
+     
+      When implemented in a widget, this function must return 0 if the 
+      widget does not use the event or 1 otherwise.
+
+      Most of the time, you want to call the inherited handle() method in 
+      your overridden method so that you don't short-circuit events that you 
+      don't handle. In this last case you should return the callee retval.
+    
+      \param[in] event the kind of event received
+      \retval 0 if the event was not used or understood
+      \retval 1 if the event was used and can be deleted
+      \see Fl_Event
+   */
+  virtual int handle(int event);
+
+  /** Returns a pointer to the parent widget.  
+      Usually this is a fltk3::Group or fltk3::Window. 
+      \retval NULL if the widget has no parent
+      \see fltk3::Group::add(fltk3::Widget*)
+   */
+  fltk3::Group* parent() const {return parent_;}
+
+  /** Internal use only - "for hacks only".
+  
+      It is \em \b STRONGLY recommended not to use this method, because it
+      short-circuits fltk3::Group's normal widget adding and removing methods,
+      if the widget is already a child widget of another fltk3::Group.
+
+      Use fltk3::Group::add(fltk3::Widget*) and/or fltk3::Group::remove(fltk3::Widget*) instead.
+  */
+  void parent(fltk3::Group* p) {parent_ = p;} // for hacks only, use fltk3::Group::add()
+
+  /** Gets the widget type.
+      Returns the widget type value, which is used for Forms compatibility
+      and to simulate RTTI.
+      
+      \todo Explain "simulate RTTI" (currently only used to decide if a widget
+      is a window, i.e. type()>=FL_WINDOW ?). Is type() really used in a way
+      that ensures "Forms compatibility" ?
+   */
+  uchar type() const {return type_;}
+
+  /** Sets the widget type.
+      This is used for Forms compatibility.
+   */
+  void type(uchar t) {type_ = t;}
+
+  /** Gets the widget position in its window.
+      \return the x position relative to the window
+   */
+  int x() const {return x_;}
+
+  /** Gets the widget position in its window.
+      \return the y position relative to the window
+   */
+  int y() const {return y_;}
+
+  /** Gets the widget width.
+      \return the width of the widget in pixels.
+   */
+  int w() const {return w_;}
+
+  /** Gets the widget height.
+      \return the height of the widget in pixels.
+   */
+  int h() const {return h_;}
+
+  /** Changes the size or position of the widget.
+
+      This is a virtual function so that the widget may implement its 
+      own handling of resizing. The default version does \e not
+      call the redraw() method, but instead relies on the parent widget 
+      to do so because the parent may know a faster way to update the 
+      display, such as scrolling from the old position.  
+
+      Some window managers under X11 call resize() a lot more often 
+      than needed. Please verify that the position or size of a widget 
+      did actually change before doing any extensive calculations.
+
+      position(X, Y) is a shortcut for resize(X, Y, w(), h()), 
+      and size(W, H) is a shortcut for resize(x(), y(), W, H).
+    
+      \param[in] x, y new position relative to the parent window 
+      \param[in] w, h new size
+      \see position(int,int), size(int,int)
+   */
+  virtual void resize(int x, int y, int w, int h);
+
+  /** Internal use only. */
+  int damage_resize(int,int,int,int);
+
+  /** Repositions the window or widget.
+
+      position(X, Y) is a shortcut for resize(X, Y, w(), h()).
+    
+      \param[in] X, Y new position relative to the parent window 
+      \see resize(int,int,int,int), size(int,int)
+   */
+  void position(int X,int Y) {resize(X,Y,w_,h_);}
+
+  /** Changes the size of the widget.
+
+      size(W, H) is a shortcut for resize(x(), y(), W, H).
+    
+      \param[in] W, H new size
+      \see position(int,int), resize(int,int,int,int)
+   */
+  void size(int W,int H) {resize(x_,y_,W,H);}
+
+  /** Gets the label alignment.
+
+      \return label alignment
+      \see label(), align(Fl_Align), Fl_Align
+   */
+  Fl_Align align() const {return label_.align_;}
+
+  /** Sets the label alignment.
+      This controls how the label is displayed next to or inside the widget. 
+      The default value is FL_ALIGN_CENTER, which centers the label inside 
+      the widget.
+      \param[in] alignment new label alignment
+      \see align(), Fl_Align
+   */
+  void align(Fl_Align alignment) {label_.align_ = alignment;}
+
+  /** Gets the box type of the widget.
+      \return the current box type
+      \see box(fltk3::Boxtype), fltk3::Boxtype
+   */
+  fltk3::Boxtype box() const {return (fltk3::Boxtype)box_;}
+  
+  /** Sets the box type for the widget. 
+      This identifies a routine that draws the background of the widget.
+      See fltk3::Boxtype for the available types. The default depends on the 
+      widget, but is usually fltk3::NO_BOX or fltk3::UP_BOX.
+      \param[in] new_box the new box type
+      \see box(), fltk3::Boxtype
+   */
+  void box(fltk3::Boxtype new_box) {box_ = new_box;}
+
+  /** Gets the background color of the widget.
+      \return current background color
+      \see color(Fl_Color), color(Fl_Color, Fl_Color)
+   */
+  Fl_Color color() const {return color_;}
+
+  /** Sets the background color of the widget. 
+      The color is passed to the box routine. The color is either an index into 
+      an internal table of RGB colors or an RGB color value generated using 
+      fl_rgb_color().
+      
+      The default for most widgets is FL_BACKGROUND_COLOR. Use fltk3::set_color()
+      to redefine colors in the color map.
+      \param[in] bg background color
+      \see color(), color(Fl_Color, Fl_Color), selection_color(Fl_Color)
+   */
+  void color(Fl_Color bg) {color_ = bg;}
+
+  /** Gets the selection color.
+      \return the current selection color
+      \see selection_color(Fl_Color), color(Fl_Color, Fl_Color)
+   */
+  Fl_Color selection_color() const {return color2_;}
+
+  /** Sets the selection color.
+      The selection color is defined for Forms compatibility and is usually 
+      used to color the widget when it is selected, although some widgets 
+      use this color for other purposes. You can set both colors at once 
+      with color(Fl_Color bg, Fl_Color sel).
+      \param[in] a the new selection color
+      \see selection_color(), color(Fl_Color, Fl_Color)
+   */
+  void selection_color(Fl_Color a) {color2_ = a;}
+
+  /** Sets the background and selection color of the widget. 
+
+      The two color form sets both the background and selection colors. 
+      \param[in] bg background color
+      \param[in] sel selection color
+      \see color(unsigned), selection_color(unsigned)
+   */
+  void color(Fl_Color bg, Fl_Color sel) {color_=bg; color2_=sel;}
+
+  /** Gets the current label text.
+      \return a pointer to the current label text
+      \see label(const char *), copy_label(const char *)
+   */
+  const char* label() const {return label_.value;}
+
+  /** Sets the current label pointer.
+
+      The label is shown somewhere on or next to the widget. The passed pointer 
+      is stored unchanged in the widget (the string is \em not copied), so if 
+      you need to set the label to a formatted value, make sure the buffer is 
+      static, global, or allocated. The copy_label() method can be used 
+      to make a copy of the label string automatically.
+      \param[in] text pointer to new label text
+      \see copy_label()
+   */
+  void label(const char* text);
+
+  /** Sets the current label. 
+      Unlike label(), this method allocates a copy of the label 
+      string instead of using the original string pointer.
+
+      The internal copy will automatically be freed whenever you assign
+      a new label or when the widget is destroyed.
+
+      \param[in] new_label the new label text
+      \see label()
+   */
+  void copy_label(const char *new_label);
+
+  /** Shortcut to set the label text and type in one call.
+      \see label(const char *), labeltype(fltk3::Labeltype)
+   */
+  void label(fltk3::Labeltype a, const char* b) {label_.type = a; label_.value = b;}
+
+  /** Gets the label type.
+      \return the current label type.
+      \see fltk3::Labeltype
+   */
+  fltk3::Labeltype labeltype() const {return (fltk3::Labeltype)label_.type;}
+
+  /** Sets the label type. 
+      The label type identifies the function that draws the label of the widget. 
+      This is generally used for special effects such as embossing or for using 
+      the label() pointer as another form of data such as an icon. The value 
+      FL_NORMAL_LABEL prints the label as plain text.
+      \param[in] a new label type
+      \see fltk3::Labeltype
+   */
+  void labeltype(fltk3::Labeltype a) {label_.type = a;}
+
+  /** Gets the label color. 
+      The default color is FL_FOREGROUND_COLOR. 
+      \return the current label color
+   */
+  Fl_Color labelcolor() const {return label_.color;}
+
+  /** Sets the label color. 
+      The default color is FL_FOREGROUND_COLOR. 
+      \param[in] c the new label color
+   */
+  void labelcolor(Fl_Color c) {label_.color=c;}
+
+  /** Gets the font to use. 
+      Fonts are identified by indexes into a table. The default value
+      uses a Helvetica typeface (Arial for Microsoft&reg; Windows&reg;).
+      The function fltk3::set_font() can define new typefaces.
+      \return current font used by the label
+      \see fltk3::Font
+   */
+  fltk3::Font labelfont() const {return label_.font;}
+
+  /** Sets the font to use. 
+      Fonts are identified by indexes into a table. The default value
+      uses a Helvetica typeface (Arial for Microsoft&reg; Windows&reg;).
+      The function fltk3::set_font() can define new typefaces.
+      \param[in] f the new font for the label
+      \see fltk3::Font
+   */
+  void labelfont(fltk3::Font f) {label_.font=f;}
+
+  /** Gets the font size in pixels. 
+      The default size is 14 pixels.
+      \return the current font size
+   */
+  fltk3::Fontsize labelsize() const {return label_.size;}
+
+  /** Sets the font size in pixels.
+      \param[in] pix the new font size
+      \see fltk3::Fontsize labelsize()
+   */
+  void labelsize(fltk3::Fontsize pix) {label_.size=pix;}
+
+  /** Gets the image that is used as part of the widget label.
+      This image is used when drawing the widget in the active state.
+      \return the current image
+   */
+  Fl_Image* image() {return label_.image;}
+  const Fl_Image* image() const {return label_.image;}
+
+  /** Sets the image to use as part of the widget label.
+      This image is used when drawing the widget in the active state.
+      \param[in] img the new image for the label 
+   */
+  void image(Fl_Image* img) {label_.image=img;}
+
+  /** Sets the image to use as part of the widget label.
+      This image is used when drawing the widget in the active state.
+      \param[in] img the new image for the label 
+   */
+  void image(Fl_Image& img) {label_.image=&img;}
+
+  /** Gets the image that is used as part of the widget label.  
+      This image is used when drawing the widget in the inactive state.
+      \return the current image for the deactivated widget
+   */
+  Fl_Image* deimage() {return label_.deimage;}
+  const Fl_Image* deimage() const {return label_.deimage;}
+
+  /** Sets the image to use as part of the widget label.  
+      This image is used when drawing the widget in the inactive state.
+      \param[in] img the new image for the deactivated widget
+   */
+  void deimage(Fl_Image* img) {label_.deimage=img;}
+
+  /** Sets the image to use as part of the widget label.  
+      This image is used when drawing the widget in the inactive state.
+      \param[in] img the new image for the deactivated widget
+   */
+  void deimage(Fl_Image& img) {label_.deimage=&img;}
+
+  /** Gets the current tooltip text.
+      \return a pointer to the tooltip text or NULL
+      \see tooltip(const char*), copy_tooltip(const char*)
+   */
+  const char *tooltip() const {return tooltip_;}
+
+  void tooltip(const char *text);		// see Fl_Tooltip
+  void copy_tooltip(const char *text);		// see Fl_Tooltip
+
+  /** Gets the current callback function for the widget.
+      Each widget has a single callback.
+      \return current callback
+   */
+  Fl_Callback_p callback() const {return callback_;}
+
+  /** Sets the current callback function for the widget.
+      Each widget has a single callback.
+      \param[in] cb new callback
+      \param[in] p user data
+   */
+  void callback(Fl_Callback* cb, void* p) {callback_=cb; user_data_=p;}
+
+  /** Sets the current callback function for the widget.
+      Each widget has a single callback.
+      \param[in] cb new callback
+   */
+  void callback(Fl_Callback* cb) {callback_=cb;}
+
+  /** Sets the current callback function for the widget.
+      Each widget has a single callback.
+      \param[in] cb new callback
+   */
+  void callback(Fl_Callback0*cb) {callback_=(Fl_Callback*)cb;}
+
+  /** Sets the current callback function for the widget.
+      Each widget has a single callback.
+      \param[in] cb new callback
+      \param[in] p user data
+   */
+  void callback(Fl_Callback1*cb, long p=0) {callback_=(Fl_Callback*)cb; user_data_=(void*)p;}
+
+  /** Gets the user data for this widget.
+      Gets the current user data (void *) argument that is passed to the callback function.
+      \return user data as a pointer
+   */
+  void* user_data() const {return user_data_;}
+
+  /** Sets the user data for this widget.
+      Sets the new user data (void *) argument that is passed to the callback function.
+      \param[in] v new user data
+   */
+  void user_data(void* v) {user_data_ = v;}
+
+  /** Gets the current user data (long) argument that is passed to the callback function.
+   */
+  long argument() const {return (long)(fl_intptr_t)user_data_;}
+
+  /** Sets the current user data (long) argument that is passed to the callback function.
+      \todo The user data value must be implemented using \em intptr_t or similar
+      to avoid 64-bit machine incompatibilities.
+   */
+  void argument(long v) {user_data_ = (void*)v;}
+
+  /** Returns the conditions under which the callback is called.
+
+      You can set the flags with when(uchar), the default value is
+      FL_WHEN_RELEASE.
+
+      \return set of flags
+      \see when(uchar)
+   */
+  Fl_When when() const {return (Fl_When)when_;}
+
+  /** Sets the flags used to decide when a callback is called.
+
+     This controls when callbacks are done. The following values are useful,
+     the default value is FL_WHEN_RELEASE:
+     
+     \li 0: The callback is not done, but changed() is turned on.
+     \li FL_WHEN_CHANGED: The callback is done each time the text is
+         changed by the user.
+     \li FL_WHEN_RELEASE: The callback will be done when this widget loses 
+         the focus, including when the window is unmapped. This is a useful 
+	 value for text fields in a panel where doing the callback on every
+  	 change is wasteful. However the callback will also happen if the 
+	 mouse is moved out of the window, which means it should not do 
+	 anything visible (like pop up an error message).
+	 You might do better setting this to zero, and scanning all the
+	 items for changed() when the OK button on a panel is pressed.
+     \li FL_WHEN_ENTER_KEY: If the user types the Enter key, the entire 
+         text is selected, and the callback is done if the text has changed. 
+	 Normally the Enter key will navigate to the next field (or insert 
+	 a newline for a Fl_Multiline_Input) - this changes the behavior.
+     \li FL_WHEN_ENTER_KEY|FL_WHEN_NOT_CHANGED: The Enter key will do the
+         callback even if the text has not changed. Useful for command fields.
+      fltk3::Widget::when() is a set of bitflags used by subclasses of 
+      fltk3::Widget to decide when to do the callback.
+
+      If the value is zero then the callback is never done. Other values 
+      are described  in the individual widgets. This field is in the base 
+      class so that you can scan a panel and do_callback() on all the ones
+      that don't do their own callbacks in response to an "OK" button.
+      \param[in] i set of flags
+   */
+  void when(uchar i) {when_ = i;}
+
+  /** Returns whether a widget is visible.
+      \retval 0 if the widget is not drawn and hence invisible.
+      \see show(), hide(), visible_r()
+   */
+  unsigned int visible() const {return !(flags_&INVISIBLE);}
+
+  /** Returns whether a widget and all its parents are visible.
+      \retval 0 if the widget or any of its parents are invisible.
+      \see show(), hide(), visible()
+   */
+  int visible_r() const;
+
+  /** Makes a widget visible.
+      An invisible widget never gets redrawn and does not get events.  
+      The visible() method returns true if the widget is set to be  
+      visible. The visible_r() method returns true if the widget and 
+      all of its parents are visible. A widget is only visible if 
+      visible() is true on it <I>and all of its parents</I>. 
+
+      Changing it will send FL_SHOW or FL_HIDE events to 
+      the widget. <I>Do not change it if the parent is not visible, as this 
+      will send false FL_SHOW or FL_HIDE events to the widget</I>.
+      redraw() is called if necessary on this or the parent.
+
+      \see hide(), visible(), visible_r()
+   */
+  virtual void show();
+  
+  /** Makes a widget invisible.
+      \see show(), visible(), visible_r()
+   */
+  virtual void hide();
+
+  /** Makes the widget visible. 
+      You must still redraw the parent widget to see a change in the 
+      window. Normally you want to use the show() method instead.
+   */
+  void set_visible() {flags_ &= ~INVISIBLE;}
+
+  /** Hides the widget. 
+      You must still redraw the parent to see a change in the window. 
+      Normally you want to use the hide() method instead.
+   */
+  void clear_visible() {flags_ |= INVISIBLE;}
+
+  /** Returns whether the widget is active.
+      \retval 0 if the widget is inactive
+      \see active_r(), activate(), deactivate()
+   */
+  unsigned int active() const {return !(flags_&INACTIVE);}
+
+  /** Returns whether the widget and all of its parents are active. 
+      \retval 0 if this or any of the parent widgets are inactive
+      \see active(), activate(), deactivate()
+   */
+  int active_r() const;
+
+  /** Activates the widget.
+      Changing this value will send FL_ACTIVATE to the widget if 
+      active_r() is true.
+      \see active(), active_r(), deactivate()
+   */
+  void activate();
+
+  /** Deactivates the widget.
+      Inactive widgets will be drawn "grayed out", e.g. with less contrast 
+      than the active widget. Inactive widgets will not receive any keyboard 
+      or mouse button events. Other events (including FL_ENTER, FL_MOVE, 
+      FL_LEAVE, FL_SHORTCUT, and others) will still be sent. A widget is 
+      only active if active() is true on it <I>and all of its parents</I>.  
+
+      Changing this value will send FL_DEACTIVATE to the widget if 
+      active_r() is true.
+    
+      Currently you cannot deactivate fltk3::Window widgets.
+
+      \see activate(), active(), active_r()
+   */
+  void deactivate();
+
+  /** Returns if a widget is used for output only.
+      output() means the same as !active() except it does not change how the 
+      widget is drawn. The widget will not receive any events. This is useful 
+      for making scrollbars or buttons that work as displays rather than input 
+      devices.
+      \retval 0 if the widget is used for input and output
+      \see set_output(), clear_output() 
+   */
+  unsigned int output() const {return (flags_&OUTPUT);}
+
+  /** Sets a widget to output only.
+      \see output(), clear_output() 
+   */
+  void set_output() {flags_ |= OUTPUT;}
+
+  /** Sets a widget to accept input.
+      \see set_output(), output() 
+   */
+  void clear_output() {flags_ &= ~OUTPUT;}
+
+  /** Returns if the widget is able to take events.
+      This is the same as (active() && !output()
+      && visible()) but is faster.
+      \retval 0 if the widget takes no events
+   */ 
+  unsigned int takesevents() const {
+    return !output() && active_r() && visible_r();
+  }
+
+  /** 
+      Checks if the widget value changed since the last callback.
+
+      "Changed" is a flag that is turned on when the user changes the value 
+      stored in the widget. This is only used by subclasses of fltk3::Widget that 
+      store values, but is in the base class so it is easier to scan all the 
+      widgets in a panel and do_callback() on the changed ones in response 
+      to an "OK" button.
+
+      Most widgets turn this flag off when they do the callback, and when 
+      the program sets the stored value.
+
+     \retval 0 if the value did not change
+     \see set_changed(), clear_changed()
+   */
+  unsigned int changed() const {return flags_&CHANGED;}
+
+  /** Marks the value of the widget as changed.
+      \see changed(), clear_changed()
+   */
+  void set_changed() {flags_ |= CHANGED;}
+
+  /** Marks the value of the widget as unchanged.
+      \see changed(), set_changed()
+   */
+  void clear_changed() {flags_ &= ~CHANGED;}
+
+  /** Gives the widget the keyboard focus.
+      Tries to make this widget be the fltk3::focus() widget, by first sending 
+      it an FL_FOCUS event, and if it returns non-zero, setting 
+      fltk3::focus() to this widget. You should use this method to 
+      assign the focus to a widget.  
+      \return true if the widget accepted the focus.
+   */
+  int take_focus();
+
+  /** Enables keyboard focus navigation with this widget. 
+      Note, however, that this will not necessarily mean that the widget
+      will accept focus, but for widgets that can accept focus, this method
+      enables it if it has been disabled.
+      \see visible_focus(), clear_visible_focus(), visible_focus(int) 
+   */
+  void set_visible_focus() { flags_ |= VISIBLE_FOCUS; }
+
+  /** Disables keyboard focus navigation with this widget. 
+      Normally, all widgets participate in keyboard focus navigation.
+      \see set_visible_focus(), visible_focus(), visible_focus(int) 
+   */
+  void clear_visible_focus() { flags_ &= ~VISIBLE_FOCUS; }
+
+  /** Modifies keyboard focus navigation. 
+      \param[in] v set or clear visible focus
+      \see set_visible_focus(), clear_visible_focus(), visible_focus() 
+   */
+  void visible_focus(int v) { if (v) set_visible_focus(); else clear_visible_focus(); }
+
+  /** Checks whether this widget has a visible focus.
+      \retval 0 if this widget has no visible focus.
+      \see visible_focus(int), set_visible_focus(), clear_visible_focus()
+   */
+  unsigned int  visible_focus() { return flags_ & VISIBLE_FOCUS; }
+
+  /** Sets the default callback for all widgets.
+      Sets the default callback, which puts a pointer to the widget on the queue 
+      returned by fltk3::readqueue(). You may want to call this from your own callback.
+      \param[in] cb the new callback
+      \param[in] d user data associated with that callback
+      \see callback(), do_callback(), fltk3::readqueue()
+   */
+  static void default_callback(Widget *cb, void *d);
+
+  /** Calls the widget callback.
+      Causes a widget to invoke its callback function with default arguments.
+      \see callback()
+   */
+  void do_callback() {do_callback(this,user_data_);}
+
+  /** Calls the widget callback.
+      Causes a widget to invoke its callback function with arbitrary arguments.
+      \param[in] o call the callback with \p o as the widget argument
+      \param[in] arg call the callback with \p arg as the user data argument
+      \see callback()
+   */
+  void do_callback(Widget* o,long arg) {do_callback(o,(void*)arg);}
+
+  // Causes a widget to invoke its callback function with arbitrary arguments.
+  // Documentation and implementation in fltk3::Widget.cxx
+  void do_callback(Widget* o,void* arg=0);
+
+  /* Internal use only. */
+  int test_shortcut();
+  /* Internal use only. */
+  static unsigned int label_shortcut(const char *t);
+  /* Internal use only. */
+  static int test_shortcut(const char*, const bool require_alt = false);
+
+  /** Checks if w is a child of this widget.
+      \param[in] w potential child widget
+      \return Returns 1 if \p w is a child of this widget, or is
+      equal to this widget. Returns 0 if \p w is NULL.
+   */
+  int contains(const Widget *w) const ;
+
+  /** Checks if this widget is a child of w.
+      Returns 1 if this widget is a child of \p w, or is
+      equal to \p w. Returns 0 if \p w is NULL.
+      \param[in] w the possible parent widget.
+      \see contains()
+   */
+  int inside(const Widget* w) const {return w ? w->contains(this) : 0;}
+
+  /** Schedules the drawing of the widget.
+      Marks the widget as needing its draw() routine called.
+   */
+  void redraw();
+
+  /** Schedules the drawing of the label.
+     Marks the widget or the parent as needing a redraw for the label area 
+     of a widget.
+   */
+  void redraw_label();
+
+  /** Returns non-zero if draw() needs to be called. 
+      The damage value is actually a bit field that the widget 
+      subclass can use to figure out what parts to draw.
+      \return a bitmap of flags describing the kind of damage to the widget
+      \see damage(uchar), clear_damage(uchar)
+   */
+  uchar damage() const {return damage_;}
+
+  /** Clears or sets the damage flags.
+      Damage flags are cleared when parts of the widget drawing is repaired.
+
+      The optional argument \p c specifies the bits that <b>are set</b>
+      after the call (default: 0) and \b not the bits that are cleared!
+
+      \note Therefore it is possible to set damage bits with this method, but
+      this should be avoided. Use damage(uchar) instead.
+      
+      \param[in] c new bitmask of damage flags (default: 0)
+      \see damage(uchar), damage()
+   */
+  void clear_damage(uchar c = 0) {damage_ = c;}
+
+  /** Sets the damage bits for the widget.
+      Setting damage bits will schedule the widget for the next redraw.
+      \param[in] c bitmask of flags to set
+      \see damage(), clear_damage(uchar)
+   */
+  void damage(uchar c);
+
+  /** Sets the damage bits for an area inside the widget.
+      Setting damage bits will schedule the widget for the next redraw.
+      \param[in] c bitmask of flags to set
+      \param[in] x, y, w, h size of damaged area
+      \see damage(), clear_damage(uchar)
+   */
+  void damage(uchar c, int x, int y, int w, int h);
+
+  void draw_label(int, int, int, int, Fl_Align) const;
+
+  /** Sets width ww and height hh accordingly with the label size.
+      Labels with images will return w() and h() of the image.
+   */
+  void measure_label(int& ww, int& hh) const {label_.measure(ww, hh);}
+
+  /** Returns a pointer to the primary fltk3::Window widget.
+      \retval  NULL if no window is associated with this widget.  
+      \note for an fltk3::Window widget, this returns its <I>parent</I> window 
+            (if any), not <I>this</I> window.
+   */
+  fltk3::Window* window() const ;
+
+  /** Returns an fltk3::Group pointer if this widget is an fltk3::Group.
+
+      Use this method if you have a widget (pointer) and need to
+      know whether this widget is derived from fltk3::Group. If it returns
+      non-NULL, then the widget in question is derived from fltk3::Group,
+      and you can use the returned pointer to access its children
+      or other fltk3::Group-specific methods.
+      
+      Example:
+      \code
+      void my_callback (fltk3::Widget *w, void *) {
+        fltk3::Group *g = w->as_group();
+	if (g)
+	  printf ("This group has %d children\n",g->children());
+	else
+	  printf ("This widget is not a group!\n");
+      }
+      \endcode
+
+      \retval NULL if this widget is not derived from fltk3::Group.
+      \note This method is provided to avoid dynamic_cast.
+      \see fltk3::Widget::as_window(), fltk3::Widget::as_gl_window()
+   */
+  virtual fltk3::Group* as_group() {return 0;}
+
+  /** Returns an fltk3::Window pointer if this widget is an fltk3::Window.
+
+      Use this method if you have a widget (pointer) and need to
+      know whether this widget is derived from fltk3::Window. If it returns
+      non-NULL, then the widget in question is derived from fltk3::Window,
+      and you can use the returned pointer to access its children
+      or other fltk3::Window-specific methods.
+
+      \retval NULL if this widget is not derived from fltk3::Window.
+      \note This method is provided to avoid dynamic_cast.
+      \see fltk3::Widget::as_group(), fltk3::Widget::as_gl_window()
+   */
+  virtual fltk3::Window* as_window() {return 0;}
+
+  /** Returns an Fl_Gl_Window pointer if this widget is an Fl_Gl_Window.
+
+      Use this method if you have a widget (pointer) and need to
+      know whether this widget is derived from Fl_Gl_Window. If it returns
+      non-NULL, then the widget in question is derived from Fl_Gl_Window.
+
+      \retval NULL if this widget is not derived from Fl_Gl_Window.
+      \note This method is provided to avoid dynamic_cast.
+      \see fltk3::Widget::as_group(), fltk3::Widget::as_window()
+   */
+  virtual class Fl_Gl_Window* as_gl_window() {return 0;}
+  
+  /** For back compatibility only.
+      \deprecated Use selection_color() instead.
+  */
+  Fl_Color color2() const {return (Fl_Color)color2_;}
+
+  /** For back compatibility only.
+      \deprecated Use selection_color(unsigned) instead.
+  */
+  void color2(unsigned a) {color2_ = a;}
+};
+
+/**
+    Reserved type numbers (necessary for my cheapo RTTI) start here.
+    Grep the header files for "RESERVED_TYPE" to find the next available
+    number.
+*/
+#define FL_RESERVED_TYPE 100
+
+#endif
+
+//
+// End of "$Id$".
+//

Modified: branches/branch-3.0-2011/fltk3/Window.h
===================================================================
--- branches/branch-3.0-2011/fltk3/Window.h	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/Window.h	2011-01-09 19:24:30 UTC (rev 8231)
@@ -31,7 +31,7 @@
 #ifndef FLTK3_Window_H
 #define FLTK3_Window_H
 
-#include "Fl_Group.H"
+#include "fltk3/Group.H"
 
 #define FL_WINDOW 0xF0		///< window type id all subclasses have type() >= this
 #define FL_DOUBLE_WINDOW 0xF1   ///< double window type id
@@ -48,9 +48,9 @@
   or a "subwindow" inside a window.  This is controlled by whether or not
   the window has a parent().
 
-  Once you create a window, you usually add children Fl_Widget
+  Once you create a window, you usually add children fltk3::Widget
   's to it by using window->add(child) for each new widget.
-  See Fl_Group for more information on how to add and remove children.
+  See fltk3::Group for more information on how to add and remove children.
 
   There are several subclasses of fltk3::Window that provide
   double-buffering, overlay, menu, and OpenGL support.
@@ -59,7 +59,7 @@
   using the window manager and fltk3::modal() is zero or equal to the
   window. fltk3::Window has a default callback that calls fltk3::Window::hide().
 */
-class FL_EXPORT fltk3::Window : public Fl_Group {
+class FL_EXPORT fltk3::Window : public fltk3::Group {
 
   static char *default_xclass_;
 
@@ -117,7 +117,7 @@
 
   /**
     Creates a window from the given size and title. 
-    If Fl_Group::current() is not NULL, the window is created as a 
+    If fltk3::Group::current() is not NULL, the window is created as a 
     subwindow of the parent window.
     
     The first form of the constructor creates a top-level window
@@ -136,7 +136,7 @@
     have visible() set to 1 and parent() set to
     the parent window pointer.
     
-    Fl_Widget::box() defaults to fltk3::FLAT_BOX. If you plan to
+    fltk3::Widget::box() defaults to fltk3::FLAT_BOX. If you plan to
     completely fill the window with children widgets you should
     change this to fltk3::NO_BOX. If you turn the window border off
     you may want to change this to fltk3::UP_BOX.
@@ -166,9 +166,9 @@
     these changes are communicated to the window server (which may
     refuse that size and cause a further resize).  If shown() is
     false, the size and position are used when show() is called.
-    See Fl_Group for the effect of resizing on the child widgets.
+    See fltk3::Group for the effect of resizing on the child widgets.
 
-    You can also call the Fl_Widget methods size(x,y) and position(w,h),
+    You can also call the fltk3::Widget methods size(x,y) and position(w,h),
     which are inline wrappers for this virtual function.
 
     A top-level window can not force, but merely suggest a position and 
@@ -266,9 +266,9 @@
   */
   void hotspot(int x, int y, int offscreen = 0);
   /** See void fltk3::Window::hotspot(int x, int y, int offscreen = 0) */
-  void hotspot(const Fl_Widget*, int offscreen = 0);
+  void hotspot(const fltk3::Widget*, int offscreen = 0);
   /** See void fltk3::Window::hotspot(int x, int y, int offscreen = 0) */
-  void hotspot(const Fl_Widget& p, int offscreen = 0) {hotspot(&p,offscreen);}
+  void hotspot(const fltk3::Widget& p, int offscreen = 0) {hotspot(&p,offscreen);}
 
   /**
     Undoes the effect of a previous resize() or show() so that the next time
@@ -319,7 +319,7 @@
     minw=a; minh=b; maxw=c; maxh=d; dw=e; dh=f; aspect=g; size_range_();}
 
   /** See void fltk3::Window::label(const char*)   */
-  const char* label() const	{return Fl_Widget::label();}
+  const char* label() const	{return fltk3::Widget::label();}
   /**  See void fltk3::Window::iconlabel(const char*)   */
   const char* iconlabel() const	{return iconlabel_;}
   /** Sets the window title bar label. */
@@ -430,7 +430,7 @@
   */
   void make_current();
 
-  // Note: Doxygen docs in Fl_Widget.H to avoid redundancy.
+  // Note: Doxygen docs in Widget.h to avoid redundancy.
   virtual Window* as_window() { return this; }
 
   /**

Added: branches/branch-3.0-2011/fltk3/Wrapper.h
===================================================================
--- branches/branch-3.0-2011/fltk3/Wrapper.h	                        (rev 0)
+++ branches/branch-3.0-2011/fltk3/Wrapper.h	2011-01-09 19:24:30 UTC (rev 8231)
@@ -0,0 +1,60 @@
+//
+// "$Id: Wrapper.h 7365 2010-03-30 15:18:29Z matt $"
+//
+// Widget header file for the Fast Light Tool Kit (FLTK).
+//
+// Copyright 1998-2010 by Bill Spitzak and others.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+// Please report all bugs and problems on the following page:
+//
+//     http://www.fltk.org/str.php
+//
+
+/* \file
+   fltk3::Wrapper */
+
+#ifndef FLTK3_Wrapper_H
+#define FLTK3_Wrapper_H
+
+namespace fltk3 {
+  
+  class Object; 
+
+/**
+ * \brief a base class for any kind of langage wrapper around FLTK3.
+ */
+  class Wrapper {
+  protected:
+    Object *_p;
+  public:
+    Wrapper() 
+    : _p(0L) { }
+    virtual ~Wrapper() { }
+    
+    unsigned int vcalls;
+    virtual void draw() { /* call _p->draw() with a flag set */ }
+  };
+  
+}; // namespace fltk3
+
+
+#endif
+
+//
+// End of "$Id: Wrapper.h 7365 2010-03-30 15:18:29Z matt $".
+//

Modified: branches/branch-3.0-2011/fltk3/fl_ask.H
===================================================================
--- branches/branch-3.0-2011/fltk3/fl_ask.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/fl_ask.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -30,7 +30,7 @@
 
 #  include "Enumerations.H"
 
-class Fl_Widget;
+class fltk3::Widget;
 /** Different system beeps available. \relatesalso fl_beep(int) */
 enum {
   FL_BEEP_DEFAULT = 0,
@@ -58,10 +58,10 @@
 FL_EXPORT const char *fl_input(const char *label, const char *deflt = 0, ...) __fl_attr((__format__ (__printf__, 1, 3)));
 FL_EXPORT const char *fl_password(const char *label, const char *deflt = 0, ...) __fl_attr((__format__ (__printf__, 1, 3)));
 
-FL_EXPORT Fl_Widget *fl_message_icon();
-extern FL_EXPORT Fl_Font fl_message_font_;
-extern FL_EXPORT Fl_Fontsize fl_message_size_;
-inline void fl_message_font(Fl_Font f, Fl_Fontsize s) {
+FL_EXPORT fltk3::Widget *fl_message_icon();
+extern FL_EXPORT fltk3::Font fl_message_font_;
+extern FL_EXPORT fltk3::Fontsize fl_message_size_;
+inline void fl_message_font(fltk3::Font f, fltk3::Fontsize s) {
   fl_message_font_ = f; fl_message_size_ = s;}
 
 // pointers you can use to change FLTK to a foreign language:

Modified: branches/branch-3.0-2011/fltk3/fl_draw.H
===================================================================
--- branches/branch-3.0-2011/fltk3/fl_draw.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/fl_draw.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -449,21 +449,21 @@
   The size of the font is measured in pixels and not "points".
   Lines should be spaced \p size pixels apart or more.
 */
-inline void fl_font(Fl_Font face, Fl_Fontsize size) { fl_graphics_driver->font(face,size); }
-extern FL_EXPORT Fl_Font fl_font_; ///< current font index
+inline void fl_font(fltk3::Font face, fltk3::Fontsize size) { fl_graphics_driver->font(face,size); }
+extern FL_EXPORT fltk3::Font fl_font_; ///< current font index
 
 /**
   Returns the \p face set by the most recent call to fl_font().
   This can be used to save/restore the font.
 */
-inline Fl_Font fl_font() {return fl_font_;}
+inline fltk3::Font fl_font() {return fl_font_;}
 /** \brief current font size */
-extern FL_EXPORT Fl_Fontsize fl_size_;
+extern FL_EXPORT fltk3::Fontsize fl_size_;
 /**
   Returns the \p size set by the most recent call to fl_font().
   This can be used to save/restore the font.
 */
-inline Fl_Fontsize fl_size() {return fl_size_;}
+inline fltk3::Fontsize fl_size() {return fl_size_;}
 
 // information you can get about the current font:
 /**

Modified: branches/branch-3.0-2011/fltk3/forms.H
===================================================================
--- branches/branch-3.0-2011/fltk3/forms.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/forms.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -29,11 +29,11 @@
 #define __FORMS_H__
 
 #include "run.h"
-#include "Fl_Group.H"
+#include "fltk3/Group.H"
 #include "Window.h"
 #include "fl_draw.H"
 
-typedef Fl_Widget FL_OBJECT;
+typedef fltk3::Widget FL_OBJECT;
 typedef fltk3::Window FL_FORM;
 
 ////////////////////////////////////////////////////////////////
@@ -115,18 +115,18 @@
 #define FL_MBUTTON5	5
 
 #define FL_INVALID_STYLE 255
-#define FL_NORMAL_STYLE	FL_HELVETICA
-#define FL_BOLD_STYLE	FL_HELVETICA_BOLD
-#define FL_ITALIC_STYLE	FL_HELVETICA_ITALIC
-#define FL_BOLDITALIC_STYLE FL_HELVETICA_BOLD_ITALIC
-#define FL_FIXED_STYLE	FL_COURIER
-#define FL_FIXEDBOLD_STYLE FL_COURIER_BOLD
-#define FL_FIXEDITALIC_STYLE FL_COURIER_ITALIC
-#define FL_FIXEDBOLDITALIC_STYLE FL_COURIER_BOLD_ITALIC
-#define FL_TIMES_STYLE	FL_TIMES
-#define FL_TIMESBOLD_STYLE FL_TIMES_BOLD
-#define FL_TIMESITALIC_STYLE FL_TIMES_ITALIC
-#define FL_TIMESBOLDITALIC_STYLE FL_TIMES_BOLD_ITALIC
+#define FL_NORMAL_STYLE	fltk3::HELVETICA
+#define FL_BOLD_STYLE	fltk3::HELVETICA_BOLD
+#define FL_ITALIC_STYLE	fltk3::HELVETICA_ITALIC
+#define FL_BOLDITALIC_STYLE fltk3::HELVETICA_BOLD_ITALIC
+#define FL_FIXED_STYLE	fltk3::COURIER
+#define FL_FIXEDBOLD_STYLE fltk3::COURIER_BOLD
+#define FL_FIXEDITALIC_STYLE fltk3::COURIER_ITALIC
+#define FL_FIXEDBOLDITALIC_STYLE fltk3::COURIER_BOLD_ITALIC
+#define fltk3::TIMES_STYLE	fltk3::TIMES
+#define fltk3::TIMESBOLD_STYLE fltk3::TIMES_BOLD
+#define fltk3::TIMESITALIC_STYLE fltk3::TIMES_ITALIC
+#define fltk3::TIMESBOLDITALIC_STYLE fltk3::TIMES_BOLD_ITALIC
 
 // hacks to change the labeltype() when passed to fl_set_object_lstyle():
 #define FL_SHADOW_STYLE		(FL_SHADOW_LABEL<<8)
@@ -182,21 +182,21 @@
 // type of callback is different!
 inline void fl_set_idle_callback(void (*cb)()) {fltk3::set_idle(cb);}
 
-FL_EXPORT Fl_Widget* fl_do_forms(void);
-FL_EXPORT Fl_Widget* fl_check_forms();
-inline Fl_Widget* fl_do_only_forms(void) {return fl_do_forms();}
-inline Fl_Widget* fl_check_only_forms(void) {return fl_check_forms();}
+FL_EXPORT fltk3::Widget* fl_do_forms(void);
+FL_EXPORT fltk3::Widget* fl_check_forms();
+inline fltk3::Widget* fl_do_only_forms(void) {return fl_do_forms();}
+inline fltk3::Widget* fl_check_only_forms(void) {return fl_check_forms();}
 
 // because of new redraw behavior, these are no-ops:
-inline void fl_freeze_object(Fl_Widget*) {}
-inline void fl_unfreeze_object(Fl_Widget*) {}
+inline void fl_freeze_object(fltk3::Widget*) {}
+inline void fl_unfreeze_object(fltk3::Widget*) {}
 inline void fl_freeze_form(fltk3::Window*) {}
 inline void fl_unfreeze_form(fltk3::Window*) {}
 inline void fl_freeze_all_forms() {}
 inline void fl_unfreeze_all_forms() {}
 
-inline void fl_set_focus_object(fltk3::Window*, Fl_Widget* o) {fltk3::focus(o);}
-inline void fl_reset_focus_object(Fl_Widget* o) {fltk3::focus(o);}
+inline void fl_set_focus_object(fltk3::Window*, fltk3::Widget* o) {fltk3::focus(o);}
+inline void fl_reset_focus_object(fltk3::Widget* o) {fltk3::focus(o);}
 #define fl_set_object_focus fl_set_focus_object
 
 // void fl_set_form_atclose(fltk3::Window*w,int (*cb)(fltk3::Window*,void*),void* v)
@@ -204,49 +204,49 @@
 // fl_set_form_atactivate/atdeactivate not implemented!
 
 ////////////////////////////////////////////////////////////////
-// Fl_Widget:
+// fltk3::Widget:
 
-inline void fl_set_object_boxtype(Fl_Widget* o, fltk3::Boxtype a) {o->box(a);}
-inline void fl_set_object_lsize(Fl_Widget* o,int s) {o->labelsize(s);}
+inline void fl_set_object_boxtype(fltk3::Widget* o, fltk3::Boxtype a) {o->box(a);}
+inline void fl_set_object_lsize(fltk3::Widget* o,int s) {o->labelsize(s);}
 
 /* forms lib font indexes must be byte sized - extract correct byte from style word */
-inline void fl_set_object_lstyle(Fl_Widget* o,int a) {
-  o->labelfont((Fl_Font)(a&0xff)); o->labeltype((fltk3::Labeltype)(a>>8));}
-inline void fl_set_object_lcol(Fl_Widget* o, Fl_Color a) {o->labelcolor(a);}
+inline void fl_set_object_lstyle(fltk3::Widget* o,int a) {
+  o->labelfont((fltk3::Font)(a&0xff)); o->labeltype((fltk3::Labeltype)(a>>8));}
+inline void fl_set_object_lcol(fltk3::Widget* o, Fl_Color a) {o->labelcolor(a);}
 #define fl_set_object_lcolor  fl_set_object_lcol
-inline void fl_set_object_lalign(Fl_Widget* o, Fl_Align a) {o->align(a);}
+inline void fl_set_object_lalign(fltk3::Widget* o, Fl_Align a) {o->align(a);}
 #define fl_set_object_align fl_set_object_lalign
-inline void fl_set_object_color(Fl_Widget* o,Fl_Color a,Fl_Color b) {o->color(a,b);}
-inline void fl_set_object_label(Fl_Widget* o, const char* a) {o->label(a); o->redraw();}
-inline void fl_set_object_position(Fl_Widget*o,int x,int y) {o->position(x,y);}
-inline void fl_set_object_size(Fl_Widget* o, int w, int h) {o->size(w,h);}
-inline void fl_set_object_geometry(Fl_Widget* o,int x,int y,int w,int h) {o->resize(x,y,w,h);}
+inline void fl_set_object_color(fltk3::Widget* o,Fl_Color a,Fl_Color b) {o->color(a,b);}
+inline void fl_set_object_label(fltk3::Widget* o, const char* a) {o->label(a); o->redraw();}
+inline void fl_set_object_position(fltk3::Widget*o,int x,int y) {o->position(x,y);}
+inline void fl_set_object_size(fltk3::Widget* o, int w, int h) {o->size(w,h);}
+inline void fl_set_object_geometry(fltk3::Widget* o,int x,int y,int w,int h) {o->resize(x,y,w,h);}
 
-inline void fl_get_object_geometry(Fl_Widget* o,int*x,int*y,int*w,int*h) {
+inline void fl_get_object_geometry(fltk3::Widget* o,int*x,int*y,int*w,int*h) {
   *x = o->x(); *y = o->y(); *w = o->w(); *h = o->h();}
-inline void fl_get_object_position(Fl_Widget* o,int*x,int*y) {
+inline void fl_get_object_position(fltk3::Widget* o,int*x,int*y) {
   *x = o->x(); *y = o->y();}
 
-typedef void (*Forms_CB)(Fl_Widget*, long);
-inline void fl_set_object_callback(Fl_Widget*o,Forms_CB c,long a) {o->callback(c,a);}
+typedef void (*Forms_CB)(fltk3::Widget*, long);
+inline void fl_set_object_callback(fltk3::Widget*o,Forms_CB c,long a) {o->callback(c,a);}
 #define fl_set_call_back      fl_set_object_callback
-inline void fl_call_object_callback(Fl_Widget* o) {o->do_callback();}
-inline void fl_trigger_object(Fl_Widget* o) {o->do_callback();}
-inline void fl_set_object_return(Fl_Widget* o, int v) {
+inline void fl_call_object_callback(fltk3::Widget* o) {o->do_callback();}
+inline void fl_trigger_object(fltk3::Widget* o) {o->do_callback();}
+inline void fl_set_object_return(fltk3::Widget* o, int v) {
   o->when((Fl_When)(v|FL_WHEN_RELEASE));}
 
-inline void fl_redraw_object(Fl_Widget* o) {o->redraw();}
-inline void fl_show_object(Fl_Widget* o) {o->show();}
-inline void fl_hide_object(Fl_Widget* o) {o->hide();}
-inline void fl_free_object(Fl_Widget* x) {delete x;}
-inline void fl_delete_object(Fl_Widget* o) {o->parent()->remove(*o);}
-inline void fl_activate_object(Fl_Widget* o) {o->activate();}
-inline void fl_deactivate_object(Fl_Widget* o) {o->deactivate();}
+inline void fl_redraw_object(fltk3::Widget* o) {o->redraw();}
+inline void fl_show_object(fltk3::Widget* o) {o->show();}
+inline void fl_hide_object(fltk3::Widget* o) {o->hide();}
+inline void fl_free_object(fltk3::Widget* x) {delete x;}
+inline void fl_delete_object(fltk3::Widget* o) {o->parent()->remove(*o);}
+inline void fl_activate_object(fltk3::Widget* o) {o->activate();}
+inline void fl_deactivate_object(fltk3::Widget* o) {o->deactivate();}
 
-inline void fl_add_object(fltk3::Window* f, Fl_Widget* x) {f->add(x);}
-inline void fl_insert_object(Fl_Widget* o, Fl_Widget* b) {b->parent()->insert(*o,b);}
+inline void fl_add_object(fltk3::Window* f, fltk3::Widget* x) {f->add(x);}
+inline void fl_insert_object(fltk3::Widget* o, fltk3::Widget* b) {b->parent()->insert(*o,b);}
 
-inline fltk3::Window* FL_ObjWin(Fl_Widget* o) {return o->window();}
+inline fltk3::Window* FL_ObjWin(fltk3::Widget* o) {return o->window();}
 
 ////////////////////////////////////////////////////////////////
 // things that appered in the demos a lot that I don't emulate, but
@@ -254,7 +254,7 @@
 
 inline int fl_get_border_width() {return 3;}
 inline void fl_set_border_width(int) {}
-inline void fl_set_object_dblbuffer(Fl_Widget*, int) {}
+inline void fl_set_object_dblbuffer(fltk3::Widget*, int) {}
 inline void fl_set_form_dblbuffer(fltk3::Window*, int) {}
 
 ////////////////////////////////////////////////////////////////
@@ -270,9 +270,9 @@
 }
 FL_EXPORT void fl_end_form();
 inline void fl_addto_form(fltk3::Window* f) {f->begin();}
-inline Fl_Group* fl_bgn_group() {return new Fl_Group(0,0,0,0,0);}
-inline void fl_end_group() {Fl_Group::current()->forms_end();}
-inline void fl_addto_group(Fl_Widget* o) {((Fl_Group* )o)->begin();}
+inline fltk3::Group* fl_bgn_group() {return new fltk3::Group(0,0,0,0,0);}
+inline void fl_end_group() {fltk3::Group::current()->forms_end();}
+inline void fl_addto_group(fltk3::Widget* o) {((fltk3::Group* )o)->begin();}
 #define resizebox _ddfdesign_kludge()
 
 inline void fl_scale_form(fltk3::Window* f, double x, double y) {
@@ -308,7 +308,7 @@
 //FL_MODAL = (1<<8)	// not implemented yet in Forms
 };
 inline void fl_set_form_hotspot(fltk3::Window* w,int x,int y) {w->hotspot(x,y);}
-inline void fl_set_form_hotobject(fltk3::Window* w, Fl_Widget* o) {w->hotspot(o);}
+inline void fl_set_form_hotobject(fltk3::Window* w, fltk3::Widget* o) {w->hotspot(o);}
 extern FL_EXPORT char fl_flip;	// in forms.C
 inline void fl_flip_yorigin() {fl_flip = 1;}
 
@@ -329,7 +329,7 @@
 inline void fl_set_form_title(fltk3::Window* f, const char* s) {f->label(s);}
 inline void fl_title_form(fltk3::Window* f, const char* s) {f->label(s);}
 
-typedef void (*Forms_FormCB)(Fl_Widget*);
+typedef void (*Forms_FormCB)(fltk3::Widget*);
 inline void fl_set_form_callback(fltk3::Window* f,Forms_FormCB c) {f->callback(c);}
 #define fl_set_form_call_back fl_set_form_callback
 
@@ -355,7 +355,7 @@
     fl_draw_box(b,x,y,w,h,bgc);}
 
 inline void fl_drw_text(Fl_Align align, int x, int y, int w, int h,
-		  Fl_Color fgcolor, int size, Fl_Font style,
+		  Fl_Color fgcolor, int size, fltk3::Font style,
 		  const char* s) {
   fl_font(style,size);
   fl_color(fgcolor);
@@ -364,14 +364,14 @@
 
 // this does not work except for CENTER...
 inline void fl_drw_text_beside(Fl_Align align, int x, int y, int w, int h,
-		  Fl_Color fgcolor, int size, Fl_Font style,
+		  Fl_Color fgcolor, int size, fltk3::Font style,
 		  const char* s) {
   fl_font(style,size);
   fl_color(fgcolor);
   fl_draw(s,x,y,w,h,align);
 }
 
-inline void fl_set_font_name(Fl_Font n,const char* s) {fltk3::set_font(n,s);}
+inline void fl_set_font_name(fltk3::Font n,const char* s) {fltk3::set_font(n,s);}
 
 inline void fl_mapcolor(Fl_Color c, uchar r, uchar g, uchar b) {fltk3::set_color(c,r,g,b);}
 
@@ -381,8 +381,8 @@
 ////////////////////////////////////////////////////////////////
 // Forms classes:
 
-inline Fl_Widget* fl_add_new(Fl_Widget* p) {return p;}
-inline Fl_Widget* fl_add_new(uchar t,Fl_Widget* p) {p->type(t); return p;}
+inline fltk3::Widget* fl_add_new(fltk3::Widget* p) {return p;}
+inline fltk3::Widget* fl_add_new(uchar t,fltk3::Widget* p) {p->type(t); return p;}
 
 #define forms_constructor(type,name) \
 inline type* name(uchar t,int x,int y,int w,int h,const char* l) { \
@@ -397,18 +397,18 @@
 #include "Fl_FormsBitmap.H"
 #define FL_NORMAL_BITMAP fltk3::NO_BOX
 forms_constructorb(Fl_FormsBitmap, fl_add_bitmap)
-inline void fl_set_bitmap_data(Fl_Widget* o, int w, int h, const uchar* b) {
+inline void fl_set_bitmap_data(fltk3::Widget* o, int w, int h, const uchar* b) {
     ((Fl_FormsBitmap*)o)->set(w,h,b);
 }
 
 #include "Fl_FormsPixmap.H"
 #define FL_NORMAL_PIXMAP fltk3::NO_BOX
 forms_constructorb(Fl_FormsPixmap, fl_add_pixmap)
-inline void fl_set_pixmap_data(Fl_Widget* o, char*const* b) {
+inline void fl_set_pixmap_data(fltk3::Widget* o, char*const* b) {
     ((Fl_FormsPixmap*)o)->set(b);
 }
-//inline void fl_set_pixmap_file(Fl_Widget*, const char*);
-inline void fl_set_pixmap_align(Fl_Widget* o,Fl_Align a,int,int) {o->align(a);}
+//inline void fl_set_pixmap_file(fltk3::Widget*, const char*);
+inline void fl_set_pixmap_align(fltk3::Widget* o,Fl_Align a,int,int) {o->align(a);}
 //inline void fl_set_pixmap_colorcloseness(int, int, int);
 
 #include "Box.h"
@@ -417,59 +417,59 @@
 #include "Fl_Browser.H"
 forms_constructor(Fl_Browser, fl_add_browser)
 
-inline void fl_clear_browser(Fl_Widget* o) {
+inline void fl_clear_browser(fltk3::Widget* o) {
     ((Fl_Browser*)o)->clear();}
-inline void fl_add_browser_line(Fl_Widget* o, const char* s) {
+inline void fl_add_browser_line(fltk3::Widget* o, const char* s) {
     ((Fl_Browser*)o)->add(s);}
-inline void fl_addto_browser(Fl_Widget* o, const char* s) {
+inline void fl_addto_browser(fltk3::Widget* o, const char* s) {
     ((Fl_Browser*)o)->add(s);} /* should also scroll to bottom */
-//inline void fl_addto_browser_chars(Fl_Widget*, const char*)
+//inline void fl_addto_browser_chars(fltk3::Widget*, const char*)
 //#define fl_append_browser fl_addto_browser_chars
-inline void fl_insert_browser_line(Fl_Widget* o, int n, const char* s) {
+inline void fl_insert_browser_line(fltk3::Widget* o, int n, const char* s) {
     ((Fl_Browser*)o)->insert(n,s);}
-inline void fl_delete_browser_line(Fl_Widget* o, int n) {
+inline void fl_delete_browser_line(fltk3::Widget* o, int n) {
     ((Fl_Browser*)o)->remove(n);}
-inline void fl_replace_browser_line(Fl_Widget* o, int n, const char* s) {
+inline void fl_replace_browser_line(fltk3::Widget* o, int n, const char* s) {
     ((Fl_Browser*)o)->replace(n,s);}
-inline char* fl_get_browser_line(Fl_Widget* o, int n) {
+inline char* fl_get_browser_line(fltk3::Widget* o, int n) {
     return (char*)(((Fl_Browser*)o)->text(n));}
-inline int fl_load_browser(Fl_Widget* o, const char* f) {
+inline int fl_load_browser(fltk3::Widget* o, const char* f) {
     return ((Fl_Browser*)o)->load(f);}
-inline void fl_select_browser_line(Fl_Widget* o, int n) {
+inline void fl_select_browser_line(fltk3::Widget* o, int n) {
     ((Fl_Browser*)o)->select(n,1);}
-inline void fl_deselect_browser_line(Fl_Widget* o, int n) {
+inline void fl_deselect_browser_line(fltk3::Widget* o, int n) {
     ((Fl_Browser*)o)->select(n,0);}
-inline void fl_deselect_browser(Fl_Widget* o) {
+inline void fl_deselect_browser(fltk3::Widget* o) {
     ((Fl_Browser*)o)->deselect();}
-inline int fl_isselected_browser_line(Fl_Widget* o, int n) {
+inline int fl_isselected_browser_line(fltk3::Widget* o, int n) {
     return ((Fl_Browser*)o)->selected(n);}
-inline int fl_get_browser_topline(Fl_Widget* o) {
+inline int fl_get_browser_topline(fltk3::Widget* o) {
     return ((Fl_Browser*)o)->topline();}
-inline int fl_get_browser(Fl_Widget* o) {
+inline int fl_get_browser(fltk3::Widget* o) {
     return ((Fl_Browser*)o)->value();}
-inline int fl_get_browser_maxline(Fl_Widget* o) {
+inline int fl_get_browser_maxline(fltk3::Widget* o) {
     return ((Fl_Browser*)o)->size();}
-//linline int fl_get_browser_screenlines(Fl_Widget*);
-inline void fl_set_browser_topline(Fl_Widget* o, int n) {
+//linline int fl_get_browser_screenlines(fltk3::Widget*);
+inline void fl_set_browser_topline(fltk3::Widget* o, int n) {
     ((Fl_Browser*)o)->topline(n);}
-inline void fl_set_browser_fontsize(Fl_Widget* o, int s) {
+inline void fl_set_browser_fontsize(fltk3::Widget* o, int s) {
     ((Fl_Browser*)o)->textsize(s);}
-inline void fl_set_browser_fontstyle(Fl_Widget* o, Fl_Font s) {
+inline void fl_set_browser_fontstyle(fltk3::Widget* o, fltk3::Font s) {
     ((Fl_Browser*)o)->textfont(s);}
-inline void fl_set_browser_specialkey(Fl_Widget* o, char c) {
+inline void fl_set_browser_specialkey(fltk3::Widget* o, char c) {
     ((Fl_Browser*)o)->format_char(c);}
-//inline void fl_set_browser_vscrollbar(Fl_Widget*, int);
-//inline void fl_set_browser_hscrollbar(Fl_Widget*, int);
-//inline void fl_set_browser_leftslider(Fl_Widget*, int);
+//inline void fl_set_browser_vscrollbar(fltk3::Widget*, int);
+//inline void fl_set_browser_hscrollbar(fltk3::Widget*, int);
+//inline void fl_set_browser_leftslider(fltk3::Widget*, int);
 //#define fl_set_browser_leftscrollbar fl_set_browser_leftslider
-//inline void fl_set_browser_line_selectable(Fl_Widget*, int, int);
-//inline void fl_get_browser_dimension(Fl_Widget*,int*,int*,int*,int*);
-//inline void fl_set_browser_dblclick_callback(Fl_Widget*,FL_CALLBACKPTR,long);
-//inline void fl_set_browser_xoffset(Fl_Widget*, FL_Coord);
-//inline void fl_set_browser_scrollbarsize(Fl_Widget*, int, int);
-inline void fl_setdisplayed_browser_line(Fl_Widget* o, int n, int i) {
+//inline void fl_set_browser_line_selectable(fltk3::Widget*, int, int);
+//inline void fl_get_browser_dimension(fltk3::Widget*,int*,int*,int*,int*);
+//inline void fl_set_browser_dblclick_callback(fltk3::Widget*,FL_CALLBACKPTR,long);
+//inline void fl_set_browser_xoffset(fltk3::Widget*, FL_Coord);
+//inline void fl_set_browser_scrollbarsize(fltk3::Widget*, int, int);
+inline void fl_setdisplayed_browser_line(fltk3::Widget* o, int n, int i) {
     ((Fl_Browser*)o)->display(n,i);}
-inline int fl_isdisplayed_browser_line(Fl_Widget* o, int n) {
+inline int fl_isdisplayed_browser_line(fltk3::Widget* o, int n) {
     return ((Fl_Browser*)o)->displayed(n);}
 
 #include "Fl_Button.H"
@@ -483,10 +483,10 @@
 #define FL_MENU_BUTTON		9
 
 FL_EXPORT Fl_Button* fl_add_button(uchar t,int x,int y,int w,int h,const char* l);
-inline int fl_get_button(Fl_Widget* b) {return ((Fl_Button*)b)->value();}
-inline void fl_set_button(Fl_Widget* b, int v) {((Fl_Button*)b)->value(v);}
-inline int fl_get_button_numb(Fl_Widget*) {return fltk3::event_button();}
-inline void fl_set_button_shortcut(Fl_Widget* b, const char* s,int=0) {
+inline int fl_get_button(fltk3::Widget* b) {return ((Fl_Button*)b)->value();}
+inline void fl_set_button(fltk3::Widget* b, int v) {((Fl_Button*)b)->value(v);}
+inline int fl_get_button_numb(fltk3::Widget*) {return fltk3::event_button();}
+inline void fl_set_button_shortcut(fltk3::Widget* b, const char* s,int=0) {
     ((Fl_Button*)b)->shortcut(s);}
 //#define fl_set_object_shortcut(b,s) fl_set_button_shortcut(b,s)
 
@@ -500,12 +500,12 @@
 #include "Fl_Check_Button.H"
 forms_constructor(Fl_Check_Button, fl_add_checkbutton)
 
-inline Fl_Widget* fl_add_bitmapbutton(int t,int x,int y,int w,int h,const char* l) {Fl_Widget* o = fl_add_button(t,x,y,w,h,l); return o;}
-inline void fl_set_bitmapbutton_data(Fl_Widget* o,int a,int b,uchar* c) {
+inline fltk3::Widget* fl_add_bitmapbutton(int t,int x,int y,int w,int h,const char* l) {fltk3::Widget* o = fl_add_button(t,x,y,w,h,l); return o;}
+inline void fl_set_bitmapbutton_data(fltk3::Widget* o,int a,int b,uchar* c) {
   (new Fl_Bitmap(c,a,b))->label(o);}  // does not delete old Fl_Bitmap!
 
-inline Fl_Widget* fl_add_pixmapbutton(int t,int x,int y,int w,int h,const char* l) {Fl_Widget* o = fl_add_button(t,x,y,w,h,l); return o;}
-inline void fl_set_pixmapbutton_data(Fl_Widget* o, const char*const* c) {
+inline fltk3::Widget* fl_add_pixmapbutton(int t,int x,int y,int w,int h,const char* l) {fltk3::Widget* o = fl_add_button(t,x,y,w,h,l); return o;}
+inline void fl_set_pixmapbutton_data(fltk3::Widget* o, const char*const* c) {
   (new Fl_Pixmap(c))->label(o);}  // does not delete old Fl_Pixmap!
 
 // Fl_Canvas object not yet implemented!
@@ -513,25 +513,25 @@
 #include "Fl_Chart.H"
 
 forms_constructor(Fl_Chart, fl_add_chart)
-inline void fl_clear_chart(Fl_Widget* o) {
+inline void fl_clear_chart(fltk3::Widget* o) {
   ((Fl_Chart*)o)->clear();}
-inline void fl_add_chart_value(Fl_Widget* o,double v,const char* s,uchar c){
+inline void fl_add_chart_value(fltk3::Widget* o,double v,const char* s,uchar c){
   ((Fl_Chart*)o)->add(v,s,c);}
-inline void fl_insert_chart_value(Fl_Widget* o, int i, double v, const char* s, uchar c) {
+inline void fl_insert_chart_value(fltk3::Widget* o, int i, double v, const char* s, uchar c) {
   ((Fl_Chart*)o)->insert(i,v,s,c);}
-inline void fl_replace_chart_value(Fl_Widget* o, int i, double v, const char* s, uchar c) {
+inline void fl_replace_chart_value(fltk3::Widget* o, int i, double v, const char* s, uchar c) {
   ((Fl_Chart*)o)->replace(i,v,s,c);}
-inline void fl_set_chart_bounds(Fl_Widget* o, double a, double b) {
+inline void fl_set_chart_bounds(fltk3::Widget* o, double a, double b) {
   ((Fl_Chart*)o)->bounds(a,b);}
-inline void fl_set_chart_maxnumb(Fl_Widget* o, int v) {
+inline void fl_set_chart_maxnumb(fltk3::Widget* o, int v) {
   ((Fl_Chart*)o)->maxsize(v);}
-inline void fl_set_chart_autosize(Fl_Widget* o, int v) {
+inline void fl_set_chart_autosize(fltk3::Widget* o, int v) {
   ((Fl_Chart*)o)->autosize(v);}
-inline void fl_set_chart_lstyle(Fl_Widget* o, Fl_Font v) {
+inline void fl_set_chart_lstyle(fltk3::Widget* o, fltk3::Font v) {
   ((Fl_Chart*)o)->textfont(v);}
-inline void fl_set_chart_lsize(Fl_Widget* o, int v) {
+inline void fl_set_chart_lsize(fltk3::Widget* o, int v) {
   ((Fl_Chart*)o)->textsize(v);}
-inline void fl_set_chart_lcolor(Fl_Widget* o, Fl_Color v) {
+inline void fl_set_chart_lcolor(fltk3::Widget* o, Fl_Color v) {
   ((Fl_Chart*)o)->textcolor(v);}
 #define fl_set_chart_lcol   fl_set_chart_lcolor
 
@@ -542,33 +542,33 @@
 #define FL_DROPLIST_CHOICE	0
 
 forms_constructor(Fl_Choice, fl_add_choice)
-inline void fl_clear_choice(Fl_Widget* o) {
+inline void fl_clear_choice(fltk3::Widget* o) {
     ((Fl_Choice*)o)->clear();}
-inline void fl_addto_choice(Fl_Widget* o, const char* s) {
+inline void fl_addto_choice(fltk3::Widget* o, const char* s) {
     ((Fl_Choice*)o)->add(s);}
-inline void fl_replace_choice(Fl_Widget* o, int i, const char* s) {
+inline void fl_replace_choice(fltk3::Widget* o, int i, const char* s) {
     ((Fl_Choice*)o)->replace(i-1,s);}
-inline void fl_delete_choice(Fl_Widget* o, int i) {
+inline void fl_delete_choice(fltk3::Widget* o, int i) {
     ((Fl_Choice*)o)->remove(i-1);}
-inline void fl_set_choice(Fl_Widget* o, int i) {
+inline void fl_set_choice(fltk3::Widget* o, int i) {
     ((Fl_Choice*)o)->value(i-1);}
-// inline void fl_set_choice_text(Fl_Widget*, const char*);
-inline int fl_get_choice(Fl_Widget* o) {
+// inline void fl_set_choice_text(fltk3::Widget*, const char*);
+inline int fl_get_choice(fltk3::Widget* o) {
     return ((Fl_Choice*)o)->value()+1;}
-// inline const char* fl_get_choice_item_text(Fl_Widget*, int);
-// inline int fl_get_choice_maxitems(Fl_Widget*);
-inline const char* fl_get_choice_text(Fl_Widget* o) {
+// inline const char* fl_get_choice_item_text(fltk3::Widget*, int);
+// inline int fl_get_choice_maxitems(fltk3::Widget*);
+inline const char* fl_get_choice_text(fltk3::Widget* o) {
     return ((Fl_Choice*)o)->text();}
-inline void fl_set_choice_fontsize(Fl_Widget* o, int x) {
+inline void fl_set_choice_fontsize(fltk3::Widget* o, int x) {
     ((Fl_Choice*)o)->textsize(x);}
-inline void fl_set_choice_fontstyle(Fl_Widget* o, Fl_Font x) {
+inline void fl_set_choice_fontstyle(fltk3::Widget* o, fltk3::Font x) {
     ((Fl_Choice*)o)->textfont(x);}
-// inline void fl_set_choice_item_mode(Fl_Widget*, int, unsigned);
-// inline void fl_set_choice_item_shortcut(Fl_Widget*, int, const char*);
+// inline void fl_set_choice_item_mode(fltk3::Widget*, int, unsigned);
+// inline void fl_set_choice_item_shortcut(fltk3::Widget*, int, const char*);
 
 #include "Fl_Clock.H"
 forms_constructort(Fl_Clock, fl_add_clock)
-inline void fl_get_clock(Fl_Widget* o, int* h, int* m, int* s) {
+inline void fl_get_clock(fltk3::Widget* o, int* h, int* m, int* s) {
     *h = ((Fl_Clock*)o)->hour();
     *m = ((Fl_Clock*)o)->minute();
     *s = ((Fl_Clock*)o)->second();
@@ -576,23 +576,23 @@
 
 #include "Fl_Counter.H"
 forms_constructor(Fl_Counter, fl_add_counter)
-inline void fl_set_counter_value(Fl_Widget* o, double v) {
+inline void fl_set_counter_value(fltk3::Widget* o, double v) {
     ((Fl_Counter*)o)->value(v);}
-inline void fl_set_counter_bounds(Fl_Widget* o, double a, double b) {
+inline void fl_set_counter_bounds(fltk3::Widget* o, double a, double b) {
     ((Fl_Counter*)o)->bounds(a,b);}
-inline void fl_set_counter_step(Fl_Widget* o, double a, double b) {
+inline void fl_set_counter_step(fltk3::Widget* o, double a, double b) {
     ((Fl_Counter*)o)->step(a,b);}
-inline void fl_set_counter_precision(Fl_Widget* o, int v) {
+inline void fl_set_counter_precision(fltk3::Widget* o, int v) {
     ((Fl_Counter*)o)->precision(v);}
-inline void fl_set_counter_return(Fl_Widget* o, int v) {
+inline void fl_set_counter_return(fltk3::Widget* o, int v) {
     ((Fl_Counter*)o)->when((Fl_When)(v|FL_WHEN_RELEASE));}
-inline double fl_get_counter_value(Fl_Widget* o) {
+inline double fl_get_counter_value(fltk3::Widget* o) {
     return ((Fl_Counter*)o)->value();}
-inline void fl_get_counter_bounds(Fl_Widget* o, float* a, float* b) {
+inline void fl_get_counter_bounds(fltk3::Widget* o, float* a, float* b) {
   *a = float(((Fl_Counter*)o)->minimum());
   *b = float(((Fl_Counter*)o)->maximum());
 }
-//inline void fl_set_counter_filter(Fl_Widget*,const char* (*)(Fl_Widget*,double,int));
+//inline void fl_set_counter_filter(fltk3::Widget*,const char* (*)(fltk3::Widget*,double,int));
 
 // Cursor stuff cannot be emulated because it uses X stuff
 inline void fl_set_cursor(fltk3::Window* w, Fl_Cursor c) {w->cursor(c);}
@@ -605,34 +605,34 @@
 #define FL_DIAL_COL2 37
 
 forms_constructor(Fl_Dial, fl_add_dial)
-inline void fl_set_dial_value(Fl_Widget* o, double v) {
+inline void fl_set_dial_value(fltk3::Widget* o, double v) {
   ((Fl_Dial*)o)->value(v);}
-inline double fl_get_dial_value(Fl_Widget* o) {
+inline double fl_get_dial_value(fltk3::Widget* o) {
   return ((Fl_Dial*)o)->value();}
-inline void fl_set_dial_bounds(Fl_Widget* o, double a, double b) {
+inline void fl_set_dial_bounds(fltk3::Widget* o, double a, double b) {
   ((Fl_Dial*)o)->bounds(a, b);}
-inline void fl_get_dial_bounds(Fl_Widget* o, float* a, float* b) {
+inline void fl_get_dial_bounds(fltk3::Widget* o, float* a, float* b) {
   *a = float(((Fl_Dial*)o)->minimum());
   *b = float(((Fl_Dial*)o)->maximum());
 }
-inline void fl_set_dial_return(Fl_Widget* o, int i) {
+inline void fl_set_dial_return(fltk3::Widget* o, int i) {
   ((Fl_Dial*)o)->when((Fl_When)(i|FL_WHEN_RELEASE));}
-inline void fl_set_dial_angles(Fl_Widget* o, int a, int b) {
+inline void fl_set_dial_angles(fltk3::Widget* o, int a, int b) {
   ((Fl_Dial*)o)->angles((short)a, (short)b);}
-//inline void fl_set_dial_cross(Fl_Widget* o, int);
-// inline void fl_set_dial_direction(Fl_Widget* o, uchar d) {
+//inline void fl_set_dial_cross(fltk3::Widget* o, int);
+// inline void fl_set_dial_direction(fltk3::Widget* o, uchar d) {
 //   ((Fl_Dial*)o)->direction(d);}
-inline void fl_set_dial_step(Fl_Widget* o, double v) {
+inline void fl_set_dial_step(fltk3::Widget* o, double v) {
   ((Fl_Dial*)o)->step(v);}
 
 // Frames:
 
-inline Fl_Widget* fl_add_frame(fltk3::Boxtype i,int x,int y,int w,int h,const char* l) {
+inline fltk3::Widget* fl_add_frame(fltk3::Boxtype i,int x,int y,int w,int h,const char* l) {
   return fl_add_box(i,x-3,y-3,w+6,h+6,l);}
 
 // labelframe nyi
-inline Fl_Widget* fl_add_labelframe(fltk3::Boxtype i,int x,int y,int w,int h,const char* l) {
-  Fl_Widget* o = fl_add_box(i,x-3,y-3,w+6,h+6,l);
+inline fltk3::Widget* fl_add_labelframe(fltk3::Boxtype i,int x,int y,int w,int h,const char* l) {
+  fltk3::Widget* o = fl_add_box(i,x-3,y-3,w+6,h+6,l);
   o->align(FL_ALIGN_TOP_LEFT);
   return o;
 }
@@ -663,7 +663,7 @@
     const char *b1,
     const char *b2);
 
-inline void fl_set_goodies_font(Fl_Font a, Fl_Fontsize b) {fl_message_font(a,b);}
+inline void fl_set_goodies_font(fltk3::Font a, fltk3::Fontsize b) {fl_message_font(a,b);}
 #define fl_show_messages fl_message
 inline int fl_show_choices(const char* c,int n,const char* b1,const char* b2,
 			   const char* b3, int) {
@@ -683,33 +683,33 @@
 
 #include "Fl_Input.H"
 forms_constructor(Fl_Input, fl_add_input)
-inline void fl_set_input(Fl_Widget* o, const char* v) {
+inline void fl_set_input(fltk3::Widget* o, const char* v) {
     ((Fl_Input*)o)->value(v);}
-inline void fl_set_input_return(Fl_Widget* o, int x) {
+inline void fl_set_input_return(fltk3::Widget* o, int x) {
     ((Fl_Input*)o)->when((Fl_When)(x | FL_WHEN_RELEASE));}
-inline void fl_set_input_color(Fl_Widget* o, Fl_Color a, Fl_Color b) {
+inline void fl_set_input_color(fltk3::Widget* o, Fl_Color a, Fl_Color b) {
     ((Fl_Input*)o)->textcolor(a);
     ((Fl_Input*)o)->cursor_color(b);
 }
-// inline void fl_set_input_scroll(Fl_Widget*, int);
-inline void fl_set_input_cursorpos(Fl_Widget* o, int x, int /*y*/) {
+// inline void fl_set_input_scroll(fltk3::Widget*, int);
+inline void fl_set_input_cursorpos(fltk3::Widget* o, int x, int /*y*/) {
   ((Fl_Input*)o)->position(x);}
-// inline void fl_set_input_selected(Fl_Widget*, int);
-// inline void fl_set_input_selected_range(Fl_Widget*, int, int);
-// inline void fl_set_input_maxchars(Fl_Widget*, int);
-// inline void fl_set_input_format(Fl_Widget*, int, int);
-// inline void fl_set_input_hscrollbar(Fl_Widget*, int);
-// inline void fl_set_input_vscrollbar(Fl_Widget*, int);
-// inline void fl_set_input_xoffset(Fl_Widget*, int);
-// inline void fl_set_input_topline(Fl_Widget*, int);
-// inline void fl_set_input_scrollbarsize(Fl_Widget*, int, int);
-// inline int fl_get_input_topline(Fl_Widget*);
-// inline int fl_get_input_screenlines(Fl_Widget*);
-inline int fl_get_input_cursorpos(Fl_Widget* o, int*x, int*y) {
+// inline void fl_set_input_selected(fltk3::Widget*, int);
+// inline void fl_set_input_selected_range(fltk3::Widget*, int, int);
+// inline void fl_set_input_maxchars(fltk3::Widget*, int);
+// inline void fl_set_input_format(fltk3::Widget*, int, int);
+// inline void fl_set_input_hscrollbar(fltk3::Widget*, int);
+// inline void fl_set_input_vscrollbar(fltk3::Widget*, int);
+// inline void fl_set_input_xoffset(fltk3::Widget*, int);
+// inline void fl_set_input_topline(fltk3::Widget*, int);
+// inline void fl_set_input_scrollbarsize(fltk3::Widget*, int, int);
+// inline int fl_get_input_topline(fltk3::Widget*);
+// inline int fl_get_input_screenlines(fltk3::Widget*);
+inline int fl_get_input_cursorpos(fltk3::Widget* o, int*x, int*y) {
   *x = ((Fl_Input*)o)->position(); *y = 0; return *x;}
-// inline int fl_get_input_numberoflines(Fl_Widget*);
-// inline void fl_get_input_format(Fl_Widget*, int*, int*);
-inline const char* fl_get_input(Fl_Widget* o) {return ((Fl_Input*)o)->value();}
+// inline int fl_get_input_numberoflines(fltk3::Widget*);
+// inline void fl_get_input_format(fltk3::Widget*, int*, int*);
+inline const char* fl_get_input(fltk3::Widget* o) {return ((Fl_Input*)o)->value();}
 
 #include "Fl_Menu_Button.H"
 
@@ -719,62 +719,62 @@
 #define FL_PULLDOWN_MENU	2
 forms_constructor(Fl_Menu_Button, fl_add_menu)
 
-inline void fl_clear_menu(Fl_Widget* o) {
+inline void fl_clear_menu(fltk3::Widget* o) {
     ((Fl_Menu_Button*)o)->clear();}
-inline void fl_set_menu(Fl_Widget* o, const char* s) {
+inline void fl_set_menu(fltk3::Widget* o, const char* s) {
     ((Fl_Menu_Button*)o)->clear(); ((Fl_Menu_Button*)o)->add(s);}
-inline void fl_addto_menu(Fl_Widget* o, const char* s) {
+inline void fl_addto_menu(fltk3::Widget* o, const char* s) {
     ((Fl_Menu_Button*)o)->add(s);}
-inline void fl_replace_menu_item(Fl_Widget* o, int i, const char* s) {
+inline void fl_replace_menu_item(fltk3::Widget* o, int i, const char* s) {
     ((Fl_Menu_Button*)o)->replace(i-1,s);}
-inline void fl_delete_menu_item(Fl_Widget* o, int i) {
+inline void fl_delete_menu_item(fltk3::Widget* o, int i) {
     ((Fl_Menu_Button*)o)->remove(i-1);}
-inline void fl_set_menu_item_shortcut(Fl_Widget* o, int i, const char* s) {
+inline void fl_set_menu_item_shortcut(fltk3::Widget* o, int i, const char* s) {
     ((Fl_Menu_Button*)o)->shortcut(i-1,fl_old_shortcut(s));}
-inline void fl_set_menu_item_mode(Fl_Widget* o, int i, long x) {
+inline void fl_set_menu_item_mode(fltk3::Widget* o, int i, long x) {
     ((Fl_Menu_Button*)o)->mode(i-1,x);}
-inline void fl_show_menu_symbol(Fl_Widget*, int ) {
+inline void fl_show_menu_symbol(fltk3::Widget*, int ) {
 /*    ((Fl_Menu_Button*)o)->show_menu_symbol(i); */}
-// inline void fl_set_menu_popup(Fl_Widget*, int);
-inline int fl_get_menu(Fl_Widget* o) {
+// inline void fl_set_menu_popup(fltk3::Widget*, int);
+inline int fl_get_menu(fltk3::Widget* o) {
     return ((Fl_Menu_Button*)o)->value()+1;}
-inline const char* fl_get_menu_item_text(Fl_Widget* o, int i) {
+inline const char* fl_get_menu_item_text(fltk3::Widget* o, int i) {
     return ((Fl_Menu_Button*)o)->text(i);}
-inline int fl_get_menu_maxitems(Fl_Widget* o) {
+inline int fl_get_menu_maxitems(fltk3::Widget* o) {
     return ((Fl_Menu_Button*)o)->size();}
-inline int fl_get_menu_item_mode(Fl_Widget* o, int i) {
+inline int fl_get_menu_item_mode(fltk3::Widget* o, int i) {
     return ((Fl_Menu_Button*)o)->mode(i);}
-inline const char* fl_get_menu_text(Fl_Widget* o) {
+inline const char* fl_get_menu_text(fltk3::Widget* o) {
     return ((Fl_Menu_Button*)o)->text();}
 
 #include "Fl_Positioner.H"
 #define FL_NORMAL_POSITIONER	0
 forms_constructor(Fl_Positioner, fl_add_positioner)
-inline void fl_set_positioner_xvalue(Fl_Widget* o, double v) {
+inline void fl_set_positioner_xvalue(fltk3::Widget* o, double v) {
     ((Fl_Positioner*)o)->xvalue(v);}
-inline double fl_get_positioner_xvalue(Fl_Widget* o) {
+inline double fl_get_positioner_xvalue(fltk3::Widget* o) {
     return ((Fl_Positioner*)o)->xvalue();}
-inline void fl_set_positioner_xbounds(Fl_Widget* o, double a, double b) {
+inline void fl_set_positioner_xbounds(fltk3::Widget* o, double a, double b) {
     ((Fl_Positioner*)o)->xbounds(a,b);}
-inline void fl_get_positioner_xbounds(Fl_Widget* o, float* a, float* b) {
+inline void fl_get_positioner_xbounds(fltk3::Widget* o, float* a, float* b) {
   *a = float(((Fl_Positioner*)o)->xminimum());
   *b = float(((Fl_Positioner*)o)->xmaximum());
 }
-inline void fl_set_positioner_yvalue(Fl_Widget* o, double v) {
+inline void fl_set_positioner_yvalue(fltk3::Widget* o, double v) {
     ((Fl_Positioner*)o)->yvalue(v);}
-inline double fl_get_positioner_yvalue(Fl_Widget* o) {
+inline double fl_get_positioner_yvalue(fltk3::Widget* o) {
     return ((Fl_Positioner*)o)->yvalue();}
-inline void fl_set_positioner_ybounds(Fl_Widget* o, double a, double b) {
+inline void fl_set_positioner_ybounds(fltk3::Widget* o, double a, double b) {
     ((Fl_Positioner*)o)->ybounds(a,b);}
-inline void fl_get_positioner_ybounds(Fl_Widget* o, float* a, float* b) {
+inline void fl_get_positioner_ybounds(fltk3::Widget* o, float* a, float* b) {
   *a = float(((Fl_Positioner*)o)->yminimum());
   *b = float(((Fl_Positioner*)o)->ymaximum());
 }
-inline void fl_set_positioner_xstep(Fl_Widget* o, double v) {
+inline void fl_set_positioner_xstep(fltk3::Widget* o, double v) {
     ((Fl_Positioner*)o)->xstep(v);}
-inline void fl_set_positioner_ystep(Fl_Widget* o, double v) {
+inline void fl_set_positioner_ystep(fltk3::Widget* o, double v) {
     ((Fl_Positioner*)o)->ystep(v);}
-inline void fl_set_positioner_return(Fl_Widget* o, int v) {
+inline void fl_set_positioner_return(fltk3::Widget* o, int v) {
     ((Fl_Positioner*)o)->when((Fl_When)(v|FL_WHEN_RELEASE));}
 
 #include "Fl_Slider.H"
@@ -784,50 +784,50 @@
 
 forms_constructort(Fl_Slider, fl_add_slider)
 #define FL_SLIDER_COL1 FL_GRAY
-inline void fl_set_slider_value(Fl_Widget* o, double v) {
+inline void fl_set_slider_value(fltk3::Widget* o, double v) {
     ((Fl_Slider*)o)->value(v);}
-inline double fl_get_slider_value(Fl_Widget* o) {
+inline double fl_get_slider_value(fltk3::Widget* o) {
     return ((Fl_Slider*)o)->value();}
-inline void fl_set_slider_bounds(Fl_Widget* o, double a, double b) {
+inline void fl_set_slider_bounds(fltk3::Widget* o, double a, double b) {
     ((Fl_Slider*)o)->bounds(a, b);}
-inline void fl_get_slider_bounds(Fl_Widget* o, float* a, float* b) {
+inline void fl_get_slider_bounds(fltk3::Widget* o, float* a, float* b) {
   *a = float(((Fl_Slider*)o)->minimum());
   *b = float(((Fl_Slider*)o)->maximum());
 }
-inline void fl_set_slider_return(Fl_Widget* o, int i) {
+inline void fl_set_slider_return(fltk3::Widget* o, int i) {
     ((Fl_Slider*)o)->when((Fl_When)(i|FL_WHEN_RELEASE));}
-inline void fl_set_slider_step(Fl_Widget* o, double v) {
+inline void fl_set_slider_step(fltk3::Widget* o, double v) {
     ((Fl_Slider*)o)->step(v);}
-// inline void fl_set_slider_increment(Fl_Widget* o, double v, double);
-inline void fl_set_slider_size(Fl_Widget* o, double v) {
+// inline void fl_set_slider_increment(fltk3::Widget* o, double v, double);
+inline void fl_set_slider_size(fltk3::Widget* o, double v) {
     ((Fl_Slider*)o)->slider_size(v);}
 
 #include "Fl_Value_Slider.H"
 forms_constructor(Fl_Value_Slider, fl_add_valslider)
 
-inline void fl_set_slider_precision(Fl_Widget* o, int i) {
+inline void fl_set_slider_precision(fltk3::Widget* o, int i) {
     ((Fl_Value_Slider*)o)->precision(i);}
 // filter function!
 
 // The forms text object was the same as an fltk3::Box except it inverted the
 // meaning of FL_ALIGN_INSIDE.  Implementation in forms.cxx
-class FL_EXPORT Fl_FormsText : public Fl_Widget {
+class FL_EXPORT Fl_FormsText : public fltk3::Widget {
 protected:
     void draw();
 public:
     Fl_FormsText(fltk3::Boxtype b, int X, int Y, int W, int H, const char* l=0)
-	: Fl_Widget(X,Y,W,H,l) {box(b); align(FL_ALIGN_LEFT);}
+	: fltk3::Widget(X,Y,W,H,l) {box(b); align(FL_ALIGN_LEFT);}
 };
 #define FL_NORMAL_TEXT fltk3::NO_BOX
 forms_constructorb(Fl_FormsText, fl_add_text)
 
 #include "Fl_Timer.H"
 forms_constructort(Fl_Timer, fl_add_timer)
-inline void fl_set_timer(Fl_Widget* o, double v) {((Fl_Timer*)o)->value(v);}
-inline double fl_get_timer(Fl_Widget* o) {return ((Fl_Timer*)o)->value();}
-inline void fl_suspend_timer(Fl_Widget* o) {((Fl_Timer*)o)->suspended(1);}
-inline void fl_resume_timer(Fl_Widget* o) {((Fl_Timer*)o)->suspended(0);}
-inline void fl_set_timer_countup(Fl_Widget* o,char d) {((Fl_Timer*)o)->direction(d);}
+inline void fl_set_timer(fltk3::Widget* o, double v) {((Fl_Timer*)o)->value(v);}
+inline double fl_get_timer(fltk3::Widget* o) {return ((Fl_Timer*)o)->value();}
+inline void fl_suspend_timer(fltk3::Widget* o) {((Fl_Timer*)o)->suspended(1);}
+inline void fl_resume_timer(fltk3::Widget* o) {((Fl_Timer*)o)->suspended(0);}
+inline void fl_set_timer_countup(fltk3::Widget* o,char d) {((Fl_Timer*)o)->direction(d);}
 void fl_gettime(long* sec, long* usec);
 
 // Fl_XYPlot nyi

Modified: branches/branch-3.0-2011/fltk3/glut.H
===================================================================
--- branches/branch-3.0-2011/fltk3/glut.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/glut.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -409,7 +409,7 @@
 
 // Font argument must be a void* for compatability, so...
 /** fltk glut font/size attributes used in the glutXXX functions */
-struct Fl_Glut_Bitmap_Font {Fl_Font font; Fl_Fontsize size;};
+struct Fl_Glut_Bitmap_Font {fltk3::Font font; fltk3::Fontsize size;};
 
 extern FL_EXPORT struct Fl_Glut_Bitmap_Font
   glutBitmap9By15, glutBitmap8By13, glutBitmapTimesRoman10,

Modified: branches/branch-3.0-2011/fltk3/mac.H
===================================================================
--- branches/branch-3.0-2011/fltk3/mac.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/mac.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -33,7 +33,7 @@
 #if !defined(Fl_X_H)
 #  error "Never use <fltk3/mac.H> directly; include <fltk3/x.H> instead."
 #endif // !Fl_X_H
-#include <fltk3/Fl_Widget.H>
+#include <fltk3/Widget.h>
 
 typedef void* Window;	    // this is really a pointer to the subclass FLWindow of NSWindow
 typedef void* Fl_Offscreen; // this is really a CGContextRef

Modified: branches/branch-3.0-2011/fltk3/names.h
===================================================================
--- branches/branch-3.0-2011/fltk3/names.h	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/names.h	2011-01-09 19:24:30 UTC (rev 8231)
@@ -85,29 +85,29 @@
   \b Example:
   \code
   #include <fltk3/names.h>		// array will be defined here
-  int MyClass::my_callback(Fl_Widget *w, void*) {
+  int MyClass::my_callback(fltk3::Widget *w, void*) {
       int fnum = w->labelfont();
-      // Resulting output might be e.g. "Label's font is FL_HELVETICA (0)"
+      // Resulting output might be e.g. "Label's font is fltk3::HELVETICA (0)"
       printf("Label's font is %s (%d)\n", fl_fontnames[fnum], fnum);
-      // ..resulting output might be e.g. "Label's font is FL_HELVETICA (0)"..
+      // ..resulting output might be e.g. "Label's font is fltk3::HELVETICA (0)"..
       [..]
   }
   \endcode
  */
 const char * const fl_fontnames[] =
 {
-  "FL_HELVETICA",
-  "FL_HELVETICA_BOLD",
-  "FL_HELVETICA_ITALIC",
-  "FL_HELVETICA_BOLD_ITALIC",
-  "FL_COURIER",
-  "FL_COURIER_BOLD",
-  "FL_COURIER_ITALIC",
-  "FL_COURIER_BOLD_ITALIC",
-  "FL_TIMES",
-  "FL_TIMES_BOLD",
-  "FL_TIMES_ITALIC",
-  "FL_TIMES_BOLD_ITALIC",
+  "fltk3::HELVETICA",
+  "fltk3::HELVETICA_BOLD",
+  "fltk3::HELVETICA_ITALIC",
+  "fltk3::HELVETICA_BOLD_ITALIC",
+  "fltk3::COURIER",
+  "fltk3::COURIER_BOLD",
+  "fltk3::COURIER_ITALIC",
+  "fltk3::COURIER_BOLD_ITALIC",
+  "fltk3::TIMES",
+  "fltk3::TIMES_BOLD",
+  "fltk3::TIMES_ITALIC",
+  "fltk3::TIMES_BOLD_ITALIC",
   "FL_SYMBOL",
   "FL_SCREEN",
   "FL_SCREEN_BOLD",

Modified: branches/branch-3.0-2011/fltk3/run.h
===================================================================
--- branches/branch-3.0-2011/fltk3/run.h	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/fltk3/run.h	2011-01-09 19:24:30 UTC (rev 8231)
@@ -39,7 +39,7 @@
 #  include "fl_utf8.h"
 #  include "Enumerations.H"
 #  ifndef Fl_Object
-#    define Fl_Object Fl_Widget	/**< for back compatibility - use Fl_Widget! */
+#    define Fl_Object fltk3::Widget	/**< for back compatibility - use fltk3::Widget! */
 #  endif
 
 #  ifdef check
@@ -47,12 +47,12 @@
 #  endif
 
 
-class Fl_Widget;
 class Fl_Image;
 struct Fl_Label;
 
 namespace fltk3 {
   class Window;
+  class Widget;
 }
 
 
@@ -131,11 +131,11 @@
   extern int e_keysym;
   extern char* e_text;
   extern int e_length;
-  extern Fl_Widget* belowmouse_;
-  extern Fl_Widget* pushed_;
-  extern Fl_Widget* focus_;
+  extern fltk3::Widget* belowmouse_;
+  extern fltk3::Widget* pushed_;
+  extern fltk3::Widget* focus_;
   extern int damage_;
-  extern Fl_Widget* selection_owner_;
+  extern fltk3::Widget* selection_owner_;
   extern fltk3::Window* modal_;
   extern fltk3::Window* grab_;
   extern int compose_state;
@@ -274,7 +274,7 @@
   int check();
   int ready();
   int run();
-  Fl_Widget* readqueue();
+  fltk3::Widget* readqueue();
   /**
   Adds a one-shot timeout callback.  The function will be called by
   fltk3::wait() at <i>t</i> seconds after this function is called.
@@ -680,22 +680,22 @@
   */
   inline void compose_reset() {compose_state = 0;}
   int event_inside(int,int,int,int);
-  int event_inside(const Fl_Widget*);
+  int event_inside(const fltk3::Widget*);
   int test_shortcut(Fl_Shortcut);
 
   // event destinations:
   int handle(int, fltk3::Window*);
   /**  Gets the widget that is below the mouse. 
-       \see  belowmouse(Fl_Widget*) */
-  inline Fl_Widget* belowmouse() {return belowmouse_;}
-  void belowmouse(Fl_Widget*);
+       \see  belowmouse(fltk3::Widget*) */
+  inline fltk3::Widget* belowmouse() {return belowmouse_;}
+  void belowmouse(fltk3::Widget*);
   /** Gets the widget that is being pushed.
-      \see void pushed(Fl_Widget*) */
-  inline Fl_Widget* pushed()	{return pushed_;}
-  void pushed(Fl_Widget*);
-  /** Gets the current fltk3::focus() widget. \sa fltk3::focus(Fl_Widget*) */
-  inline Fl_Widget* focus()	{return focus_;}
-  void focus(Fl_Widget*);
+      \see void pushed(fltk3::Widget*) */
+  inline fltk3::Widget* pushed()	{return pushed_;}
+  void pushed(fltk3::Widget*);
+  /** Gets the current fltk3::focus() widget. \sa fltk3::focus(fltk3::Widget*) */
+  inline fltk3::Widget* focus()	{return focus_;}
+  void focus(fltk3::Widget*);
   void add_handler(Fl_Event_Handler h);
   void remove_handler(Fl_Event_Handler h);
   /** @} */
@@ -731,7 +731,7 @@
   drag-and-drop selections. The clipboard is used for traditional 
   copy/cut/paste operations.
   */
-  void paste(Fl_Widget &receiver, int source /*=0*/); // platform dependent
+  void paste(fltk3::Widget &receiver, int source /*=0*/); // platform dependent
   /**
     Initiate a Drag And Drop operation. The selection buffer should be
     filled with relevant data before calling this method. FLTK will
@@ -745,11 +745,11 @@
 
   // These are for back-compatibility only:
   /**  back-compatibility only: Gets the widget owning the current selection  
-       \see Fl_Widget* selection_owner(Fl_Widget*) */
-  inline Fl_Widget* selection_owner() {return selection_owner_;}
-  void selection_owner(Fl_Widget*);
-  void selection(Fl_Widget &owner, const char*, int len);
-  void paste(Fl_Widget &receiver);
+       \see fltk3::Widget* selection_owner(fltk3::Widget*) */
+  inline fltk3::Widget* selection_owner() {return selection_owner_;}
+  void selection_owner(fltk3::Widget*);
+  void selection(fltk3::Widget &owner, const char*, int len);
+  void paste(fltk3::Widget &receiver);
 /** @} */
 /** \defgroup  fl_screen  Screen functions
 	fl global screen functions declared in <fltk3/run.h>
@@ -802,7 +802,7 @@
   void	free_color(Fl_Color i, int overlay = 0); // platform dependent
 
   // fonts:
-  const char* get_font(Fl_Font);
+  const char* get_font(fltk3::Font);
   /**
     Get a human-readable string describing the family of this face.  This
     is useful if you are presenting a choice to the user.  There is no
@@ -815,7 +815,7 @@
     forward and back for a set with non-zero attributes, these faces along
     with the face with a zero attribute before them constitute a family.
   */
-  const char* get_font_name(Fl_Font, int* attributes = 0);
+  const char* get_font_name(fltk3::Font, int* attributes = 0);
   /**
     Return an array of sizes in \p sizep.  The return value is the
     length of this array.  The sizes are sorted from smallest to largest
@@ -827,9 +827,9 @@
     points at a static buffer that is overwritten each call.  Under X this
     will open the display.
   */
-  int get_font_sizes(Fl_Font, int*& sizep);
-  void set_font(Fl_Font, const char*);
-  void set_font(Fl_Font, Fl_Font);
+  int get_font_sizes(fltk3::Font, int*& sizep);
+  void set_font(fltk3::Font, const char*);
+  void set_font(fltk3::Font, fltk3::Font);
   /**
     FLTK will open the display, and add every fonts on the server to the
     face table.  It will attempt to put "families" of faces together, so
@@ -848,7 +848,7 @@
     
     The return value is how many faces are in the table after this is done.
   */
-  Fl_Font set_fonts(const char* = 0); // platform dependent
+  fltk3::Font set_fonts(const char* = 0); // platform dependent
 
   /**   @} */
  /** \defgroup  fl_drawings  Drawing functions
@@ -989,7 +989,7 @@
     These functions, declared in <fltk3/run.h>, support deletion of widgets inside callbacks.
 
     fltk3::delete_widget() should be called when deleting widgets
-    or complete widget trees (Fl_Group, fltk3::Window, ...) inside
+    or complete widget trees (fltk3::Group, fltk3::Window, ...) inside
     callbacks.
 
     The other functions are intended for internal use. The preferred
@@ -1014,11 +1014,11 @@
 
    @{ */
   // Widget deletion:
-  void delete_widget(Fl_Widget *w);
+  void delete_widget(fltk3::Widget *w);
   void do_widget_deletion();
-  void watch_widget_pointer(Fl_Widget *&w);
-  void release_widget_pointer(Fl_Widget *&w);
-  void clear_widget_pointer(Fl_Widget const *w);
+  void watch_widget_pointer(fltk3::Widget *&w);
+  void release_widget_pointer(fltk3::Widget *&w);
+  void clear_widget_pointer(fltk3::Widget const *w);
   /** @} */
 
 #ifdef FLTK_HAVE_CAIRO
@@ -1112,11 +1112,11 @@
 */
 class FL_EXPORT Fl_Widget_Tracker {
 
-  Fl_Widget* wp_;
+  fltk3::Widget* wp_;
 
 public:
 
-  Fl_Widget_Tracker(Fl_Widget *wi);
+  Fl_Widget_Tracker(fltk3::Widget *wi);
   ~Fl_Widget_Tracker();
 
   /**
@@ -1124,7 +1124,7 @@
 
     This pointer is \c NULL, if the widget has been deleted.
   */
-  Fl_Widget *widget() {return wp_;}
+  fltk3::Widget *widget() {return wp_;}
 
   /**
     Returns 1, if the watched widget has been deleted.

Modified: branches/branch-3.0-2011/ide/Xcode3/FLTK.xcodeproj/project.pbxproj
===================================================================
--- branches/branch-3.0-2011/ide/Xcode3/FLTK.xcodeproj/project.pbxproj	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/ide/Xcode3/FLTK.xcodeproj/project.pbxproj	2011-01-09 19:24:30 UTC (rev 8231)
@@ -628,9 +628,9 @@
 		C9555EF312DA01B500FFF041 /* Window.h in Headers */ = {isa = PBXBuildFile; fileRef = C9555E5F12DA01B500FFF041 /* Window.h */; };
 		C9555EF412DA01B500FFF041 /* x.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E6012DA01B500FFF041 /* x.H */; };
 		C9555EF512DA01B500FFF041 /* Xutf8.h in Headers */ = {isa = PBXBuildFile; fileRef = C9555E6112DA01B500FFF041 /* Xutf8.h */; };
-		C9555FCE12DA220500FFF041 /* hello.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 4C2EEE3E17025A63A0AEEF5F /* hello.cxx */; };
 		C9555FD012DA220500FFF041 /* fltk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FEB0F8FE6383384180570D94 /* fltk.framework */; };
 		C9555FD212DA220500FFF041 /* fltk.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = FEB0F8FE6383384180570D94 /* fltk.framework */; };
+		C9555FF612DA227B00FFF041 /* hello.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C9555FF512DA227B00FFF041 /* hello.cxx */; };
 		C96290C21274D0CF007D3CFE /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9628FFD1274D0B3007D3CFE /* Cocoa.framework */; };
 		C96290E21274D0EF007D3CFE /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C96290E11274D0EF007D3CFE /* AGL.framework */; };
 		C96290E61274D100007D3CFE /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C96290E51274D100007D3CFE /* OpenGL.framework */; };
@@ -4397,6 +4397,7 @@
 		C9555E6112DA01B500FFF041 /* Xutf8.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Xutf8.h; path = ../../fltk3/Xutf8.h; sourceTree = SOURCE_ROOT; };
 		C9555FD712DA220500FFF041 /* hello.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = hello.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		C9555FEA12DA220600FFF041 /* hello-Info copy.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "hello-Info copy.plist"; path = "plists/hello-Info copy.plist"; sourceTree = "<group>"; };
+		C9555FF512DA227B00FFF041 /* hello.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = hello.cxx; path = ../../test1/hello.cxx; sourceTree = SOURCE_ROOT; };
 		C9628FFD1274D0B3007D3CFE /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
 		C96290E11274D0EF007D3CFE /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = System/Library/Frameworks/AGL.framework; sourceTree = SDKROOT; };
 		C96290E51274D100007D3CFE /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
@@ -5552,6 +5553,7 @@
 				5D444464FCF5714805936107 /* Applications */,
 				188555DBC553F66588792C6B /* Frameworks */,
 				015D2BD894993395B263D6C0 /* Tests */,
+				C9555FF312DA223C00FFF041 /* Tests FLTK 1 */,
 				DCB546B00EC62A9F8CC4181A /* Products */,
 				C9628FFA1274D0A1007D3CFE /* Resources */,
 				C9555FEA12DA220600FFF041 /* hello-Info copy.plist */,
@@ -6253,6 +6255,22 @@
 			name = unittests;
 			sourceTree = "<group>";
 		};
+		C9555FF312DA223C00FFF041 /* Tests FLTK 1 */ = {
+			isa = PBXGroup;
+			children = (
+				C9555FF412DA224A00FFF041 /* Hello */,
+			);
+			name = "Tests FLTK 1";
+			sourceTree = "<group>";
+		};
+		C9555FF412DA224A00FFF041 /* Hello */ = {
+			isa = PBXGroup;
+			children = (
+				C9555FF512DA227B00FFF041 /* hello.cxx */,
+			);
+			name = Hello;
+			sourceTree = "<group>";
+		};
 		C9628FFA1274D0A1007D3CFE /* Resources */ = {
 			isa = PBXGroup;
 			children = (
@@ -8155,9 +8173,9 @@
 			productReference = C9165EAF1291A304003FF4F0 /* utf8.app */;
 			productType = "com.apple.product-type.application";
 		};
-		C9555FC912DA220500FFF041 /* hello copy */ = {
+		C9555FC912DA220500FFF041 /* hello1 */ = {
 			isa = PBXNativeTarget;
-			buildConfigurationList = C9555FD412DA220500FFF041 /* Build configuration list for PBXNativeTarget "hello copy" */;
+			buildConfigurationList = C9555FD412DA220500FFF041 /* Build configuration list for PBXNativeTarget "hello1" */;
 			buildPhases = (
 				C9555FCC12DA220500FFF041 /* Resources */,
 				C9555FCD12DA220500FFF041 /* Sources */,
@@ -8170,7 +8188,7 @@
 			dependencies = (
 				C9555FCA12DA220500FFF041 /* PBXTargetDependency */,
 			);
-			name = "hello copy";
+			name = hello1;
 			productName = hello;
 			productReference = C9555FD712DA220500FFF041 /* hello.app */;
 			productType = "com.apple.product-type.application";
@@ -8560,7 +8578,7 @@
 				C9165EA11291A304003FF4F0 /* unittests */,
 				2BFE084E4D6FAB77DCAF0A83 /* utf8 */,
 				E167C0E81B125EBADAC8ED73 /* valuators */,
-				C9555FC912DA220500FFF041 /* hello copy */,
+				C9555FC912DA220500FFF041 /* hello1 */,
 			);
 		};
 /* End PBXProject section */
@@ -9898,7 +9916,7 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				C9555FCE12DA220500FFF041 /* hello.cxx in Sources */,
+				C9555FF612DA227B00FFF041 /* hello.cxx in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -16414,7 +16432,7 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Debug;
 		};
-		C9555FD412DA220500FFF041 /* Build configuration list for PBXNativeTarget "hello copy" */ = {
+		C9555FD412DA220500FFF041 /* Build configuration list for PBXNativeTarget "hello1" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
 				C9555FD512DA220500FFF041 /* Debug */,

Modified: branches/branch-3.0-2011/ide/Xcode3/plists/hello-Info.plist
===================================================================
--- branches/branch-3.0-2011/ide/Xcode3/plists/hello-Info.plist	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/ide/Xcode3/plists/hello-Info.plist	2011-01-09 19:24:30 UTC (rev 8231)
@@ -6,6 +6,8 @@
 	<string>English</string>
 	<key>CFBundleExecutable</key>
 	<string>${EXECUTABLE_NAME}</string>
+	<key>CFBundleGetInfoString</key>
+	<string>Part of the FLTK library. Please visit www.fltk.org.</string>
 	<key>CFBundleIdentifier</key>
 	<string>org.fltk.hello</string>
 	<key>CFBundleInfoDictionaryVersion</key>
@@ -18,7 +20,5 @@
 	<string>1.0</string>
 	<key>NSHumanReadableCopyright</key>
 	<string>Copyright 1998-2010 by Bill Spitzak and others.</string>
-	<key>CFBundleGetInfoString</key>
-	<string>Part of the FLTK library. Please visit www.fltk.org.</string>
 </dict>
-	</plist>
+</plist>

Modified: branches/branch-3.0-2011/src/Fl.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -67,7 +67,7 @@
 // Globals...
 //
 #ifndef FL_DOXYGEN
-Fl_Widget	*fltk3::belowmouse_,
+fltk3::Widget	*fltk3::belowmouse_,
 		*fltk3::pushed_,
 		*fltk3::focus_,
 		*fltk3::selection_owner_;
@@ -157,7 +157,7 @@
     should always call this rather than doing your own comparison so you
     are consistent about edge effects.
 */
-int fltk3::event_inside(const Fl_Widget *o) /*const*/ {
+int fltk3::event_inside(const fltk3::Widget *o) /*const*/ {
   int mx = e_x - o->x();
   int my = e_y - o->y();
   return (mx >= 0 && mx < o->w() && my >= 0 && my < o->h());
@@ -770,7 +770,7 @@
 
 ////////////////////////////////////////////////////////////////
 
-Fl_Widget* fl_oldfocus; // kludge for Fl_Group...
+fltk3::Widget* fl_oldfocus; // kludge for fltk3::Group...
 
 /**
     Sets the widget that will receive FL_KEYBOARD events.
@@ -782,12 +782,12 @@
     \e test if the widget wants the focus (by it returning non-zero from
     handle()).
     
-    \sa Fl_Widget::take_focus()
+    \sa fltk3::Widget::take_focus()
 */
-void fltk3::focus(Fl_Widget *o) {
+void fltk3::focus(fltk3::Widget *o) {
   if (o && !o->visible_focus()) return;
   if (grab()) return; // don't do anything while grab is on
-  Fl_Widget *p = focus_;
+  fltk3::Widget *p = focus_;
   if (o != p) {
     fltk3::compose_reset();
     focus_ = o;
@@ -826,9 +826,9 @@
     if the widget wants the mouse (by it returning non-zero from 
     handle()).
 */
-void fltk3::belowmouse(Fl_Widget *o) {
+void fltk3::belowmouse(fltk3::Widget *o) {
   if (grab()) return; // don't do anything while grab is on
-  Fl_Widget *p = belowmouse_;
+  fltk3::Widget *p = belowmouse_;
   if (o != p) {
     belowmouse_ = o;
     int old_event = e_number;
@@ -852,13 +852,13 @@
     if the widget wants the mouse (by it returning non-zero from 
     handle()).
 */
- void fltk3::pushed(Fl_Widget *o) {
+ void fltk3::pushed(fltk3::Widget *o) {
   pushed_ = o;
 }
 
-static void nothing(Fl_Widget *) {}
-void (*Fl_Tooltip::enter)(Fl_Widget *) = nothing;
-void (*Fl_Tooltip::exit)(Fl_Widget *) = nothing;
+static void nothing(fltk3::Widget *) {}
+void (*Fl_Tooltip::enter)(fltk3::Widget *) = nothing;
+void (*Fl_Tooltip::exit)(fltk3::Widget *) = nothing;
 
 // Update modal(), focus() and other state according to system state,
 // and send FL_ENTER, FL_LEAVE, FL_FOCUS, and/or FL_UNFOCUS events.
@@ -875,7 +875,7 @@
   if (fltk3::grab()) return; // don't do anything while grab is on.
 
   // set focus based on fltk3::modal() and fl_xfocus
-  Fl_Widget* w = fl_xfocus;
+  fltk3::Widget* w = fl_xfocus;
   if (w) {
     int saved = fltk3::e_keysym;
     if (fltk3::e_keysym < (FL_Button + FL_LEFT_MOUSE) ||
@@ -918,18 +918,18 @@
 }
 
 #if !(defined(WIN32) || defined(__APPLE__))
-extern Fl_Widget *fl_selection_requestor; // from Fl_x.cxx
+extern fltk3::Widget *fl_selection_requestor; // from Fl_x.cxx
 #endif
 
-// This function is called by ~Fl_Widget() and by Fl_Widget::deactivate
-// and by Fl_Widget::hide().  It indicates that the widget does not want
+// This function is called by ~Fl_Widget() and by fltk3::Widget::deactivate
+// and by fltk3::Widget::hide().  It indicates that the widget does not want
 // to receive any more events, and also removes all global variables that
 // point at the widget.
 // I changed this from the 1.0.1 behavior, the older version could send
 // FL_LEAVE or FL_UNFOCUS events to the widget.  This appears to not be
 // desirable behavior and caused flwm to crash.
 
-void fl_throw_focus(Fl_Widget *o) {
+void fl_throw_focus(fltk3::Widget *o) {
 #ifdef DEBUG
   printf("fl_throw_focus(o=%p)\n", o);
 #endif // DEBUG
@@ -952,7 +952,7 @@
 // Call to->handle but first replace the mouse x/y with the correct
 // values to account for nested X windows. 'window' is the outermost
 // window the event was posted to by X:
-static int send(int event, Fl_Widget* to, fltk3::Window* window) {
+static int send(int event, fltk3::Widget* to, fltk3::Window* window) {
   int dx, dy;
   int old_event = fltk3::e_number;
   if (window) {
@@ -961,7 +961,7 @@
   } else {
     dx = dy = 0;
   }
-  for (const Fl_Widget* w = to; w; w = w->parent())
+  for (const fltk3::Widget* w = to; w; w = w->parent())
     if (w->type()>=FL_WINDOW) {dx -= w->x(); dy -= w->y();}
   int save_x = fltk3::e_x; fltk3::e_x += dx;
   int save_y = fltk3::e_y; fltk3::e_y += dy;
@@ -981,7 +981,7 @@
   e_number = e;
   if (fl_local_grab) return fl_local_grab(e);
 
-  Fl_Widget* wi = window;
+  fltk3::Widget* wi = window;
 
   switch (e) {
 
@@ -991,11 +991,11 @@
     return 1;
 
   case FL_SHOW:
-    wi->Fl_Widget::show(); // this calls Fl_Widget::show(), not fltk3::Window::show()
+    wi->fltk3::Widget::show(); // this calls fltk3::Widget::show(), not fltk3::Window::show()
     return 1;
 
   case FL_HIDE:
-    wi->Fl_Widget::hide(); // this calls Fl_Widget::hide(), not fltk3::Window::hide()
+    wi->fltk3::Widget::hide(); // this calls fltk3::Widget::hide(), not fltk3::Window::hide()
     return 1;
 
   case FL_PUSH:
@@ -1039,7 +1039,7 @@
     if (modal() && wi != modal()) wi = 0;
     if (grab()) wi = grab();
     { int ret;
-      Fl_Widget* pbm = belowmouse();
+      fltk3::Widget* pbm = belowmouse();
 #ifdef __APPLE__
       if (fl_mac_os_version < 0x1050) {
         // before 10.5, mouse moved events aren't sent to borderless windows such as tooltips
@@ -1105,7 +1105,7 @@
     printf("fltk3::handle(e=%d, window=%p);\n", e, window);
 #endif // DEBUG
 
-    Fl_Tooltip::enter((Fl_Widget*)0);
+    Fl_Tooltip::enter((fltk3::Widget*)0);
 
     fl_xfocus = window; // this should not happen!  But maybe it does:
 
@@ -1343,7 +1343,7 @@
 	// unmap because when the parent window is remapped we don't
 	// want to reappear.
 	if (visible()) {
-	 Fl_Widget* p = parent(); for (;p->visible();p = p->parent()) {}
+	 fltk3::Widget* p = parent(); for (;p->visible();p = p->parent()) {}
 	 if (p->type() >= FL_WINDOW) break; // don't do the unmap
 	}
 #if defined(USE_X11) || defined(WIN32)
@@ -1360,7 +1360,7 @@
 //    Fl_Tooltip::exit(Fl_Tooltip::current());
   }
 
-  return Fl_Group::handle(ev);
+  return fltk3::Group::handle(ev);
 }
 
 ////////////////////////////////////////////////////////////////
@@ -1378,7 +1378,7 @@
     by a callback function.  The current interface will be emulated on top
     of this.</i>
 */
-void fltk3::selection_owner(Fl_Widget *owner) {selection_owner_ = owner;}
+void fltk3::selection_owner(fltk3::Widget *owner) {selection_owner_ = owner;}
 
 /**
   Changes the current selection.  The block of text is
@@ -1387,15 +1387,15 @@
   returned by event_text()).  The selection_owner()
   widget is set to the passed owner.
 */
-void fltk3::selection(Fl_Widget &owner, const char* text, int len) {
+void fltk3::selection(fltk3::Widget &owner, const char* text, int len) {
   selection_owner_ = &owner;
   fltk3::copy(text, len, 0);
 }
 
 /** Backward compatibility only:
-  \see fltk3::paste(Fl_Widget &receiver, int clipboard)
+  \see fltk3::paste(fltk3::Widget &receiver, int clipboard)
 */
-void fltk3::paste(Fl_Widget &receiver) {
+void fltk3::paste(fltk3::Widget &receiver) {
   fltk3::paste(receiver, 0);
 }
 
@@ -1403,11 +1403,11 @@
 
 #include <fltk3/fl_draw.H>
 
-void Fl_Widget::redraw() {
+void fltk3::Widget::redraw() {
   damage(FL_DAMAGE_ALL);
 }
 
-void Fl_Widget::redraw_label() {
+void fltk3::Widget::redraw_label() {
   if (window()) {
     if (box() == fltk3::NO_BOX) {
       // Widgets with the fltk3::NO_BOX boxtype need a parent to
@@ -1464,7 +1464,7 @@
   }
 }
 
-void Fl_Widget::damage(uchar fl) {
+void fltk3::Widget::damage(uchar fl) {
   if (type() < FL_WINDOW) {
     // damage only the rectangle covered by a child widget:
     damage(fl, x(), y(), w(), h());
@@ -1478,8 +1478,8 @@
   }
 }
 
-void Fl_Widget::damage(uchar fl, int X, int Y, int W, int H) {
-  Fl_Widget* wi = this;
+void fltk3::Widget::damage(uchar fl, int X, int Y, int W, int H) {
+  fltk3::Widget* wi = this;
   // mark all parent widgets between this and window with FL_DAMAGE_CHILD:
   while (wi->type() < FL_WINDOW) {
     wi->damage_ |= fl;
@@ -1555,7 +1555,7 @@
 //
 
 static int		num_dwidgets = 0, alloc_dwidgets = 0;
-static Fl_Widget	**dwidgets = 0;
+static fltk3::Widget	**dwidgets = 0;
 
 /** 
   Schedules a widget for deletion at the next call to the event loop.
@@ -1575,17 +1575,17 @@
   \note In FLTK 1.1 you \b must remove widgets from their parent group
   (or window) before deleting them.
 
-  \see Fl_Widget::~Fl_Widget()
+  \see fltk3::Widget::~Fl_Widget()
 */
-void fltk3::delete_widget(Fl_Widget *wi) {
+void fltk3::delete_widget(fltk3::Widget *wi) {
   if (!wi) return;
 
   if (num_dwidgets >= alloc_dwidgets) {
-    Fl_Widget	**temp;
+    fltk3::Widget	**temp;
 
-    temp = new Fl_Widget *[alloc_dwidgets + 10];
+    temp = new fltk3::Widget *[alloc_dwidgets + 10];
     if (alloc_dwidgets) {
-      memcpy(temp, dwidgets, alloc_dwidgets * sizeof(Fl_Widget *));
+      memcpy(temp, dwidgets, alloc_dwidgets * sizeof(fltk3::Widget *));
       delete[] dwidgets;
     }
 
@@ -1606,7 +1606,7 @@
     you call fltk3::wait(). The previously scheduled widgets are deleted in the
     same order they were scheduled by calling fltk3::delete_widget().
 
-    \see fltk3::delete_widget(Fl_Widget *wi)
+    \see fltk3::delete_widget(fltk3::Widget *wi)
 */
 void fltk3::do_widget_deletion() {
   if (!num_dwidgets) return;
@@ -1617,7 +1617,7 @@
   num_dwidgets = 0;
 }
 
-static Fl_Widget ***widget_watch = 0;
+static fltk3::Widget ***widget_watch = 0;
 static int num_widget_watch = 0;
 static int max_widget_watch = 0;
 
@@ -1639,7 +1639,7 @@
 
   Example for a button that is clicked (from its handle() method):
   \code
-    Fl_Widget *wp = this;		// save 'this' in a pointer variable
+    fltk3::Widget *wp = this;		// save 'this' in a pointer variable
     fltk3::watch_widget_pointer(wp);	// add the pointer to the watch list
     set_changed();			// set the changed flag
     do_callback();			// call the callback
@@ -1666,16 +1666,16 @@
 
    \see class Fl_Widget_Tracker
 */
-void fltk3::watch_widget_pointer(Fl_Widget *&w) 
+void fltk3::watch_widget_pointer(fltk3::Widget *&w) 
 {
-  Fl_Widget **wp = &w;
+  fltk3::Widget **wp = &w;
   int i;
   for (i=0; i<num_widget_watch; ++i) {
     if (widget_watch[i]==wp) return;
   }
   if (num_widget_watch==max_widget_watch) {
     max_widget_watch += 8;
-    widget_watch = (Fl_Widget***)realloc(widget_watch, sizeof(Fl_Widget**)*max_widget_watch);
+    widget_watch = (fltk3::Widget***)realloc(widget_watch, sizeof(fltk3::Widget**)*max_widget_watch);
   }
   widget_watch[num_widget_watch++] = wp;
 #ifdef DEBUG_WATCH
@@ -1695,9 +1695,9 @@
 
   \see fltk3::watch_widget_pointer()
 */
-void fltk3::release_widget_pointer(Fl_Widget *&w)
+void fltk3::release_widget_pointer(fltk3::Widget *&w)
 {
-  Fl_Widget **wp = &w;
+  fltk3::Widget **wp = &w;
   int i,j=0;
   for (i=0; i<num_widget_watch; ++i) {
     if (widget_watch[i]!=wp) {
@@ -1734,7 +1734,7 @@
   \see fltk3::watch_widget_pointer()
   \see class Fl_Widget_Tracker
 */
-void fltk3::clear_widget_pointer(Fl_Widget const *w) 
+void fltk3::clear_widget_pointer(fltk3::Widget const *w) 
 {
   if (w==0L) return;
   int i;
@@ -1835,7 +1835,7 @@
 /**
   The constructor adds a widget to the watch list.
 */
-Fl_Widget_Tracker::Fl_Widget_Tracker(Fl_Widget *wi) 
+Fl_Widget_Tracker::Fl_Widget_Tracker(fltk3::Widget *wi) 
 {
   wp_ = wi;
   fltk3::watch_widget_pointer(wp_); // add pointer to watch list

Modified: branches/branch-3.0-2011/src/Fl_Bitmap.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Bitmap.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Bitmap.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -34,7 +34,7 @@
 #include <fltk3/run.h>
 #include <fltk3/x.H>
 #include <fltk3/fl_draw.H>
-#include <fltk3/Fl_Widget.H>
+#include <fltk3/Widget.h>
 #include <fltk3/Fl_Menu_Item.H>
 #include <fltk3/Fl_Bitmap.H>
 #include <fltk3/Fl_Printer.H>
@@ -390,7 +390,7 @@
   }
 }
 
-void Fl_Bitmap::label(Fl_Widget* widget) {
+void Fl_Bitmap::label(fltk3::Widget* widget) {
   widget->image(this);
 }
 

Modified: branches/branch-3.0-2011/src/Fl_Box.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Box.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Box.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl_Widget.H>
+#include <fltk3/Widget.h>
 #include <fltk3/Box.h>
 
 void fltk3::Box::draw() {

Modified: branches/branch-3.0-2011/src/Fl_Browser.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Browser.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Browser.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -378,7 +378,7 @@
     long int dummy;
     // do each column separately as they may all set different fonts:
     for (char* str = l->txt; str && *str; str++) {
-      Fl_Font font = textfont(); // default font
+      fltk3::Font font = textfont(); // default font
       int tsize = textsize(); // default size
       while (*str==format_char()) {
 	str++;
@@ -386,12 +386,12 @@
 	case 'l': case 'L': tsize = 24; break;
 	case 'm': case 'M': tsize = 18; break;
 	case 's': tsize = 11; break;
-	case 'b': font = (Fl_Font)(font|fltk3::BOLD); break;
-	case 'i': font = (Fl_Font)(font|fltk3::ITALIC); break;
-	case 'f': case 't': font = FL_COURIER; break;
+	case 'b': font = (fltk3::Font)(font|fltk3::BOLD); break;
+	case 'i': font = (fltk3::Font)(font|fltk3::ITALIC); break;
+	case 'f': case 't': font = fltk3::COURIER; break;
 	case 'B':
 	case 'C': dummy = strtol(str, &str, 10); break;// skip a color number
-	case 'F': font = (Fl_Font)strtol(str,&str,10); break;
+	case 'F': font = (fltk3::Font)strtol(str,&str,10); break;
 	case 'S': tsize = strtol(str,&str,10); break;
 	case 0: case '@': str--;
 	case '.': goto END_FORMAT;
@@ -439,7 +439,7 @@
 
   // OK, we gotta parse the string and find the string width...
   int tsize = textsize();
-  Fl_Font font = textfont();
+  fltk3::Font font = textfont();
   int done = 0;
 
   while (*str == format_char_ && str[1] && str[1] != format_char_) {
@@ -449,12 +449,12 @@
     case 'l': case 'L': tsize = 24; break;
     case 'm': case 'M': tsize = 18; break;
     case 's': tsize = 11; break;
-    case 'b': font = (Fl_Font)(font|fltk3::BOLD); break;
-    case 'i': font = (Fl_Font)(font|fltk3::ITALIC); break;
-    case 'f': case 't': font = FL_COURIER; break;
+    case 'b': font = (fltk3::Font)(font|fltk3::BOLD); break;
+    case 'i': font = (fltk3::Font)(font|fltk3::ITALIC); break;
+    case 'f': case 't': font = fltk3::COURIER; break;
     case 'B':
     case 'C': dummy = strtol(str, &str, 10); break;// skip a color number
-    case 'F': font = (Fl_Font)strtol(str, &str, 10); break;
+    case 'F': font = (fltk3::Font)strtol(str, &str, 10); break;
     case 'S': tsize = strtol(str, &str, 10); break;
     case '.':
       done = 1;
@@ -530,7 +530,7 @@
       }
     }
     int tsize = textsize();
-    Fl_Font font = textfont();
+    fltk3::Font font = textfont();
     Fl_Color lcol = textcolor();
     Fl_Align talign = FL_ALIGN_LEFT;
     // check for all the @-lines recognized by XForms:
@@ -543,9 +543,9 @@
       case 'l': case 'L': tsize = 24; break;
       case 'm': case 'M': tsize = 18; break;
       case 's': tsize = 11; break;
-      case 'b': font = (Fl_Font)(font|fltk3::BOLD); break;
-      case 'i': font = (Fl_Font)(font|fltk3::ITALIC); break;
-      case 'f': case 't': font = FL_COURIER; break;
+      case 'b': font = (fltk3::Font)(font|fltk3::BOLD); break;
+      case 'i': font = (fltk3::Font)(font|fltk3::ITALIC); break;
+      case 'f': case 't': font = fltk3::COURIER; break;
       case 'c': talign = FL_ALIGN_CENTER; break;
       case 'r': talign = FL_ALIGN_RIGHT; break;
       case 'B': 
@@ -558,7 +558,7 @@
 	lcol = (Fl_Color)strtol(str, &str, 10);
 	break;
       case 'F':
-	font = (Fl_Font)strtol(str, &str, 10);
+	font = (fltk3::Font)strtol(str, &str, 10);
 	break;
       case 'N':
 	lcol = FL_INACTIVE_COLOR;

Modified: branches/branch-3.0-2011/src/Fl_Browser_.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Browser_.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Browser_.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -29,7 +29,7 @@
 
 #include <stdio.h>
 #include <fltk3/run.h>
-#include <fltk3/Fl_Widget.H>
+#include <fltk3/Widget.h>
 #include <fltk3/Fl_Browser_.H>
 #include <fltk3/fl_draw.H>
 
@@ -59,11 +59,11 @@
    4 = redraw all items
 */
 
-static void scrollbar_callback(Fl_Widget* s, void*) {
+static void scrollbar_callback(fltk3::Widget* s, void*) {
   ((Fl_Browser_*)(s->parent()))->position(int(((Fl_Scrollbar*)s)->value()));
 }
 
-static void hscrollbar_callback(Fl_Widget* s, void*) {
+static void hscrollbar_callback(fltk3::Widget* s, void*) {
   ((Fl_Browser_*)(s->parent()))->hposition(int(((Fl_Scrollbar*)s)->value()));
 }
 
@@ -106,14 +106,14 @@
 
 // The scrollbars may be moved again by draw(), since each one's size
 // depends on whether the other is visible or not.  This skips over
-// Fl_Group::resize since it moves the scrollbars uselessly.
+// fltk3::Group::resize since it moves the scrollbars uselessly.
 /**
   Repositions and/or resizes the browser.
   \param[in] X,Y,W,H The new position and size for the browser, in pixels.
 */
 void Fl_Browser_::resize(int X, int Y, int W, int H) {
   int scrollsize = scrollbar_size_ ? scrollbar_size_ : fltk3::scrollbar_size();
-  Fl_Widget::resize(X, Y, W, H);
+  fltk3::Widget::resize(X, Y, W, H);
   // move the scrollbars so they can respond to events:
   bbox(X,Y,W,H);
   scrollbar.resize(
@@ -773,7 +773,7 @@
     }
   }
   
-  if (Fl_Group::handle(event)) return 1;
+  if (fltk3::Group::handle(event)) return 1;
   if (wp.deleted()) return 1;
 
   int X, Y, W, H; bbox(X, Y, W, H);
@@ -958,7 +958,7 @@
   \param[in] L The label string, may be NULL.
 */
 Fl_Browser_::Fl_Browser_(int X, int Y, int W, int H, const char* L)
-  : Fl_Group(X, Y, W, H, L),
+  : fltk3::Group(X, Y, W, H, L),
     scrollbar(0, 0, 0, 0, 0), // they will be resized by draw()
     hscrollbar(0, 0, 0, 0, 0)
 {
@@ -975,7 +975,7 @@
 //scrollbar.align(FL_ALIGN_LEFT|FL_ALIGN_BOTTOM); // back compatibility?
   hscrollbar.callback(hscrollbar_callback);
   hscrollbar.type(FL_HORIZONTAL);
-  textfont_ = FL_HELVETICA;
+  textfont_ = fltk3::HELVETICA;
   textsize_ = FL_NORMAL_SIZE;
   textcolor_ = FL_FOREGROUND_COLOR;
   has_scrollbar_ = BOTH;

Modified: branches/branch-3.0-2011/src/Fl_Button.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Button.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Button.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -27,7 +27,7 @@
 
 #include <fltk3/run.h>
 #include <fltk3/Fl_Button.H>
-#include <fltk3/Fl_Group.H>
+#include <fltk3/Group.H>
 #include <fltk3/Window.h>
 
 
@@ -64,10 +64,10 @@
  */
 void Fl_Button::setonly() { // set this radio button on, turn others off
   value(1);
-  Fl_Group* g = parent();
-  Fl_Widget*const* a = g->array();
+  fltk3::Group* g = parent();
+  fltk3::Widget*const* a = g->array();
   for (int i = g->children(); i--;) {
-    Fl_Widget* o = *a++;
+    fltk3::Widget* o = *a++;
     if (o != this && o->type()==FL_RADIO_BUTTON) ((Fl_Button*)o)->value(0);
   }
 }
@@ -205,7 +205,7 @@
   \param[in] L widget label, default is no label
  */
 Fl_Button::Fl_Button(int X, int Y, int W, int H, const char *L)
-: Fl_Widget(X,Y,W,H,L) {
+: fltk3::Widget(X,Y,W,H,L) {
   box(fltk3::UP_BOX);
   down_box(fltk3::NO_BOX);
   value_ = oldval = 0;

Modified: branches/branch-3.0-2011/src/Fl_Chart.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Chart.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Chart.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -292,7 +292,7 @@
   \param[in] L widget label, default is no label
  */
 Fl_Chart::Fl_Chart(int X, int Y, int W, int H,const char *L) :
-Fl_Widget(X,Y,W,H,L) {
+fltk3::Widget(X,Y,W,H,L) {
   box(fltk3::BORDER_BOX);
   align(FL_ALIGN_BOTTOM);
   numb       = 0;
@@ -300,7 +300,7 @@
   sizenumb   = FL_CHART_MAX;
   autosize_  = 1;
   min = max  = 0;
-  textfont_  = FL_HELVETICA;
+  textfont_  = fltk3::HELVETICA;
   textsize_  = 10;
   textcolor_ = FL_FOREGROUND_COLOR;
   entries    = (FL_CHART_ENTRY *)calloc(sizeof(FL_CHART_ENTRY), FL_CHART_MAX + 1);

Modified: branches/branch-3.0-2011/src/Fl_Choice.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Choice.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Choice.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -130,7 +130,7 @@
 : Fl_Menu_(X,Y,W,H,L) {
   align(FL_ALIGN_LEFT);
   when(FL_WHEN_RELEASE);
-  textfont(FL_HELVETICA);
+  textfont(fltk3::HELVETICA);
   box(fltk3::FLAT_BOX);
   down_box(fltk3::BORDER_BOX);
 }
@@ -191,7 +191,7 @@
     picked(v);
     return 1;
   case FL_SHORTCUT:
-    if (Fl_Widget::test_shortcut()) goto J1;
+    if (fltk3::Widget::test_shortcut()) goto J1;
     v = menu()->test_shortcut();
     if (!v) return 0;
     if (v != mvalue()) redraw();

Modified: branches/branch-3.0-2011/src/Fl_Clock.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Clock.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Clock.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -155,7 +155,7 @@
   \param[in] L widget label, default is no label
  */
 Fl_Clock_Output::Fl_Clock_Output(int X, int Y, int W, int H, const char *L)
-: Fl_Widget(X, Y, W, H, L) {
+: fltk3::Widget(X, Y, W, H, L) {
   box(fltk3::UP_BOX);
   selection_color(fl_gray_ramp(5));
   align(FL_ALIGN_BOTTOM);

Modified: branches/branch-3.0-2011/src/Fl_Color_Chooser.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Color_Chooser.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Color_Chooser.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -429,7 +429,7 @@
 
 ////////////////////////////////////////////////////////////////
 
-void Fl_Color_Chooser::rgb_cb(Fl_Widget* o, void*) {
+void Fl_Color_Chooser::rgb_cb(fltk3::Widget* o, void*) {
   Fl_Color_Chooser* c = (Fl_Color_Chooser*)(o->parent());
   double R = c->rvalue.value();
   double G = c->gvalue.value();
@@ -446,7 +446,7 @@
   if (c->rgb(R,G,B)) c->do_callback();
 }
 
-void Fl_Color_Chooser::mode_cb(Fl_Widget* o, void*) {
+void Fl_Color_Chooser::mode_cb(fltk3::Widget* o, void*) {
   Fl_Color_Chooser* c = (Fl_Color_Chooser*)(o->parent());
   // force them to redraw even if value is the same:
   c->rvalue.value(-1);
@@ -472,7 +472,7 @@
   \param[in] L widget label, default is no label
  */
 Fl_Color_Chooser::Fl_Color_Chooser(int X, int Y, int W, int H, const char* L)
-  : Fl_Group(0,0,195,115,L),
+  : fltk3::Group(0,0,195,115,L),
     huebox(0,0,115,115),
     valuebox(115,0,20,115),
     choice(140,0,55,25),
@@ -497,7 +497,7 @@
   bvalue.callback(rgb_cb);
   choice.callback(mode_cb);
   choice.box(fltk3::THIN_UP_BOX);
-  choice.textfont(FL_HELVETICA_BOLD_ITALIC);
+  choice.textfont(fltk3::HELVETICA_BOLD_ITALIC);
 }
 
 ////////////////////////////////////////////////////////////////
@@ -507,11 +507,11 @@
 #include <fltk3/Box.h>
 #include <fltk3/Fl_Return_Button.H>
 
-class ColorChip : public Fl_Widget {
+class ColorChip : public fltk3::Widget {
   void draw();
 public:
   uchar r,g,b;
-  ColorChip(int X, int Y, int W, int H) : Fl_Widget(X,Y,W,H) {
+  ColorChip(int X, int Y, int W, int H) : fltk3::Widget(X,Y,W,H) {
     box(fltk3::ENGRAVED_FRAME);}
 };
 
@@ -523,7 +523,7 @@
 	   h()-fltk3::box_dh(box()),r,g,b);
 }
 
-static void chooser_cb(Fl_Widget* o, void* vv) {
+static void chooser_cb(fltk3::Widget* o, void* vv) {
   Fl_Color_Chooser* c = (Fl_Color_Chooser*)o;
   ColorChip* v = (ColorChip*)vv;
   v->r = uchar(255*c->r()+.5);
@@ -539,7 +539,7 @@
 //  [in] o is a pointer to okay_button (below) 
 //  [in] p is a pointer to an int to receive the return value (1)
 // closes the fl_color_chooser window
-static void cc_ok_cb (Fl_Widget *o, void *p) {
+static void cc_ok_cb (fltk3::Widget *o, void *p) {
   *((int *)p) = 1; // set return value
   o->window()->hide();
 }
@@ -548,7 +548,7 @@
 //  [in] o is a pointer to cancel_button (below) _or_ the dialog window
 //  [in] p is a pointer to an int to receive the return value (0)
 // closes the fl_color_chooser window
-static void cc_cancel_cb (Fl_Widget *o, void *p) {
+static void cc_cancel_cb (fltk3::Widget *o, void *p) {
   *((int *)p) = 0; // set return value
   if (o->window()) // cancel button
     o->window()->hide();

Modified: branches/branch-3.0-2011/src/Fl_Counter.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Counter.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Counter.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -201,7 +201,7 @@
   Fl_Valuator::step(1, 10);
   lstep_ = 1.0;
   mouseobj = 0;
-  textfont_ = FL_HELVETICA;
+  textfont_ = fltk3::HELVETICA;
   textsize_ = FL_NORMAL_SIZE;
   textcolor_ = FL_FOREGROUND_COLOR;
 }

Modified: branches/branch-3.0-2011/src/Fl_File_Chooser.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_File_Chooser.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_File_Chooser.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -159,15 +159,15 @@
 }
 
 Fl_File_Chooser::Fl_File_Chooser(const char *d, const char *p, int t, const char *title) {
-  Fl_Group *prev_current = Fl_Group::current();
+  fltk3::Group *prev_current = fltk3::Group::current();
   { window = new Fl_Double_Window(490, 380, "Choose File");
     window->callback((Fl_Callback*)cb_window, (void*)(this));
-    { Fl_Group* o = new Fl_Group(10, 10, 470, 25);
+    { fltk3::Group* o = new fltk3::Group(10, 10, 470, 25);
       { showChoice = new Fl_Choice(65, 10, 215, 25, "Show:");
         showChoice->down_box(fltk3::BORDER_BOX);
         showChoice->labelfont(1);
         showChoice->callback((Fl_Callback*)cb_showChoice);
-        Fl_Group::current()->resizable(showChoice);
+        fltk3::Group::current()->resizable(showChoice);
         showChoice->label(show_label);
       } // Fl_Choice* showChoice
       { favoritesButton = new Fl_Menu_Button(290, 10, 155, 25, "Favorites");
@@ -183,7 +183,7 @@
         o->tooltip(new_directory_tooltip);
       } // Fl_Button* newButton
       o->end();
-    } // Fl_Group* o
+    } // fltk3::Group* o
     { Fl_Tile* o = new Fl_Tile(10, 45, 470, 225);
       o->callback((Fl_Callback*)cb_);
       { fileList = new Fl_File_Browser(10, 45, 295, 225);
@@ -197,10 +197,10 @@
         previewBox->align(Fl_Align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE));
       } // fltk3::Box* previewBox
       o->end();
-      Fl_Group::current()->resizable(o);
+      fltk3::Group::current()->resizable(o);
     } // Fl_Tile* o
-    { Fl_Group* o = new Fl_Group(10, 275, 470, 95);
-      { Fl_Group* o = new Fl_Group(10, 275, 470, 20);
+    { fltk3::Group* o = new fltk3::Group(10, 275, 470, 95);
+      { fltk3::Group* o = new fltk3::Group(10, 275, 470, 20);
         { previewButton = new Fl_Check_Button(10, 275, 73, 20, "Preview");
           previewButton->shortcut(0x80070);
           previewButton->down_box(fltk3::DOWN_BOX);
@@ -209,15 +209,15 @@
           previewButton->label(preview_label);
         } // Fl_Check_Button* previewButton
         { fltk3::Box* o = new fltk3::Box(115, 275, 365, 20);
-          Fl_Group::current()->resizable(o);
+          fltk3::Group::current()->resizable(o);
         } // fltk3::Box* o
         o->end();
-      } // Fl_Group* o
+      } // fltk3::Group* o
       { fileName = new Fl_File_Input(115, 300, 365, 35);
         fileName->labelfont(1);
         fileName->callback((Fl_Callback*)cb_fileName);
         fileName->when(FL_WHEN_ENTER_KEY);
-        Fl_Group::current()->resizable(fileName);
+        fltk3::Group::current()->resizable(fileName);
         fileName->when(FL_WHEN_CHANGED | FL_WHEN_ENTER_KEY);
       } // Fl_File_Input* fileName
       { fltk3::Box* o = new fltk3::Box(10, 310, 105, 25, "Filename:");
@@ -225,7 +225,7 @@
         o->align(Fl_Align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE));
         o->label(filename_label);
       } // fltk3::Box* o
-      { Fl_Group* o = new Fl_Group(10, 345, 470, 25);
+      { fltk3::Group* o = new fltk3::Group(10, 345, 470, 25);
         { okButton = new Fl_Return_Button(313, 345, 85, 25, "OK");
           okButton->callback((Fl_Callback*)cb_okButton);
           okButton->label(fl_ok);
@@ -235,12 +235,12 @@
           o->label(fl_cancel);
         } // Fl_Button* cancelButton
         { fltk3::Box* o = new fltk3::Box(10, 345, 30, 25);
-          Fl_Group::current()->resizable(o);
+          fltk3::Group::current()->resizable(o);
         } // fltk3::Box* o
         o->end();
-      } // Fl_Group* o
+      } // fltk3::Group* o
       o->end();
-    } // Fl_Group* o
+    } // fltk3::Group* o
     if (title) window->label(title);
     window->set_modal();
     window->end();
@@ -250,23 +250,23 @@
     { favList = new Fl_File_Browser(10, 10, 300, 95);
       favList->type(2);
       favList->callback((Fl_Callback*)cb_favList);
-      Fl_Group::current()->resizable(favList);
+      fltk3::Group::current()->resizable(favList);
     } // Fl_File_Browser* favList
-    { Fl_Group* o = new Fl_Group(320, 10, 25, 95);
+    { fltk3::Group* o = new fltk3::Group(320, 10, 25, 95);
       { favUpButton = new Fl_Button(320, 10, 25, 25, "@8>");
         favUpButton->callback((Fl_Callback*)cb_favUpButton);
       } // Fl_Button* favUpButton
       { favDeleteButton = new Fl_Button(320, 45, 25, 25, "X");
         favDeleteButton->labelfont(1);
         favDeleteButton->callback((Fl_Callback*)cb_favDeleteButton);
-        Fl_Group::current()->resizable(favDeleteButton);
+        fltk3::Group::current()->resizable(favDeleteButton);
       } // Fl_Button* favDeleteButton
       { favDownButton = new Fl_Button(320, 80, 25, 25, "@2>");
         favDownButton->callback((Fl_Callback*)cb_favDownButton);
       } // Fl_Button* favDownButton
       o->end();
-    } // Fl_Group* o
-    { Fl_Group* o = new Fl_Group(10, 113, 335, 29);
+    } // fltk3::Group* o
+    { fltk3::Group* o = new fltk3::Group(10, 113, 335, 29);
       { favCancelButton = new Fl_Button(273, 115, 72, 25, "Cancel");
         favCancelButton->callback((Fl_Callback*)cb_favCancelButton);
         favCancelButton->label(fl_cancel);
@@ -276,10 +276,10 @@
         favOkButton->label(save_label);
       } // Fl_Return_Button* favOkButton
       { fltk3::Box* o = new fltk3::Box(10, 115, 161, 25);
-        Fl_Group::current()->resizable(o);
+        fltk3::Group::current()->resizable(o);
       } // fltk3::Box* o
       o->end();
-    } // Fl_Group* o
+    } // fltk3::Group* o
     favWindow->label(manage_favorites_label);
     favWindow->set_modal();
     favWindow->size_range(181, 150);
@@ -297,8 +297,8 @@
 int e;
 prefs_.get("preview", e, 1);
 preview(e);
-Fl_Group::current(prev_current);
-  ext_group=(Fl_Widget*)0;
+fltk3::Group::current(prev_current);
+  ext_group=(fltk3::Widget*)0;
 }
 
 Fl_File_Chooser::~Fl_File_Chooser() {
@@ -393,19 +393,19 @@
   return (fileList->textcolor());
 }
 
-void Fl_File_Chooser::textfont(Fl_Font f) {
+void Fl_File_Chooser::textfont(fltk3::Font f) {
   fileList->textfont(f);
 }
 
-Fl_Font Fl_File_Chooser::textfont() {
+fltk3::Font Fl_File_Chooser::textfont() {
   return (fileList->textfont());
 }
 
-void Fl_File_Chooser::textsize(Fl_Fontsize s) {
+void Fl_File_Chooser::textsize(fltk3::Fontsize s) {
   fileList->textsize(s);
 }
 
-Fl_Fontsize Fl_File_Chooser::textsize() {
+fltk3::Fontsize Fl_File_Chooser::textsize() {
   return (fileList->textsize());
 }
 
@@ -441,14 +441,14 @@
   return window->visible();
 }
 
-Fl_Widget* Fl_File_Chooser::add_extra(Fl_Widget* gr) {
-  Fl_Widget* ret=ext_group;
+fltk3::Widget* Fl_File_Chooser::add_extra(fltk3::Widget* gr) {
+  fltk3::Widget* ret=ext_group;
   if (gr==ext_group) {
     return ret;
       }
       if (ext_group) {
         int sh=ext_group->h()+4;
-Fl_Widget* svres=window->resizable();
+fltk3::Widget* svres=window->resizable();
 window->resizable(NULL);
 window->size(window->w(),window->h()-sh);
 window->remove(ext_group);
@@ -457,7 +457,7 @@
           }
           if (gr) {
             int nh=window->h()+gr->h()+4;
-Fl_Widget* svres=window->resizable();
+fltk3::Widget* svres=window->resizable();
 window->resizable(NULL);
 window->size(window->w(),nh);
 gr->position(2,okButton->y()+okButton->h()+2);

Modified: branches/branch-3.0-2011/src/Fl_File_Chooser2.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_File_Chooser2.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_File_Chooser2.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -242,16 +242,16 @@
 /** \fn Fl_Color Fl_File_Chooser::textcolor()
   Sets or gets the current Fl_File_Browser text color.*/
 
-/** \fn void Fl_File_Chooser::textfont(Fl_Font f)
+/** \fn void Fl_File_Chooser::textfont(fltk3::Font f)
   Sets or gets the current Fl_File_Browser text font.*/
 
-/** \fn Fl_Font Fl_File_Chooser::textfont()
+/** \fn fltk3::Font Fl_File_Chooser::textfont()
   Sets or gets the current Fl_File_Browser text font.*/
 
-/** \fn void Fl_File_Chooser::textsize(Fl_Fontsize s)
+/** \fn void Fl_File_Chooser::textsize(fltk3::Fontsize s)
   Sets or gets the current Fl_File_Browser text size.*/
 
-/** \fn Fl_Fontsize Fl_File_Chooser::textsize()
+/** \fn fltk3::Fontsize Fl_File_Chooser::textsize()
   Sets or gets the current Fl_File_Browser text size.*/
 
 /** \fn void Fl_File_Chooser::type(int t)
@@ -283,7 +283,7 @@
 /** \fn int Fl_File_Chooser::visible()
   Returns 1 if the Fl_File_Chooser window is visible.*/
 
-/** \fn Fl_Widget* Fl_File_Chooser::add_extra(Fl_Widget*)
+/** \fn fltk3::Widget* Fl_File_Chooser::add_extra(fltk3::Widget*)
   Adds extra widget at the bottom of Fl_File_Chooser window.
   Returns pointer for previous extra widget or NULL if not set previously.
   If argument is NULL only remove previous extra widget.
@@ -564,7 +564,7 @@
 //
 
 void
-Fl_File_Chooser::favoritesCB(Fl_Widget *w)
+Fl_File_Chooser::favoritesCB(fltk3::Widget *w)
 					// I - Widget
 {
   int		i;			// Looping var
@@ -1090,7 +1090,7 @@
   prefs_.set("preview", e);
   prefs_.flush();
 
-  Fl_Group *p = previewBox->parent();
+  fltk3::Group *p = previewBox->parent();
   if (e) {
     int w = p->w() * 2 / 3;
     fileList->resize(fileList->x(), fileList->y(),
@@ -1399,7 +1399,7 @@
       previewBox->label(filename ? "?" : 0);
       previewBox->align(FL_ALIGN_CLIP);
       previewBox->labelsize(75);
-      previewBox->labelfont(FL_HELVETICA);
+      previewBox->labelfont(fltk3::HELVETICA);
     } else {
       // Show the first 1k of text...
       int size = previewBox->h() / 20;
@@ -1410,7 +1410,7 @@
       previewBox->align((Fl_Align)(FL_ALIGN_CLIP | FL_ALIGN_INSIDE |
                                    FL_ALIGN_LEFT | FL_ALIGN_TOP));
       previewBox->labelsize(size);
-      previewBox->labelfont(FL_COURIER);
+      previewBox->labelfont(fltk3::COURIER);
     }
   } else if (image) {
     pbw = previewBox->w() - 20;
@@ -1439,7 +1439,7 @@
     previewBox->label(newlabel);
     previewBox->align(FL_ALIGN_CLIP);
     previewBox->labelsize(newlabel[0]=='@'?75:12);
-    previewBox->labelfont(FL_HELVETICA);
+    previewBox->labelfont(fltk3::HELVETICA);
   }
 
   previewBox->redraw();

Modified: branches/branch-3.0-2011/src/Fl_File_Icon.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_File_Icon.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_File_Icon.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -56,7 +56,7 @@
 #endif /* WIN32 || __EMX__ */
 
 #include <fltk3/Fl_File_Icon.H>
-#include <fltk3/Fl_Widget.H>
+#include <fltk3/Widget.h>
 #include <fltk3/fl_draw.H>
 #include <fltk3/filename.H>
 
@@ -456,7 +456,7 @@
   label type as needed.
   \param[in] w widget for which this icon will become the label
 */
-void Fl_File_Icon::label(Fl_Widget *w)	// I - Widget to label
+void Fl_File_Icon::label(fltk3::Widget *w)	// I - Widget to label
 {
   fltk3::set_labeltype(fltk3::ICON_LABEL, labeltype, 0);
   w->label(fltk3::ICON_LABEL, (const char*)this);

Modified: branches/branch-3.0-2011/src/Fl_File_Icon2.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_File_Icon2.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_File_Icon2.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -63,7 +63,7 @@
 
 #include <fltk3/Fl_File_Icon.H>
 #include <fltk3/Fl_Shared_Image.H>
-#include <fltk3/Fl_Widget.H>
+#include <fltk3/Widget.h>
 #include <fltk3/fl_draw.H>
 #include <fltk3/filename.H>
 

Modified: branches/branch-3.0-2011/src/Fl_Font.H
===================================================================
--- branches/branch-3.0-2011/src/Fl_Font.H	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Font.H	2011-01-09 19:24:30 UTC (rev 8231)
@@ -57,9 +57,9 @@
   int *width[64];
   TEXTMETRIC metr;
   int angle;
-  FL_EXPORT Fl_Font_Descriptor(const char* fontname, Fl_Fontsize size);
+  FL_EXPORT Fl_Font_Descriptor(const char* fontname, fltk3::Fontsize size);
 #  elif defined(__APPLE_QUARTZ__)
-  FL_EXPORT Fl_Font_Descriptor(const char* fontname, Fl_Fontsize size);
+  FL_EXPORT Fl_Font_Descriptor(const char* fontname, fltk3::Fontsize size);
   ATSUTextLayout layout;
 #     if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
   CTFontRef fontref;
@@ -73,15 +73,15 @@
 #  elif USE_XFT
   XftFont* font;
   const char* encoding;
-  Fl_Fontsize size;
+  fltk3::Fontsize size;
   int angle;
   FL_EXPORT Fl_Font_Descriptor(const char* xfontname);
 #  else
   XUtf8FontStruct* font;	// X UTF-8 font information
   FL_EXPORT Fl_Font_Descriptor(const char* xfontname);
 #  endif
-  Fl_Fontsize minsize;		// smallest point size that should use this
-  Fl_Fontsize maxsize;		// largest point size that should use this
+  fltk3::Fontsize minsize;		// smallest point size that should use this
+  fltk3::Fontsize maxsize;		// largest point size that should use this
 #  if HAVE_GL
   unsigned int listbase;// base of display list, 0 = none
   char glok[64];

Modified: branches/branch-3.0-2011/src/Fl_Gl_Device_Plugin.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Gl_Device_Plugin.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Gl_Device_Plugin.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -134,7 +134,7 @@
 public:
   Fl_Gl_Device_Plugin() : Fl_Device_Plugin(name()) { }
   virtual const char *name() { return "opengl.device.fltk.org"; }
-  virtual int print(Fl_Widget *w, int x, int y, int height) {
+  virtual int print(fltk3::Widget *w, int x, int y, int height) {
     Fl_Gl_Window *glw = w->as_gl_window();
     if (!glw) return 0;
     print_gl_window(glw, x, y, height);

Modified: branches/branch-3.0-2011/src/Fl_Group.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Group.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Group.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -25,19 +25,19 @@
 //     http://www.fltk.org/str.php
 //
 
-// The Fl_Group is the only defined container type in FLTK.
+// The fltk3::Group is the only defined container type in FLTK.
 
 // fltk3::Window itself is a subclass of this, and most of the event
 // handling is designed so windows themselves work correctly.
 
 #include <stdio.h>
 #include <fltk3/run.h>
-#include <fltk3/Fl_Group.H>
+#include <fltk3/Group.H>
 #include <fltk3/Window.h>
 #include <fltk3/fl_draw.H>
 #include <stdlib.h>
 
-Fl_Group* Fl_Group::current_;
+fltk3::Group* fltk3::Group::current_;
 
 // Hack: A single child is stored in the pointer to the array, while
 // multiple children are stored in an allocated array:
@@ -46,16 +46,16 @@
   Returns a pointer to the array of children. <I>This pointer is only
   valid until the next time a child is added or removed.</I>
 */
-Fl_Widget*const* Fl_Group::array() const {
-  return children_ <= 1 ? (Fl_Widget**)(&array_) : array_;
+fltk3::Widget*const* fltk3::Group::array() const {
+  return children_ <= 1 ? (fltk3::Widget**)(&array_) : array_;
 }
 
 /**
   Searches the child array for the widget and returns the index. Returns children()
   if the widget is NULL or not found.
 */
-int Fl_Group::find(const Fl_Widget* o) const {
-  Fl_Widget*const* a = array();
+int fltk3::Group::find(const fltk3::Widget* o) const {
+  fltk3::Widget*const* a = array();
   int i; for (i=0; i < children_; i++) if (*a++ == o) break;
   return i;
 }
@@ -67,39 +67,39 @@
   Sets the current group so you can build the widget
   tree by just constructing the widgets.
 
-  begin() is automatically called by the constructor for Fl_Group (and thus for
+  begin() is automatically called by the constructor for fltk3::Group (and thus for
   fltk3::Window as well). begin() <I>is exactly the same as</I> current(this).
   <I>Don't forget to end() the group or window!</I>
 */
-void Fl_Group::begin() {current_ = this;}
+void fltk3::Group::begin() {current_ = this;}
 
 /**
   <I>Exactly the same as</I> current(this->parent()). Any new widgets
   added to the widget tree will be added to the parent of the group.
 */
-void Fl_Group::end() {current_ = parent();}
+void fltk3::Group::end() {current_ = parent();}
 
 /**
   Returns the currently active group.
   
-  The Fl_Widget constructor automatically does current()->add(widget) if this
+  The fltk3::Widget constructor automatically does current()->add(widget) if this
   is not null. To prevent new widgets from being added to a group, call
-  Fl_Group::current(0).
+  fltk3::Group::current(0).
 */
-Fl_Group *Fl_Group::current() {return current_;}
+fltk3::Group *fltk3::Group::current() {return current_;}
 
 /**
   Sets the current group.
-  \see Fl_Group::current() 
+  \see fltk3::Group::current() 
 */
-void Fl_Group::current(Fl_Group *g) {current_ = g;}
+void fltk3::Group::current(fltk3::Group *g) {current_ = g;}
 
-extern Fl_Widget* fl_oldfocus; // set by fltk3::focus
+extern fltk3::Widget* fl_oldfocus; // set by fltk3::focus
 
 // For back-compatibility, we must adjust all events sent to child
 // windows so they are relative to that window.
 
-static int send(Fl_Widget* o, int event) {
+static int send(fltk3::Widget* o, int event) {
   if (o->type() < FL_WINDOW) return o->handle(event);
   switch ( event )
   {
@@ -147,11 +147,11 @@
   return 0;
 }
 
-int Fl_Group::handle(int event) {
+int fltk3::Group::handle(int event) {
 
-  Fl_Widget*const* a = array();
+  fltk3::Widget*const* a = array();
   int i;
-  Fl_Widget* o;
+  fltk3::Widget* o;
 
   switch (event) {
 
@@ -307,10 +307,10 @@
   }
 }
 
-//void Fl_Group::focus(Fl_Widget *o) {fltk3::focus(o); o->handle(FL_FOCUS);}
+//void fltk3::Group::focus(fltk3::Widget *o) {fltk3::focus(o); o->handle(FL_FOCUS);}
 
 #if 0
-const char *nameof(Fl_Widget *o) {
+const char *nameof(fltk3::Widget *o) {
   if (!o) return "NULL";
   if (!o->label()) return "<no label>";
   return o->label();
@@ -318,14 +318,14 @@
 #endif
 
 // try to move the focus in response to a keystroke:
-int Fl_Group::navigation(int key) {
+int fltk3::Group::navigation(int key) {
   if (children() <= 1) return 0;
   int i;
   for (i = 0; ; i++) {
     if (i >= children_) return 0;
     if (array_[i]->contains(fltk3::focus())) break;
   }
-  Fl_Widget *previous = array_[i];
+  fltk3::Widget *previous = array_[i];
 
   for (;;) {
     switch (key) {
@@ -348,7 +348,7 @@
     default:
       return 0;
     }
-    Fl_Widget* o = array_[i];
+    fltk3::Widget* o = array_[i];
     if (o == previous) return 0;
     switch (key) {
     case FL_Down:
@@ -363,8 +363,8 @@
 
 ////////////////////////////////////////////////////////////////
 
-Fl_Group::Fl_Group(int X,int Y,int W,int H,const char *l)
-: Fl_Widget(X,Y,W,H,l) {
+fltk3::Group::Group(int X,int Y,int W,int H,const char *l)
+: fltk3::Widget(X,Y,W,H,l) {
   align(FL_ALIGN_TOP);
   children_ = 0;
   array_ = 0;
@@ -383,7 +383,7 @@
   This method differs from the remove() method in that it
   affects all child widgets and deletes them from memory.
 */
-void Fl_Group::clear() {
+void fltk3::Group::clear() {
   savedfocus_ = 0;
   resizable_ = this;
   init_sizes();
@@ -393,7 +393,7 @@
   // lots of events to children that are about to be deleted
   // anyway.
 
-  Fl_Widget *pushed = fltk3::pushed();	// save pushed() widget
+  fltk3::Widget *pushed = fltk3::pushed();	// save pushed() widget
   if (contains(pushed)) pushed = this;	// set it to be the group, if it's a child
   fltk3::pushed(this);			// for fl_fix_focus etc.
 
@@ -404,8 +404,8 @@
   // Reverse the order of the children. Doing this and deleting
   // always the last child is much faster than the other way around.
   if (children_ > 1) {
-    Fl_Widget *temp;
-    Fl_Widget **a = (Fl_Widget**)array();
+    fltk3::Widget *temp;
+    fltk3::Widget **a = (fltk3::Widget**)array();
     for (int i=0,j=children_-1; i<children_/2; i++,j--) {
       temp = a[i];
       a[i] = a[j];
@@ -416,7 +416,7 @@
 
   while (children_) {			// delete all children
     int idx = children_-1;		// last child's index
-    Fl_Widget* w = child(idx);		// last child widget
+    fltk3::Widget* w = child(idx);		// last child widget
     if (w->parent()==this) {		// should always be true
       if (children_>2) {		// optimized removal
         w->parent_ = 0;			// reset child's parent
@@ -439,16 +439,16 @@
   whole tree to be deleted at once, without having to keep a pointer to
   all the children in the user code.
   
-  It is allowed that the Fl_Group and all of its children are automatic
-  (local) variables, but you must declare the Fl_Group \e first, so that
+  It is allowed that the fltk3::Group and all of its children are automatic
+  (local) variables, but you must declare the fltk3::Group \e first, so that
   it is destroyed last.
   
-  If you add static or automatic (local) variables to an Fl_Group, then it
+  If you add static or automatic (local) variables to an fltk3::Group, then it
   is your responsibility to remove (or delete) all such static or automatic
   child widgets \e \b before destroying the group - otherwise the child
   widgets' destructors would be called twice!
 */
-Fl_Group::~Fl_Group() {
+fltk3::Group::~Group() {
   clear();
 }
 
@@ -458,9 +458,9 @@
   if n >= children(). This can also be used to rearrange
   the widgets inside a group.
 */
-void Fl_Group::insert(Fl_Widget &o, int index) {
+void fltk3::Group::insert(fltk3::Widget &o, int index) {
   if (o.parent()) {
-    Fl_Group* g = o.parent();
+    fltk3::Group* g = o.parent();
     int n = g->find(o);
     if (g == this) {
       if (index > n) index--;
@@ -470,16 +470,16 @@
   }
   o.parent_ = this;
   if (children_ == 0) { // use array pointer to point at single child
-    array_ = (Fl_Widget**)&o;
+    array_ = (fltk3::Widget**)&o;
   } else if (children_ == 1) { // go from 1 to 2 children
-    Fl_Widget* t = (Fl_Widget*)array_;
-    array_ = (Fl_Widget**)malloc(2*sizeof(Fl_Widget*));
+    fltk3::Widget* t = (fltk3::Widget*)array_;
+    array_ = (fltk3::Widget**)malloc(2*sizeof(fltk3::Widget*));
     if (index) {array_[0] = t; array_[1] = &o;}
     else {array_[0] = &o; array_[1] = t;}
   } else {
     if (!(children_ & (children_-1))) // double number of children
-      array_ = (Fl_Widget**)realloc((void*)array_,
-				    2*children_*sizeof(Fl_Widget*));
+      array_ = (fltk3::Widget**)realloc((void*)array_,
+				    2*children_*sizeof(fltk3::Widget*));
     int j; for (j = children_; j > index; j--) array_[j] = array_[j-1];
     array_[j] = &o;
   }
@@ -491,7 +491,7 @@
   The widget is removed from its current group (if any) and then added
   to the end of this group.
 */
-void Fl_Group::add(Fl_Widget &o) {insert(o, children_);}
+void fltk3::Group::add(fltk3::Widget &o) {insert(o, children_);}
 
 /**
   Removes the widget at \p index from the group but does not delete it.
@@ -503,9 +503,9 @@
   
   \since FLTK 1.3.0
 */
-void Fl_Group::remove(int index) {
+void fltk3::Group::remove(int index) {
   if (index < 0 || index >= children_) return;
-  Fl_Widget &o = *child(index);
+  fltk3::Widget &o = *child(index);
   if (&o == savedfocus_) savedfocus_ = 0;
   if (o.parent_ == this) {	// this should always be true
     o.parent_ = 0;
@@ -515,9 +515,9 @@
 
   children_--;
   if (children_ == 1) { // go from 2 to 1 child
-    Fl_Widget *t = array_[!index];
+    fltk3::Widget *t = array_[!index];
     free((void*)array_);
-    array_ = (Fl_Widget**)t;
+    array_ = (fltk3::Widget**)t;
   } else if (children_ > 1) { // delete from array
     for (; index < children_; index++) array_[index] = array_[index+1];
   }
@@ -537,7 +537,7 @@
   table of children. This can be much faster, if there are lots of
   children.
 */
-void Fl_Group::remove(Fl_Widget &o) {
+void fltk3::Group::remove(fltk3::Widget &o) {
   if (!children_) return;
   int i = find(o);
   if (i < children_) remove(i);
@@ -559,11 +559,11 @@
 /**
   Resets the internal array of widget sizes and positions.
 
-  The Fl_Group widget keeps track of the original widget sizes and
+  The fltk3::Group widget keeps track of the original widget sizes and
   positions when resizing occurs so that if you resize a window back to its
   original size the widgets will be in the correct places. If you rearrange
   the widgets in your group, call this method to register the new arrangement
-  with the Fl_Group that contains them.
+  with the fltk3::Group that contains them.
   
   If you add or remove widgets, this will be done automatically.
   
@@ -572,7 +572,7 @@
   
   \sa sizes()
 */
-void Fl_Group::init_sizes() {
+void fltk3::Group::init_sizes() {
   delete[] sizes_; sizes_ = 0;
 }
 
@@ -583,14 +583,14 @@
   with the current widget sizes and positions.
 
   \note You should never need to use this method directly, unless you have
-  special needs to rearrange the children of a Fl_Group. Fl_Tile uses
+  special needs to rearrange the children of a fltk3::Group. Fl_Tile uses
   this to rearrange its widget positions.
   
   \sa init_sizes()
 
   \todo Should the internal representation of the sizes() array be documented?
 */
-int* Fl_Group::sizes() {
+int* fltk3::Group::sizes() {
   if (!sizes_) {
     int* p = sizes_ = new int[4*(children_+2)];
     // first thing in sizes array is the group's size:
@@ -601,7 +601,7 @@
     p[5] = p[1];
     p[6] = p[2];
     p[7] = p[3];
-    Fl_Widget* r = resizable();
+    fltk3::Widget* r = resizable();
     if (r && r != this) { // then clip the resizable to it
       int t;
       t = r->x(); if (t > p[0]) p[4] = t;
@@ -611,9 +611,9 @@
     }
     // next is all the children's sizes:
     p += 8;
-    Fl_Widget*const* a = array();
+    fltk3::Widget*const* a = array();
     for (int i=children_; i--;) {
-      Fl_Widget* o = *a++;
+      fltk3::Widget* o = *a++;
       *p++ = o->x();
       *p++ = o->x()+o->w();
       *p++ = o->y();
@@ -624,17 +624,17 @@
 }
 
 /**
-  Resizes the Fl_Group widget and all of its children.
+  Resizes the fltk3::Group widget and all of its children.
 
-  The Fl_Group widget first resizes itself, and then it moves and resizes
+  The fltk3::Group widget first resizes itself, and then it moves and resizes
   all its children according to the rules documented for
-  Fl_Group::resizable(Fl_Widget*)
+  fltk3::Group::resizable(fltk3::Widget*)
 
-  \sa Fl_Group::resizable(Fl_Widget*)
-  \sa Fl_Group::resizable()
-  \sa Fl_Widget::resize(int,int,int,int)
+  \sa fltk3::Group::resizable(fltk3::Widget*)
+  \sa fltk3::Group::resizable()
+  \sa fltk3::Widget::resize(int,int,int,int)
 */
-void Fl_Group::resize(int X, int Y, int W, int H) {
+void fltk3::Group::resize(int X, int Y, int W, int H) {
 
   int dx = X-x();
   int dy = Y-y();
@@ -643,14 +643,14 @@
   
   int *p = sizes(); // save initial sizes and positions
 
-  Fl_Widget::resize(X,Y,W,H); // make new xywh values visible for children
+  fltk3::Widget::resize(X,Y,W,H); // make new xywh values visible for children
 
   if (!resizable() || (dw==0 && dh==0) ) {
 
     if (type() < FL_WINDOW) {
-      Fl_Widget*const* a = array();
+      fltk3::Widget*const* a = array();
       for (int i=children_; i--;) {
-	Fl_Widget* o = *a++;
+	fltk3::Widget* o = *a++;
 	o->resize(o->x()+dx, o->y()+dy, o->w(), o->h());
       }
     }
@@ -671,9 +671,9 @@
     int IY = *p++;
     int IB = *p++;
 
-    Fl_Widget*const* a = array();
+    fltk3::Widget*const* a = array();
     for (int i=children_; i--;) {
-      Fl_Widget* o = *a++;
+      fltk3::Widget* o = *a++;
 #if 1
       int XX = *p++;
       if (XX >= IR) XX += dw;
@@ -711,12 +711,12 @@
 /**
   Draws all children of the group.
 
-  This is useful, if you derived a widget from Fl_Group and want to draw a special
+  This is useful, if you derived a widget from fltk3::Group and want to draw a special
   border or background. You can call draw_children() from the derived draw() method
   after drawing the box, border, or background.
 */
-void Fl_Group::draw_children() {
-  Fl_Widget*const* a = array();
+void fltk3::Group::draw_children() {
+  fltk3::Widget*const* a = array();
 
   if (clip_children()) {
     fl_push_clip(x() + fltk3::box_dx(box()),
@@ -727,7 +727,7 @@
 
   if (damage() & ~FL_DAMAGE_CHILD) { // redraw the entire thing:
     for (int i=children_; i--;) {
-      Fl_Widget& o = **a++;
+      fltk3::Widget& o = **a++;
       draw_child(o);
       draw_outside_label(o);
     }
@@ -738,7 +738,7 @@
   if (clip_children()) fl_pop_clip();
 }
 
-void Fl_Group::draw() {
+void fltk3::Group::draw() {
   if (damage() & ~FL_DAMAGE_CHILD) { // redraw the entire thing:
     draw_box();
     draw_label();
@@ -752,9 +752,9 @@
   This draws a child widget, if it is not clipped \em and if any damage() bits
   are set. The damage bits are cleared after drawing.
 
-  \sa Fl_Group::draw_child(Fl_Widget& widget) const
+  \sa fltk3::Group::draw_child(fltk3::Widget& widget) const
 */
-void Fl_Group::update_child(Fl_Widget& widget) const {
+void fltk3::Group::update_child(fltk3::Widget& widget) const {
   if (widget.damage() && widget.visible() && widget.type() < FL_WINDOW &&
       fl_not_clipped(widget.x(), widget.y(), widget.w(), widget.h())) {
     widget.draw();	
@@ -768,7 +768,7 @@
   This draws a child widget, if it is not clipped.
   The damage bits are cleared after drawing.
 */
-void Fl_Group::draw_child(Fl_Widget& widget) const {
+void fltk3::Group::draw_child(fltk3::Widget& widget) const {
   if (widget.visible() && widget.type() < FL_WINDOW &&
       fl_not_clipped(widget.x(), widget.y(), widget.w(), widget.h())) {
     widget.clear_damage(FL_DAMAGE_ALL);
@@ -780,7 +780,7 @@
 extern char fl_draw_shortcut;
 
 /** Parents normally call this to draw outside labels of child widgets. */
-void Fl_Group::draw_outside_label(const Fl_Widget& widget) const {
+void fltk3::Group::draw_outside_label(const fltk3::Widget& widget) const {
   if (!widget.visible()) return;
   // skip any labels that are inside the widget:
   if (!(widget.align()&15) || (widget.align() & FL_ALIGN_INSIDE)) return;
@@ -791,7 +791,7 @@
   int W = widget.w();
   int H = widget.h();
   int wx, wy;
-  if (const_cast<Fl_Group*>(this)->as_window()) {
+  if (const_cast<fltk3::Group*>(this)->as_window()) {
     wx = wy = 0;
   } else {
     wx = x(); wy = y();

Modified: branches/branch-3.0-2011/src/Fl_Help_Dialog.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Help_Dialog.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Help_Dialog.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -149,7 +149,7 @@
 Fl_Help_Dialog::Fl_Help_Dialog() {
   { window_ = new Fl_Double_Window(530, 385, "Help Dialog");
     window_->user_data((void*)(this));
-    { Fl_Group* o = new Fl_Group(10, 10, 511, 25);
+    { fltk3::Group* o = new fltk3::Group(10, 10, 511, 25);
       { back_ = new Fl_Button(10, 10, 25, 25, "@<-");
         back_->tooltip("Show the previous help page.");
         back_->shortcut(0xff51);
@@ -174,7 +174,7 @@
         larger_->labelsize(16);
         larger_->callback((Fl_Callback*)cb_larger_);
       } // Fl_Button* larger_
-      { Fl_Group* o = new Fl_Group(350, 10, 171, 25);
+      { fltk3::Group* o = new fltk3::Group(350, 10, 171, 25);
         o->box(fltk3::DOWN_BOX);
         o->color(FL_BACKGROUND2_COLOR);
         { find_ = new Fl_Input(375, 12, 143, 21, "@search");
@@ -186,16 +186,16 @@
           find_->when(FL_WHEN_ENTER_KEY_ALWAYS);
         } // Fl_Input* find_
         o->end();
-      } // Fl_Group* o
+      } // fltk3::Group* o
       { fltk3::Box* o = new fltk3::Box(150, 10, 190, 25);
-        Fl_Group::current()->resizable(o);
+        fltk3::Group::current()->resizable(o);
       } // fltk3::Box* o
       o->end();
-    } // Fl_Group* o
+    } // fltk3::Group* o
     { view_ = new Fl_Help_View(10, 45, 510, 330);
       view_->box(fltk3::DOWN_BOX);
       view_->callback((Fl_Callback*)cb_view_);
-      Fl_Group::current()->resizable(view_);
+      fltk3::Group::current()->resizable(view_);
     } // Fl_Help_View* view_
     window_->size_range(260, 150);
     window_->end();
@@ -244,7 +244,7 @@
   window_->show(argc, argv);
 }
 
-void Fl_Help_Dialog::textsize(Fl_Fontsize s) {
+void Fl_Help_Dialog::textsize(fltk3::Fontsize s) {
   view_->textsize(s);
 
 if (s <= 8)
@@ -258,7 +258,7 @@
   larger_->activate();
 }
 
-Fl_Fontsize Fl_Help_Dialog::textsize() {
+fltk3::Fontsize Fl_Help_Dialog::textsize() {
   return (view_->textsize());
 }
 

Modified: branches/branch-3.0-2011/src/Fl_Help_Dialog_Dox.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Help_Dialog_Dox.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Help_Dialog_Dox.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -60,7 +60,7 @@
 /** \fn void Fl_Help_Dialog::show()
   Shows the Fl_Help_Dialog window.*/
 
-/** \fn void Fl_Help_Dialog::textsize(Fl_Fontsize s)
+/** \fn void Fl_Help_Dialog::textsize(fltk3::Fontsize s)
   Sets or gets the default text size for the help view.*/
 
 /** \fn uchar Fl_Help_Dialog::textsize()
@@ -111,9 +111,9 @@
   Shows the main Help Dialog Window
   Delegates call to encapsulated window_ void fltk3::Window::show(int argc, char **argv) instance method */
 
-/** \fn void Fl_Help_Dialog::textsize(Fl_Fontsize s)
+/** \fn void Fl_Help_Dialog::textsize(fltk3::Fontsize s)
   Sets the internal Fl_Help_View instance text size.
-  Delegates call to encapsulated view_ void Fl_Help_View::textsize(Fl_Fontsize s) instance method */
+  Delegates call to encapsulated view_ void Fl_Help_View::textsize(fltk3::Fontsize s) instance method */
 
 //
 // End of "$Id$".

Modified: branches/branch-3.0-2011/src/Fl_Help_View.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Help_View.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Help_View.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -93,8 +93,8 @@
 //
 
 static int	quote_char(const char *);
-static void	scrollbar_callback(Fl_Widget *s, void *);
-static void	hscrollbar_callback(Fl_Widget *s, void *);
+static void	scrollbar_callback(fltk3::Widget *s, void *);
+static void	hscrollbar_callback(fltk3::Widget *s, void *);
 
 //
 // global flag for image loading (see get_image).
@@ -446,8 +446,8 @@
 			attr[1024];	// Attribute buffer
   int			xx, yy, ww, hh;	// Current positions and sizes
   int			line;		// Current line
-  Fl_Font               font;
-  Fl_Fontsize           fsize;          // Current font and size
+  fltk3::Font               font;
+  fltk3::Fontsize           fsize;          // Current font and size
   Fl_Color              fcolor;         // current font color 
   int			head, pre,	// Flags for text
 			needspace;	// Do we need whitespace?
@@ -694,7 +694,7 @@
 	  {
             if (tolower(buf[0]) == 'h')
 	    {
-	      font  = FL_HELVETICA_BOLD;
+	      font  = fltk3::HELVETICA_BOLD;
 	      fsize = textsize_ + '7' - buf[1];
 	    }
 	    else if (strcasecmp(buf, "DT") == 0)
@@ -704,7 +704,7 @@
 	    }
 	    else if (strcasecmp(buf, "PRE") == 0)
 	    {
-	      font  = FL_COURIER;
+	      font  = fltk3::COURIER;
 	      fsize = textsize_;
 	      pre   = 1;
 	    }
@@ -742,11 +742,11 @@
             if (get_attr(attrs, "FACE", attr, sizeof(attr)) != NULL) {
 	      if (!strncasecmp(attr, "helvetica", 9) ||
 	          !strncasecmp(attr, "arial", 5) ||
-		  !strncasecmp(attr, "sans", 4)) font = FL_HELVETICA;
+		  !strncasecmp(attr, "sans", 4)) font = fltk3::HELVETICA;
               else if (!strncasecmp(attr, "times", 5) ||
-	               !strncasecmp(attr, "serif", 5)) font = FL_TIMES;
-              else if (!strncasecmp(attr, "symbol", 6)) font = FL_SYMBOL;
-	      else font = FL_COURIER;
+	               !strncasecmp(attr, "serif", 5)) font = fltk3::TIMES;
+              else if (!strncasecmp(attr, "symbol", 6)) font = fltk3::SYMBOL;
+	      else font = fltk3::COURIER;
             }
 
             if (get_attr(attrs, "SIZE", attr, sizeof(attr)) != NULL) {
@@ -817,11 +817,11 @@
 	    pushfont(font |= fltk3::ITALIC, fsize);
 	  else if (strcasecmp(buf, "CODE") == 0 ||
 	           strcasecmp(buf, "TT") == 0)
-	    pushfont(font = FL_COURIER, fsize);
+	    pushfont(font = fltk3::COURIER, fsize);
 	  else if (strcasecmp(buf, "KBD") == 0)
-	    pushfont(font = FL_COURIER_BOLD, fsize);
+	    pushfont(font = fltk3::COURIER_BOLD, fsize);
 	  else if (strcasecmp(buf, "VAR") == 0)
-	    pushfont(font = FL_COURIER_ITALIC, fsize);
+	    pushfont(font = fltk3::COURIER_ITALIC, fsize);
 	  else if (strcasecmp(buf, "/HEAD") == 0)
             head = 0;
 	  else if (strcasecmp(buf, "/H1") == 0 ||
@@ -1073,8 +1073,8 @@
   int		xx, yy, ww, hh;	// Size of current text fragment
   int		line;		// Current line in block
   int		links;		// Links for current line
-  Fl_Font       font;
-  Fl_Fontsize   fsize;          // Current font and size
+  fltk3::Font       font;
+  fltk3::Fontsize   fsize;          // Current font and size
   Fl_Color      fcolor;         // Current font color
   unsigned char	border;		// Draw border?
   int		talign,		// Current alignment
@@ -1383,7 +1383,7 @@
 
           if (tolower(buf[0]) == 'h' && isdigit(buf[1]))
 	  {
-	    font  = FL_HELVETICA_BOLD;
+	    font  = fltk3::HELVETICA_BOLD;
 	    fsize = textsize_ + '7' - buf[1];
 	  }
 	  else if (strcasecmp(buf, "DT") == 0)
@@ -1393,7 +1393,7 @@
 	  }
 	  else if (strcasecmp(buf, "PRE") == 0)
 	  {
-	    font  = FL_COURIER;
+	    font  = fltk3::COURIER;
 	    fsize = textsize_;
 	    pre   = 1;
 	  }
@@ -1631,11 +1631,11 @@
           if (get_attr(attrs, "FACE", attr, sizeof(attr)) != NULL) {
 	    if (!strncasecmp(attr, "helvetica", 9) ||
 	        !strncasecmp(attr, "arial", 5) ||
-		!strncasecmp(attr, "sans", 4)) font = FL_HELVETICA;
+		!strncasecmp(attr, "sans", 4)) font = fltk3::HELVETICA;
             else if (!strncasecmp(attr, "times", 5) ||
-	             !strncasecmp(attr, "serif", 5)) font = FL_TIMES;
-            else if (!strncasecmp(attr, "symbol", 6)) font = FL_SYMBOL;
-	    else font = FL_COURIER;
+	             !strncasecmp(attr, "serif", 5)) font = fltk3::TIMES;
+            else if (!strncasecmp(attr, "symbol", 6)) font = fltk3::SYMBOL;
+	    else font = fltk3::COURIER;
           }
 
           if (get_attr(attrs, "SIZE", attr, sizeof(attr)) != NULL) {
@@ -1660,11 +1660,11 @@
 	  pushfont(font |= fltk3::ITALIC, fsize);
 	else if (strcasecmp(buf, "CODE") == 0 ||
 	         strcasecmp(buf, "TT") == 0)
-	  pushfont(font = FL_COURIER, fsize);
+	  pushfont(font = fltk3::COURIER, fsize);
 	else if (strcasecmp(buf, "KBD") == 0)
-	  pushfont(font = FL_COURIER_BOLD, fsize);
+	  pushfont(font = fltk3::COURIER_BOLD, fsize);
 	else if (strcasecmp(buf, "VAR") == 0)
-	  pushfont(font = FL_COURIER_ITALIC, fsize);
+	  pushfont(font = fltk3::COURIER_ITALIC, fsize);
 	else if (strcasecmp(buf, "/B") == 0 ||
 		 strcasecmp(buf, "/STRONG") == 0 ||
 		 strcasecmp(buf, "/I") == 0 ||
@@ -1897,8 +1897,8 @@
 		*attrs,					// Pointer to attributes
 		*start;					// Start of element
   int		minwidths[MAX_COLUMNS];			// Minimum widths for each column
-  Fl_Font       font;
-  Fl_Fontsize   fsize;				        // Current font and size
+  fltk3::Font       font;
+  fltk3::Fontsize   fsize;				        // Current font and size
   Fl_Color      fcolor;                                 // Currrent font color
 
   // Clear widths...
@@ -1990,7 +1990,7 @@
 
         if (tolower(buf[0]) == 'h' && isdigit(buf[1]))
 	{
-	  font  = FL_HELVETICA_BOLD;
+	  font  = fltk3::HELVETICA_BOLD;
 	  fsize = textsize_ + '7' - buf[1];
 	}
 	else if (strcasecmp(buf, "DT") == 0)
@@ -2000,7 +2000,7 @@
 	}
 	else if (strcasecmp(buf, "PRE") == 0)
 	{
-	  font  = FL_COURIER;
+	  font  = fltk3::COURIER;
 	  fsize = textsize_;
 	  pre   = 1;
 	}
@@ -2134,11 +2134,11 @@
 	pushfont(font |= fltk3::ITALIC, fsize);
       else if (strcasecmp(buf, "CODE") == 0 ||
                strcasecmp(buf, "TT") == 0)
-	pushfont(font = FL_COURIER, fsize);
+	pushfont(font = fltk3::COURIER, fsize);
       else if (strcasecmp(buf, "KBD") == 0)
-	pushfont(font = FL_COURIER_BOLD, fsize);
+	pushfont(font = fltk3::COURIER_BOLD, fsize);
       else if (strcasecmp(buf, "VAR") == 0)
-	pushfont(font = FL_COURIER_ITALIC, fsize);
+	pushfont(font = fltk3::COURIER_ITALIC, fsize);
       else if (strcasecmp(buf, "/B") == 0 ||
 	       strcasecmp(buf, "/STRONG") == 0 ||
 	       strcasecmp(buf, "/I") == 0 ||
@@ -2961,7 +2961,7 @@
       redraw();
       return 1;
     case FL_ENTER :
-      Fl_Group::handle(event);
+      fltk3::Group::handle(event);
       return 1;
     case FL_LEAVE :
       fl_cursor(FL_CURSOR_DEFAULT);
@@ -2971,7 +2971,7 @@
       else fl_cursor(FL_CURSOR_DEFAULT);
       return 1;
     case FL_PUSH:
-      if (Fl_Group::handle(event)) return 1;
+      if (fltk3::Group::handle(event)) return 1;
       linkp = find_link(xx, yy);
       if (linkp) {
         fl_cursor(FL_CURSOR_HAND);
@@ -3022,7 +3022,7 @@
       }
       break; }
   }
-  return (Fl_Group::handle(event));
+  return (fltk3::Group::handle(event));
 }
 
 /** 
@@ -3034,7 +3034,7 @@
 			   int        ww,	// I - Width in pixels
 			   int        hh,	// I - Height in pixels
 			   const char *l)
-    : Fl_Group(xx, yy, ww, hh, l),
+    : fltk3::Group(xx, yy, ww, hh, l),
       scrollbar_(xx + ww - fltk3::scrollbar_size(), yy,
                  fltk3::scrollbar_size(), hh - fltk3::scrollbar_size()),
       hscrollbar_(xx, yy + hh - fltk3::scrollbar_size(),
@@ -3047,7 +3047,7 @@
   bgcolor_      = FL_BACKGROUND_COLOR;
   textcolor_    = FL_FOREGROUND_COLOR;
   linkcolor_    = FL_SELECTION_COLOR;
-  textfont_     = FL_TIMES;
+  textfont_     = fltk3::TIMES;
   textsize_     = 12;
   value_        = NULL;
 
@@ -3240,7 +3240,7 @@
 					// Box to draw...
 
 
-  Fl_Widget::resize(xx, yy, ww, hh);
+  fltk3::Widget::resize(xx, yy, ww, hh);
 
   int scrollsize = scrollbar_size_ ? scrollbar_size_ : fltk3::scrollbar_size();
   scrollbar_.resize(x() + w() - scrollsize - fltk3::box_dw(b) + fltk3::box_dx(b),
@@ -3500,7 +3500,7 @@
 
 /** The vertical scrollbar callback. */
 static void
-scrollbar_callback(Fl_Widget *s, void *)
+scrollbar_callback(fltk3::Widget *s, void *)
 {
   ((Fl_Help_View *)(s->parent()))->topline(int(((Fl_Scrollbar*)s)->value()));
 }
@@ -3508,7 +3508,7 @@
 
 /** The horizontal scrollbar callback. */
 static void
-hscrollbar_callback(Fl_Widget *s, void *)
+hscrollbar_callback(fltk3::Widget *s, void *)
 {
   ((Fl_Help_View *)(s->parent()))->leftline(int(((Fl_Scrollbar*)s)->value()));
 }

Modified: branches/branch-3.0-2011/src/Fl_Image.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Image.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Image.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -28,7 +28,7 @@
 #include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 #include <fltk3/x.H>
-#include <fltk3/Fl_Widget.H>
+#include <fltk3/Widget.h>
 #include <fltk3/Fl_Menu_Item.H>
 #include <fltk3/Fl_Image.H>
 #include "flstring.h"
@@ -112,10 +112,10 @@
   The label() methods are an obsolete way to set the
   image attribute of a widget or menu item. Use the
   image() or deimage() methods of the
-  Fl_Widget and Fl_Menu_Item classes
+  fltk3::Widget and Fl_Menu_Item classes
   instead.
 */
-void Fl_Image::label(Fl_Widget* widget) {
+void Fl_Image::label(fltk3::Widget* widget) {
   widget->image(this);
 }
 
@@ -123,7 +123,7 @@
   The label() methods are an obsolete way to set the
   image attribute of a widget or menu item. Use the
   image() or deimage() methods of the
-  Fl_Widget and Fl_Menu_Item classes
+  fltk3::Widget and Fl_Menu_Item classes
   instead.
 */
 void Fl_Image::label(Fl_Menu_Item* m) {
@@ -575,7 +575,7 @@
 
 #endif
 
-void Fl_RGB_Image::label(Fl_Widget* widget) {
+void Fl_RGB_Image::label(fltk3::Widget* widget) {
   widget->image(this);
 }
 

Modified: branches/branch-3.0-2011/src/Fl_Input.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Input.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Input.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -585,7 +585,7 @@
 
 int Fl_Input::handle(int event) {
   static int dnd_save_position, dnd_save_mark, drag_start = -1, newpos;
-  static Fl_Widget *dnd_save_focus;
+  static fltk3::Widget *dnd_save_focus;
   switch (event) {
     case FL_FOCUS:
       switch (fltk3::event_key()) {

Modified: branches/branch-3.0-2011/src/Fl_Input_.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Input_.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Input_.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -1036,19 +1036,19 @@
   Creates a new Fl_Input_ widget.
 
   This function creates a new Fl_Input_ widget and adds it to the current
-  Fl_Group. The value() is set to \c NULL.
+  fltk3::Group. The value() is set to \c NULL.
   The default boxtype is \c fltk3::DOWN_BOX.
 
   \param X, Y, W, H the dimensions of the new widget
   \param l an optional label text
 */
 Fl_Input_::Fl_Input_(int X, int Y, int W, int H, const char* l)
-: Fl_Widget(X, Y, W, H, l) {
+: fltk3::Widget(X, Y, W, H, l) {
   box(fltk3::DOWN_BOX);
   color(FL_BACKGROUND2_COLOR, FL_SELECTION_COLOR);
   align(FL_ALIGN_LEFT);
   textsize_ = FL_NORMAL_SIZE;
-  textfont_ = FL_HELVETICA;
+  textfont_ = fltk3::HELVETICA;
   textcolor_ = FL_FOREGROUND_COLOR;
   cursor_color_ = FL_FOREGROUND_COLOR; // was FL_BLUE
   mark_ = position_ = size_ = 0;
@@ -1208,19 +1208,19 @@
   Changes the size of the widget.
   This call updates the text layout so that the cursor is visible.
   \param [in] X, Y, W, H new size of the widget
-  \see Fl_Widget::resize(int, int, int, int)
+  \see fltk3::Widget::resize(int, int, int, int)
 */
 void Fl_Input_::resize(int X, int Y, int W, int H) {
   if (W != w()) xscroll_ = 0;
   if (H != h()) yscroll_ = 0;
-  Fl_Widget::resize(X, Y, W, H);
+  fltk3::Widget::resize(X, Y, W, H);
 }
 
 /**
   Destroys the widget.
 
   The destructor clears all allocated buffers and removes the widget
-  from the parent Fl_Group.
+  from the parent fltk3::Group.
 */
 Fl_Input_::~Fl_Input_() {
   if (undowidget == this) undowidget = 0;

Modified: branches/branch-3.0-2011/src/Fl_Menu.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Menu.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Menu.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -131,7 +131,7 @@
   l.image   = 0;
   l.deimage = 0;
   l.type    = labeltype_;
-  l.font    = labelsize_ || labelfont_ ? labelfont_ : (m ? m->textfont() : FL_HELVETICA);
+  l.font    = labelsize_ || labelfont_ ? labelfont_ : (m ? m->textfont() : fltk3::HELVETICA);
   l.size    = labelsize_ ? labelsize_ : m ? m->textsize() : FL_NORMAL_SIZE;
   l.color   = FL_FOREGROUND_COLOR; // this makes no difference?
   fl_draw_shortcut = 1;
@@ -150,7 +150,7 @@
   l.image   = 0;
   l.deimage = 0;
   l.type    = labeltype_;
-  l.font    = labelsize_ || labelfont_ ? labelfont_ : (m ? m->textfont() : FL_HELVETICA);
+  l.font    = labelsize_ || labelfont_ ? labelfont_ : (m ? m->textfont() : fltk3::HELVETICA);
   l.size    = labelsize_ ? labelsize_ : m ? m->textsize() : FL_NORMAL_SIZE;
   l.color   = labelcolor_ ? labelcolor_ : m ? m->textcolor() : int(FL_FOREGROUND_COLOR);
   if (!active()) l.color = fl_inactive((Fl_Color)l.color);
@@ -450,8 +450,8 @@
     int x1 = xx+ww-sz-3;
     fl_polygon(x1+2, y1, x1+2, y1+sz, x1+sz/2+2, y1+sz/2);
   } else if (m->shortcut_) {
-    Fl_Font f = m->labelsize_ || m->labelfont_ ? (Fl_Font)m->labelfont_ :
-                    button ? button->textfont() : FL_HELVETICA;
+    fltk3::Font f = m->labelsize_ || m->labelfont_ ? (fltk3::Font)m->labelfont_ :
+                    button ? button->textfont() : fltk3::HELVETICA;
     fl_font(f, m->labelsize_ ? m->labelsize_ :
                    button ? button->textsize() : FL_NORMAL_SIZE);
     const char *k, *s = fl_shortcut_label(m->shortcut_, &k);
@@ -806,7 +806,7 @@
     const Fl_Menu_* pbutton,
     const Fl_Menu_Item* t,
     int menubar) const {
-  Fl_Group::current(0); // fix possible user error...
+  fltk3::Group::current(0); // fix possible user error...
 
   button = pbutton;
   if (pbutton) {
@@ -1002,7 +1002,7 @@
   if (m) for (int ii = 0; m->text; m = m->next(), ii++) {
     if (m->activevisible()) {
       if (fltk3::test_shortcut(m->shortcut_)
-	 || Fl_Widget::test_shortcut(m->text, require_alt)) {
+	 || fltk3::Widget::test_shortcut(m->text, require_alt)) {
 	if (ip) *ip=ii;
 	return m;
       }
@@ -1028,7 +1028,7 @@
     if (m->activevisible()) {
       // return immediately any match of an item in top level menu:
       if (fltk3::test_shortcut(m->shortcut_)) return m;
-      // if (Fl_Widget::test_shortcut(m->text)) return m;
+      // if (fltk3::Widget::test_shortcut(m->text)) return m;
       // only return matches from lower menu if nothing found in top menu:
       if (!ret && m->submenu()) {
 	const Fl_Menu_Item* s =

Modified: branches/branch-3.0-2011/src/Fl_Menu_.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Menu_.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Menu_.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -46,7 +46,7 @@
     \b Example:
     \code
       Fl_Menu_Bar *menubar = 0;
-      void my_menu_callback(Fl_Widget*,void*) {
+      void my_menu_callback(fltk3::Widget*,void*) {
         char name[80];
         if ( menubar->item_pathname(name, sizeof(name)-1) == 0 ) {   // recently picked item
           if ( strcmp(name, "File/&Open") == 0 ) { .. }              // open invoked
@@ -276,7 +276,7 @@
     value_ = v;
     if (when()&(FL_WHEN_CHANGED|FL_WHEN_RELEASE)) {
       if (changed() || when()&FL_WHEN_NOT_CHANGED) {
-	if (value_ && value_->callback_) value_->do_callback((Fl_Widget*)this);
+	if (value_ && value_->callback_) value_->do_callback((fltk3::Widget*)this);
 	else do_callback();
       }
     }
@@ -305,14 +305,14 @@
  and label string.  menu() is initialized to null.
  */
 Fl_Menu_::Fl_Menu_(int X,int Y,int W,int H,const char* l)
-: Fl_Widget(X,Y,W,H,l) {
+: fltk3::Widget(X,Y,W,H,l) {
   set_flag(SHORTCUT_LABEL);
   box(fltk3::UP_BOX);
   when(FL_WHEN_RELEASE_ALWAYS);
   value_ = menu_ = 0;
   alloc = 0;
   selection_color(FL_SELECTION_COLOR);
-  textfont(FL_HELVETICA);
+  textfont(fltk3::HELVETICA);
   textsize(FL_NORMAL_SIZE);
   textcolor(FL_FOREGROUND_COLOR);
   down_box(fltk3::NO_BOX);

Modified: branches/branch-3.0-2011/src/Fl_Menu_Button.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Menu_Button.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Menu_Button.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -93,7 +93,7 @@
       return 1;
     } else return 0;
   case FL_SHORTCUT:
-    if (Fl_Widget::test_shortcut()) {popup(); return 1;}
+    if (fltk3::Widget::test_shortcut()) {popup(); return 1;}
     return test_shortcut() != 0;
   case FL_FOCUS: /* FALLTHROUGH */
   case FL_UNFOCUS:

Modified: branches/branch-3.0-2011/src/Fl_Menu_add.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Menu_add.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Menu_add.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -79,7 +79,7 @@
   m->user_data_ = 0;
   m->flags = flags;
   m->labeltype_ = m->labelsize_ = m->labelcolor_ = 0;
-  m->labelfont_ = FL_HELVETICA; 
+  m->labelfont_ = fltk3::HELVETICA; 
   return array;
 }
 

Modified: branches/branch-3.0-2011/src/Fl_Multi_Label.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Multi_Label.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Multi_Label.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -29,7 +29,7 @@
 // be one of these it allows an infinte number!)
 
 #include <fltk3/run.h>
-#include <fltk3/Fl_Widget.H>
+#include <fltk3/Widget.h>
 #include <fltk3/Fl_Menu_Item.H>
 #include <fltk3/Fl_Multi_Label.H>
 
@@ -65,7 +65,7 @@
   w += W; if (H>h) h = H;
 }
 
-void Fl_Multi_Label::label(Fl_Widget* o) {
+void Fl_Multi_Label::label(fltk3::Widget* o) {
   fltk3::set_labeltype(fltk3::MULTI_LABEL, multi_labeltype, multi_measure);
   o->label(fltk3::MULTI_LABEL, (const char*)this);
 }

Modified: branches/branch-3.0-2011/src/Fl_Native_File_Chooser_FLTK.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Native_File_Chooser_FLTK.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Native_File_Chooser_FLTK.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -68,7 +68,7 @@
   // Added by MG
   Fl_Button *b = _file_chooser->previewButton;
   fltk3::Window *w = b->window();
-  Fl_Group::current(w);		// adds a "Show hidden files" check button in _file_chooser's window
+  fltk3::Group::current(w);		// adds a "Show hidden files" check button in _file_chooser's window
   show_hidden = new Fl_Check_Button(b->x() + b->w() + 10, b->y(), 145, b->h(), "Show hidden files");
   show_hidden->callback((Fl_Callback*)show_hidden_cb, this);
   my_fileList = _file_chooser->browser();

Modified: branches/branch-3.0-2011/src/Fl_Overlay_Window.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Overlay_Window.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Overlay_Window.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -151,9 +151,9 @@
   if (!fl_display) return; // this prevents fluid -c from opening display
   if (!overlay_) {
     if (can_do_overlay()) {
-      Fl_Group::current(this);
+      fltk3::Group::current(this);
       overlay_ = new _Fl_Overlay(0,0,w(),h());
-      Fl_Group::current(0);
+      fltk3::Group::current(0);
     } else {
       overlay_ = this;	// fake the overlay
     }

Modified: branches/branch-3.0-2011/src/Fl_Pack.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Pack.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Pack.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -45,7 +45,7 @@
   that it is destroyed last.
 */
 Fl_Pack::Fl_Pack(int X, int Y, int W, int H,const char *l)
-: Fl_Group(X, Y, W, H, l) {
+: fltk3::Group(X, Y, W, H, l) {
   resizable(0);
   spacing_ = 0;
   // type(VERTICAL); // already set like this
@@ -60,7 +60,7 @@
   int current_position = horizontal() ? tx : ty;
   int maximum_position = current_position;
   uchar d = damage();
-  Fl_Widget*const* a = array();
+  fltk3::Widget*const* a = array();
   if (horizontal()) {
     rw = -spacing_;
     rh = th;
@@ -81,7 +81,7 @@
       }
   }
   for (int i = children(); i--;) {
-    Fl_Widget* o = *a++;
+    fltk3::Widget* o = *a++;
     if (o->visible()) {
       int X,Y,W,H;
       if (horizontal()) {
@@ -143,7 +143,7 @@
   tw += fltk3::box_dw(box()); if (tw <= 0) tw = 1;
   th += fltk3::box_dh(box()); if (th <= 0) th = 1;
   if (tw != w() || th != h()) {
-    Fl_Widget::resize(x(),y(),tw,th);
+    fltk3::Widget::resize(x(),y(),tw,th);
     d = FL_DAMAGE_ALL;
   }
   if (d&FL_DAMAGE_ALL) {

Modified: branches/branch-3.0-2011/src/Fl_Paged_Device.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Paged_Device.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Paged_Device.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -46,7 +46,7 @@
  to the current origin of graphics functions.
  @param[in] delta_y Same as above, vertically.
  */
-void Fl_Paged_Device::print_widget(Fl_Widget* widget, int delta_x, int delta_y) 
+void Fl_Paged_Device::print_widget(fltk3::Widget* widget, int delta_x, int delta_y) 
 { 
   int old_x, old_y, new_x, new_y, is_window;
   if ( ! widget->visible() ) return;
@@ -89,13 +89,13 @@
 }
 
 
-void Fl_Paged_Device::traverse(Fl_Widget *widget)
+void Fl_Paged_Device::traverse(fltk3::Widget *widget)
 {
-  Fl_Group *g = widget->as_group();
+  fltk3::Group *g = widget->as_group();
   if (!g) return;
   int n = g->children();
   for (int i = 0; i < n; i++) {
-    Fl_Widget *c = g->child(i);
+    fltk3::Widget *c = g->child(i);
     if ( !c->visible() ) continue;
     if ( c->as_window() ) {
       print_widget(c, c->x(), c->y());

Modified: branches/branch-3.0-2011/src/Fl_Pixmap.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Pixmap.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Pixmap.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -44,7 +44,7 @@
 #include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 #include <fltk3/x.H>
-#include <fltk3/Fl_Widget.H>
+#include <fltk3/Widget.h>
 #include <fltk3/Fl_Menu_Item.H>
 #include <fltk3/Fl_Pixmap.H>
 #include <fltk3/Fl_Printer.H>
@@ -254,7 +254,7 @@
   }
 }
 
-void Fl_Pixmap::label(Fl_Widget* widget) {
+void Fl_Pixmap::label(fltk3::Widget* widget) {
   widget->image(this);
 }
 

Modified: branches/branch-3.0-2011/src/Fl_Positioner.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Positioner.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Positioner.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -129,7 +129,7 @@
   size, and label string. The default boxtype is fltk3::NO_BOX.
 */
 Fl_Positioner::Fl_Positioner(int X, int Y, int W, int H, const char* l)
-: Fl_Widget(X, Y, W, H, l) {
+: fltk3::Widget(X, Y, W, H, l) {
   box(fltk3::DOWN_BOX);
   selection_color(FL_RED);
   align(FL_ALIGN_BOTTOM);

Modified: branches/branch-3.0-2011/src/Fl_PostScript.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_PostScript.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_PostScript.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -596,7 +596,7 @@
   gap_=1;
   clip_=0;
   cr_=cg_=cb_=0;
-  font_=FL_HELVETICA;
+  font_=fltk3::HELVETICA;
   size_=12;
   linewidth_=0;
   linestyle_=FL_SOLID;
@@ -927,8 +927,8 @@
 };
 
 void Fl_PostScript_Graphics_Driver::font(int f, int s) {
-  if (f >= FL_FREE_FONT)
-    f = FL_COURIER;
+  if (f >= fltk3::FREE_FONT)
+    f = fltk3::COURIER;
   fprintf(output, "/%s SF\n" , _fontNames[f]);
   fprintf(output,"%i FS\n", s);
   Fl_Display_Device::display_device()->driver()->font(f,s); // Use display fonts for font measurement
@@ -996,8 +996,8 @@
 // write to PostScript a bitmap image of a UTF8 string
 static void transformed_draw_extra(const char* str, int n, double x, double y, int w, FILE *output) {
   const float scale = 3; // scale for bitmask computation
-  Fl_Fontsize old_size = fl_size();
-  fl_font(fl_font(), (Fl_Fontsize)(scale * old_size) );
+  fltk3::Fontsize old_size = fl_size();
+  fl_font(fl_font(), (fltk3::Fontsize)(scale * old_size) );
   w =  (int)(w *scale + 0.5);
   int h = fl_height();
   // create an offscreen image of the string

Modified: branches/branch-3.0-2011/src/Fl_Progress.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Progress.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Progress.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -41,7 +41,7 @@
 
 
 //
-// Fl_Progress is a progress bar widget based off Fl_Widget that shows a
+// Fl_Progress is a progress bar widget based off fltk3::Widget that shows a
 // standard progress bar...
 //
 
@@ -108,7 +108,7 @@
     The default colors are FL_BACKGROUND2_COLOR and FL_YELLOW, resp.
 */
 Fl_Progress::Fl_Progress(int X, int Y, int W, int H, const char* L)
-: Fl_Widget(X, Y, W, H, L) {
+: fltk3::Widget(X, Y, W, H, L) {
   align(FL_ALIGN_INSIDE);
   box(fltk3::DOWN_BOX);
   color(FL_BACKGROUND2_COLOR, FL_YELLOW);

Modified: branches/branch-3.0-2011/src/Fl_Scroll.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Scroll.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Scroll.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -33,20 +33,20 @@
 /** Clear all but the scrollbars... */
 void Fl_Scroll::clear() {
   // Note: the scrollbars are removed from the group before calling
-  // Fl_Group::clear() to take advantage of the optimized widget removal
+  // fltk3::Group::clear() to take advantage of the optimized widget removal
   // and deletion. Finally they are added to Fl_Scroll's group again. This
   // is MUCH faster than removing the widgets one by one (STR #2409).
 
   remove(scrollbar);
   remove(hscrollbar);
-  Fl_Group::clear();
+  fltk3::Group::clear();
   add(hscrollbar);
   add(scrollbar);
 }
 
 /** Insure the scrollbars are the last children */
 void Fl_Scroll::fix_scrollbar_order() {
-  Fl_Widget** a = (Fl_Widget**)array();
+  fltk3::Widget** a = (fltk3::Widget**)array();
   if (a[children()-1] != &scrollbar) {
     int i,j; for (i = j = 0; j < children(); j++)
       if (a[j] != &hscrollbar && a[j] != &scrollbar) a[i++] = a[j];
@@ -76,7 +76,7 @@
     case fltk3::OVAL_FRAME :
     case fltk3::PLASTIC_UP_FRAME :
     case fltk3::PLASTIC_DOWN_FRAME :
-        if (s->parent() == (Fl_Group *)s->window() && fltk3::scheme_bg_) {
+        if (s->parent() == (fltk3::Group *)s->window() && fltk3::scheme_bg_) {
 	  fltk3::scheme_bg_->draw(X-(X%((Fl_Tiled_Image *)fltk3::scheme_bg_)->image()->w()),
 	                       Y-(Y%((Fl_Tiled_Image *)fltk3::scheme_bg_)->image()->h()),
 	                       W+((Fl_Tiled_Image *)fltk3::scheme_bg_)->image()->w(),
@@ -89,9 +89,9 @@
 	fl_rectf(X,Y,W,H);
 	break;
   }
-  Fl_Widget*const* a = s->array();
+  fltk3::Widget*const* a = s->array();
   for (int i=s->children()-2; i--;) {
-    Fl_Widget& o = **a++;
+    fltk3::Widget& o = **a++;
     s->draw_child(o);
     s->draw_outside_label(o);
   }
@@ -120,9 +120,9 @@
   si.child_b = si.innerbox_y;
   si.child_t = si.innerbox_y;
   int first = 1;
-  Fl_Widget*const* a = array();
+  fltk3::Widget*const* a = array();
   for (int i=children()-2; i--;) {
-    Fl_Widget* o = *a++;
+    fltk3::Widget* o = *a++;
     if ( first ) {
         first = 0;
 	si.child_l = o->x();
@@ -258,7 +258,7 @@
       fl_scroll(X, Y, W, H, oldx-xposition_, oldy-yposition_, draw_clip, this);
 
       // Erase the background as needed...
-      Fl_Widget*const* a = array();
+      fltk3::Widget*const* a = array();
       int L, R, T, B;
       L = 999999;
       R = 0;
@@ -277,7 +277,7 @@
     }
     if (d & FL_DAMAGE_CHILD) { // draw damaged children
       fl_push_clip(X, Y, W, H);
-      Fl_Widget*const* a = array();
+      fltk3::Widget*const* a = array();
       for (int i=children()-2; i--;) update_child(**a++);
       fl_pop_clip();
     }
@@ -339,12 +339,12 @@
 void Fl_Scroll::resize(int X, int Y, int W, int H) {
   int dx = X-x(), dy = Y-y();
   int dw = W-w(), dh = H-h();
-  Fl_Widget::resize(X,Y,W,H); // resize _before_ moving children around
+  fltk3::Widget::resize(X,Y,W,H); // resize _before_ moving children around
   fix_scrollbar_order();
   // move all the children:
-  Fl_Widget*const* a = array();
+  fltk3::Widget*const* a = array();
   for (int i=children()-2; i--;) {
-    Fl_Widget* o = *a++;
+    fltk3::Widget* o = *a++;
     o->position(o->x()+dx, o->y()+dy);
   }
   if (dw==0 && dh==0) {
@@ -366,22 +366,22 @@
   if (!dx && !dy) return;
   xposition_ = X;
   yposition_ = Y;
-  Fl_Widget*const* a = array();
+  fltk3::Widget*const* a = array();
   for (int i=children(); i--;) {
-    Fl_Widget* o = *a++;
+    fltk3::Widget* o = *a++;
     if (o == &hscrollbar || o == &scrollbar) continue;
     o->position(o->x()+dx, o->y()+dy);
   }
-  if (parent() == (Fl_Group *)window() && fltk3::scheme_bg_) damage(FL_DAMAGE_ALL);
+  if (parent() == (fltk3::Group *)window() && fltk3::scheme_bg_) damage(FL_DAMAGE_ALL);
   else damage(FL_DAMAGE_SCROLL);
 }
 
-void Fl_Scroll::hscrollbar_cb(Fl_Widget* o, void*) {
+void Fl_Scroll::hscrollbar_cb(fltk3::Widget* o, void*) {
   Fl_Scroll* s = (Fl_Scroll*)(o->parent());
   s->scroll_to(int(((Fl_Scrollbar*)o)->value()), s->yposition());
 }
 
-void Fl_Scroll::scrollbar_cb(Fl_Widget* o, void*) {
+void Fl_Scroll::scrollbar_cb(fltk3::Widget* o, void*) {
   Fl_Scroll* s = (Fl_Scroll*)(o->parent());
   s->scroll_to(s->xposition(), int(((Fl_Scrollbar*)o)->value()));
 }
@@ -396,7 +396,7 @@
   that it is destroyed last.
 */
 Fl_Scroll::Fl_Scroll(int X,int Y,int W,int H,const char* L)
-  : Fl_Group(X,Y,W,H,L), 
+  : fltk3::Group(X,Y,W,H,L), 
     scrollbar(X+W-fltk3::scrollbar_size(),Y,
               fltk3::scrollbar_size(),H-fltk3::scrollbar_size()),
     hscrollbar(X,Y+H-fltk3::scrollbar_size(),
@@ -412,7 +412,7 @@
 
 int Fl_Scroll::handle(int event) {
   fix_scrollbar_order();
-  return Fl_Group::handle(event);
+  return fltk3::Group::handle(event);
 }
 
 //

Modified: branches/branch-3.0-2011/src/Fl_Table.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Table.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Table.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -99,7 +99,7 @@
 }
 
 // Ctor
-Fl_Table::Fl_Table(int X, int Y, int W, int H, const char *l) : Fl_Group(X,Y,W,H,l) {
+Fl_Table::Fl_Table(int X, int Y, int W, int H, const char *l) : fltk3::Group(X,Y,W,H,l) {
   _rows             = 0;
   _cols             = 0;
   _row_header_w     = 40;
@@ -157,14 +157,14 @@
   table_resized();
   redraw();
   
-  Fl_Group::end();		// end the group's begin()
+  fltk3::Group::end();		// end the group's begin()
   
   table->begin();		// leave with fltk children getting added to the scroll
 }
 
 // Dtor
 Fl_Table::~Fl_Table() {
-  // The parent Fl_Group takes care of destroying scrollbars
+  // The parent fltk3::Group takes care of destroying scrollbars
 }
 
 // Set height of a row
@@ -186,7 +186,7 @@
     redraw();
   }
   // ROW RESIZE CALLBACK
-  if ( Fl_Widget::callback() && when() & FL_WHEN_CHANGED ) {
+  if ( fltk3::Widget::callback() && when() & FL_WHEN_CHANGED ) {
     do_callback(CONTEXT_RC_RESIZE, row, 0);
   }
 }
@@ -212,7 +212,7 @@
     redraw();
   }
   // COLUMN RESIZE CALLBACK
-  if ( Fl_Widget::callback() && when() & FL_WHEN_CHANGED ) {
+  if ( fltk3::Widget::callback() && when() & FL_WHEN_CHANGED ) {
     do_callback(CONTEXT_RC_RESIZE, 0, col);
   }
 }
@@ -577,7 +577,7 @@
   }
   
   // Tell FLTK child widgets were resized
-  Fl_Group::init_sizes();
+  fltk3::Group::init_sizes();
   
   // Recalc top/bot/left/right
   table_scrolled();
@@ -587,7 +587,7 @@
 }
 
 // Someone moved a scrollbar
-void Fl_Table::scroll_cb(Fl_Widget*w, void *data) {
+void Fl_Table::scroll_cb(fltk3::Widget*w, void *data) {
   Fl_Table *o = (Fl_Table*)data;
   o->recalc_dimensions();	// recalc tix, tiy, etc.
   o->table_scrolled();
@@ -699,7 +699,7 @@
 // Handle FLTK events
 int Fl_Table::handle(int event) {
   PRINTEVENT;
-  int ret = Fl_Group::handle(event);	// let FLTK group handle events first
+  int ret = fltk3::Group::handle(event);	// let FLTK group handle events first
   if (ret) {
     if (fltk3::event_inside(hscrollbar) || fltk3::event_inside(vscrollbar)) return 1;
     if (fltk3::focus() != this && contains(fltk3::focus())) return 1;
@@ -727,7 +727,7 @@
         }
       }
       // Need this for eg. right click to pop up a menu
-      if ( Fl_Widget::callback() &&		// callback defined?
+      if ( fltk3::Widget::callback() &&		// callback defined?
           resizeflag == RESIZE_NONE ) {	// not resizing?
         do_callback(context, R, C);		// do callback
       }
@@ -830,7 +830,7 @@
         redraw();
         change_cursor(FL_CURSOR_WE);
         ret = 1;
-        if ( Fl_Widget::callback() && when() & FL_WHEN_CHANGED ) {
+        if ( fltk3::Widget::callback() && when() & FL_WHEN_CHANGED ) {
           do_callback(CONTEXT_RC_RESIZE, R, C);
         }
       }
@@ -850,7 +850,7 @@
         redraw();
         change_cursor(FL_CURSOR_NS);
         ret = 1;
-        if ( Fl_Widget::callback() && when() & FL_WHEN_CHANGED ) {
+        if ( fltk3::Widget::callback() && when() & FL_WHEN_CHANGED ) {
           do_callback(CONTEXT_RC_RESIZE, R, C);
         }
       } else {
@@ -903,7 +903,7 @@
         case CONTEXT_TABLE:			// release on dead zone
           if ( _resizing_col == -1 &&		// not resizing a column
               _resizing_row == -1 &&		// not resizing a row
-              Fl_Widget::callback() && 	// callback defined
+              fltk3::Widget::callback() && 	// callback defined
               when() & FL_WHEN_RELEASE && 	// on button release
               _last_row == R ) {		// release on same row PUSHed?
             // Need this for eg. left clicking on a cell to select it
@@ -1001,8 +1001,8 @@
         do_callback(CONTEXT_TABLE, -1, -1);
         take_focus();
       }
-      //if (!ret && Fl_Widget::callback() && when() & FL_WHEN_NOT_CHANGED  )
-      if ( Fl_Widget::callback() && 
+      //if (!ret && fltk3::Widget::callback() && when() & FL_WHEN_NOT_CHANGED  )
+      if ( fltk3::Widget::callback() && 
           (
            ( !ret && when() & FL_WHEN_NOT_CHANGED ) || 
            ( is_row!= select_row || is_col!= select_col ) 
@@ -1027,7 +1027,7 @@
 //
 void Fl_Table::resize(int X, int Y, int W, int H) {
   // Tell group to resize, and recalc our own widget as well
-  Fl_Group::resize(X, Y, W, H);
+  fltk3::Group::resize(X, Y, W, H);
   table_resized();
   redraw();
 }
@@ -1127,7 +1127,7 @@
   //
   fl_push_clip(wix, wiy, wiw, wih);
   {
-    Fl_Group::draw();
+    fltk3::Group::draw();
   }
   fl_pop_clip();
   
@@ -1135,7 +1135,7 @@
   draw_box(box(), x(), y(), w(), h(), color());
   
   // If Fl_Scroll 'table' is hidden, draw its box
-  //    Do this after Fl_Group::draw() so we draw over scrollbars
+  //    Do this after fltk3::Group::draw() so we draw over scrollbars
   //    that leak around the border.
   //
   if ( ! table->visible() ) {

Modified: branches/branch-3.0-2011/src/Fl_Tabs.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Tabs.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Tabs.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -62,14 +62,14 @@
   }
   if (nc == 0) return 0;
   int selected = 0;
-  Fl_Widget*const* a = array();
+  fltk3::Widget*const* a = array();
   int i;
   char prev_draw_shortcut = fl_draw_shortcut;
   fl_draw_shortcut = 1;
 
   tab_pos[0] = fltk3::box_dx(box());
   for (i=0; i<nc; i++) {
-    Fl_Widget* o = *a++;
+    fltk3::Widget* o = *a++;
     if (o->visible()) selected = i;
 
     int wt = 0; int ht = 0;
@@ -112,9 +112,9 @@
   if (children() == 0) return h();
   int H = h();
   int H2 = y();
-  Fl_Widget*const* a = array();
+  fltk3::Widget*const* a = array();
   for (int i=children(); i--;) {
-    Fl_Widget* o = *a++;
+    fltk3::Widget* o = *a++;
     if (o->y() < y()+H) H = o->y()-y();
     if (o->y()+o->h() > H2) H2 = o->y()+o->h();
   }
@@ -125,7 +125,7 @@
 
 // This is used for event handling (clicks) and by fluid to pick tabs.
 // Returns 0, if children() = 0, or if the event is outside of the tabs area.
-Fl_Widget *Fl_Tabs::which(int event_x, int event_y) {
+fltk3::Widget *Fl_Tabs::which(int event_x, int event_y) {
   if (children() == 0) return 0;
   int H = tab_height();
   if (H < 0) {
@@ -134,7 +134,7 @@
     if (event_y > y()+H || event_y < y()) return 0;
   }
   if (event_x < x()) return 0;
-  Fl_Widget *ret = 0L;
+  fltk3::Widget *ret = 0L;
   int nc = children();
   tab_positions();
   for (int i=0; i<nc; i++) {
@@ -160,7 +160,7 @@
 
 int Fl_Tabs::handle(int event) {
 
-  Fl_Widget *o;
+  fltk3::Widget *o;
   int i;
 
   switch (event) {
@@ -168,9 +168,9 @@
   case FL_PUSH: {
     int H = tab_height();
     if (H >= 0) {
-      if (fltk3::event_y() > y()+H) return Fl_Group::handle(event);
+      if (fltk3::event_y() > y()+H) return fltk3::Group::handle(event);
     } else {
-      if (fltk3::event_y() < y()+h()+H) return Fl_Group::handle(event);
+      if (fltk3::event_y() < y()+h()+H) return fltk3::Group::handle(event);
     }}
     /* FALLTHROUGH */
   case FL_DRAG:
@@ -194,8 +194,8 @@
     }
     return 1;
   case FL_MOVE: {
-    int ret = Fl_Group::handle(event);
-    Fl_Widget *o = Fl_Tooltip::current(), *n = o;
+    int ret = fltk3::Group::handle(event);
+    fltk3::Widget *o = Fl_Tooltip::current(), *n = o;
     int H = tab_height();
     if ( (H>=0) && (fltk3::event_y()>y()+H) )
       return ret;
@@ -210,7 +210,7 @@
     return ret; }
   case FL_FOCUS:
   case FL_UNFOCUS:
-    if (!fltk3::visible_focus()) return Fl_Group::handle(event);
+    if (!fltk3::visible_focus()) return fltk3::Group::handle(event);
     if (fltk3::event() == FL_RELEASE ||
 	fltk3::event() == FL_SHORTCUT ||
 	fltk3::event() == FL_KEYBOARD ||
@@ -219,7 +219,7 @@
       redraw_tabs();
       if (fltk3::event() == FL_FOCUS || fltk3::event() == FL_UNFOCUS) return 0;
       else return 1;
-    } else return Fl_Group::handle(event);
+    } else return fltk3::Group::handle(event);
   case FL_KEYBOARD:
     switch (fltk3::event_key()) {
       case FL_Left:
@@ -240,14 +240,14 @@
         return 1;
       case FL_Down:
         redraw();
-        return Fl_Group::handle(FL_FOCUS);
+        return fltk3::Group::handle(FL_FOCUS);
       default:
         break;
     }
-    return Fl_Group::handle(event);
+    return fltk3::Group::handle(event);
   case FL_SHORTCUT:
     for (i = 0; i < children(); ++i) {
-      Fl_Widget *c = child(i);
+      fltk3::Widget *c = child(i);
       if (c->test_shortcut(c->label())) {
         char sc = !c->visible();
         value(c);
@@ -256,16 +256,16 @@
         return 1;
       }
     }
-    return Fl_Group::handle(event);
+    return fltk3::Group::handle(event);
   case FL_SHOW:
     value(); // update visibilities and fall through
   default:
-    return Fl_Group::handle(event);
+    return fltk3::Group::handle(event);
 
   }
 }
 
-int Fl_Tabs::push(Fl_Widget *o) {
+int Fl_Tabs::push(fltk3::Widget *o) {
   if (push_ == o) return 0;
   if ( (push_ && !push_->visible()) || (o && !o->visible()) )
     redraw_tabs();
@@ -280,11 +280,11 @@
    This allows the tabs to be deleted, moved to other groups, and
    show()/hide() called without it screwing up.
 */
-Fl_Widget* Fl_Tabs::value() {
-  Fl_Widget* v = 0;
-  Fl_Widget*const* a = array();
+fltk3::Widget* Fl_Tabs::value() {
+  fltk3::Widget* v = 0;
+  fltk3::Widget*const* a = array();
   for (int i=children(); i--;) {
-    Fl_Widget* o = *a++;
+    fltk3::Widget* o = *a++;
     if (v) o->hide();
     else if (o->visible()) v = o;
     else if (!i) {o->show(); v = o;}
@@ -297,11 +297,11 @@
   Setting the value hides all other children, and makes this one
   visible, if it is really a child.
 */
-int Fl_Tabs::value(Fl_Widget *newvalue) {
-  Fl_Widget*const* a = array();
+int Fl_Tabs::value(fltk3::Widget *newvalue) {
+  fltk3::Widget*const* a = array();
   int ret = 0;
   for (int i=children(); i--;) {
-    Fl_Widget* o = *a++;
+    fltk3::Widget* o = *a++;
     if (o == newvalue) {
       if (!o->visible()) ret = 1;
       o->show();
@@ -315,7 +315,7 @@
 enum {LEFT, RIGHT, SELECTED};
 
 void Fl_Tabs::draw() {
-  Fl_Widget *v = value();
+  fltk3::Widget *v = value();
   int H = tab_height();
 
   if (damage() & FL_DAMAGE_ALL) { // redraw the entire thing:
@@ -339,7 +339,7 @@
     int nc = children();
     int selected = tab_positions();
     int i;
-    Fl_Widget*const* a = array();
+    fltk3::Widget*const* a = array();
     for (i=0; i<selected; i++)
       draw_tab(x()+tab_pos[i], x()+tab_pos[i+1],
                tab_width[i], H, a[i], LEFT);
@@ -354,7 +354,7 @@
   }
 }
 
-void Fl_Tabs::draw_tab(int x1, int x2, int W, int H, Fl_Widget* o, int what) {
+void Fl_Tabs::draw_tab(int x1, int x2, int W, int H, fltk3::Widget* o, int what) {
   int sel = (what == SELECTED);
   int dh = fltk3::box_dh(box());
   int dy = fltk3::box_dy(box());
@@ -426,8 +426,8 @@
     Creates a new Fl_Tabs widget using the given position, size,
     and label string. The default boxtype is FL_THIN_UP_BOX.
 
-    Use add(Fl_Widget*) to add each child, which are usually
-    Fl_Group widgets. The children should be sized to stay
+    Use add(fltk3::Widget*) to add each child, which are usually
+    fltk3::Group widgets. The children should be sized to stay
     away from the top or bottom edge of the Fl_Tabs widget,
     which is where the tabs will be drawn.
 
@@ -444,7 +444,7 @@
     Fl_Tabs widget <I>first</I> so that it is destroyed last.
 */
 Fl_Tabs::Fl_Tabs(int X,int Y,int W, int H, const char *l) :
-  Fl_Group(X,Y,W,H,l)
+  fltk3::Group(X,Y,W,H,l)
 {
   box(fltk3::THIN_UP_BOX);
   push_ = 0;

Modified: branches/branch-3.0-2011/src/Fl_Text_Display.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Text_Display.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Text_Display.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -89,7 +89,7 @@
  \param l label text, defaults to none
  */
 Fl_Text_Display::Fl_Text_Display(int X, int Y, int W, int H, const char* l)
-: Fl_Group(X, Y, W, H, l) {
+: fltk3::Group(X, Y, W, H, l) {
   int i;
   
   mMaxsize = 0;
@@ -104,7 +104,7 @@
   box(fltk3::DOWN_FRAME);
   textsize(FL_NORMAL_SIZE);
   textcolor(FL_FOREGROUND_COLOR);
-  textfont(FL_HELVETICA);
+  textfont(fltk3::HELVETICA);
   set_flag(SHORTCUT_LABEL);
   
   text_area.x = 0;
@@ -292,7 +292,7 @@
 #ifdef DEBUG
   printf("    oldWidth=%d, mContinuousWrap=%d, mWrapMargin=%d\n", oldWidth, mContinuousWrap, mWrapMargin);
 #endif // DEBUG
-  Fl_Widget::resize(X,Y,W,H);
+  fltk3::Widget::resize(X,Y,W,H);
   if (!buffer()) return;
   X += fltk3::box_dx(box());
   Y += fltk3::box_dy(box());
@@ -1923,7 +1923,7 @@
    pre-allocated and pre-configured.  For syntax highlighting, GCs are
    configured here, on the fly. */
   
-  Fl_Font font = textfont();
+  fltk3::Font font = textfont();
   int fsize = textsize();
   Fl_Color foreground;
   Fl_Color background;
@@ -2170,8 +2170,8 @@
 double Fl_Text_Display::string_width( const char *string, int length, int style ) const {
   IS_UTF8_ALIGNED(string)
 
-  Fl_Font font;
-  Fl_Fontsize fsize;
+  fltk3::Font font;
+  fltk3::Fontsize fsize;
   
   if ( mNStyles && (style & STYLE_LOOKUP_MASK) ) {
     int si = (style & STYLE_LOOKUP_MASK) - 'A';
@@ -3546,7 +3546,7 @@
       !dragging && event != FL_LEAVE && event != FL_ENTER &&
       event != FL_MOVE && event != FL_FOCUS && event != FL_UNFOCUS &&
       event != FL_KEYBOARD && event != FL_KEYUP) {
-    return Fl_Group::handle(event);
+    return fltk3::Group::handle(event);
   }
   
   switch (event) {
@@ -3582,7 +3582,7 @@
         fltk3::focus(this);
         handle(FL_FOCUS);
       }
-      if (Fl_Group::handle(event)) return 1;
+      if (fltk3::Group::handle(event)) return 1;
       if (fltk3::event_state()&FL_SHIFT) return handle(FL_DRAG);
       dragging = 1;
       int pos = xy_to_position(fltk3::event_x(), fltk3::event_y(), CURSOR_POS);

Modified: branches/branch-3.0-2011/src/Fl_Text_Editor.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Text_Editor.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Text_Editor.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -601,7 +601,7 @@
     case FL_PUSH:
       if (fltk3::event_button() == 2) {
         // don't let the text_display see this event
-        if (Fl_Group::handle(event)) return 1;
+        if (fltk3::Group::handle(event)) return 1;
         dragType = DRAG_NONE;
 	if(buffer()->selected()) {
 	  buffer()->unselect();

Modified: branches/branch-3.0-2011/src/Fl_Tile.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Tile.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Tile.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -42,11 +42,11 @@
   This redraws all the necessary children.
 */
 void Fl_Tile::position(int oix, int oiy, int newx, int newy) {
-  Fl_Widget*const* a = array();
+  fltk3::Widget*const* a = array();
   int *p = sizes();
   p += 8; // skip group & resizable's saved size
   for (int i=children(); i--; p += 4) {
-    Fl_Widget* o = *a++;
+    fltk3::Widget* o = *a++;
     if (o == resizable()) continue;
     int X = o->x();
     int R = X+o->w();
@@ -70,7 +70,7 @@
 
 // move the lower-right corner (sort of):
 void Fl_Tile::resize(int X,int Y,int W,int H) {
-  //Fl_Group::resize(X, Y, W, H);
+  //fltk3::Group::resize(X, Y, W, H);
   //return;
   // remember how much to move the child widgets:
   int dx = X-x();
@@ -78,18 +78,18 @@
   int dw = W-w();
   int dh = H-h();
   int *p = sizes();
-  // resize this (skip the Fl_Group resize):
-  Fl_Widget::resize(X,Y,W,H);
+  // resize this (skip the fltk3::Group resize):
+  fltk3::Widget::resize(X,Y,W,H);
   // find bottom-right of resiable:
   int OR = p[5];
   int NR = X+W-(p[1]-OR);
   int OB = p[7];
   int NB = Y+H-(p[3]-OB);
   // move everything to be on correct side of new resizable:
-  Fl_Widget*const* a = array();
+  fltk3::Widget*const* a = array();
   p += 8;
   for (int i=children(); i--;) {
-    Fl_Widget* o = *a++;
+    fltk3::Widget* o = *a++;
     int xx = o->x()+dx;
     int R = xx+o->w();
     if (*p++ >= OR) xx += dw; else if (xx > NR) xx = NR;
@@ -144,11 +144,11 @@
     int mindy = 100;
     int oldx = 0;
     int oldy = 0;
-    Fl_Widget*const* a = array();
+    fltk3::Widget*const* a = array();
     int *q = sizes();
     int *p = q+8;
     for (int i=children(); i--; p += 4) {
-      Fl_Widget* o = *a++;
+      fltk3::Widget* o = *a++;
       if (o == resizable()) continue;
       if (p[1]<q[1] && o->y()<=my+GRABAREA && o->y()+o->h()>=my-GRABAREA) {
 	int t = mx - (o->x()+o->w());
@@ -172,7 +172,7 @@
     if (mindy <= GRABAREA) {sdrag |= DRAGV; sy = oldy;}
     set_cursor(this, cursors[sdrag]);
     if (sdrag) return 1;
-    return Fl_Group::handle(event);
+    return fltk3::Group::handle(event);
   }
 
   case FL_LEAVE:
@@ -184,7 +184,7 @@
     // if (damage()) return 1; // don't fall behind
   case FL_RELEASE: {
     if (!sdrag) return 0; // should not happen
-    Fl_Widget* r = resizable(); if (!r) r = this;
+    fltk3::Widget* r = resizable(); if (!r) r = this;
     int newx;
     if (sdrag&DRAGH) {
       newx = fltk3::event_x()-sdx;
@@ -206,7 +206,7 @@
 
   }
 
-  return Fl_Group::handle(event);
+  return fltk3::Group::handle(event);
 }
 
 //

Modified: branches/branch-3.0-2011/src/Fl_Tooltip.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Tooltip.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Tooltip.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -38,8 +38,8 @@
 		                                   FL_NUM_GREEN - 1,
 						   FL_NUM_BLUE - 2);
 Fl_Color	Fl_Tooltip::textcolor_ = FL_BLACK;
-Fl_Font         Fl_Tooltip::font_ = FL_HELVETICA;
-Fl_Fontsize     Fl_Tooltip::size_ = FL_NORMAL_SIZE;
+fltk3::Font         Fl_Tooltip::font_ = fltk3::HELVETICA;
+fltk3::Fontsize     Fl_Tooltip::size_ = FL_NORMAL_SIZE;
 
 #define MAX_WIDTH 400
 
@@ -63,7 +63,7 @@
   }
 };
 
-Fl_Widget* Fl_Tooltip::widget_ = 0;
+fltk3::Widget* Fl_Tooltip::widget_ = 0;
 static Fl_TooltipBox *window = 0;
 static int Y,H;
 
@@ -85,7 +85,7 @@
   // find position on the screen of the widget:
   int ox = fltk3::event_x_root();
   int oy = Y + H+2;
-  for (Fl_Widget* p = Fl_Tooltip::current(); p; p = p->window()) {
+  for (fltk3::Widget* p = Fl_Tooltip::current(); p; p = p->window()) {
     oy += p->y();
   }
   int scr_x, scr_y, scr_w, scr_h;
@@ -135,7 +135,7 @@
     //if (fltk3::grab()) return;
     if (!window) window = new Fl_TooltipBox;
     // this cast bypasses the normal fltk3::Window label() code:
-    ((Fl_Widget*)window)->label(tip);
+    ((fltk3::Widget*)window)->label(tip);
     window->layout();
     window->redraw();
 //    printf("tooltip_timeout: Showing window %p with tooltip \"%s\"...\n",
@@ -157,14 +157,14 @@
    if you want the tooltip to reappear when the mouse moves back in)
    call the fancier enter_area() below.
 */
-void Fl_Tooltip::enter_(Fl_Widget* w) {
+void Fl_Tooltip::enter_(fltk3::Widget* w) {
 #ifdef DEBUG
   printf("Fl_Tooltip::enter_(w=%p)\n", w);
   printf("    window=%p\n", window);
 #endif // DEBUG
 
   // find the enclosing group with a tooltip:
-  Fl_Widget* tw = w;
+  fltk3::Widget* tw = w;
   for (;;) {
     if (!tw) {exit_(0); return;}
     if (tw == widget_) return;
@@ -180,14 +180,14 @@
      a modal overlapping window is deleted. FLTK does this automatically
      when you click the mouse button.
 */
-void Fl_Tooltip::current(Fl_Widget* w) {
+void Fl_Tooltip::current(fltk3::Widget* w) {
 #ifdef DEBUG
   printf("Fl_Tooltip::current(w=%p)\n", w);
 #endif // DEBUG
 
   exit_(0);
   // find the enclosing group with a tooltip:
-  Fl_Widget* tw = w;
+  fltk3::Widget* tw = w;
   for (;;) {
     if (!tw) return;
     if (tw->tooltip()) break;
@@ -199,7 +199,7 @@
 
 // Hide any visible tooltip.
 /**  This method is called when the mouse pointer leaves a  widget. */
-void Fl_Tooltip::exit_(Fl_Widget *w) {
+void Fl_Tooltip::exit_(fltk3::Widget *w) {
 #ifdef DEBUG
   printf("Fl_Tooltip::exit_(w=%p)\n", w);
   printf("    widget=%p, window=%p\n", widget_, window);
@@ -231,7 +231,7 @@
   where to put the tooltip), and the text of the tooltip (which must be
   a pointer to static data as it is not copied).
 */
-void Fl_Tooltip::enter_area(Fl_Widget* wid, int x,int y,int w,int h, const char* t)
+void Fl_Tooltip::enter_area(fltk3::Widget* wid, int x,int y,int w,int h, const char* t)
 {
   (void)x;
   (void)w;
@@ -301,7 +301,7 @@
   \param[in] text New tooltip text (no copy is made)
   \see copy_tooltip(const char*), tooltip()
 */
-void Fl_Widget::tooltip(const char *text) {
+void fltk3::Widget::tooltip(const char *text) {
   Fl_Tooltip::set_enter_exit_once_();
   if (flags() & COPIED_TOOLTIP) {
     // reassigning a copied tooltip remains the same copied tooltip
@@ -327,7 +327,7 @@
   \param[in] text New tooltip text (an internal copy is made and managed)
   \see tooltip(const char*), tooltip()
 */
-void Fl_Widget::copy_tooltip(const char *text) {
+void fltk3::Widget::copy_tooltip(const char *text) {
   Fl_Tooltip::set_enter_exit_once_();
   if (flags() & COPIED_TOOLTIP) free((void *)(tooltip_));
   if (text) {

Modified: branches/branch-3.0-2011/src/Fl_Tree.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Tree.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Tree.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -33,7 +33,7 @@
 //
 
 // INTERNAL: scroller callback
-static void scroll_cb(Fl_Widget*,void *data) {
+static void scroll_cb(fltk3::Widget*,void *data) {
   ((Fl_Tree*)data)->redraw();
 }
 
@@ -84,7 +84,7 @@
 }
 
 /// Constructor.
-Fl_Tree::Fl_Tree(int X, int Y, int W, int H, const char *L) : Fl_Group(X,Y,W,H,L) { 
+Fl_Tree::Fl_Tree(int X, int Y, int W, int H, const char *L) : fltk3::Group(X,Y,W,H,L) { 
   _root = new Fl_Tree_Item(_prefs);
   _root->parent(0);				// we are root of tree
   _root->label("ROOT");
@@ -231,8 +231,8 @@
   // We handle drawing children ourselves by calling each item's draw()
   //
   // Handle group's bg
-  Fl_Group::draw_box();
-  Fl_Group::draw_label();
+  fltk3::Group::draw_box();
+  fltk3::Group::draw_label();
   // Handle tree
   if ( ! _root ) return;
   int cx = x() + fltk3::box_dx(box());
@@ -279,7 +279,7 @@
     _vscroll->hide();
   }
   fl_push_clip(cx,cy,cw,ch);
-  Fl_Group::draw_children();	// draws any FLTK children set via Fl_Tree::widget()
+  fltk3::Group::draw_children();	// draws any FLTK children set via Fl_Tree::widget()
   fl_pop_clip();
 }
 
@@ -583,8 +583,8 @@
     }
   }
 
-  // Let Fl_Group take a shot at handling the event
-  if (Fl_Group::handle(e)) {
+  // Let fltk3::Group take a shot at handling the event
+  if (fltk3::Group::handle(e)) {
     return(1);			// handled? don't continue below
   }
 

Modified: branches/branch-3.0-2011/src/Fl_Tree_Item.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Tree_Item.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Tree_Item.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -5,7 +5,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <fltk3/Fl_Widget.H>
+#include <fltk3/Widget.h>
 #include <fltk3/Fl_Tree_Item.H>
 #include <fltk3/Fl_Tree_Prefs.H>
 
@@ -74,7 +74,7 @@
     free((void*)_label);
     _label = 0;
   }
-  _widget = 0;			// Fl_Group will handle destruction
+  _widget = 0;			// fltk3::Group will handle destruction
   _usericon = 0;		// user handled allocation
   //_children.clear();		// array's destructor handles itself
 }
@@ -548,7 +548,7 @@
 }
 
 /// Draw this item and its children.
-void Fl_Tree_Item::draw(int X, int &Y, int W, Fl_Widget *tree,
+void Fl_Tree_Item::draw(int X, int &Y, int W, fltk3::Widget *tree,
 			Fl_Tree_Item *itemfocus,
                         const Fl_Tree_Prefs &prefs, int lastchild) {
   if ( ! _visible ) return; 

Modified: branches/branch-3.0-2011/src/Fl_Tree_Prefs.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Tree_Prefs.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Tree_Prefs.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -126,7 +126,7 @@
 
 /// Fl_Tree_Prefs constructor
 Fl_Tree_Prefs::Fl_Tree_Prefs() {
-  _labelfont              = FL_HELVETICA;
+  _labelfont              = fltk3::HELVETICA;
   _labelsize              = FL_NORMAL_SIZE;
   _marginleft             = 6;
   _margintop              = 3;

Modified: branches/branch-3.0-2011/src/Fl_Valuator.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Valuator.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Valuator.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -39,7 +39,7 @@
   Creates a new Fl_Valuator widget using the given position,
   size, and label string. The default boxtype is fltk3::NO_BOX.
 */
-: Fl_Widget(X,Y,W,H,L) {
+: fltk3::Widget(X,Y,W,H,L) {
   align(FL_ALIGN_BOTTOM);
   when(FL_WHEN_CHANGED);
   value_ = 0;

Modified: branches/branch-3.0-2011/src/Fl_Value_Input.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Value_Input.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Value_Input.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -27,16 +27,16 @@
 
 // FLTK widget for drag-adjusting a floating point value.
 // Warning: this works by making a child Fl_Input object, even
-// though this object is *not* an Fl_Group.  May be a kludge?
+// though this object is *not* an fltk3::Group.  May be a kludge?
 
 #include <fltk3/run.h>
 #include <fltk3/Fl_Value_Input.H>
-#include <fltk3/Fl_Group.H>
+#include <fltk3/Group.H>
 #include <stdlib.h>
 #include <fltk3/math.h>
 
 
-void Fl_Value_Input::input_cb(Fl_Widget*, void* v) {
+void Fl_Value_Input::input_cb(fltk3::Widget*, void* v) {
   Fl_Value_Input& t = *(Fl_Value_Input*)v;
   double nv;
   if ((t.step() - floor(t.step()))>0.0 || t.step() == 0.0) nv = strtod(t.input.value(), 0);
@@ -52,7 +52,7 @@
   if (damage()&~FL_DAMAGE_CHILD) input.clear_damage(FL_DAMAGE_ALL);
   input.box(box());
   input.color(color(), selection_color());
-  Fl_Widget *i = &input; i->draw(); // calls protected input.draw()
+  fltk3::Widget *i = &input; i->draw(); // calls protected input.draw()
   input.clear_damage();
 }
 
@@ -127,7 +127,7 @@
   soft_ = 0;
   if (input.parent())  // defeat automatic-add
     input.parent()->remove(input);
-  input.parent((Fl_Group *)this); // kludge!
+  input.parent((fltk3::Group *)this); // kludge!
   input.callback(input_cb, this);
   input.when(FL_WHEN_CHANGED);
   box(input.box());
@@ -140,7 +140,7 @@
 
 Fl_Value_Input::~Fl_Value_Input() {
 
-  if (input.parent() == (Fl_Group *)this)
+  if (input.parent() == (fltk3::Group *)this)
     input.parent(0);   // *revert* ctor kludge!
 }
 

Modified: branches/branch-3.0-2011/src/Fl_Value_Output.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Value_Output.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Value_Output.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -97,7 +97,7 @@
 : Fl_Valuator(X,Y,W,H,l) {
   box(fltk3::NO_BOX);
   align(FL_ALIGN_LEFT);
-  textfont_ = FL_HELVETICA;
+  textfont_ = fltk3::HELVETICA;
   textsize_ = FL_NORMAL_SIZE;
   textcolor_ = FL_FOREGROUND_COLOR;
   soft_ = 0;

Modified: branches/branch-3.0-2011/src/Fl_Value_Slider.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Value_Slider.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Value_Slider.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -37,7 +37,7 @@
 Fl_Value_Slider::Fl_Value_Slider(int X, int Y, int W, int H, const char*l)
 : Fl_Slider(X,Y,W,H,l) {
   step(1,100);
-  textfont_ = FL_HELVETICA;
+  textfont_ = fltk3::HELVETICA;
   textsize_ = 10;
   textcolor_ = FL_FOREGROUND_COLOR;
 }

Modified: branches/branch-3.0-2011/src/Fl_Widget.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Widget.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Widget.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -26,8 +26,8 @@
 //
 
 #include <fltk3/run.h>
-#include <fltk3/Fl_Widget.H>
-#include <fltk3/Fl_Group.H>
+#include <fltk3/Widget.h>
+#include <fltk3/Group.H>
 #include <fltk3/Fl_Tooltip.H>
 #include <fltk3/fl_draw.H>
 #include <stdlib.h>
@@ -42,14 +42,14 @@
 
 const int QUEUE_SIZE = 20;
 
-static Fl_Widget *obj_queue[QUEUE_SIZE];
+static fltk3::Widget *obj_queue[QUEUE_SIZE];
 static int obj_head, obj_tail;
 
-void Fl_Widget::default_callback(Fl_Widget *o, void * /*v*/) {
+void fltk3::Widget::default_callback(fltk3::Widget *o, void * /*v*/) {
 #if 0
   // This is necessary for strict forms compatibility but is confusing.
   // Use the parent's callback if this widget does not have one.
-  for (Fl_Widget *p = o->parent(); p; p = p->parent())
+  for (fltk3::Widget *p = o->parent(); p; p = p->parent())
     if (p->callback() != default_callback) {
       p->do_callback(o,v);
       return;
@@ -67,20 +67,20 @@
     default callback that puts a pointer to the widget in this queue,
     and this method reads the oldest widget out of this queue.
 */
-Fl_Widget *fltk3::readqueue() {
+fltk3::Widget *fltk3::readqueue() {
   if (obj_tail==obj_head) return 0;
-  Fl_Widget *o = obj_queue[obj_tail++];
+  fltk3::Widget *o = obj_queue[obj_tail++];
   if (obj_tail >= QUEUE_SIZE) obj_tail = 0;
   return o;
 }
 /*
     This static internal function removes all pending callbacks for a
     specific widget from the default callback queue (fltk3::readqueue()).
-    It is only called from Fl_Widget's destructor if the widget
+    It is only called from fltk3::Widget's destructor if the widget
     doesn't have an own callback.
     Note: There's no need to have this in the fltk3:: namespace.
 */
-static void cleanup_readqueue(Fl_Widget *w) {
+static void cleanup_readqueue(fltk3::Widget *w) {
 
   if (obj_tail==obj_head) return;
   
@@ -91,7 +91,7 @@
   int entry = obj_tail;		// oldest entry
   obj_head = obj_tail;		// new queue start
   for (;;) {
-    Fl_Widget *o = obj_queue[entry++];
+    fltk3::Widget *o = obj_queue[entry++];
     if (entry >= QUEUE_SIZE) entry = 0;
     if (o != w) { // valid entry
       obj_queue[obj_head++] = o;
@@ -103,14 +103,14 @@
 }
 ////////////////////////////////////////////////////////////////
 
-int Fl_Widget::handle(int) {
+int fltk3::Widget::handle(int) {
   return 0;
 }
 
 /** Default font size for widgets */
-Fl_Fontsize FL_NORMAL_SIZE = 14;
+fltk3::Fontsize FL_NORMAL_SIZE = 14;
 
-Fl_Widget::Fl_Widget(int X, int Y, int W, int H, const char* L) {
+fltk3::Widget::Widget(int X, int Y, int W, int H, const char* L) {
 
   x_ = X; y_ = Y; w_ = W; h_ = H;
 
@@ -118,7 +118,7 @@
   label_.image   = 0;
   label_.deimage = 0;
   label_.type	 = fltk3::NORMAL_LABEL;
-  label_.font	 = FL_HELVETICA;
+  label_.font	 = fltk3::HELVETICA;
   label_.size	 = FL_NORMAL_SIZE;
   label_.color	 = FL_FOREGROUND_COLOR;
   label_.align_	 = FL_ALIGN_CENTER;
@@ -134,22 +134,22 @@
   when_		 = FL_WHEN_RELEASE;
 
   parent_ = 0;
-  if (Fl_Group::current()) Fl_Group::current()->add(this);
+  if (fltk3::Group::current()) fltk3::Group::current()->add(this);
 }
 
-void Fl_Widget::resize(int X, int Y, int W, int H) {
+void fltk3::Widget::resize(int X, int Y, int W, int H) {
   x_ = X; y_ = Y; w_ = W; h_ = H;
 }
 
 // this is useful for parent widgets to call to resize children:
-int Fl_Widget::damage_resize(int X, int Y, int W, int H) {
+int fltk3::Widget::damage_resize(int X, int Y, int W, int H) {
   if (x() == X && y() == Y && w() == W && h() == H) return 0;
   resize(X, Y, W, H);
   redraw();
   return 1;
 }
 
-int Fl_Widget::take_focus() {
+int fltk3::Widget::take_focus() {
   if (!takesevents()) return 0;
   if (!visible_focus()) return 0;
   if (!handle(FL_FOCUS)) return 0; // see if it wants it
@@ -158,14 +158,14 @@
   return 1;
 }
 
-extern void fl_throw_focus(Fl_Widget*); // in Fl_x.cxx
+extern void fl_throw_focus(fltk3::Widget*); // in Fl_x.cxx
 
 /**
    Destroys the widget, taking care of throwing focus before if any.
    Destruction removes the widget from any parent group! And groups when
    destroyed destroy all their children. This is convenient and fast.
 */
-Fl_Widget::~Fl_Widget() {
+fltk3::Widget::~Widget() {
   fltk3::clear_widget_pointer(this);
   if (flags() & COPIED_LABEL) free((void *)(label_.value));
   if (flags() & COPIED_TOOLTIP) free((void *)(tooltip_));
@@ -173,7 +173,7 @@
   if (parent_) parent_->remove(this);
 #ifdef DEBUG_DELETE
   if (parent_) { // this should never happen
-    printf("*** Fl_Widget: parent_->remove(this) failed [%p,%p]\n",parent_,this);
+    printf("*** fltk3::Widget: parent_->remove(this) failed [%p,%p]\n",parent_,this);
   }
 #endif // DEBUG_DELETE
   parent_ = 0; // Don't throw focus to a parent widget.
@@ -184,7 +184,7 @@
 
 /** Draws a focus box for the widget at the given position and size */
 void
-Fl_Widget::draw_focus(fltk3::Boxtype B, int X, int Y, int W, int H) const {
+fltk3::Widget::draw_focus(fltk3::Boxtype B, int X, int Y, int W, int H) const {
   if (!fltk3::visible_focus()) return;
   switch (B) {
     case fltk3::DOWN_BOX:
@@ -228,7 +228,7 @@
 }
 
 
-void Fl_Widget::activate() {
+void fltk3::Widget::activate() {
   if (!active()) {
     clear_flag(INACTIVE);
     if (active_r()) {
@@ -240,7 +240,7 @@
   }
 }
 
-void Fl_Widget::deactivate() {
+void fltk3::Widget::deactivate() {
   if (active_r()) {
     set_flag(INACTIVE);
     redraw();
@@ -252,13 +252,13 @@
   }
 }
 
-int Fl_Widget::active_r() const {
-  for (const Fl_Widget* o = this; o; o = o->parent())
+int fltk3::Widget::active_r() const {
+  for (const fltk3::Widget* o = this; o; o = o->parent())
     if (!o->active()) return 0;
   return 1;
 }
 
-void Fl_Widget::show() {
+void fltk3::Widget::show() {
   if (!visible()) {
     clear_flag(INVISIBLE);
     if (visible_r()) {
@@ -270,10 +270,10 @@
   }
 }
 
-void Fl_Widget::hide() {
+void fltk3::Widget::hide() {
   if (visible_r()) {
     set_flag(INVISIBLE);
-    for (Fl_Widget *p = parent(); p; p = p->parent())
+    for (fltk3::Widget *p = parent(); p; p = p->parent())
       if (p->box() || !p->parent()) {p->redraw(); break;}
     handle(FL_HIDE);
     fl_throw_focus(this);
@@ -282,22 +282,22 @@
   }
 }
 
-int Fl_Widget::visible_r() const {
-  for (const Fl_Widget* o = this; o; o = o->parent())
+int fltk3::Widget::visible_r() const {
+  for (const fltk3::Widget* o = this; o; o = o->parent())
     if (!o->visible()) return 0;
   return 1;
 }
 
 // return true if widget is inside (or equal to) this:
 // Returns false for null widgets.
-int Fl_Widget::contains(const Fl_Widget *o) const {
+int fltk3::Widget::contains(const fltk3::Widget *o) const {
   for (; o; o = o->parent_) if (o == this) return 1;
   return 0;
 }
 
 
 void
-Fl_Widget::label(const char *a) {
+fltk3::Widget::label(const char *a) {
   if (flags() & COPIED_LABEL) {
     // reassigning a copied label remains the same copied label
     if (label_.value == a)
@@ -311,7 +311,7 @@
 
 
 void
-Fl_Widget::copy_label(const char *a) {
+fltk3::Widget::copy_label(const char *a) {
   if (flags() & COPIED_LABEL) free((void *)(label_.value));
   if (a) {
     set_flag(COPIED_LABEL);
@@ -332,7 +332,7 @@
   \see callback()
 */
 void
-Fl_Widget::do_callback(Fl_Widget* o,void* arg) {
+fltk3::Widget::do_callback(fltk3::Widget* o,void* arg) {
   Fl_Widget_Tracker wp(this);
   callback_(o,arg);
   if (wp.deleted()) return;

Modified: branches/branch-3.0-2011/src/Fl_Window.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Window.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Window.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -63,7 +63,7 @@
 }
 
 fltk3::Window::Window(int X,int Y,int W, int H, const char *l)
-: Fl_Group(X, Y, W, H, l) {
+: fltk3::Group(X, Y, W, H, l) {
   cursor_default = FL_CURSOR_DEFAULT;
   cursor_fg      = FL_BLACK;
   cursor_bg      = FL_WHITE;
@@ -74,7 +74,7 @@
 
 fltk3::Window::Window(int W, int H, const char *l)
 // fix common user error of a missing end() with current(0):
-  : Fl_Group((Fl_Group::current(0),0), 0, W, H, l) {
+  : fltk3::Group((fltk3::Group::current(0),0), 0, W, H, l) {
   cursor_default = FL_CURSOR_DEFAULT;
   cursor_fg      = FL_BLACK;
   cursor_bg      = FL_WHITE;
@@ -83,8 +83,8 @@
   clear_visible();
 }
 
-fltk3::Window *Fl_Widget::window() const {
-  for (Fl_Widget *o = parent(); o; o = o->parent())
+fltk3::Window *fltk3::Widget::window() const {
+  for (fltk3::Widget *o = parent(); o; o = o->parent())
     if (o->type() >= FL_WINDOW) return (fltk3::Window*)o;
   return 0;
 }
@@ -103,7 +103,7 @@
 
 void fltk3::Window::draw() {
 
-  // The following is similar to Fl_Group::draw(), but ...
+  // The following is similar to fltk3::Group::draw(), but ...
   //  - we draw the box with x=0 and y=0 instead of x() and y()
   //  - we don't draw a label
 
@@ -166,7 +166,7 @@
 /** Default callback for window widgets. It hides the window and then calls the default widget callback. */
 void fltk3::default_atclose(fltk3::Window* window, void* v) {
   window->hide();
-  Fl_Widget::default_callback(window, v); // put on fltk3::read_queue()
+  fltk3::Widget::default_callback(window, v); // put on fltk3::read_queue()
 }
 /** Back compatibility: default window callback handler \see fltk3::set_atclose() */
 void (*fltk3::atclose)(fltk3::Window*, void*) = default_atclose;

Modified: branches/branch-3.0-2011/src/Fl_Window_hotspot.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Window_hotspot.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Window_hotspot.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -84,7 +84,7 @@
   position(X,Y);
 }
 
-void fltk3::Window::hotspot(const Fl_Widget *o, int offscreen) {
+void fltk3::Window::hotspot(const fltk3::Widget *o, int offscreen) {
   int X = o->w()/2;
   int Y = o->h()/2;
   while (o != this && o) {

Modified: branches/branch-3.0-2011/src/Fl_Wizard.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Wizard.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_Wizard.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -58,18 +58,18 @@
 		     int        ww,	// I - Width
 		     int        hh,	// I - Height
 		     const char *l) :	// I - Label
-    Fl_Group(xx, yy, ww, hh, l)
+    fltk3::Group(xx, yy, ww, hh, l)
 {
   box(fltk3::THIN_UP_BOX);
 
-  value_ = (Fl_Widget *)0;
+  value_ = (fltk3::Widget *)0;
 }
 
 
 //
 /** Draws the wizard border and visible child. */
 void Fl_Wizard::draw() {
-  Fl_Widget	*kid;	// Visible child
+  fltk3::Widget	*kid;	// Visible child
 
 
   kid = value();
@@ -97,7 +97,7 @@
 */
 void Fl_Wizard::next() {
   int			num_kids;
-  Fl_Widget	* const *kids;
+  fltk3::Widget	* const *kids;
 
 
   if ((num_kids = children()) == 0)
@@ -115,7 +115,7 @@
 void Fl_Wizard::prev()
 {
   int			num_kids;
-  Fl_Widget	* const *kids;
+  fltk3::Widget	* const *kids;
 
 
   if ((num_kids = children()) == 0)
@@ -130,17 +130,17 @@
 }
 
 /**  Gets the current visible child widget. */
-Fl_Widget* Fl_Wizard::value()
+fltk3::Widget* Fl_Wizard::value()
 {
   int			num_kids;
-  Fl_Widget	* const *kids;
-  Fl_Widget		*kid;
+  fltk3::Widget	* const *kids;
+  fltk3::Widget		*kid;
 
 
   if ((num_kids = children()) == 0)
-    return ((Fl_Widget *)0);
+    return ((fltk3::Widget *)0);
 
-  for (kids = array(), kid = (Fl_Widget *)0; num_kids > 0; kids ++, num_kids --)
+  for (kids = array(), kid = (fltk3::Widget *)0; num_kids > 0; kids ++, num_kids --)
   {
     if ((*kids)->visible())
     {
@@ -162,10 +162,10 @@
 }
 
 /**  Sets the child widget that is visible.*/
-void Fl_Wizard::value(Fl_Widget *kid)
+void Fl_Wizard::value(fltk3::Widget *kid)
 {
   int			num_kids;
-  Fl_Widget	* const *kids;
+  fltk3::Widget	* const *kids;
 
 
   if ((num_kids = children()) == 0)

Modified: branches/branch-3.0-2011/src/Fl_arg.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_arg.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_arg.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -334,7 +334,7 @@
       //  int mw,mh; minsize(mw,mh);
       //  if (mw > gw) gw = mw;
       //  if (mh > gh) gh = mh;
-      Fl_Widget *r = resizable();
+      fltk3::Widget *r = resizable();
       if (!r) resizable(this);
       // for WIN32 we assume window is not mapped yet:
       if (fl & (XValue | YValue))

Modified: branches/branch-3.0-2011/src/Fl_cocoa.mm
===================================================================
--- branches/branch-3.0-2011/src/Fl_cocoa.mm	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_cocoa.mm	2011-01-09 19:24:30 UTC (rev 8231)
@@ -1847,7 +1847,7 @@
 {
   static int xyPos = 100;
   if ( w->parent() ) {		// create a subwindow
-    Fl_Group::current(0);
+    fltk3::Group::current(0);
     // our subwindow needs this structure to know about its clipping. 
     Fl_X* x = new Fl_X;
     x->other_xid = 0;
@@ -1879,7 +1879,7 @@
   else {			// create a desktop window
     NSAutoreleasePool *localPool;
     localPool = [[NSAutoreleasePool alloc] init]; 
-    Fl_Group::current(0);
+    fltk3::Group::current(0);
     fl_open_display();
     NSInteger winlevel = NSNormalWindowLevel;
     NSUInteger winstyle;
@@ -1895,7 +1895,7 @@
       }
     } else {
       if (w->resizable()) {
-        Fl_Widget *o = w->resizable();
+        fltk3::Widget *o = w->resizable();
         int minw = o->w(); if (minw > 100) minw = 100;
         int minh = o->h(); if (minh > 100) minh = 100;
         w->size_range(w->w() - o->w() + minw, w->h() - o->h() + minh, 0, 0);
@@ -2079,7 +2079,7 @@
  * \todo make the titlebar icon work!
  */
 void fltk3::Window::label(const char *name,const char */*iname*/) {
-  Fl_Widget::label(name);
+  fltk3::Widget::label(name);
   if (shown() || i) {
     q_set_window_title((NSWindow*)i->xid, name);
   }
@@ -2154,7 +2154,7 @@
   }
   resize_from_system = 0;
   if (is_a_resize) {
-    Fl_Group::resize(X,Y,W,H);
+    fltk3::Group::resize(X,Y,W,H);
     if (shown()) { 
       redraw(); 
     }
@@ -2347,7 +2347,7 @@
 }
 
 // Call this when a "paste" operation happens:
-void fltk3::paste(Fl_Widget &receiver, int clipboard) {
+void fltk3::paste(fltk3::Widget &receiver, int clipboard) {
   if (clipboard) {
     // see if we own the selection, if not go get it:
     fl_selection_length[1] = 0;
@@ -3092,7 +3092,7 @@
 {
   const char *p, *q;
   int width = 0, height, w2, ltext = strlen(text);
-  fl_font(FL_HELVETICA, 10);
+  fl_font(fltk3::HELVETICA, 10);
   p = text;
   int nl = 0;
   while((q=strchr(p, '\n')) != NULL) { 
@@ -3162,7 +3162,7 @@
   [mypasteboard declareTypes:[NSArray arrayWithObjects:@"public.utf8-plain-text", nil] owner:nil];
   [mypasteboard setData:(NSData*)text forType:@"public.utf8-plain-text"];
   CFRelease(text);
-  Fl_Widget *w = fltk3::pushed();
+  fltk3::Widget *w = fltk3::pushed();
   fltk3::Window *win = w->window();
   if (win == NULL) {
     win = (fltk3::Window*)w;

Modified: branches/branch-3.0-2011/src/Fl_mac.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_mac.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_mac.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -2104,7 +2104,7 @@
   static int xyPos = 100;
   if ( w->parent() ) // create a subwindow
   {
-    Fl_Group::current(0);
+    fltk3::Group::current(0);
     Rect wRect;
     wRect.top    = w->y();
     wRect.left   = w->x();
@@ -2137,7 +2137,7 @@
   }
   else // create a desktop window
   {
-    Fl_Group::current(0);
+    fltk3::Group::current(0);
     fl_open_display();
     int winclass = kDocumentWindowClass;
     int winattr = kWindowStandardHandlerAttribute | kWindowCloseBoxAttribute | kWindowCollapseBoxAttribute;
@@ -2150,7 +2150,7 @@
         winattr |= kWindowFullZoomAttribute | kWindowResizableAttribute | kWindowLiveResizeAttribute;
     } else {
       if (w->resizable()) {
-        Fl_Widget *o = w->resizable();
+        fltk3::Widget *o = w->resizable();
         int minw = o->w(); if (minw > 100) minw = 100;
         int minh = o->h(); if (minh > 100) minh = 100;
         w->size_range(w->w() - o->w() + minw, w->h() - o->h() + minh, 0, 0);
@@ -2177,7 +2177,7 @@
       wp += 2*bx;
       hp += 2*by+bt;
     }
-    if (!(w->flags() & Fl_Widget::FORCE_POSITION)) {
+    if (!(w->flags() & fltk3::Widget::FORCE_POSITION)) {
       // use the Carbon functions below for default window positioning
       w->x(xyPos+fltk3::x());
       w->y(xyPos+fltk3::y());
@@ -2224,7 +2224,7 @@
       SetWindowClass(x->xid, kFloatingWindowClass);
       SetWindowActivationScope(x->xid, kWindowActivationScopeAll);
     }
-    if (!(w->flags() & Fl_Widget::FORCE_POSITION))
+    if (!(w->flags() & fltk3::Widget::FORCE_POSITION))
     {
       WindowRef pw = Fl_X::first ? Fl_X::first->xid : 0 ;
       if (w->modal()) {
@@ -2360,7 +2360,7 @@
  * \todo make the titlebar icon work!
  */
 void fltk3::Window::label(const char *name,const char */*iname*/) {
-  Fl_Widget::label(name);
+  fltk3::Widget::label(name);
 
   if (shown() || i) {
     q_set_window_title(fl_xid(this), name);
@@ -2427,7 +2427,7 @@
   }
   resize_from_system = 0;
   if (is_a_resize) {
-    Fl_Group::resize(X,Y,W,H);
+    fltk3::Group::resize(X,Y,W,H);
     if (shown()) { 
       redraw(); 
     }
@@ -2580,7 +2580,7 @@
 const size_t handledFlavorsCount = sizeof(encodings)/sizeof(CFStringEncoding);
 
 // clipboard variables definitions :
-Fl_Widget *fl_selection_requestor = 0;
+fltk3::Widget *fl_selection_requestor = 0;
 char *fl_selection_buffer[2];
 int fl_selection_length[2];
 static int fl_selection_buffer_length[2];
@@ -2643,7 +2643,7 @@
 }
 
 // Call this when a "paste" operation happens:
-void fltk3::paste(Fl_Widget &receiver, int clipboard) {
+void fltk3::paste(fltk3::Widget &receiver, int clipboard) {
     if (clipboard) {
 	// see if we own the selection, if not go get it:
 	fl_selection_length[1] = 0;

Modified: branches/branch-3.0-2011/src/Fl_win32.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_win32.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_win32.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -39,7 +39,7 @@
 #include <fltk3/Enumerations.H>
 #include <fltk3/Fl_Tooltip.H>
 #include "flstring.h"
-#include "Fl_Font.H"
+#include "fltk3::Font.H"
 #include <stdio.h>
 #include <stdlib.h>
 #include <sys/types.h>
@@ -573,7 +573,7 @@
 }
 
 // Call this when a "paste" operation happens:
-void fltk3::paste(Fl_Widget &receiver, int clipboard) {
+void fltk3::paste(fltk3::Widget &receiver, int clipboard) {
   if (!clipboard || fl_i_own_selection[clipboard]) {
     // We already have it, do it quickly without window server.
     // Notice that the text is clobbered if set_selection is
@@ -1305,7 +1305,7 @@
     flags |= SWP_NOMOVE;
   }
   if (is_a_resize) {
-    Fl_Group::resize(X,Y,W,H);
+    fltk3::Group::resize(X,Y,W,H);
     if (visible_r()) {
       redraw(); 
       // only wait for exposure if this window has a size - a window 
@@ -1380,7 +1380,7 @@
 int fl_disable_transient_for; // secret method of removing TRANSIENT_FOR
 
 Fl_X* Fl_X::make(fltk3::Window* w) {
-  Fl_Group::current(0); // get rid of very common user bug: forgot end()
+  fltk3::Group::current(0); // get rid of very common user bug: forgot end()
 
   // if the window is a subwindow and our parent is not mapped yet, we
   // mark this window visible, so that mapping the parent at a later
@@ -1454,7 +1454,7 @@
   } else {
     if (!w->size_range_set) {
       if (w->resizable()) {
-	Fl_Widget *o = w->resizable();
+	fltk3::Widget *o = w->resizable();
 	int minw = o->w(); if (minw > 100) minw = 100;
 	int minh = o->h(); if (minh > 100) minh = 100;
 	w->size_range(w->w() - o->w() + minw, w->h() - o->h() + minh, 0, 0);
@@ -1726,7 +1726,7 @@
 }
 
 void fltk3::Window::label(const char *name,const char *iname) {
-  Fl_Widget::label(name);
+  fltk3::Widget::label(name);
   iconlabel_ = iname;
   if (shown() && !parent()) {
     if (!name) name = "";
@@ -1754,7 +1754,7 @@
 // I use FL_GRAY for this and only do this cheat for windows that are
 // that color.
 // Actually it is totally disabled.
-// Fl_Widget *fl_boxcheat;
+// fltk3::Widget *fl_boxcheat;
 //static inline int can_boxcheat(uchar b) {return (b==1 || (b&2) && b<=15);}
 
 void fltk3::Window::show() {
@@ -1931,7 +1931,7 @@
 // contains also preparePrintFront call above
 #include <fltk3/Fl_Printer.H>
 #include <fltk3/Fl_Button.H>
-void printFront(Fl_Widget *o, void *data)
+void printFront(fltk3::Widget *o, void *data)
 {
   Fl_Printer printer;
   o->window()->hide();

Modified: branches/branch-3.0-2011/src/Fl_x.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_x.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/Fl_x.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -705,14 +705,14 @@
 ////////////////////////////////////////////////////////////////
 // Code used for paste and DnD into the program:
 
-Fl_Widget *fl_selection_requestor;
+fltk3::Widget *fl_selection_requestor;
 char *fl_selection_buffer[2];
 int fl_selection_length[2];
 int fl_selection_buffer_length[2];
 char fl_i_own_selection[2] = {0,0};
 
 // Call this when a "paste" operation happens:
-void fltk3::paste(Fl_Widget &receiver, int clipboard) {
+void fltk3::paste(fltk3::Widget &receiver, int clipboard) {
   if (fl_i_own_selection[clipboard]) {
     // We already have it, do it quickly without window server.
     // Notice that the text is clobbered if set_selection is
@@ -1480,7 +1480,7 @@
   if (is_a_move && resize_from_program) set_flag(FORCE_POSITION);
   else if (!is_a_resize && !is_a_move) return;
   if (is_a_resize) {
-    Fl_Group::resize(X,Y,W,H);
+    fltk3::Group::resize(X,Y,W,H);
     if (shown()) {redraw(); if(is_a_enlarge) i->wait_for_expose = 1;}
   } else {
     x(X); y(Y);
@@ -1544,7 +1544,7 @@
 
 void Fl_X::make_xid(fltk3::Window* win, XVisualInfo *visual, Colormap colormap)
 {
-  Fl_Group::current(0); // get rid of very common user bug: forgot end()
+  fltk3::Group::current(0); // get rid of very common user bug: forgot end()
 
   int X = win->x();
   int Y = win->y();
@@ -1555,7 +1555,7 @@
   if (!win->parent() && !fltk3::grab()) {
     // center windows in case window manager does not do anything:
 #ifdef FL_CENTER_WINDOWS
-    if (!(win->flags() & Fl_Widget::FORCE_POSITION)) {
+    if (!(win->flags() & fltk3::Widget::FORCE_POSITION)) {
       win->x(X = scr_x+(scr_w-W)/2);
       win->y(Y = scr_y+(scr_h-H)/2);
     }
@@ -1717,7 +1717,7 @@
 
   if (!w->size_range_set) { // default size_range based on resizable():
     if (w->resizable()) {
-      Fl_Widget *o = w->resizable();
+      fltk3::Widget *o = w->resizable();
       int minw = o->w(); if (minw > 100) minw = 100;
       int minh = o->h(); if (minh > 100) minh = 100;
       w->size_range(w->w() - o->w() + minw, w->h() - o->h() + minh, 0, 0);
@@ -1768,7 +1768,7 @@
     prop[1] = 1|2|16; // MWM_FUNC_ALL | MWM_FUNC_RESIZE | MWM_FUNC_MAXIMIZE
   }
 
-  if (w->flags() & Fl_Widget::FORCE_POSITION) {
+  if (w->flags() & fltk3::Widget::FORCE_POSITION) {
     hints->flags |= USPosition;
     hints->x = w->x();
     hints->y = w->y();
@@ -1802,7 +1802,7 @@
 }
 
 void fltk3::Window::label(const char *name,const char *iname) {
-  Fl_Widget::label(name);
+  fltk3::Widget::label(name);
   iconlabel_ = iname;
   if (shown() && !parent()) {
     if (!name) name = "";
@@ -1881,7 +1881,7 @@
 // contains also preparePrintFront call above
 #include <fltk3/Fl_Printer.H>
 #include <fltk3/Fl_Button.H>
-void printFront(Fl_Widget *o, void *data)
+void printFront(fltk3::Widget *o, void *data)
 {
   Fl_Printer printer;
   o->window()->hide();

Modified: branches/branch-3.0-2011/src/fl_ask.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_ask.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/fl_ask.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -54,8 +54,8 @@
 static Fl_Input *input;
 static int ret_val;
 static const char *iconlabel = "?";
-Fl_Font fl_message_font_ = FL_HELVETICA;
-Fl_Fontsize fl_message_size_ = 14;
+fltk3::Font fl_message_font_ = fltk3::HELVETICA;
+fltk3::Fontsize fl_message_size_ = 14;
 #ifdef __APPLE__
 extern "C" void NSBeep(void);
 #endif
@@ -65,10 +65,10 @@
 // Sets the global return value (ret_val) and closes the window.
 // Note: this is used for the button callbacks and the window
 // callback (closing the window with the close button or menu).
-// The first argument (Fl_Widget *) can either be an Fl_Button*
+// The first argument (fltk3::Widget *) can either be an Fl_Button*
 // pointer to one of the buttons or an fltk3::Window* pointer to the
 // message window (message_form).
-static void button_cb(Fl_Widget *, void *val) {
+static void button_cb(fltk3::Widget *, void *val) {
   ret_val = (fl_intptr_t)val;
   message_form->hide();
 }
@@ -80,8 +80,8 @@
  }
  // make sure that the dialog does not become the child of some 
  // current group
- Fl_Group *previously_current_group = Fl_Group::current();
- Fl_Group::current(0);
+ fltk3::Group *previously_current_group = fltk3::Group::current();
+ fltk3::Group::current(0);
  // create a new top level window
  fltk3::Window *w = message_form = new fltk3::Window(410,103,"");
  message_form->callback(button_cb,(void *)0);
@@ -92,7 +92,7 @@
  (input = new Fl_Input(60, 37, 340, 23))->hide();
  {fltk3::Box* o = icon = new fltk3::Box(10, 10, 50, 50);
   o->box(fltk3::THIN_UP_BOX);
-  o->labelfont(FL_TIMES_BOLD);
+  o->labelfont(fltk3::TIMES_BOLD);
   o->labelsize(34);
   o->color(FL_WHITE);
   o->labelcolor(FL_BLUE);
@@ -110,7 +110,7 @@
  w->resizable(new fltk3::Box(60,10,110-60,27));
  w->end();
  w->set_modal();
- Fl_Group::current(previously_current_group);
+ fltk3::Group::current(previously_current_group);
  return w;
 }
 
@@ -226,7 +226,7 @@
   if (button[1]->visible() && !input->visible()) 
     button[1]->take_focus();
   message_form->hotspot(button[0]);
-  if (b0 && Fl_Widget::label_shortcut(b0))
+  if (b0 && fltk3::Widget::label_shortcut(b0))
     button[0]->shortcut(0);
   else
     button[0]->shortcut(FL_Escape);
@@ -410,7 +410,7 @@
     fl_ask(), fl_choice(), fl_input(), fl_password() 
     \note \#include <fltk3/fl_ask.H>
 */ 
-Fl_Widget *fl_message_icon() {makeform(); return icon;}
+fltk3::Widget *fl_message_icon() {makeform(); return icon;}
 
 static const char* input_innards(const char* fmt, va_list ap,
 				 const char* defstr, uchar type) {

Modified: branches/branch-3.0-2011/src/fl_boxtype.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_boxtype.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/fl_boxtype.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -35,7 +35,7 @@
 // linked in if not used.
 
 #include <fltk3/run.h>
-#include <fltk3/Fl_Widget.H>
+#include <fltk3/Widget.h>
 #include <fltk3/fl_draw.H>
 #include <config.h>
 
@@ -402,14 +402,14 @@
   if (t && fl_box_table[t].f) fl_box_table[t].f(x,y,w,h,c);
 }
 
-//extern Fl_Widget *fl_boxcheat; // hack set by fltk3::Window.cxx
+//extern fltk3::Widget *fl_boxcheat; // hack set by fltk3::Window.cxx
 /** Draws the widget box according its box style */
-void Fl_Widget::draw_box() const {
+void fltk3::Widget::draw_box() const {
   if (box_) draw_box((fltk3::Boxtype)box_, x_, y_, w_, h_, color_);
   draw_backdrop();
 }
 /** If FL_ALIGN_IMAGE_BACKDROP is set, the image or deimage will be drawn */
-void Fl_Widget::draw_backdrop() const {
+void fltk3::Widget::draw_backdrop() const {
   if (align() & FL_ALIGN_IMAGE_BACKDROP) {
     const Fl_Image *img = image();
     // if there is no image, we will not draw the deimage either
@@ -420,11 +420,11 @@
   }
 }
 /** Draws a box of type t, of color c at the widget's position and size. */
-void Fl_Widget::draw_box(fltk3::Boxtype t, Fl_Color c) const {
+void fltk3::Widget::draw_box(fltk3::Boxtype t, Fl_Color c) const {
   draw_box(t, x_, y_, w_, h_, c);
 }
 /** Draws a box of type t, of color c at the position X,Y and size W,H. */
-void Fl_Widget::draw_box(fltk3::Boxtype t, int X, int Y, int W, int H, Fl_Color c) const {
+void fltk3::Widget::draw_box(fltk3::Boxtype t, int X, int Y, int W, int H, Fl_Color c) const {
   draw_it_active = active_r();
   fl_box_table[t].f(X, Y, W, H, c);
   draw_it_active = 1;

Modified: branches/branch-3.0-2011/src/fl_cursor.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_cursor.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/fl_cursor.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -145,7 +145,7 @@
   CGContextSetRGBFillColor( (CGContextRef)off, 0,0,0,0);
   fl_rectf(0,0,w,h);
   fl_color(FL_BLACK);
-  fl_font(FL_COURIER_BOLD, 20);
+  fl_font(fltk3::COURIER_BOLD, 20);
   fl_draw("?", 1, h-1);
   fl_end_offscreen();
   return (CGContextRef)off;

Modified: branches/branch-3.0-2011/src/fl_dnd_win32.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_dnd_win32.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/fl_dnd_win32.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -131,7 +131,7 @@
       fltk3::e_y = fltk3::e_y_root-fl_dnd_target_window->y();
     }
     if (fillCurrentDragData(0)) {
-      // Fl_Group will change DND_DRAG into DND_ENTER and DND_LEAVE if needed
+      // fltk3::Group will change DND_DRAG into DND_ENTER and DND_LEAVE if needed
       if ( fltk3::handle( FL_DND_DRAG, fl_dnd_target_window ) )
         *pdwEffect = DROPEFFECT_MOVE|DROPEFFECT_COPY; //|DROPEFFECT_LINK;
       else
@@ -167,7 +167,7 @@
     if ( !fltk3::handle( FL_DND_RELEASE, target ) )
       return S_OK;
 
-    Fl_Widget *w = target;
+    fltk3::Widget *w = target;
     while (w->parent()) w = w->window();
     HWND hwnd = fl_xid( (fltk3::Window*)w );
     if (fillCurrentDragData(data)) {
@@ -538,7 +538,7 @@
   fdo->Release();
   fds->Release();
 
-  Fl_Widget *w = fltk3::pushed();
+  fltk3::Widget *w = fltk3::pushed();
   if ( w )
   {
     int old_event = fltk3::e_number;

Modified: branches/branch-3.0-2011/src/fl_draw.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_draw.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/fl_draw.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -365,7 +365,7 @@
   The string is formatted and aligned inside the passed box.
   Handles '\\t' and '\\n', expands all other control characters to '^X',
   and aligns inside or against the edges of the box.
-  See Fl_Widget::align() for values of \p align. The value FL_ALIGN_INSIDE
+  See fltk3::Widget::align() for values of \p align. The value FL_ALIGN_INSIDE
   is ignored, as this function always prints inside the box.
   If \p img is provided and is not \p NULL, the image is drawn above or
   below the text as specified by the \p align value.

Modified: branches/branch-3.0-2011/src/fl_engraved_label.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_engraved_label.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/fl_engraved_label.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -28,7 +28,7 @@
 // Drawing code for XForms style engraved & embossed labels
 
 #include <fltk3/run.h>
-#include <fltk3/Fl_Widget.H>
+#include <fltk3/Widget.h>
 #include <fltk3/fl_draw.H>
 
 // data[] is dx, dy, color triples
@@ -40,7 +40,7 @@
   Fl_Align a1 = align;
   if (a1 & FL_ALIGN_CLIP) {
     fl_push_clip(X, Y, W, H); a1 = (Fl_Align)(a1&~FL_ALIGN_CLIP);}
-  fl_font((Fl_Font)o->font, o->size);
+  fl_font((fltk3::Font)o->font, o->size);
   for (int i = 0; i < n; i++) {
     fl_color((Fl_Color)(i < n-1 ? data[i][2] : o->color));
     fl_draw(o->value, X+data[i][0], Y+data[i][1], W, H, a1);

Modified: branches/branch-3.0-2011/src/fl_font_mac.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_font_mac.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/fl_font_mac.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -35,7 +35,7 @@
 
 static const CGAffineTransform font_mx = { 1, 0, 0, -1, 0, 0 };
 
-Fl_Font_Descriptor::Fl_Font_Descriptor(const char* name, Fl_Fontsize Size) {
+Fl_Font_Descriptor::Fl_Font_Descriptor(const char* name, fltk3::Fontsize Size) {
   next = 0;
 #  if HAVE_GL
   listbase = 0;
@@ -218,7 +218,7 @@
   // we will use fl_fontsize later to access the required style and layout
 }
 
-static Fl_Font_Descriptor* find(Fl_Font fnum, Fl_Fontsize size) {
+static Fl_Font_Descriptor* find(fltk3::Font fnum, fltk3::Fontsize size) {
   Fl_Fontdesc* s = fl_fonts+fnum;
   if (!s->name) s = fl_fonts; // use 0 if fnum undefined
   Fl_Font_Descriptor* f;
@@ -233,11 +233,11 @@
 ////////////////////////////////////////////////////////////////
 // Public interface:
 
-Fl_Font fl_font_ = 0;
-Fl_Fontsize fl_size_ = 0;
+fltk3::Font fl_font_ = 0;
+fltk3::Fontsize fl_size_ = 0;
 
 
-void Fl_Quartz_Graphics_Driver::font(Fl_Font fnum, Fl_Fontsize size) {
+void Fl_Quartz_Graphics_Driver::font(fltk3::Font fnum, fltk3::Fontsize size) {
   if (fnum==-1) {
     fl_font_ = 0; 
     fl_size_ = 0;

Modified: branches/branch-3.0-2011/src/fl_font_win32.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_font_win32.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/fl_font_win32.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -30,7 +30,7 @@
 static int fl_angle_ = 0;
 
 #ifndef FL_DOXYGEN
-Fl_Font_Descriptor::Fl_Font_Descriptor(const char* name, Fl_Fontsize size) {
+Fl_Font_Descriptor::Fl_Font_Descriptor(const char* name, fltk3::Fontsize size) {
   int weight = FW_NORMAL;
   int italic = 0;
   switch (*name++) {
@@ -117,7 +117,7 @@
 
 Fl_Fontdesc* fl_fonts = built_in_table;
 
-static Fl_Font_Descriptor* find(Fl_Font fnum, Fl_Fontsize size, int angle) {
+static Fl_Font_Descriptor* find(fltk3::Font fnum, fltk3::Fontsize size, int angle) {
   Fl_Fontdesc* s = fl_fonts+fnum;
   if (!s->name) s = fl_fonts; // use 0 if fnum undefined
   Fl_Font_Descriptor* f;
@@ -132,11 +132,11 @@
 ////////////////////////////////////////////////////////////////
 // Public interface:
 
-Fl_Font fl_font_ = 0;
-Fl_Fontsize fl_size_ = 0;
+fltk3::Font fl_font_ = 0;
+fltk3::Fontsize fl_size_ = 0;
 //static HDC font_gc;
 
-void fl_font(Fl_Font fnum, Fl_Fontsize size, int angle) {
+void fl_font(fltk3::Font fnum, fltk3::Fontsize size, int angle) {
   if (fnum==-1) { // just make sure that we will load a new font next time
     fl_font_ = 0; fl_size_ = 0; fl_angle_ = 0;
     return;
@@ -146,7 +146,7 @@
   fl_fontsize = find(fnum, size, angle);
 }
 
-void Fl_GDI_Graphics_Driver::font(Fl_Font fnum, Fl_Fontsize size) {
+void Fl_GDI_Graphics_Driver::font(fltk3::Font fnum, fltk3::Fontsize size) {
   fl_font(fnum, size, 0);
 }
 

Modified: branches/branch-3.0-2011/src/fl_font_x.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_font_x.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/fl_font_x.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -260,8 +260,8 @@
 ////////////////////////////////////////////////////////////////
 // Public interface:
 
-Fl_Font fl_font_ = 0;
-Fl_Fontsize fl_size_ = 0;
+fltk3::Font fl_font_ = 0;
+fltk3::Fontsize fl_size_ = 0;
 void *fl_xftfont = 0;
 static GC font_gc;
 
@@ -269,7 +269,7 @@
   return ptr;
 }
 
-void Fl_Xlib_Graphics_Driver::font(Fl_Font fnum, Fl_Fontsize size) {
+void Fl_Xlib_Graphics_Driver::font(fltk3::Font fnum, fltk3::Fontsize size) {
   if (fnum==-1) {
     fl_font_ = 0; fl_size_ = 0;
     return;
@@ -320,7 +320,7 @@
 
 void Fl_Xlib_Graphics_Driver::draw(const char* c, int n, int x, int y) {
   if (font_gc != fl_gc) {
-    if (!current_font) fl_font(FL_HELVETICA, 14);
+    if (!current_font) fl_font(fltk3::HELVETICA, 14);
     font_gc = fl_gc;
     XSetFont(fl_display, fl_gc, current_font->fid);
   }
@@ -333,7 +333,7 @@
 
 void Fl_Xlib_Graphics_Driver::rtl_draw(const char* c, int n, int x, int y) {
   if (font_gc != fl_gc) {
-    if (!current_font) fl_font(FL_HELVETICA, 12);
+    if (!current_font) fl_font(fltk3::HELVETICA, 12);
     font_gc = fl_gc;
   }
   XUtf8DrawRtlString(fl_display, fl_window, current_font, fl_gc, x, y, c, n);

Modified: branches/branch-3.0-2011/src/fl_font_xft.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_font_xft.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/fl_font_xft.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -110,8 +110,8 @@
 
 #define current_font (fl_fontsize->font)
 
-Fl_Font fl_font_ = 0;
-Fl_Fontsize fl_size_ = 0;
+fltk3::Font fl_font_ = 0;
+fltk3::Fontsize fl_size_ = 0;
 int fl_angle_ = 0; // internal for rotating text support
 Fl_XFont_On_Demand fl_xfont;
 void *fl_xftfont = 0;
@@ -121,7 +121,7 @@
 
 
 
-void fl_font(Fl_Font fnum, Fl_Fontsize size, int angle) {
+void fl_font(fltk3::Font fnum, fltk3::Fontsize size, int angle) {
   if (fnum==-1) { // special case to stop font caching
     fl_font_ = 0; fl_size_ = 0; fl_angle_ = 0;
     return;
@@ -152,7 +152,7 @@
   fl_xftfont = (void*)f->font;
 }
 
-void Fl_Xlib_Graphics_Driver::font(Fl_Font fnum, Fl_Fontsize size) {
+void Fl_Xlib_Graphics_Driver::font(fltk3::Font fnum, fltk3::Fontsize size) {
   fl_font(fnum,size,0);
 }
 
@@ -588,7 +588,7 @@
 
 void Fl_Xlib_Graphics_Driver::draw(const char *str, int n, int x, int y) {
   if ( !current_font ) {
-    fl_font(FL_HELVETICA, 14);
+    fl_font(fltk3::HELVETICA, 14);
   }
 #if USE_OVERLAY
   XftDraw*& draw_ = fl_overlay ? draw_overlay : ::draw_;

Modified: branches/branch-3.0-2011/src/fl_labeltype.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_labeltype.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/fl_labeltype.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -30,8 +30,8 @@
 // to avoid linking if not used.
 
 #include <fltk3/run.h>
-#include <fltk3/Fl_Widget.H>
-#include <fltk3/Fl_Group.H>
+#include <fltk3/Widget.h>
+#include <fltk3/Group.H>
 #include <fltk3/fl_draw.H>
 #include <fltk3/Fl_Image.H>
 
@@ -106,7 +106,7 @@
 /** Draws the widget's label at the defined label position.
     This is the normal call for a widget's draw() method.
  */
-void Fl_Widget::draw_label() const {
+void fltk3::Widget::draw_label() const {
   int X = x_+fltk3::box_dx(box());
   int W = w_-fltk3::box_dw(box());
   if (W > 11 && align()&(FL_ALIGN_LEFT|FL_ALIGN_RIGHT)) {X += 3; W -= 6;}
@@ -116,7 +116,7 @@
 /** Draws the label in an arbitrary bounding box.
     draw() can use this instead of draw_label(void) to change the bounding box
  */
-void Fl_Widget::draw_label(int X, int Y, int W, int H) const {
+void fltk3::Widget::draw_label(int X, int Y, int W, int H) const {
   // quit if we are not drawing a label inside the widget:
   if ((align()&15) && !(align() & FL_ALIGN_INSIDE)) return;
   draw_label(X,Y,W,H,align());
@@ -125,7 +125,7 @@
 /** Draws the label in an arbitrary bounding box with an arbitrary alignment.
     Anybody can call this to force the label to draw anywhere.
  */
-void Fl_Widget::draw_label(int X, int Y, int W, int H, Fl_Align a) const {
+void fltk3::Widget::draw_label(int X, int Y, int W, int H, Fl_Align a) const {
   if (flags()&SHORTCUT_LABEL) fl_draw_shortcut = 1;
   Fl_Label l1 = label_;
   if (!active_r()) {

Modified: branches/branch-3.0-2011/src/fl_rect.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_rect.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/fl_rect.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -37,7 +37,7 @@
 
 #include <config.h>
 #include <fltk3/run.h>
-#include <fltk3/Fl_Widget.H>
+#include <fltk3/Widget.h>
 #include <fltk3/Fl_Printer.H>
 #include <fltk3/fl_draw.H>
 #include <fltk3/x.H>

Modified: branches/branch-3.0-2011/src/fl_set_font.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_set_font.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/fl_set_font.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -40,14 +40,14 @@
   Changes a face.  The string pointer is simply stored,
   the string is not copied, so the string must be in static memory.
 */    
-void fltk3::set_font(Fl_Font fnum, const char* name) {
+void fltk3::set_font(fltk3::Font fnum, const char* name) {
   while (fnum >= table_size) {
     int i = table_size;
     if (!i) {	// don't realloc the built-in table
-      table_size = 2*FL_FREE_FONT;
-      i = FL_FREE_FONT;
+      table_size = 2*fltk3::FREE_FONT;
+      i = fltk3::FREE_FONT;
       Fl_Fontdesc* t = (Fl_Fontdesc*)malloc(table_size*sizeof(Fl_Fontdesc));
-      memcpy(t, fl_fonts, FL_FREE_FONT*sizeof(Fl_Fontdesc));
+      memcpy(t, fl_fonts, fltk3::FREE_FONT*sizeof(Fl_Fontdesc));
       fl_fonts = t;
     } else {
       table_size = 2*table_size;
@@ -82,7 +82,7 @@
   fl_font(-1, 0);
 }
 /** Copies one face to another. */
-void fltk3::set_font(Fl_Font fnum, Fl_Font from) {
+void fltk3::set_font(fltk3::Font fnum, fltk3::Font from) {
   fltk3::set_font(fnum, get_font(from));
 }
 /**
@@ -90,7 +90,7 @@
     face. Under X this value is passed to XListFonts to get all the sizes
     of this face.
 */
-const char* fltk3::get_font(Fl_Font fnum) {return fl_fonts[fnum].name;}
+const char* fltk3::get_font(fltk3::Font fnum) {return fl_fonts[fnum].name;}
 
 //
 // End of "$Id$".

Modified: branches/branch-3.0-2011/src/fl_set_fonts_mac.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_set_fonts_mac.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/fl_set_fonts_mac.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -38,10 +38,10 @@
 // making the name, and then forgot about it. To avoid having to change
 // the header files I decided to store this value in the last character
 // of the font name array.
-#define ENDOFBUFFER 127 // sizeof(Fl_Font.fontname)-1
+#define ENDOFBUFFER 127 // sizeof(fltk3::Font.fontname)-1
 
 // turn a stored font name into a pretty name:
-const char* fltk3::get_font_name(Fl_Font fnum, int* ap) {
+const char* fltk3::get_font_name(fltk3::Font fnum, int* ap) {
   Fl_Fontdesc *f = fl_fonts + fnum;
   if (!f->fontname[0]) {
     const char* p = f->name;
@@ -56,11 +56,11 @@
   return f->fontname;
 }
 
-static int fl_free_font = FL_FREE_FONT;
+static int fl_free_font = fltk3::FREE_FONT;
 
-Fl_Font fltk3::set_fonts(const char* xstarname) {
+fltk3::Font fltk3::set_fonts(const char* xstarname) {
 #pragma unused ( xstarname )
-if (fl_free_font > FL_FREE_FONT) return (Fl_Font)fl_free_font; // if already called
+if (fl_free_font > fltk3::FREE_FONT) return (fltk3::Font)fl_free_font; // if already called
 
 #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
   if(fl_mac_os_version == 0) fl_open_display();
@@ -84,10 +84,10 @@
 	static char fname[100];
 	CFStringGetCString(cfname, fname, sizeof(fname), kCFStringEncodingUTF8);
 	CFRelease(cfname);
-	fltk3::set_font((Fl_Font)(fl_free_font++), strdup(fname));
+	fltk3::set_font((fltk3::Font)(fl_free_font++), strdup(fname));
 	}
   CFRelease(arrayref);
-  return (Fl_Font)fl_free_font;
+  return (fltk3::Font)fl_free_font;
 }
 else {
 #endif
@@ -121,11 +121,11 @@
       oName[511] = 0;
     else
       oName[actualLength] = 0;
-	fltk3::set_font((Fl_Font)(fl_free_font++), strdup(oName));
+	fltk3::set_font((fltk3::Font)(fl_free_font++), strdup(oName));
 //	free(oName);
   }
   free(oFontIDs);
-  return (Fl_Font)fl_free_font;
+  return (fltk3::Font)fl_free_font;
 #endif //__LP64__
 #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
   }
@@ -134,7 +134,7 @@
 }
 
 static int array[128];
-int fltk3::get_font_sizes(Fl_Font fnum, int*& sizep) {
+int fltk3::get_font_sizes(fltk3::Font fnum, int*& sizep) {
   Fl_Fontdesc *s = fl_fonts+fnum;
   if (!s->name) s = fl_fonts; // empty slot in table, use entry 0
   int cnt = 0;

Modified: branches/branch-3.0-2011/src/fl_set_fonts_win32.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_set_fonts_win32.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/fl_set_fonts_win32.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -38,10 +38,10 @@
 // making the name, and then forgot about it. To avoid having to change
 // the header files I decided to store this value in the last character
 // of the font name array.
-#define ENDOFBUFFER 127 // sizeof(Fl_Font.fontname)-1
+#define ENDOFBUFFER 127 // sizeof(fltk3::Font.fontname)-1
 
 // turn a stored font name into a pretty name:
-const char* fltk3::get_font_name(Fl_Font fnum, int* ap) {
+const char* fltk3::get_font_name(fltk3::Font fnum, int* ap) {
   Fl_Fontdesc *f = fl_fonts + fnum;
   if (!f->fontname[0]) {
     const char* p = f->name;
@@ -78,27 +78,27 @@
   dstlen = fl_utf8fromwc(n, dstlen, (xchar*)lpelf->lfFaceName, l); // convert the string
   n[dstlen] = 0;
   for (int i=0; i<FL_FREE_FONT; i++) // skip if one of our built-in fonts
-	  if (!strcmp(fltk3::get_font_name((Fl_Font)i),n)) {free(n);return 1;}
+	  if (!strcmp(fltk3::get_font_name((fltk3::Font)i),n)) {free(n);return 1;}
   char buffer[LF_FACESIZE + 1];
   strcpy(buffer+1, n);
-  buffer[0] = ' '; fltk3::set_font((Fl_Font)(fl_free_font++), strdup(buffer));
+  buffer[0] = ' '; fltk3::set_font((fltk3::Font)(fl_free_font++), strdup(buffer));
   if (lpelf->lfWeight <= 400)
-    buffer[0] = 'B', fltk3::set_font((Fl_Font)(fl_free_font++), strdup(buffer));
-  buffer[0] = 'I'; fltk3::set_font((Fl_Font)(fl_free_font++), strdup(buffer));
+    buffer[0] = 'B', fltk3::set_font((fltk3::Font)(fl_free_font++), strdup(buffer));
+  buffer[0] = 'I'; fltk3::set_font((fltk3::Font)(fl_free_font++), strdup(buffer));
   if (lpelf->lfWeight <= 400)
-    buffer[0] = 'P', fltk3::set_font((Fl_Font)(fl_free_font++), strdup(buffer));
+    buffer[0] = 'P', fltk3::set_font((fltk3::Font)(fl_free_font++), strdup(buffer));
   free(n);
   return 1;
 } /* enumcbw */
 
-Fl_Font fltk3::set_fonts(const char* xstarname) {
+fltk3::Font fltk3::set_fonts(const char* xstarname) {
   if (fl_free_font == FL_FREE_FONT) {// if not already been called
     if (!fl_gc) fl_GetDC(0);
 
       EnumFontFamiliesW(fl_gc, NULL, (FONTENUMPROCW)enumcbw, xstarname != 0);
 
   }
-  return (Fl_Font)fl_free_font;
+  return (fltk3::Font)fl_free_font;
 }
 
 
@@ -142,7 +142,7 @@
 
 
 int
-fltk3::get_font_sizes(Fl_Font fnum, int*& sizep) {
+fltk3::get_font_sizes(fltk3::Font fnum, int*& sizep) {
   nbSize = 0;
   Fl_Fontdesc *s = fl_fonts+fnum;
   if (!s->name) s = fl_fonts; // empty slot in table, use entry 0

Modified: branches/branch-3.0-2011/src/fl_set_fonts_x.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_set_fonts_x.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/fl_set_fonts_x.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -85,10 +85,10 @@
 // making the name, and then forgot about it. To avoid having to change
 // the header files I decided to store this value in the last character
 // of the font name array.
-#define ENDOFBUFFER 127 // sizeof(Fl_Font.fontname)-1
+#define ENDOFBUFFER 127 // sizeof(fltk3::Font.fontname)-1
 
 // turn a stored (with *'s) X font name into a pretty name:
-const char* fltk3::get_font_name(Fl_Font fnum, int* ap) {
+const char* fltk3::get_font_name(fltk3::Font fnum, int* ap) {
   Fl_Fontdesc *f = fl_fonts + fnum;
   if (!f->fontname[0]) {
     int type = 0;
@@ -259,9 +259,9 @@
 
 static unsigned int fl_free_font = FL_FREE_FONT;
 
-Fl_Font fltk3::set_fonts(const char* xstarname) {
+fltk3::Font fltk3::set_fonts(const char* xstarname) {
   if (fl_free_font > (unsigned)FL_FREE_FONT) // already been here
-    return (Fl_Font)fl_free_font;
+    return (fltk3::Font)fl_free_font;
   fl_open_display();
   int xlistsize;
   char buf[20];
@@ -270,7 +270,7 @@
     xstarname = buf;
   }
   char **xlist = XListFonts(fl_display, xstarname, 10000, &xlistsize);
-  if (!xlist) return (Fl_Font)fl_free_font;
+  if (!xlist) return (fltk3::Font)fl_free_font;
   qsort(xlist, xlistsize, sizeof(*xlist), ultrasort);
   int used_xlist = 0;
   for (int i=0; i<xlistsize;) {
@@ -298,7 +298,7 @@
       } else */{
 	j = fl_free_font++;
 	if (p == canon) p = strdup(p); else used_xlist = 1;
-	fltk3::set_font((Fl_Font)j, p);
+	fltk3::set_font((fltk3::Font)j, p);
 	break;
       }
     }
@@ -309,10 +309,10 @@
     }
   }
   if (!used_xlist) XFreeFontNames(xlist);
-  return (Fl_Font)fl_free_font;
+  return (fltk3::Font)fl_free_font;
 }
 
-int fltk3::get_font_sizes(Fl_Font fnum, int*& sizep) {
+int fltk3::get_font_sizes(fltk3::Font fnum, int*& sizep) {
   Fl_Fontdesc *s = fl_fonts+fnum;
   if (!s->name) s = fl_fonts; // empty slot in table, use entry 0
   if (!s->xlist) {

Modified: branches/branch-3.0-2011/src/fl_set_fonts_xft.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_set_fonts_xft.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/fl_set_fonts_xft.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -36,10 +36,10 @@
 // making the name, and then forgot about it. To avoid having to change
 // the header files I decided to store this value in the last character
 // of the font name array.
-#define ENDOFBUFFER 127 // sizeof(Fl_Font.fontname)-1
+#define ENDOFBUFFER 127 // sizeof(fltk3::Font.fontname)-1
 
 // turn a stored font name into a pretty name:
-const char* fltk3::get_font_name(Fl_Font fnum, int* ap) {
+const char* fltk3::get_font_name(fltk3::Font fnum, int* ap) {
   Fl_Fontdesc *f = fl_fonts + fnum;
   if (!f->fontname[0]) {
     const char* p = f->name;
@@ -207,7 +207,7 @@
 // Also, for now I'm ignoring the "pattern_name" and just getting everything...
 // AND I don't try and skip the fonts we've already loaded in the defaults.
 // Blimey! What a hack!
-Fl_Font fltk3::set_fonts(const char* pattern_name)
+fltk3::Font fltk3::set_fonts(const char* pattern_name)
 {
   FcFontSet  *fnt_set;     // Will hold the list of fonts we find
   FcPattern   *fnt_pattern; // Holds the generic "match all names" pattern
@@ -218,7 +218,7 @@
   char **full_list; // The list of font names we build
 
   if (fl_free_font > FL_FREE_FONT) // already been here
-    return (Fl_Font)fl_free_font;
+    return (fltk3::Font)fl_free_font;
   
   fl_open_display(); // Just in case...
     
@@ -325,7 +325,7 @@
         // NOTE: This just adds on AFTER the default fonts - no attempt is made
         // to identify already loaded fonts. Is this bad?
         stored_name = strdup(xft_name);
-        fltk3::set_font((Fl_Font)(j + FL_FREE_FONT), stored_name);
+        fltk3::set_font((fltk3::Font)(j + FL_FREE_FONT), stored_name);
         fl_free_font ++;
         
         free(full_list[j]); // release that name from our internal array
@@ -334,7 +334,7 @@
     // Now we are done with the list, release it fully
     free(full_list);
   }
-  return (Fl_Font)fl_free_font;
+  return (fltk3::Font)fl_free_font;
 } // ::set_fonts
 ////////////////////////////////////////////////////////////////
 
@@ -350,7 +350,7 @@
 // Return all the point sizes supported by this font:
 // Suprisingly enough Xft works exactly like fltk does and returns
 // the same list. Except there is no way to tell if the font is scalable.
-int fltk3::get_font_sizes(Fl_Font fnum, int*& sizep) {
+int fltk3::get_font_sizes(fltk3::Font fnum, int*& sizep) {
   Fl_Fontdesc *s = fl_fonts+fnum;
   if (!s->name) s = fl_fonts; // empty slot in table, use entry 0
 

Modified: branches/branch-3.0-2011/src/fl_shortcut.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_shortcut.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/fl_shortcut.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -42,7 +42,7 @@
 // calling it "shift+3" on a US keyboard)
 
 #include <fltk3/run.h>
-#include <fltk3/Fl_Widget.H>
+#include <fltk3/Widget.h>
 #include <fltk3/Fl_Button.H>
 #include <fltk3/fl_draw.H>
 #include <ctype.h>
@@ -56,7 +56,7 @@
     FL_SHORTCUT, against a shortcut value (described in 
     Fl_Button).
     
-    Not to be confused with Fl_Widget::test_shortcut().
+    Not to be confused with fltk3::Widget::test_shortcut().
     
     \return non-zero if there is a match.
 */
@@ -306,7 +306,7 @@
 
   \note Internal use only.
 */
-unsigned int Fl_Widget::label_shortcut(const char *t) {
+unsigned int fltk3::Widget::label_shortcut(const char *t) {
   if (!t) return 0;
   for (;;) {
     if (*t==0) return 0;
@@ -339,7 +339,7 @@
 
   \note Internal use only.
 */
-int Fl_Widget::test_shortcut(const char *t, const bool require_alt) {
+int fltk3::Widget::test_shortcut(const char *t, const bool require_alt) {
   if (!t) return 0;
   // for menubars etc. shortcuts must work only if the Alt modifier is pressed
   if (require_alt && fltk3::event_state(FL_ALT)==0) return 0;
@@ -365,7 +365,7 @@
   \note Internal use only.
 */
 
-int Fl_Widget::test_shortcut() {
+int fltk3::Widget::test_shortcut() {
   if (!(flags()&SHORTCUT_LABEL)) return 0;
   return test_shortcut(label());
 }

Modified: branches/branch-3.0-2011/src/forms_bitmap.cxx
===================================================================
--- branches/branch-3.0-2011/src/forms_bitmap.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/forms_bitmap.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -29,7 +29,7 @@
 /** Creates a bitmap widget from a box type, position, size and optional label specification */
 Fl_FormsBitmap::Fl_FormsBitmap(
   fltk3::Boxtype t, int X, int Y, int W, int H, const char* l)
-: Fl_Widget(X, Y, W, H, l) {
+: fltk3::Widget(X, Y, W, H, l) {
   box(t);
   b = 0;
   color(FL_BLACK);

Modified: branches/branch-3.0-2011/src/forms_compatability.cxx
===================================================================
--- branches/branch-3.0-2011/src/forms_compatability.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/forms_compatability.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -33,13 +33,13 @@
 
 char fl_flip = 2;
 void fl_end_form() {
-  while (Fl_Group::current()) Fl_Group::current()->forms_end();
+  while (fltk3::Group::current()) fltk3::Group::current()->forms_end();
 }
-void Fl_Group::forms_end() {
+void fltk3::Group::forms_end() {
   // set the dimensions of a group to surround contents
   if (children() && !w()) {
-    Fl_Widget*const* a = array();
-    Fl_Widget* o = *a++;
+    fltk3::Widget*const* a = array();
+    fltk3::Widget* o = *a++;
     int rx = o->x();
     int ry = o->y();
     int rw = rx+o->w();
@@ -58,11 +58,11 @@
   }
   // flip all the children's coordinate systems:
   if (fl_flip) {
-    Fl_Widget* o = (type()>=FL_WINDOW) ? this : window();
+    fltk3::Widget* o = (type()>=FL_WINDOW) ? this : window();
     int Y = o->h();
-    Fl_Widget*const* a = array();
+    fltk3::Widget*const* a = array();
     for (int i=children(); i--;) {
-      Fl_Widget* ow = *a++;
+      fltk3::Widget* ow = *a++;
       int newy = Y-ow->y()-ow->h();
       ow->y(newy);
     }
@@ -125,13 +125,13 @@
   else f->show();
 }
 
-Fl_Widget *fl_do_forms(void) {
-  Fl_Widget *obj;
+fltk3::Widget *fl_do_forms(void) {
+  fltk3::Widget *obj;
   while (!(obj = fltk3::readqueue())) if (!fltk3::wait()) exit(0);
   return obj;
 }
 
-Fl_Widget *fl_check_forms() {
+fltk3::Widget *fl_check_forms() {
   fltk3::check();
   return fltk3::readqueue();
 }

Modified: branches/branch-3.0-2011/src/forms_free.cxx
===================================================================
--- branches/branch-3.0-2011/src/forms_free.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/forms_free.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -51,7 +51,7 @@
   The constructor takes both the type and the handle function. The handle
   function should be declared as follows:
   \code
-  int handle_function(Fl_Widget *w,
+  int handle_function(fltk3::Widget *w,
                       int       event,
      	              float     event_x,
     		      float     event_y,
@@ -73,7 +73,7 @@
 */
 Fl_Free::Fl_Free(uchar t,int X, int Y, int W, int H,const char *L,
 		 FL_HANDLEPTR hdl) :
-Fl_Widget(X,Y,W,H,L) {
+fltk3::Widget(X,Y,W,H,L) {
   type(t);
   hfunc = hdl;
   if (t == FL_SLEEPING_FREE) set_flag(INACTIVE);

Modified: branches/branch-3.0-2011/src/forms_pixmap.cxx
===================================================================
--- branches/branch-3.0-2011/src/forms_pixmap.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/forms_pixmap.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -36,7 +36,7 @@
 */
 Fl_FormsPixmap::Fl_FormsPixmap(
   fltk3::Boxtype t, int X, int Y, int W, int H, const char* L)
-: Fl_Widget(X, Y, W, H, L) {
+: fltk3::Widget(X, Y, W, H, L) {
   box(t);
   b = 0;
   color(FL_BLACK);

Modified: branches/branch-3.0-2011/src/forms_timer.cxx
===================================================================
--- branches/branch-3.0-2011/src/forms_timer.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/forms_timer.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -147,7 +147,7 @@
 */
 Fl_Timer::Fl_Timer(uchar t, int X, int Y, int W, int H, const char* l)
 
-: Fl_Widget(X, Y, W, H, l) {
+: fltk3::Widget(X, Y, W, H, l) {
   box(fltk3::DOWN_BOX);
   selection_color(FL_RED);
   delay = 0;

Modified: branches/branch-3.0-2011/src/gl_draw.cxx
===================================================================
--- branches/branch-3.0-2011/src/gl_draw.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/gl_draw.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -36,7 +36,7 @@
 #include <fltk3/x.H>
 #include <fltk3/fl_draw.H>
 #include "Fl_Gl_Choice.H"
-#include "Fl_Font.H"
+#include "fltk3::Font.H"
 #include <fltk3/fl_utf8.h>
 
 #if !defined(WIN32) && !defined(__APPLE__)

Modified: branches/branch-3.0-2011/src/glut_font.cxx
===================================================================
--- branches/branch-3.0-2011/src/glut_font.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/glut_font.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -39,11 +39,11 @@
 
 Fl_Glut_Bitmap_Font glutBitmap9By15 = {FL_SCREEN, 15};
 Fl_Glut_Bitmap_Font glutBitmap8By13 = {FL_SCREEN, 13};
-Fl_Glut_Bitmap_Font glutBitmapTimesRoman10 = {FL_TIMES, 10};
-Fl_Glut_Bitmap_Font glutBitmapTimesRoman24 = {FL_TIMES, 24};
-Fl_Glut_Bitmap_Font glutBitmapHelvetica10 = {FL_HELVETICA, 10};
-Fl_Glut_Bitmap_Font glutBitmapHelvetica12 = {FL_HELVETICA, 12};
-Fl_Glut_Bitmap_Font glutBitmapHelvetica18 = {FL_HELVETICA, 18};
+Fl_Glut_Bitmap_Font glutBitmapTimesRoman10 = {fltk3::TIMES, 10};
+Fl_Glut_Bitmap_Font glutBitmapTimesRoman24 = {fltk3::TIMES, 24};
+Fl_Glut_Bitmap_Font glutBitmapHelvetica10 = {fltk3::HELVETICA, 10};
+Fl_Glut_Bitmap_Font glutBitmapHelvetica12 = {fltk3::HELVETICA, 12};
+Fl_Glut_Bitmap_Font glutBitmapHelvetica18 = {fltk3::HELVETICA, 18};
 
 void glutBitmapCharacter(void* font, int character) {
   gl_font(((Fl_Glut_Bitmap_Font *)font)->font,((Fl_Glut_Bitmap_Font *)font)->size);

Modified: branches/branch-3.0-2011/src/print_panel.cxx
===================================================================
--- branches/branch-3.0-2011/src/print_panel.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/print_panel.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -50,7 +50,7 @@
 
 static Fl_Preferences print_prefs(Fl_Preferences::USER, "fltk.org", "printers");
 static Fl_Double_Window *print_panel=(Fl_Double_Window *)0;
-static Fl_Group *print_panel_controls=(Fl_Group *)0;
+static fltk3::Group *print_panel_controls=(fltk3::Group *)0;
 static Fl_Choice *print_choice=(Fl_Choice *)0;
 static Fl_Button *print_properties=(Fl_Button *)0;
 static fltk3::Box *print_status=(fltk3::Box *)0;
@@ -58,7 +58,7 @@
 static Fl_Round_Button *print_pages=(Fl_Round_Button *)0;
 static Fl_Round_Button *print_selection=(Fl_Round_Button *)0;
 static Fl_Check_Button *print_collate_button=(Fl_Check_Button *)0;
-static Fl_Group *print_collate_group[2]={(Fl_Group *)0};
+static fltk3::Group *print_collate_group[2]={(fltk3::Group *)0};
 static Fl_Progress *print_progress=(Fl_Progress *)0;
 static Fl_Double_Window *print_properties_panel=(Fl_Double_Window *)0;
 static Fl_Choice *print_page_size=(Fl_Choice *)0;
@@ -248,7 +248,7 @@
 
 Fl_Double_Window* make_print_panel() {
   { print_panel = new Fl_Double_Window(465, 235, Fl_Printer::dialog_title);
-    { print_panel_controls = new Fl_Group(10, 10, 447, 216);
+    { print_panel_controls = new fltk3::Group(10, 10, 447, 216);
       { print_choice = new Fl_Choice(133, 10, 181, 25, Fl_Printer::dialog_printer);
         print_choice->down_box(FL_BORDER_BOX);
         print_choice->labelfont(1);
@@ -261,7 +261,7 @@
       { print_status = new fltk3::Box(0, 41, print_panel_controls->w(), 17, "printer/job status");
         print_status->align(Fl_Align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE|FL_ALIGN_LEFT));
       } // fltk3::Box* print_status
-      { Fl_Group* o = new Fl_Group(10, 86, 227, 105, Fl_Printer::dialog_range);
+      { fltk3::Group* o = new fltk3::Group(10, 86, 227, 105, Fl_Printer::dialog_range);
         o->box(FL_THIN_DOWN_BOX);
         o->labelfont(1);
         o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
@@ -292,8 +292,8 @@
           print_to->deactivate();
         } // Fl_Int_Input* print_to
         o->end();
-      } // Fl_Group* o
-      { Fl_Group* o = new Fl_Group(247, 86, 210, 105, Fl_Printer::dialog_copies);
+      } // fltk3::Group* o
+      { fltk3::Group* o = new fltk3::Group(247, 86, 210, 105, Fl_Printer::dialog_copies);
         o->box(FL_THIN_DOWN_BOX);
         o->labelfont(1);
         o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
@@ -307,7 +307,7 @@
           print_collate_button->when(FL_WHEN_CHANGED);
           print_collate_button->deactivate();
         } // Fl_Check_Button* print_collate_button
-        { print_collate_group[0] = new Fl_Group(257, 131, 191, 50);
+        { print_collate_group[0] = new fltk3::Group(257, 131, 191, 50);
           print_collate_group[0]->deactivate();
           { fltk3::Box* o = new fltk3::Box(287, 141, 30, 40, "1");
             o->box(FL_BORDER_BOX);
@@ -373,8 +373,8 @@
             o->deactivate();
           } // fltk3::Box* o
           print_collate_group[0]->end();
-        } // Fl_Group* print_collate_group[0]
-        { print_collate_group[1] = new Fl_Group(257, 131, 191, 50);
+        } // fltk3::Group* print_collate_group[0]
+        { print_collate_group[1] = new fltk3::Group(257, 131, 191, 50);
           print_collate_group[1]->hide();
           print_collate_group[1]->deactivate();
           { fltk3::Box* o = new fltk3::Box(287, 141, 30, 40, "3");
@@ -432,9 +432,9 @@
             o->align(Fl_Align(FL_ALIGN_BOTTOM_RIGHT|FL_ALIGN_INSIDE));
           } // fltk3::Box* o
           print_collate_group[1]->end();
-        } // Fl_Group* print_collate_group[1]
+        } // fltk3::Group* print_collate_group[1]
         o->end();
-      } // Fl_Group* o
+      } // fltk3::Group* o
       { Fl_Return_Button* o = new Fl_Return_Button(279, 201, 100, 25, Fl_Printer::dialog_print_button);
         o->callback((Fl_Callback*)print_cb);
       } // Fl_Return_Button* o
@@ -442,7 +442,7 @@
         o->callback((Fl_Callback*)cb_Cancel);
       } // Fl_Button* o
       print_panel_controls->end();
-    } // Fl_Group* print_panel_controls
+    } // fltk3::Group* print_panel_controls
     { print_progress = new Fl_Progress(10, 203, 289, 21);
       print_progress->selection_color((Fl_Color)4);
       print_progress->hide();
@@ -454,11 +454,11 @@
     print_properties_panel->callback((Fl_Callback*)cb_print_properties_panel);
     { print_page_size = new Fl_Choice(150, 10, 80, 25, Fl_Printer::property_pagesize);
       print_page_size->down_box(FL_BORDER_BOX);
-      print_page_size->labelfont(FL_HELVETICA);
+      print_page_size->labelfont(fltk3::HELVETICA);
       print_page_size->menu(menu_print_page_size);
     } // Fl_Choice* print_page_size
-    { Fl_Group* o = new Fl_Group(110, 45, 170, 40, Fl_Printer::property_mode);
-      o->labelfont(FL_HELVETICA);
+    { fltk3::Group* o = new fltk3::Group(110, 45, 170, 40, Fl_Printer::property_mode);
+      o->labelfont(fltk3::HELVETICA);
       o->align(Fl_Align(FL_ALIGN_LEFT));
       { print_output_mode[0] = new Fl_Button(110, 45, 30, 40);
         print_output_mode[0]->type(102);
@@ -494,7 +494,7 @@
         print_output_mode[3]->image(image_print_gray);
       } // Fl_Button* print_output_mode[3]
       o->end();
-    } // Fl_Group* o
+    } // fltk3::Group* o
     { Fl_Return_Button* o = new Fl_Return_Button(93, 95, 99, 25, Fl_Printer::property_save);
       o->callback((Fl_Callback*)cb_Save);
     } // Fl_Return_Button* o

Modified: branches/branch-3.0-2011/src/print_panel.h
===================================================================
--- branches/branch-3.0-2011/src/print_panel.h	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/src/print_panel.h	2011-01-09 19:24:30 UTC (rev 8231)
@@ -34,7 +34,7 @@
 #define print_panel_h
 #include <fltk3/run.h>
 #include <fltk3/Fl_Double_Window.H>
-#include <fltk3/Fl_Group.H>
+#include <fltk3/Group.H>
 #include <fltk3/Fl_Choice.H>
 #include <fltk3/Fl_Button.H>
 #include <fltk3/Box.h>

Modified: branches/branch-3.0-2011/test1/hello.cxx
===================================================================
--- branches/branch-3.0-2011/test1/hello.cxx	2011-01-09 17:05:31 UTC (rev 8230)
+++ branches/branch-3.0-2011/test1/hello.cxx	2011-01-09 19:24:30 UTC (rev 8231)
@@ -30,17 +30,6 @@
 #include <FL/Fl_Box.H>
 
 int main(int argc, char **argv) {
-#if (1) // FIXME: test screen dimensions and resolution. Remove before release !
-  float ppi_h, ppi_v;
-  int x,y,w,h;
-  int n = Fl::screen_count();
-  for (int i=0; i<n; i++) {
-    Fl::screen_xywh(x,y,w,h,i);
-    Fl::screen_dpi(ppi_h, ppi_v, i);
-    printf("Screen %2d (%4d,%4d,%4d,%4d) res. is %7.3f x %7.3f ppi\n", i, x,y,w,h, ppi_h, ppi_v);
-  }
-  fflush(stdout);
-#endif // FIXME: test screen dimensions and resolution. Remove before release !
   Fl_Window *window = new Fl_Window(340,180);
   Fl_Box *box = new Fl_Box(20,40,300,100,"Hello, World!");
   box->box(FL_UP_BOX);

Direct Link to Message ]
 
     
Previous Message ]Next Message ]
 
 

Comments are owned by the poster. All other content is copyright 1998-2024 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.