FLTK logo

[Library] r8230 - in branches/branch-3.0-2011: fltk3 ide/Xcode3/FLTK.xcodeproj src

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] r8230 - in branches/branch-3.0-2011: fltk3 ide/Xcode3/FLTK.xcodeproj src fltk-dev Jan 09, 2011  
 
Author: matt
Date: 2011-01-09 09:05:31 -0800 (Sun, 09 Jan 2011)
New Revision: 8230
Log:
F3 hello.cxx compiles and runs

Added:
   branches/branch-3.0-2011/fltk3/Box.h
   branches/branch-3.0-2011/fltk3/Window.h
   branches/branch-3.0-2011/fltk3/run.h
Removed:
   branches/branch-3.0-2011/fltk3/Fl.H
   branches/branch-3.0-2011/fltk3/Fl_Box.H
   branches/branch-3.0-2011/fltk3/Fl_Window.H
Modified:
   branches/branch-3.0-2011/fltk3/Enumerations.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_Cairo.H
   branches/branch-3.0-2011/fltk3/Fl_Cairo_Window.H
   branches/branch-3.0-2011/fltk3/Fl_Check_Browser.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_Double_Window.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_File_Input.H
   branches/branch-3.0-2011/fltk3/Fl_Float_Input.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_Gl_Window.H
   branches/branch-3.0-2011/fltk3/Fl_Group.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_Hold_Browser.H
   branches/branch-3.0-2011/fltk3/Fl_Hor_Nice_Slider.H
   branches/branch-3.0-2011/fltk3/Fl_Input_Choice.H
   branches/branch-3.0-2011/fltk3/Fl_Int_Input.H
   branches/branch-3.0-2011/fltk3/Fl_Light_Button.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_Item.H
   branches/branch-3.0-2011/fltk3/Fl_Multi_Browser.H
   branches/branch-3.0-2011/fltk3/Fl_Multiline_Input.H
   branches/branch-3.0-2011/fltk3/Fl_Multiline_Output.H
   branches/branch-3.0-2011/fltk3/Fl_Nice_Slider.H
   branches/branch-3.0-2011/fltk3/Fl_Output.H
   branches/branch-3.0-2011/fltk3/Fl_Overlay_Window.H
   branches/branch-3.0-2011/fltk3/Fl_Paged_Device.H
   branches/branch-3.0-2011/fltk3/Fl_Positioner.H
   branches/branch-3.0-2011/fltk3/Fl_Printer.H
   branches/branch-3.0-2011/fltk3/Fl_Repeat_Button.H
   branches/branch-3.0-2011/fltk3/Fl_Return_Button.H
   branches/branch-3.0-2011/fltk3/Fl_Round_Clock.H
   branches/branch-3.0-2011/fltk3/Fl_Scroll.H
   branches/branch-3.0-2011/fltk3/Fl_Secret_Input.H
   branches/branch-3.0-2011/fltk3/Fl_Select_Browser.H
   branches/branch-3.0-2011/fltk3/Fl_Single_Window.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_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_Tree_Prefs.H
   branches/branch-3.0-2011/fltk3/Fl_Value_Input.H
   branches/branch-3.0-2011/fltk3/Fl_Widget.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/win32.H
   branches/branch-3.0-2011/fltk3/x.H
   branches/branch-3.0-2011/ide/Xcode3/FLTK.xcodeproj/project.pbxproj
   branches/branch-3.0-2011/src/Fl.cxx
   branches/branch-3.0-2011/src/Fl_Adjuster.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_Browser_load.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_Check_Button.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_Device.cxx
   branches/branch-3.0-2011/src/Fl_Dial.cxx
   branches/branch-3.0-2011/src/Fl_Double_Window.cxx
   branches/branch-3.0-2011/src/Fl_File_Browser.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_File_Input.cxx
   branches/branch-3.0-2011/src/Fl_GIF_Image.cxx
   branches/branch-3.0-2011/src/Fl_Gl_Choice.H
   branches/branch-3.0-2011/src/Fl_Gl_Choice.cxx
   branches/branch-3.0-2011/src/Fl_Gl_Device_Plugin.cxx
   branches/branch-3.0-2011/src/Fl_Gl_Overlay.cxx
   branches/branch-3.0-2011/src/Fl_Gl_Window.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_Light_Button.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_Bar.cxx
   branches/branch-3.0-2011/src/Fl_Menu_Button.cxx
   branches/branch-3.0-2011/src/Fl_Menu_Window.cxx
   branches/branch-3.0-2011/src/Fl_Menu_add.cxx
   branches/branch-3.0-2011/src/Fl_Menu_global.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_Native_File_Chooser_MAC.mm
   branches/branch-3.0-2011/src/Fl_Overlay_Window.cxx
   branches/branch-3.0-2011/src/Fl_PNG_Image.cxx
   branches/branch-3.0-2011/src/Fl_PNM_Image.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_Preferences.cxx
   branches/branch-3.0-2011/src/Fl_Progress.cxx
   branches/branch-3.0-2011/src/Fl_Quartz_Printer.mm
   branches/branch-3.0-2011/src/Fl_Repeat_Button.cxx
   branches/branch-3.0-2011/src/Fl_Return_Button.cxx
   branches/branch-3.0-2011/src/Fl_Roller.cxx
   branches/branch-3.0-2011/src/Fl_Round_Button.cxx
   branches/branch-3.0-2011/src/Fl_Scroll.cxx
   branches/branch-3.0-2011/src/Fl_Scrollbar.cxx
   branches/branch-3.0-2011/src/Fl_Shared_Image.cxx
   branches/branch-3.0-2011/src/Fl_Single_Window.cxx
   branches/branch-3.0-2011/src/Fl_Slider.cxx
   branches/branch-3.0-2011/src/Fl_Sys_Menu_Bar.cxx
   branches/branch-3.0-2011/src/Fl_Table.cxx
   branches/branch-3.0-2011/src/Fl_Table_Row.cxx
   branches/branch-3.0-2011/src/Fl_Tabs.cxx
   branches/branch-3.0-2011/src/Fl_Text_Buffer.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_Tiled_Image.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_fullscreen.cxx
   branches/branch-3.0-2011/src/Fl_Window_hotspot.cxx
   branches/branch-3.0-2011/src/Fl_Window_iconize.cxx
   branches/branch-3.0-2011/src/Fl_Wizard.cxx
   branches/branch-3.0-2011/src/Fl_XBM_Image.cxx
   branches/branch-3.0-2011/src/Fl_XPM_Image.cxx
   branches/branch-3.0-2011/src/Fl_abort.cxx
   branches/branch-3.0-2011/src/Fl_add_idle.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_compose.cxx
   branches/branch-3.0-2011/src/Fl_display.cxx
   branches/branch-3.0-2011/src/Fl_get_key.cxx
   branches/branch-3.0-2011/src/Fl_get_key_mac.cxx
   branches/branch-3.0-2011/src/Fl_get_key_win32.cxx
   branches/branch-3.0-2011/src/Fl_get_system_colors.cxx
   branches/branch-3.0-2011/src/Fl_grab.cxx
   branches/branch-3.0-2011/src/Fl_lock.cxx
   branches/branch-3.0-2011/src/Fl_mac.cxx
   branches/branch-3.0-2011/src/Fl_own_colormap.cxx
   branches/branch-3.0-2011/src/Fl_visual.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/cmap.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_color.cxx
   branches/branch-3.0-2011/src/fl_color_mac.cxx
   branches/branch-3.0-2011/src/fl_color_win32.cxx
   branches/branch-3.0-2011/src/fl_cursor.cxx
   branches/branch-3.0-2011/src/fl_diamond_box.cxx
   branches/branch-3.0-2011/src/fl_dnd_win32.cxx
   branches/branch-3.0-2011/src/fl_dnd_x.cxx
   branches/branch-3.0-2011/src/fl_draw.cxx
   branches/branch-3.0-2011/src/fl_draw_image.cxx
   branches/branch-3.0-2011/src/fl_draw_image_mac.cxx
   branches/branch-3.0-2011/src/fl_draw_image_win32.cxx
   branches/branch-3.0-2011/src/fl_draw_pixmap.cxx
   branches/branch-3.0-2011/src/fl_engraved_label.cxx
   branches/branch-3.0-2011/src/fl_file_dir.cxx
   branches/branch-3.0-2011/src/fl_font.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_gtk.cxx
   branches/branch-3.0-2011/src/fl_labeltype.cxx
   branches/branch-3.0-2011/src/fl_line_style.cxx
   branches/branch-3.0-2011/src/fl_oval_box.cxx
   branches/branch-3.0-2011/src/fl_overlay_visual.cxx
   branches/branch-3.0-2011/src/fl_plastic.cxx
   branches/branch-3.0-2011/src/fl_read_image.cxx
   branches/branch-3.0-2011/src/fl_read_image_mac.cxx
   branches/branch-3.0-2011/src/fl_rect.cxx
   branches/branch-3.0-2011/src/fl_round_box.cxx
   branches/branch-3.0-2011/src/fl_rounded_box.cxx
   branches/branch-3.0-2011/src/fl_scroll_area.cxx
   branches/branch-3.0-2011/src/fl_set_font.cxx
   branches/branch-3.0-2011/src/fl_set_fonts.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_shadow_box.cxx
   branches/branch-3.0-2011/src/fl_shortcut.cxx
   branches/branch-3.0-2011/src/fl_show_colormap.cxx
   branches/branch-3.0-2011/src/fl_symbols.cxx
   branches/branch-3.0-2011/src/fl_vertex.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/gl_start.cxx
   branches/branch-3.0-2011/src/glut_compatability.cxx
   branches/branch-3.0-2011/src/print_panel.cxx
   branches/branch-3.0-2011/src/print_panel.h
   branches/branch-3.0-2011/src/ps_image.cxx
   branches/branch-3.0-2011/src/screen_xywh.cxx

Copied: branches/branch-3.0-2011/fltk3/Box.h (from rev 8227, branches/branch-3.0-2011/fltk3/Fl_Box.H)
===================================================================
--- branches/branch-3.0-2011/fltk3/Box.h	                        (rev 0)
+++ branches/branch-3.0-2011/fltk3/Box.h	2011-01-09 17:05:31 UTC (rev 8230)
@@ -0,0 +1,73 @@
+//
+// "$Id$"
+//
+// Box 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::Box widget . */
+
+#ifndef FLTK3_Box_H
+#define FLTK3_Box_H
+
+#ifndef Fl_Widget_H
+#include "Fl_Widget.H"
+#endif
+
+namespace fltk3 {
+  class Box;
+}
+
+/**
+  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 fltk3::Box : public Fl_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()
+    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) {}
+  /**    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);}
+
+  virtual int handle(int);
+};
+
+#endif
+
+//
+// End of "$Id$".
+//

Modified: branches/branch-3.0-2011/fltk3/Enumerations.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Enumerations.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Enumerations.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -29,12 +29,13 @@
  *  This file contains type definitions and general enumerations.
  */
 
-#ifndef Fl_Enumerations_H
-#define Fl_Enumerations_H
+#ifndef FLTK3_Enumerations_H
+#define FLTK3_Enumerations_H
 
 #  include "Fl_Export.H"
 #  include "fl_types.h"
 
+
 /** \name Version Numbers
 
     FLTK defines some constants to help the programmer to
@@ -94,31 +95,31 @@
  *  Events are identified by the integer argument passed to the 
  *  Fl_Widget::handle() virtual method. Other information about the 
  *  most recent event is stored in static locations and acquired  by 
- *  calling the Fl::event_*() methods. This static information remains 
+ *  calling the fltk3::event_*() methods. This static information remains 
  *  valid until the next event is read from the window system, so it 
  *  is ok to look at it outside of the handle() method.
  *
- *  \sa Fl::event_text(), Fl::event_key(), class Fl::
+ *  \sa fltk3::event_text(), fltk3::event_key(), class fltk3::
  */
 enum Fl_Event {	// events
   /** No event. */
   FL_NO_EVENT		= 0,
 
   /** A mouse button has gone down with the mouse pointing at this
-   *  widget. You can find out what button by calling Fl::event_button(). 
-   *  You find out the mouse position by calling Fl::event_x() and
-   *  Fl::event_y().
+   *  widget. You can find out what button by calling fltk3::event_button(). 
+   *  You find out the mouse position by calling fltk3::event_x() and
+   *  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 
-   *  Fl::pushed() widget and will get FL_DRAG and the matching FL_RELEASE events.  
+   *  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 
    *  to another widget. 
    */
   FL_PUSH		= 1,
 
   /** A mouse button has been released. You can find out what button by 
-   *  calling Fl::event_button().
+   *  calling fltk3::event_button().
    *
    *  In order to receive the FL_RELEASE event, the widget must return 
    *  non-zero when handling FL_PUSH.
@@ -129,7 +130,7 @@
    *  be used for highlighting feedback.  If a widget wants to
    *  highlight or otherwise track the mouse, it indicates this by
    *  returning non-zero from its handle() method. It then
-   *  becomes the Fl::belowmouse() widget and will receive 
+   *  becomes the fltk3::belowmouse() widget and will receive 
    *  FL_MOVE and FL_LEAVE events.
    */
   FL_ENTER		= 3,
@@ -141,8 +142,8 @@
   FL_LEAVE		= 4,
 
   /** The mouse has moved with a button held down. The current button state 
-   *  is in Fl::event_state(). The mouse position is in Fl::event_x() and 
-   *  Fl::event_y().
+   *  is in fltk3::event_state(). The mouse position is in fltk3::event_x() and 
+   *  fltk3::event_y().
    *
    *  In order to receive FL_DRAG events, the widget must return non-zero 
    *  when handling FL_PUSH.
@@ -153,25 +154,25 @@
    *
    *  If a widget wants the focus, it should change itself to display the 
    *  fact that it has the focus, and return non-zero from its handle() method.
-   *  It then becomes the Fl::focus() widget and gets FL_KEYDOWN, FL_KEYUP, 
+   *  It then becomes the fltk3::focus() widget and gets FL_KEYDOWN, FL_KEYUP, 
    *  and FL_UNFOCUS events.
    *
    *  The focus will change either because the window manager changed which 
    *  window gets the focus, or because the user tried to navigate using tab, 
-   *  arrows, or other keys. You can check Fl::event_key() to figure out why 
+   *  arrows, or other keys. You can check fltk3::event_key() to figure out why 
    *  it moved. For navigation it will be the key pressed and interaction 
    *  with the window manager it will be zero.
    */
   FL_FOCUS		= 6,
   
-  /** This event is sent to the previous Fl::focus() widget when another 
+  /** This event is sent to the previous fltk3::focus() widget when another 
    *  widget gets the focus or the window loses focus.
    */
   FL_UNFOCUS		= 7,
 
-  /** A key was pressed or released. The key can be found in Fl::event_key().
-   *  The text that the key should insert can be found with Fl::event_text() 
-   *  and its length is in Fl::event_length(). If you use the key handle()
+  /** A key was pressed or released. The key can be found in fltk3::event_key().
+   *  The text that the key should insert can be found with fltk3::event_text() 
+   *  and its length is in fltk3::event_length(). If you use the key handle()
    *  should return 1. If you return zero then FLTK assumes you ignored the 
    *  key and will then attempt to send it to a parent widget. If none of 
    *  them want it, it will change the event into a FL_SHORTCUT event.
@@ -180,7 +181,7 @@
    *  and FL_UNFOCUS events.
    *
    *  If you are writing a text-editing widget you may also want to call 
-   *  the Fl::compose() function to translate individual keystrokes into 
+   *  the fltk3::compose() function to translate individual keystrokes into 
    *  foreign characters.
    *
    *  FL_KEYUP events are sent to the widget that currently has focus. This 
@@ -201,28 +202,28 @@
 
   /** The user clicked the close button of a window.
    *  This event is used internally only to trigger the callback of
-   *  Fl_Window derived classed. The default callback closes the 
-   *  window calling Fl_Window::hide().
+   *  fltk3::Window derived classed. The default callback closes the 
+   *  window calling fltk3::Window::hide().
    */
   FL_CLOSE		= 10,
 
   /** The mouse has moved without any mouse buttons held down. 
-   *  This event is sent to the Fl::belowmouse() widget.
+   *  This event is sent to the fltk3::belowmouse() widget.
    *
    *  In order to receive FL_MOVE events, the widget must return 
    *  non-zero when handling FL_ENTER.
    */
   FL_MOVE		= 11,
 
-  /** If the Fl::focus() widget is zero or ignores an FL_KEYBOARD
+  /** If the fltk3::focus() widget is zero or ignores an FL_KEYBOARD
    *  event then FLTK tries sending this event to every widget it 
    *  can, until one of them returns non-zero. FL_SHORTCUT is first 
-   *  sent to the Fl::belowmouse() widget, then its parents and siblings, 
+   *  sent to the fltk3::belowmouse() widget, then its parents and siblings, 
    *  and eventually to every widget in the window, trying to find an 
    *  object that returns non-zero. FLTK tries really hard to not to ignore 
    *  any keystrokes!
    *
-   *  You can also make "global" shortcuts by using Fl::add_handler(). A 
+   *  You can also make "global" shortcuts by using fltk3::add_handler(). A 
    *  global shortcut will work no matter what windows are displayed or 
    *  which one has the focus.
    */
@@ -250,26 +251,26 @@
 
   /** This widget is visible again, due to Fl_Widget::show() being called on 
    *  it or one of its parents, or due to a parent window being restored. 
-   *  Child Fl_Windows respond to this by actually creating the window if not 
+   *  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!
    */
   FL_SHOW		= 16,
 
-  /** You should get this event some time after you call Fl::paste(). 
-   *  The contents of Fl::event_text() is the text to insert and the number 
-   *  of characters is in Fl::event_length().
+  /** You should get this event some time after you call fltk3::paste(). 
+   *  The contents of fltk3::event_text() is the text to insert and the number 
+   *  of characters is in fltk3::event_length().
    */
   FL_PASTE		= 17,
 
-  /** The Fl::selection_owner() will get this event before the selection is 
+  /** The fltk3::selection_owner() will get this event before the selection is 
    *  moved to another widget. This indicates that some other widget or program 
    *  has claimed the selection. Motif programs used this to clear the selection 
    *  indication. Most modern programs ignore this.
    */
   FL_SELECTIONCLEAR	= 18,
 
-  /** The user has moved the mouse wheel. The Fl::event_dx() and Fl::event_dy()
+  /** The user has moved the mouse wheel. The fltk3::event_dx() and fltk3::event_dy()
    *  methods can be used to find the amount to scroll horizontally and vertically.
    */
   FL_MOUSEWHEEL		= 19,
@@ -325,7 +326,7 @@
 	\todo	FL_Button and FL_key... constants could be structured better
 		(use an enum or some doxygen grouping ?)
   
-	\sa	Fl::event_key() and Fl::get_key(int) (use ascii letters for all other keys):
+	\sa	fltk3::event_key() and fltk3::get_key(int) (use ascii letters for all other keys):
  */
 
 /*@{*/
@@ -374,7 +375,7 @@
 
 	These constants define the button numbers for FL_PUSH and FL_RELEASE events.
 	
-	\sa Fl::event_button()
+	\sa fltk3::event_button()
 */
 
 /*@{*/
@@ -388,7 +389,7 @@
 
 /** \name	Event States
 
-	The following constants define bits in the Fl::event_state() value.
+	The following constants define bits in the fltk3::event_state() value.
 */
 
 /*@{*/		// group: Event States
@@ -430,7 +431,7 @@
     
     This enum defines the standard box types included with FLTK.
     
-    FL_NO_BOX means nothing is drawn at all, so whatever is already 
+    fltk3::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.
@@ -438,130 +439,91 @@
     \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 below for the defined enum fltk3::Boxtype.
 		\see src/Fl_get_system_colors.cxx
 */
 /*@{*/
-enum Fl_Boxtype { // boxtypes (if you change these you must fix fl_boxtype.C):
+namespace fltk3 {
 
-  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
-  FL_DOWN_BOX,			///< see figure 1
-  FL_UP_FRAME,			///< see figure 1
-  FL_DOWN_FRAME,		///< see figure 1
-  FL_THIN_UP_BOX,		///< see figure 1
-  FL_THIN_DOWN_BOX,		///< see figure 1
-  FL_THIN_UP_FRAME,		///< see figure 1
-  FL_THIN_DOWN_FRAME,		///< see figure 1
-  FL_ENGRAVED_BOX,		///< see figure 1
-  FL_EMBOSSED_BOX,		///< see figure 1
-  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_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
+enum Boxtype { // boxtypes (if you change these you must fix fl_boxtype.C):
+
+  NO_BOX = 0,		///< nothing is drawn at all, this box is invisible
+  FLAT_BOX,			///< a flat box
+  UP_BOX,			///< see figure 1
+  DOWN_BOX,			///< see figure 1
+  UP_FRAME,			///< see figure 1
+  DOWN_FRAME,		///< see figure 1
+  THIN_UP_BOX,		///< see figure 1
+  THIN_DOWN_BOX,		///< see figure 1
+  THIN_UP_FRAME,		///< see figure 1
+  THIN_DOWN_FRAME,		///< see figure 1
+  ENGRAVED_BOX,		///< see figure 1
+  EMBOSSED_BOX,		///< see figure 1
+  ENGRAVED_FRAME,		///< see figure 1
+  EMBOSSED_FRAME,		///< see figure 1
+  BORDER_BOX,		///< see figure 1
+  SHADOW_BOX,		///< see figure 1
+  BORDER_FRAME,		///< see figure 1
+  SHADOW_FRAME,		///< see figure 1
+  ROUNDED_BOX,		///< see figure 1
+  RSHADOW_BOX,		///< see figure 1
+  ROUNDED_FRAME,		///< see figure 1
+  RFLAT_BOX,		///< see figure 1
+  ROUND_UP_BOX,		///< see figure 1
+  ROUND_DOWN_BOX,		///< see figure 1
+  DIAMOND_UP_BOX,		///< see figure 1
+  DIAMOND_DOWN_BOX,		///< see figure 1
+  OVAL_BOX,			///< see figure 1
+  OSHADOW_BOX,		///< see figure 1
+  OVAL_FRAME,		///< see figure 1
+  OFLAT_BOX,		///< see figure 1
+  PLASTIC_UP_BOX,		///< plastic version of fltk3::UP_BOX
+  PLASTIC_DOWN_BOX,		///< plastic version of fltk3::DOWN_BOX
+  PLASTIC_UP_FRAME,		///< plastic version of fltk3::UP_FRAME
+  PLASTIC_DOWN_FRAME,	///< plastic version of fltk3::DOWN_FRAME
+  PLASTIC_THIN_UP_BOX,	///< plastic version of FL_THIN_UP_BOX
+  PLASTIC_THIN_DOWN_BOX,	///< plastic version of FL_THIN_DOWN_BOX
+  PLASTIC_ROUND_UP_BOX,	///< plastic version of FL_ROUND_UP_BOX
+  PLASTIC_ROUND_DOWN_BOX,	///< plastic version of FL_ROUND_DOWN_BOX
+  GTK_UP_BOX,		///< gtk+ version of fltk3::UP_BOX
+  GTK_DOWN_BOX,		///< gtk+ version of fltk3::DOWN_BOX
+  GTK_UP_FRAME,		///< gtk+ version of fltk3::UP_FRAME
+  GTK_DOWN_FRAME,		///< gtk+ version of FL_DOWN_RAME
+  GTK_THIN_UP_BOX,		///< gtk+ version of FL_THIN_UP_BOX
+  GTK_THIN_DOWN_BOX,	///< gtk+ version of FL_THIN_DOWN_BOX
+  GTK_THIN_UP_FRAME,	///< gtk+ version of fltk3::UP_FRAME
+  GTK_THIN_DOWN_FRAME,	///< gtk+ version of fltk3::THIN_DOWN_FRAME
+  GTK_ROUND_UP_BOX,		///< gtk+ version of FL_ROUND_UP_BOX
+  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
 };
-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)
-extern FL_EXPORT Fl_Boxtype fl_define_FL_SHADOW_BOX();
-#define FL_SHADOW_BOX fl_define_FL_SHADOW_BOX()
-#define FL_SHADOW_FRAME (Fl_Boxtype)(fl_define_FL_SHADOW_BOX()+2)
-extern FL_EXPORT Fl_Boxtype fl_define_FL_ROUNDED_BOX();
-#define FL_ROUNDED_BOX fl_define_FL_ROUNDED_BOX()
-#define FL_ROUNDED_FRAME (Fl_Boxtype)(fl_define_FL_ROUNDED_BOX()+2)
-extern FL_EXPORT Fl_Boxtype fl_define_FL_RFLAT_BOX();
-#define FL_RFLAT_BOX fl_define_FL_RFLAT_BOX()
-extern FL_EXPORT Fl_Boxtype fl_define_FL_RSHADOW_BOX();
-#define FL_RSHADOW_BOX fl_define_FL_RSHADOW_BOX()
-extern FL_EXPORT Fl_Boxtype fl_define_FL_DIAMOND_BOX();
-#define FL_DIAMOND_UP_BOX fl_define_FL_DIAMOND_BOX()
-#define FL_DIAMOND_DOWN_BOX (Fl_Boxtype)(fl_define_FL_DIAMOND_BOX()+1)
-extern FL_EXPORT Fl_Boxtype fl_define_FL_OVAL_BOX();
-#define FL_OVAL_BOX fl_define_FL_OVAL_BOX()
-#define FL_OSHADOW_BOX (Fl_Boxtype)(fl_define_FL_OVAL_BOX()+1)
-#define FL_OVAL_FRAME (Fl_Boxtype)(fl_define_FL_OVAL_BOX()+2)
-#define FL_OFLAT_BOX (Fl_Boxtype)(fl_define_FL_OVAL_BOX()+3)
 
-extern FL_EXPORT Fl_Boxtype fl_define_FL_PLASTIC_UP_BOX();
-#define FL_PLASTIC_UP_BOX fl_define_FL_PLASTIC_UP_BOX()
-#define FL_PLASTIC_DOWN_BOX (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+1)
-#define FL_PLASTIC_UP_FRAME (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+2)
-#define FL_PLASTIC_DOWN_FRAME (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+3)
-#define FL_PLASTIC_THIN_UP_BOX (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+4)
-#define FL_PLASTIC_THIN_DOWN_BOX (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+5)
-#define FL_PLASTIC_ROUND_UP_BOX (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+6)
-#define FL_PLASTIC_ROUND_DOWN_BOX (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+7)
-
-extern FL_EXPORT Fl_Boxtype fl_define_FL_GTK_UP_BOX();
-#define FL_GTK_UP_BOX fl_define_FL_GTK_UP_BOX()
-#define FL_GTK_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+1)
-#define FL_GTK_UP_FRAME (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+2)
-#define FL_GTK_DOWN_FRAME (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+3)
-#define FL_GTK_THIN_UP_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+4)
-#define FL_GTK_THIN_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+5)
-#define FL_GTK_THIN_UP_FRAME (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+6)
-#define FL_GTK_THIN_DOWN_FRAME (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+7)
-#define FL_GTK_ROUND_UP_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+8)
-#define FL_GTK_ROUND_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+9)
-
+}
+  
 // conversions of box types to other boxtypes:
 /**
   Get the filled version of a frame.
   If no filled version of a given frame exists, the behavior of this function
   is undefined and some random box or frame is returned,
   */
-inline Fl_Boxtype fl_box(Fl_Boxtype b) {
-  return (Fl_Boxtype)((b<FL_UP_BOX||b%4>1)?b:(b-2));
+inline fltk3::Boxtype fl_box(fltk3::Boxtype b) {
+  return (fltk3::Boxtype)((b<fltk3::UP_BOX||b%4>1)?b:(b-2));
 }
 /**
   Get the "pressed" or "down" version of a box.
   If no "down" version of a given box exists, the behavior of this function
   is undefined and some random box or frame is returned,
   */
-inline Fl_Boxtype fl_down(Fl_Boxtype b) {
-  return (Fl_Boxtype)((b<FL_UP_BOX)?b:(b|1));
+inline fltk3::Boxtype fl_down(fltk3::Boxtype b) {
+  return (fltk3::Boxtype)((b<fltk3::UP_BOX)?b:(b|1));
 }
 /**
   Get the unfilled, frame only version of a box.
   If no frame version of a given box exists, the behavior of this function
   is undefined and some random box or frame is returned,
   */
-inline Fl_Boxtype fl_frame(Fl_Boxtype b) {
-  return (Fl_Boxtype)((b%4<2)?b:(b+2));
+inline fltk3::Boxtype fl_frame(fltk3::Boxtype b) {
+  return (fltk3::Boxtype)((b%4<2)?b:(b+2));
 }
 
 // back-compatibility box types:
@@ -572,44 +534,30 @@
 
 /*@}*/	// group: Box Types
 
+namespace fltk3 {
+
 /**
    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()
 */
-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,		///< ?
+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
 };
 
-/** 
-  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()
-/** @} */
 
+} // namespace
+
 /** \name Alignment Flags */
 /*@{*/
 /** Flags to control the label alignment. 
@@ -713,10 +661,13 @@
 const Fl_Font FL_ZAPF_DINGBATS          = 15;	///< Zapf-dingbats font
 
 const Fl_Font FL_FREE_FONT              = 16;	///< first one to allocate
-const Fl_Font FL_BOLD                   = 1;	///< add this to helvetica, courier, or times
-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
 
+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
+}
+
 /*@}*/
 
 /** Size of a font in pixels.
@@ -867,7 +818,7 @@
   //FL_CURSOR_WE	= 55,
 };
 
-enum { // values for "when" passed to Fl::add_fd()
+enum { // values for "when" passed to fltk3::add_fd()
   FL_READ = 1,
   FL_WRITE = 4,
   FL_EXCEPT = 8
@@ -912,6 +863,7 @@
 #    define inactive	fl_inactive
 #  endif // FLTK_1_0_COMPAT
 
+  
 #endif
 
 //

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

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

Modified: branches/branch-3.0-2011/fltk3/Fl_Browser.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Browser.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Browser.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -214,8 +214,8 @@
     \li <tt>'\@l'</tt> Use a LARGE (24 point) font
     \li <tt>'\@m'</tt> Use a medium large (18 point) font
     \li <tt>'\@s'</tt> Use a <SMALL>small</SMALL> (11 point) font
-    \li <tt>'\@b'</tt> Use a <B>bold</B> font (adds FL_BOLD to font)
-    \li <tt>'\@i'</tt> Use an <I>italic</I> font (adds FL_ITALIC to font)
+    \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)
     \li <tt>'\@c'</tt> Center the line horizontally

Modified: branches/branch-3.0-2011/fltk3/Fl_Browser_.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Browser_.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Browser_.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -37,7 +37,7 @@
 #include "Fl_Group.H"
 #endif
 #include "Fl_Scrollbar.H"
-#include <fltk3/Fl.H>		// Fl::scrollbar_size()
+#include <fltk3/run.h>		// fltk3::scrollbar_size()
 
 #define FL_NORMAL_BROWSER	0	/**< type() of Fl_Browser */
 #define FL_SELECT_BROWSER	1	/**< type() of FL_Select_Browser */
@@ -307,10 +307,10 @@
     Gets the current size of the scrollbars' troughs, in pixels.
 
     If this value is zero (default), this widget will use the 
-    Fl::scrollbar_size() value as the scrollbar's width.
+    fltk3::scrollbar_size() value as the scrollbar's width.
   
-    \returns Scrollbar size in pixels, or 0 if the global Fl::scrollsize() is being used.
-    \see Fl::scrollbar_size(int)
+    \returns Scrollbar size in pixels, or 0 if the global fltk3::scrollsize() is being used.
+    \see fltk3::scrollbar_size(int)
   */
   int scrollbar_size() const {
       return(scrollbar_size_);
@@ -319,7 +319,7 @@
     Sets the pixel size of the scrollbars' troughs to the \p size, in pixels.
 
     Normally you should not need this method, and should use
-    Fl::scrollbar_size(int) instead to manage the size of ALL 
+    fltk3::scrollbar_size(int) instead to manage the size of ALL 
     your widgets' scrollbars. This ensures your application 
     has a consistent UI, is the default behavior, and is normally
     what you want.
@@ -328,11 +328,11 @@
     scrollbar size. The need for this should be rare.
     
     Setting \p size to the special value of 0 causes the widget to
-    track the global Fl::scrollbar_size(), which is the default.
+    track the global fltk3::scrollbar_size(), which is the default.
     
     \param[in] size Sets the scrollbar size in pixels.\n
-                    If 0 (default), scrollbar size tracks the global Fl::scrollbar_size()
-    \see Fl::scrollbar_size()
+                    If 0 (default), scrollbar size tracks the global fltk3::scrollbar_size()
+    \see fltk3::scrollbar_size()
   */
   void scrollbar_size(int size) {
       scrollbar_size_ = size;
@@ -340,22 +340,22 @@
   /**
     This method has been deprecated, existing for backwards compatibility only.
     Use scrollbar_size() instead.
-    This method always returns the global value Fl::scrollbar_size().
-    \returns Always returns the global value Fl::scrollbar_size().
+    This method always returns the global value fltk3::scrollbar_size().
+    \returns Always returns the global value fltk3::scrollbar_size().
     \todo This method should eventually be removed in 1.4+
   */
   int scrollbar_width() const {
-      return(Fl::scrollbar_size());
+      return(fltk3::scrollbar_size());
   }
   /**
     This method has been deprecated, existing for backwards compatibility only.
     Use scrollbar_size(int) instead.
-    This method sets the global Fl::scrollbar_size(), and forces this
+    This method sets the global fltk3::scrollbar_size(), and forces this
     instance of the widget to use it.
     \todo This method should eventually be removed in 1.4+
   */
   void scrollbar_width(int width) {
-      Fl::scrollbar_size(width);
+      fltk3::scrollbar_size(width);
       scrollbar_size_ = 0;
   }
   /**

Modified: branches/branch-3.0-2011/fltk3/Fl_Button.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Button.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Button.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -138,11 +138,11 @@
     <tt>'a'</tt>.
     A value of 0 disables the shortcut.
 
-    The key can be any value returned by Fl::event_key(), but will usually be
+    The key can be any value returned by fltk3::event_key(), but will usually be
     an ASCII letter.  Use a lower-case letter unless you require the shift key
     to be held down.
 
-    The shift flags can be any set of values accepted by Fl::event_state().
+    The shift flags can be any set of values accepted by fltk3::event_state().
     If the bit is on, that shift key must be pushed.  Meta, Alt, Ctrl, and
     Shift must be off if they are not in the shift flags (zero for the other
     bits indicates a "don't care" setting).
@@ -152,16 +152,16 @@
 
   /**
     Returns the current down box type, which is drawn when value() is non-zero.
-    \retval Fl_Boxtype
+    \retval fltk3::Boxtype
    */
-  Fl_Boxtype down_box() const {return (Fl_Boxtype)down_box_;}
+  fltk3::Boxtype down_box() const {return (fltk3::Boxtype)down_box_;}
 
   /**
     Sets the down box type. The default value of 0 causes FLTK to figure out
     the correct matching down version of box().
     \param[in] b down box type
    */
-  void down_box(Fl_Boxtype b) {down_box_ = b;}
+  void down_box(fltk3::Boxtype b) {down_box_ = b;}
 
   /// (for backwards compatibility)
   void shortcut(const char *s) {shortcut(fl_old_shortcut(s));}

Modified: branches/branch-3.0-2011/fltk3/Fl_Cairo.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Cairo.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Cairo.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -66,7 +66,7 @@
 
     // access attributes
     cairo_t* cc() const {return cc_;}		 ///< Gets the current cairo context
-    bool autolink() const {return autolink_;}	 ///< Gets the autolink option. See Fl::cairo_autolink_context(bool)
+    bool autolink() const {return autolink_;}	 ///< Gets the autolink option. See fltk3::cairo_autolink_context(bool)
     /** Sets the current cairo context, \p own indicates cc deletion is handle externally by user */
     void cc(cairo_t* c, bool own=true)  {	 
 	if (cc_ && own_cc_) cairo_destroy(cc_); 

Modified: branches/branch-3.0-2011/fltk3/Fl_Cairo_Window.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Cairo_Window.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Cairo_Window.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -35,7 +35,7 @@
 
 // Cairo is currently supported for the following platforms:
 // Win32, Apple Quartz, X11
-#  include <fltk3/Fl.H>
+#  include <fltk3/run.h>
 #  include <fltk3/Fl_Double_Window.H>
 
 /** 
@@ -50,9 +50,9 @@
    All cairo context handling is achieved transparently.
    \note You can alternatively define your custom cairo fltk window,
    and thus at least override the draw() method to provide custom cairo
-   support. In this case you will probably use Fl::cairo_make_current(Fl_Window*)
+   support. In this case you will probably use fltk3::cairo_make_current(fltk3::Window*)
    to attach a context to your window. You should do it only when your window is 
-   the current window. \see Fl_Window::current()
+   the current window. \see fltk3::Window::current()
 */
 class FL_EXPORT Fl_Cairo_Window : public Fl_Double_Window {
 
@@ -64,9 +64,9 @@
   void draw() {
     Fl_Double_Window::draw();
     // manual method ? if yes explicitly get a cairo_context here
-    if (!Fl::cairo_autolink_context()) 
-      Fl::cairo_make_current(this); 
-    if (draw_cb_) draw_cb_(this, Fl::cairo_cc());
+    if (!fltk3::cairo_autolink_context()) 
+      fltk3::cairo_make_current(this); 
+    if (draw_cb_) draw_cb_(this, fltk3::cairo_cc());
   }
 
 public:

Modified: branches/branch-3.0-2011/fltk3/Fl_Check_Browser.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Check_Browser.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Check_Browser.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -31,7 +31,7 @@
 #ifndef Fl_Check_Browser_H
 #define Fl_Check_Browser_H
 
-#include "Fl.H"
+#include "run.h"
 #include "Fl_Browser_.H"
 
 /**

Modified: branches/branch-3.0-2011/fltk3/Fl_Choice.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Choice.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Choice.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -76,10 +76,10 @@
       This method sets the changed() flag.
   \li <tt>void Fl_Widget::clear_changed()</tt>
       This method clears the changed() flag.
-  \li <tt>Fl_Boxtype Fl_Choice::down_box() const</tt>
+  \li <tt>fltk3::Boxtype Fl_Choice::down_box() const</tt>
       Gets the current down box, which is used when the menu is popped up.
-      The default down box type is \c FL_DOWN_BOX.
-  \li <tt>void Fl_Choice::down_box(Fl_Boxtype b)</tt>
+      The default down box type is \c fltk3::DOWN_BOX.
+  \li <tt>void Fl_Choice::down_box(fltk3::Boxtype b)</tt>
       Sets the current down box type to \p b.
  */
 class FL_EXPORT Fl_Choice : public Fl_Menu_ {

Modified: branches/branch-3.0-2011/fltk3/Fl_Clock.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Clock.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Clock.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -108,7 +108,7 @@
   \brief This widget provides a round analog clock display.
 
   Fl_Clock is provided for Forms compatibility. 
-  It installs a 1-second timeout callback using Fl::add_timeout().
+  It installs a 1-second timeout callback using fltk3::add_timeout().
   You can choose the rounded or square type of the clock with type(), see below.
   \htmlonly <BR>  <table align=CENTER border=1 cellpadding=5 >  
   <caption align=bottom>type() FL_SQUARE_CLOCK and FL_ROUND_CLOCK </caption> <TR><TD> \endhtmlonly

Modified: branches/branch-3.0-2011/fltk3/Fl_Color_Chooser.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Color_Chooser.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Color_Chooser.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -36,7 +36,7 @@
 #define Fl_Color_Chooser_H
 
 #include <fltk3/Fl_Group.H>
-#include <fltk3/Fl_Box.H>
+#include <fltk3/Box.h>
 #include <fltk3/Fl_Return_Button.H>
 #include <fltk3/Fl_Choice.H>
 #include <fltk3/Fl_Value_Input.H>
@@ -120,7 +120,7 @@
   Flcc_Value_Input rvalue;
   Flcc_Value_Input gvalue;
   Flcc_Value_Input bvalue;
-  Fl_Box resize_box;
+  fltk3::Box resize_box;
   double hue_, saturation_, value_;
   double r_, g_, b_;
   void set_valuators();

Modified: branches/branch-3.0-2011/fltk3/Fl_Double_Window.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Double_Window.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Double_Window.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -31,7 +31,7 @@
 #ifndef Fl_Double_Window_H
 #define Fl_Double_Window_H
 
-#include "Fl_Window.H"
+#include "Window.h"
 
 /**
   The Fl_Double_Window provides a double-buffered window.
@@ -41,12 +41,12 @@
   <P>It is highly recommended that you put the following code before the
   first show() of <I>any</I> window in your program: </P>
   \code
-  Fl::visual(FL_DOUBLE|FL_INDEX)
+  fltk3::visual(FL_DOUBLE|FL_INDEX)
   \endcode
   This makes sure you can use Xdbe on servers where double buffering
   does not exist for every visual.
 */
-class FL_EXPORT Fl_Double_Window : public Fl_Window {
+class FL_EXPORT Fl_Double_Window : public fltk3::Window {
 protected:
   void flush(int eraseoverlay);
   /**
@@ -56,7 +56,7 @@
   char force_doublebuffering_;
 public:
   void show();
-  void show(int a, char **b) {Fl_Window::show(a,b);}
+  void show(int a, char **b) {fltk3::Window::show(a,b);}
   void flush();
   void resize(int,int,int,int);
   void hide();
@@ -66,12 +66,12 @@
     position, size, and label (title) string.
   */
   Fl_Double_Window(int W, int H, const char *l = 0) 
-    : Fl_Window(W,H,l), force_doublebuffering_(0) { type(FL_DOUBLE_WINDOW); }
+    : fltk3::Window(W,H,l), force_doublebuffering_(0) { type(FL_DOUBLE_WINDOW); }
    /**
     See  Fl_Double_Window::Fl_Double_Window(int w, int h, const char *label = 0)
   */
   Fl_Double_Window(int X, int Y, int W, int H, const char *l = 0)
-    : Fl_Window(X,Y,W,H,l), force_doublebuffering_(0) { type(FL_DOUBLE_WINDOW); }
+    : fltk3::Window(X,Y,W,H,l), force_doublebuffering_(0) { type(FL_DOUBLE_WINDOW); }
 };
 
 #endif

Modified: branches/branch-3.0-2011/fltk3/Fl_File_Chooser.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_File_Chooser.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_File_Chooser.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -29,7 +29,7 @@
 
 #ifndef Fl_File_Chooser_H
 #define Fl_File_Chooser_H
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Double_Window.H>
 #include <stdio.h>
 #include <stdlib.h>
@@ -41,7 +41,7 @@
 #include <fltk3/Fl_Preferences.H>
 #include <fltk3/Fl_Tile.H>
 #include <fltk3/Fl_File_Browser.H>
-#include <fltk3/Fl_Box.H>
+#include <fltk3/Box.h>
 #include <fltk3/Fl_Check_Button.H>
 #include <fltk3/Fl_File_Input.H>
 #include <fltk3/Fl_Return_Button.H>
@@ -89,7 +89,7 @@
   Fl_File_Browser *fileList;
   void cb_fileList_i(Fl_File_Browser*, void*);
   static void cb_fileList(Fl_File_Browser*, void*);
-  Fl_Box *previewBox;
+  fltk3::Box *previewBox;
 public:
   Fl_Check_Button *previewButton;
 private:

Modified: branches/branch-3.0-2011/fltk3/Fl_File_Icon.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_File_Icon.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_File_Icon.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -35,7 +35,7 @@
 #ifndef _Fl_Fl_File_Icon_H_
 #  define _Fl_Fl_File_Icon_H_
 
-#  include "Fl.H"
+#  include "run.h"
 
 
 //

Modified: branches/branch-3.0-2011/fltk3/Fl_File_Input.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_File_Input.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_File_Input.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -74,9 +74,9 @@
 
 public:
   /** Gets the box type used for the navigation bar. */
-  Fl_Boxtype	down_box() const { return (Fl_Boxtype)down_box_; }
+  fltk3::Boxtype	down_box() const { return (fltk3::Boxtype)down_box_; }
   /** Sets the box type to use for the navigation bar.  */
-  void		down_box(Fl_Boxtype b) { down_box_ = b; }
+  void		down_box(fltk3::Boxtype b) { down_box_ = b; }
 
   /**
     Gets the current error color.

Modified: branches/branch-3.0-2011/fltk3/Fl_Float_Input.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Float_Input.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Float_Input.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -43,7 +43,7 @@
 public:
   /**
       Creates a new Fl_Float_Input widget using the given position,
-    size, and label string. The default boxtype is FL_DOWN_BOX.
+    size, and label string. The default boxtype is fltk3::DOWN_BOX.
   <P> Inherited destructor destroys the widget and any value associated with it
   */
   Fl_Float_Input(int X,int Y,int W,int H,const char *l = 0)

Modified: branches/branch-3.0-2011/fltk3/Fl_FormsBitmap.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_FormsBitmap.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_FormsBitmap.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -41,7 +41,7 @@
 protected:
     void draw();
 public:
-    Fl_FormsBitmap(Fl_Boxtype, int, int, int, int, const char * = 0);
+    Fl_FormsBitmap(fltk3::Boxtype, int, int, int, int, const char * = 0);
     void set(int W, int H, const uchar *bits);
     /** Sets a new bitmap. */
     void bitmap(Fl_Bitmap *B) {b = B;}

Modified: branches/branch-3.0-2011/fltk3/Fl_FormsPixmap.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_FormsPixmap.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_FormsPixmap.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -42,7 +42,7 @@
 protected:
     void draw();
 public:
-    Fl_FormsPixmap(Fl_Boxtype t, int X, int Y, int W, int H, const char *L= 0);
+    Fl_FormsPixmap(fltk3::Boxtype t, int X, int Y, int W, int H, const char *L= 0);
 
     void set(/*const*/char * const * bits);
 

Modified: branches/branch-3.0-2011/fltk3/Fl_Gl_Window.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Gl_Window.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Gl_Window.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -31,7 +31,7 @@
 #ifndef Fl_Gl_Window_H
 #define Fl_Gl_Window_H
 
-#include "Fl_Window.H"
+#include "Window.h"
 
 #ifndef GLContext
 /**
@@ -62,7 +62,7 @@
   it is not useful to add other FLTK Widgets as children,
   unless those widgets are modified to draw using OpenGL calls.
 */
-class FL_EXPORT Fl_Gl_Window : public Fl_Window {
+class FL_EXPORT Fl_Gl_Window : public fltk3::Window {
 
   int mode_;
   const int *alist;
@@ -83,7 +83,7 @@
 public:
 
   void show();
-  void show(int a, char **b) {Fl_Window::show(a,b);}
+  void show(int a, char **b) {fltk3::Window::show(a,b);}
   void flush();
   void hide();
   void resize(int,int,int,int);
@@ -158,7 +158,7 @@
 
     If the desired combination cannot be done, FLTK will try turning off 
     FL_MULTISAMPLE.  If this also fails the show() will call 
-    Fl::error() and not show the window.
+    fltk3::error() and not show the window.
 
     You can change the mode while the window is displayed.  This is most
     useful for turning double-buffering on and off.  Under X this will
@@ -212,17 +212,17 @@
   ~Fl_Gl_Window();
   /**
     Creates a new Fl_Gl_Window widget using the given size, and label string. 
-    The default boxtype is FL_NO_BOX. The default mode is FL_RGB|FL_DOUBLE|FL_DEPTH.
+    The default boxtype is fltk3::NO_BOX. The default mode is FL_RGB|FL_DOUBLE|FL_DEPTH.
   */
-  Fl_Gl_Window(int W, int H, const char *l=0) : Fl_Window(W,H,l) {init();}
+  Fl_Gl_Window(int W, int H, const char *l=0) : fltk3::Window(W,H,l) {init();}
   /**
     Creates a new Fl_Gl_Window widget using the given position,
-    size, and label string. The default boxtype is FL_NO_BOX. The
+    size, and label string. The default boxtype is fltk3::NO_BOX. The
     default mode is FL_RGB|FL_DOUBLE|FL_DEPTH.
   */
 
   Fl_Gl_Window(int X, int Y, int W, int H, const char *l=0)
-    : Fl_Window(X,Y,W,H,l) {init();}
+    : fltk3::Window(X,Y,W,H,l) {init();}
 
 protected:
   /**

Modified: branches/branch-3.0-2011/fltk3/Fl_Group.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Group.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Group.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -39,7 +39,7 @@
   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 
+  is fltk3::Window, however groups can also be used to control radio buttons 
   or to enforce resize behavior.
 */
 class FL_EXPORT Fl_Group : public Fl_Widget {
@@ -91,7 +91,7 @@
   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.
+    and label string. The default boxtype is fltk3::NO_BOX.
   */
   Fl_Group(int,int,int,int, const char * = 0);
   virtual ~Fl_Group();
@@ -138,13 +138,13 @@
 
     The resizable may be set to the group itself, in which case all the
     contents are resized. This is the default value for Fl_Group,
-    although NULL is the default for Fl_Window and Fl_Pack.
+    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 Fl_Box as the resizable and/or by using a hierarchy
+    invisible fltk3::Box as the resizable and/or by using a hierarchy
     of child Fl_Group's.
   */
   void resizable(Fl_Widget* o) {resizable_ = o;}

Modified: branches/branch-3.0-2011/fltk3/Fl_Help_Dialog.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Help_Dialog.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Help_Dialog.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -32,12 +32,12 @@
 
 #ifndef Fl_Help_Dialog_H
 #define Fl_Help_Dialog_H
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Double_Window.H>
 #include <fltk3/Fl_Group.H>
 #include <fltk3/Fl_Button.H>
 #include <fltk3/Fl_Input.H>
-#include <fltk3/Fl_Box.H>
+#include <fltk3/Box.h>
 #include <fltk3/Fl_Help_View.H>
 
 class FL_EXPORT Fl_Help_Dialog {

Modified: branches/branch-3.0-2011/fltk3/Fl_Help_View.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Help_View.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Help_View.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -37,7 +37,7 @@
 //
 
 #  include <stdio.h>
-#  include "Fl.H"
+#  include "run.h"
 #  include "Fl_Group.H"
 #  include "Fl_Scrollbar.H"
 #  include "fl_draw.H"
@@ -360,10 +360,10 @@
     Gets the current size of the scrollbars' troughs, in pixels.
 
     If this value is zero (default), this widget will use the 
-    Fl::scrollbar_size() value as the scrollbar's width.
+    fltk3::scrollbar_size() value as the scrollbar's width.
   
-    \returns Scrollbar size in pixels, or 0 if the global Fl::scrollbar_size() is being used.
-    \see Fl::scrollbar_size(int)
+    \returns Scrollbar size in pixels, or 0 if the global fltk3::scrollbar_size() is being used.
+    \see fltk3::scrollbar_size(int)
   */
   int scrollbar_size() const {
       return(scrollbar_size_);
@@ -372,7 +372,7 @@
     Sets the pixel size of the scrollbars' troughs to the \p size, in pixels.
 
     Normally you should not need this method, and should use
-    Fl::scrollbar_size(int) instead to manage the size of ALL 
+    fltk3::scrollbar_size(int) instead to manage the size of ALL 
     your widgets' scrollbars. This ensures your application 
     has a consistent UI, is the default behavior, and is normally
     what you want.
@@ -381,11 +381,11 @@
     scrollbar size. The need for this should be rare.
     
     Setting \p size to the special value of 0 causes the widget to
-    track the global Fl::scrollbar_size(), which is the default.
+    track the global fltk3::scrollbar_size(), which is the default.
     
     \param[in] size Sets the scrollbar size in pixels.\n
-                    If 0 (default), scrollbar size tracks the global Fl::scrollbar_size()
-    \see Fl::scrollbar_size()
+                    If 0 (default), scrollbar size tracks the global fltk3::scrollbar_size()
+    \see fltk3::scrollbar_size()
   */
   void scrollbar_size(int size) {
       scrollbar_size_ = size;

Modified: branches/branch-3.0-2011/fltk3/Fl_Hold_Browser.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Hold_Browser.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Hold_Browser.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -46,7 +46,7 @@
 public:
   /**
     Creates a new Fl_Hold_Browser widget using the given
-    position, size, and label string. The default boxtype is FL_DOWN_BOX.
+    position, size, and label string. The default boxtype is fltk3::DOWN_BOX.
     The constructor specializes Fl_Browser() by setting the type to FL_HOLD_BROWSER.
     The destructor destroys the widget and frees all memory that has been allocated.
  */

Modified: branches/branch-3.0-2011/fltk3/Fl_Hor_Nice_Slider.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Hor_Nice_Slider.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Hor_Nice_Slider.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -36,7 +36,7 @@
 class FL_EXPORT Fl_Hor_Nice_Slider : public Fl_Slider {
 public:
     Fl_Hor_Nice_Slider(int x,int y,int w,int h,const char *l=0)
-	: Fl_Slider(x,y,w,h,l) {type(FL_HOR_NICE_SLIDER); box(FL_FLAT_BOX);}
+	: Fl_Slider(x,y,w,h,l) {type(FL_HOR_NICE_SLIDER); box(fltk3::FLAT_BOX);}
 };
 
 #endif

Modified: branches/branch-3.0-2011/fltk3/Fl_Input_Choice.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Input_Choice.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Input_Choice.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -38,7 +38,7 @@
 #ifndef Fl_Input_Choice_H
 #define Fl_Input_Choice_H
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Group.H>
 #include <fltk3/Fl_Input.H>
 #include <fltk3/Fl_Menu_Button.H>
@@ -60,15 +60,15 @@
   // Private class to handle slightly 'special' behavior of menu button
   class InputMenuButton : public Fl_Menu_Button {
     void draw() {
-      draw_box(FL_UP_BOX, color());
+      draw_box(fltk3::UP_BOX, color());
       fl_color(active_r() ? labelcolor() : fl_inactive(labelcolor()));
       int xc = x()+w()/2, yc=y()+h()/2;
       fl_polygon(xc-5,yc-3,xc+5,yc-3,xc,yc+3);
-      if (Fl::focus() == this) draw_focus();
+      if (fltk3::focus() == this) draw_focus();
     }
   public:
     InputMenuButton(int x,int y,int w,int h,const char*l=0) : 
-	Fl_Menu_Button(x,y,w,h,l) { box(FL_UP_BOX); }
+	Fl_Menu_Button(x,y,w,h,l) { box(fltk3::UP_BOX); }
   };
 
   Fl_Input *inp_;
@@ -123,15 +123,15 @@
   }
 
   // Custom resize behavior -- input stretches, menu button doesn't
-  inline int inp_x() { return(x() + Fl::box_dx(box())); }
-  inline int inp_y() { return(y() + Fl::box_dy(box())); }
-  inline int inp_w() { return(w() - Fl::box_dw(box()) - 20); }
-  inline int inp_h() { return(h() - Fl::box_dh(box())); }
+  inline int inp_x() { return(x() + fltk3::box_dx(box())); }
+  inline int inp_y() { return(y() + fltk3::box_dy(box())); }
+  inline int inp_w() { return(w() - fltk3::box_dw(box()) - 20); }
+  inline int inp_h() { return(h() - fltk3::box_dh(box())); }
 
-  inline int menu_x() { return(x() + w() - 20 - Fl::box_dx(box())); }
-  inline int menu_y() { return(y() + Fl::box_dy(box())); }
+  inline int menu_x() { return(x() + w() - 20 - fltk3::box_dx(box())); }
+  inline int menu_y() { return(y() + fltk3::box_dy(box())); }
   inline int menu_w() { return(20); }
-  inline int menu_h() { return(h() - Fl::box_dh(box())); }
+  inline int menu_h() { return(h() - fltk3::box_dh(box())); }
 
 public:
   /**
@@ -140,17 +140,17 @@
   <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(FL_DOWN_BOX);
+    Fl_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());
     inp_->callback(inp_cb, (void*)this);
-    inp_->box(FL_FLAT_BOX);		// cosmetic
+    inp_->box(fltk3::FLAT_BOX);		// cosmetic
     inp_->when(FL_WHEN_CHANGED|FL_WHEN_NOT_CHANGED);
     menu_ = new InputMenuButton(menu_x(), menu_y(),
 				menu_w(), menu_h());
     menu_->callback(menu_cb, (void*)this);
-    menu_->box(FL_FLAT_BOX);				// cosmetic
+    menu_->box(fltk3::FLAT_BOX);				// cosmetic
     end();
   }
   
@@ -168,9 +168,9 @@
   /** Removes all items from the menu. */
   void clear() { menu_->clear(); }
   /** Gets the box type of the menu button */
-  Fl_Boxtype down_box() const { return (menu_->down_box()); }
+  fltk3::Boxtype down_box() const { return (menu_->down_box()); }
   /** Sets the box type of the menu button */
-  void down_box(Fl_Boxtype b) { menu_->down_box(b); }
+  void down_box(fltk3::Boxtype b) { menu_->down_box(b); }
   /** Gets the Fl_Menu_Item array used for the menu. */
   const Fl_Menu_Item *menu() { return (menu_->menu()); }
   /** Sets the Fl_Menu_Item array used for the menu. */

Modified: branches/branch-3.0-2011/fltk3/Fl_Int_Input.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Int_Input.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Int_Input.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -41,7 +41,7 @@
 public:
   /**
     Creates a new Fl_Int_Input widget using the given position,
-    size, and label string. The default boxtype is FL_DOWN_BOX.
+    size, and label string. The default boxtype is fltk3::DOWN_BOX.
     <P>Inherited destructor Destroys the widget and any value associated with it.
   */
   Fl_Int_Input(int X,int Y,int W,int H,const char *l = 0)

Modified: branches/branch-3.0-2011/fltk3/Fl_Light_Button.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Light_Button.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Light_Button.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -36,7 +36,7 @@
 /**
   This subclass displays the "on" state by turning on a light, 
   rather than drawing pushed in.  The shape of the  "light" 
-  is initially set to FL_DOWN_BOX.  The color of the light when
+  is initially set to fltk3::DOWN_BOX.  The color of the light when
   on is controlled with selection_color(), which defaults to FL_YELLOW.
 
   Buttons generate callbacks when they are clicked by the user.  You

Modified: branches/branch-3.0-2011/fltk3/Fl_Menu_.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Menu_.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Menu_.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -147,13 +147,13 @@
 
   /**
     This box type is used to surround the currently-selected items in the
-    menus.  If this is FL_NO_BOX then it acts like 
+    menus.  If this is fltk3::NO_BOX then it acts like 
     FL_THIN_UP_BOX and selection_color() acts like 
     FL_WHITE, for back compatibility.    
   */
-  Fl_Boxtype down_box() const {return (Fl_Boxtype)down_box_;}
-  /**    See Fl_Boxtype Fl_Menu_::down_box() const   */
-  void down_box(Fl_Boxtype b) {down_box_ = b;}
+  fltk3::Boxtype down_box() const {return (fltk3::Boxtype)down_box_;}
+  /**    See fltk3::Boxtype Fl_Menu_::down_box() const   */
+  void down_box(fltk3::Boxtype b) {down_box_ = b;}
 
   /** For back compatibility, same as selection_color() */
   Fl_Color down_color() const {return selection_color();}

Modified: branches/branch-3.0-2011/fltk3/Fl_Menu_Bar.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Menu_Bar.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Menu_Bar.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -66,7 +66,7 @@
     int handle(int);
   /**
       Creates a new Fl_Menu_Bar widget using the given position,
-    size, and label string. The default boxtype is FL_UP_BOX.
+    size, and label string. The default boxtype is fltk3::UP_BOX.
     <P>The constructor sets menu() to NULL.  See 
     Fl_Menu_ for the methods to set or change the menu. </P>
     <P>labelsize(), labelfont(), and labelcolor()

Modified: branches/branch-3.0-2011/fltk3/Fl_Menu_Item.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Menu_Item.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Menu_Item.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -157,7 +157,7 @@
   void label(const char* a) {text=a;}
 
   /**    See const char* Fl_Menu_Item::label() const   */
-  void label(Fl_Labeltype a,const char* b) {labeltype_ = a; text = b;}
+  void label(fltk3::Labeltype a,const char* b) {labeltype_ = a; text = b;}
 
   /**
     Returns the menu item's labeltype.
@@ -166,7 +166,7 @@
     the label() pointer as another form of data such as a bitmap.
     The value FL_NORMAL_LABEL prints the label as text.
   */
-  Fl_Labeltype labeltype() const {return (Fl_Labeltype)labeltype_;}
+  fltk3::Labeltype labeltype() const {return (fltk3::Labeltype)labeltype_;}
 
   /**
     Sets the menu item's labeltype.
@@ -175,7 +175,7 @@
     the label() pointer as another form of data such as a bitmap.
     The value FL_NORMAL_LABEL prints the label as text.
   */
-  void labeltype(Fl_Labeltype a) {labeltype_ = a;}
+  void labeltype(fltk3::Labeltype a) {labeltype_ = a;}
 
   /**
     Gets the menu item's label color.
@@ -195,7 +195,7 @@
     Gets the menu item's label font.
     Fonts are identified by small 8-bit indexes into a table. See the
     enumeration list for predefined fonts. The default value is a
-    Helvetica font. The function Fl::set_font() can define new fonts.
+    Helvetica font. The function fltk3::set_font() can define new fonts.
   */
   Fl_Font labelfont() const {return labelfont_;}
 
@@ -203,7 +203,7 @@
     Sets the menu item's label font.
     Fonts are identified by small 8-bit indexes into a table. See the
     enumeration list for predefined fonts. The default value is a
-    Helvetica font.  The function Fl::set_font() can define new fonts.
+    Helvetica font.  The function fltk3::set_font() can define new fonts.
   */
   void labelfont(Fl_Font a) {labelfont_ = a;}
 
@@ -284,11 +284,11 @@
     FL_ALT+'a' or FL_ALT+FL_F+10 or just 'a'.  A value of
     zero disables the shortcut.
 
-    The key can be any value returned by Fl::event_key(), but will usually 
+    The key can be any value returned by fltk3::event_key(), but will usually 
     be an ASCII letter. Use a lower-case letter unless you require the shift 
     key to be held down.
 
-    The shift flags can be any set of values accepted by Fl::event_state().
+    The shift flags can be any set of values accepted by fltk3::event_state().
     If the bit is on that shift key must be pushed.  Meta, Alt, Ctrl, 
     and Shift must be off if they are not in the shift flags (zero for the 
     other bits indicates a "don't care" setting).

Modified: branches/branch-3.0-2011/fltk3/Fl_Multi_Browser.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Multi_Browser.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Multi_Browser.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -47,7 +47,7 @@
 public:
   /**
       Creates a new Fl_Multi_Browser widget using the given
-    position, size, and label string. The default boxtype is FL_DOWN_BOX.
+    position, size, and label string. The default boxtype is fltk3::DOWN_BOX.
     The constructor specializes Fl_Browser() by setting the type to FL_MULTI_BROWSER.
     The destructor destroys the widget and frees all memory that has been allocated.
   */

Modified: branches/branch-3.0-2011/fltk3/Fl_Multiline_Input.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Multiline_Input.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Multiline_Input.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -56,7 +56,7 @@
 public:
   /**
     Creates a new Fl_Multiline_Input widget using the given
-    position, size, and label string. The default boxtype is FL_DOWN_BOX.
+    position, size, and label string. The default boxtype is fltk3::DOWN_BOX.
     <P>Inherited destructor destroys the widget and any value associated with it.
   */
   Fl_Multiline_Input(int X,int Y,int W,int H,const char *l = 0)

Modified: branches/branch-3.0-2011/fltk3/Fl_Multiline_Output.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Multiline_Output.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Multiline_Output.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -50,7 +50,7 @@
 public:
   /**
     Creates a new Fl_Multiline_Output widget using the given
-    position, size, and label string. The default boxtype is FL_DOWN_BOX
+    position, size, and label string. The default boxtype is fltk3::DOWN_BOX
     <P> Inherited destructor destroys the widget and any value associated with it.
   */
   Fl_Multiline_Output(int X,int Y,int W,int H,const char *l = 0)

Modified: branches/branch-3.0-2011/fltk3/Fl_Nice_Slider.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Nice_Slider.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Nice_Slider.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -36,7 +36,7 @@
 class FL_EXPORT Fl_Nice_Slider : public Fl_Slider {
 public:
     Fl_Nice_Slider(int x,int y,int w,int h,const char *l=0)
-	: Fl_Slider(x,y,w,h,l) {type(FL_VERT_NICE_SLIDER); box(FL_FLAT_BOX);}
+	: Fl_Slider(x,y,w,h,l) {type(FL_VERT_NICE_SLIDER); box(fltk3::FLAT_BOX);}
 };
 
 #endif

Modified: branches/branch-3.0-2011/fltk3/Fl_Output.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Output.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Output.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -54,7 +54,7 @@
 public:
   /**
     Creates a new Fl_Output widget using the given position,
-    size, and label string. The default boxtype is FL_DOWN_BOX.
+    size, and label string. The default boxtype is fltk3::DOWN_BOX.
     <P>Inherited destrucor destroys the widget and any value associated with it.
   */
     Fl_Output(int X,int Y,int W,int H, const char *l = 0)

Modified: branches/branch-3.0-2011/fltk3/Fl_Overlay_Window.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Overlay_Window.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Overlay_Window.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -47,7 +47,7 @@
 class FL_EXPORT Fl_Overlay_Window : public Fl_Double_Window {
   friend class _Fl_Overlay;
   virtual void draw_overlay() = 0;
-  Fl_Window *overlay_;
+  fltk3::Window *overlay_;
 public:
   void show();
   void flush();

Modified: branches/branch-3.0-2011/fltk3/Fl_Paged_Device.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Paged_Device.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Paged_Device.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -33,7 +33,7 @@
 #define Fl_Paged_Device_H
 
 #include <fltk3/Fl_Device.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/Window.h>
 
 /** \brief Number of elements in enum Page_Format */
 #define NO_PAGE_FORMATS 30 /* MSVC6 compilation fix */
@@ -146,7 +146,7 @@
   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_window_part(Fl_Window *win, int x, int y, int w, int h, 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_Positioner.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Positioner.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Positioner.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -62,7 +62,7 @@
   int handle(int);
   /**
     Creates a new Fl_Positioner widget using the given position,
-    size, and label string. The default boxtype is FL_NO_BOX.
+    size, and label string. The default boxtype is fltk3::NO_BOX.
   */
   Fl_Positioner(int x,int y,int w,int h, const char *l=0);
   /** Gets the X axis coordinate.*/

Modified: branches/branch-3.0-2011/fltk3/Fl_Printer.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Printer.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Printer.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -121,7 +121,7 @@
  *
  Fl_Printer allows to use all FLTK drawing, color, text, and clip functions, and to have them operate
  on printed page(s). There are two main, non exclusive, ways to use it.
- <ul><li>Print any widget (standard, custom, Fl_Window, Fl_Gl_Window) as it appears 
+ <ul><li>Print any widget (standard, custom, fltk3::Window, Fl_Gl_Window) as it appears 
  on screen, with optional translation, scaling and rotation. This is done by calling print_widget() 
  or print_window_part().
  <li>Use a series of FLTK graphics commands (e.g., font, text, lines, colors, clip, image) to

Modified: branches/branch-3.0-2011/fltk3/Fl_Repeat_Button.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Repeat_Button.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Repeat_Button.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -30,7 +30,7 @@
 
 #ifndef Fl_Repeat_Button_H
 #define Fl_Repeat_Button_H
-#include "Fl.H"
+#include "run.h"
 #include "Fl_Button.H"
 
 /**
@@ -45,13 +45,13 @@
   int handle(int);
   /**
     Creates a new Fl_Repeat_Button widget using the given
-    position, size, and label string. The default boxtype is FL_UP_BOX.
+    position, size, and label string. The default boxtype is fltk3::UP_BOX.
     Deletes the button.
   */
   Fl_Repeat_Button(int X,int Y,int W,int H,const char *l=0)
     : Fl_Button(X,Y,W,H,l) {}
   void deactivate() {
-    Fl::remove_timeout(repeat_callback,this);
+    fltk3::remove_timeout(repeat_callback,this);
     Fl_Button::deactivate();
   }
 };

Modified: branches/branch-3.0-2011/fltk3/Fl_Return_Button.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Return_Button.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Return_Button.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -46,7 +46,7 @@
   int handle(int);
   /**
     Creates a new Fl_Return_Button widget using the given
-    position, size, and label string. The default boxtype is FL_UP_BOX.
+    position, size, and label string. The default boxtype is fltk3::UP_BOX.
     <P> The inherited destructor deletes the button.
   */
   Fl_Return_Button(int X, int Y, int W, int H,const char *l=0)

Modified: branches/branch-3.0-2011/fltk3/Fl_Round_Clock.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Round_Clock.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Round_Clock.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -38,7 +38,7 @@
 public:
     /** Creates the clock widget, setting his type and box. */
     Fl_Round_Clock(int x,int y,int w,int h, const char *l = 0)
-	: Fl_Clock(x,y,w,h,l) {type(FL_ROUND_CLOCK); box(FL_NO_BOX);}
+	: Fl_Clock(x,y,w,h,l) {type(FL_ROUND_CLOCK); box(fltk3::NO_BOX);}
 };
 
 #endif

Modified: branches/branch-3.0-2011/fltk3/Fl_Scroll.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Scroll.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Scroll.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -43,7 +43,7 @@
   \image latex  Fl_Scroll.png "Fl_Scroll" width=4cm
 
   If all of the child widgets are packed together into a solid
-  rectangle then you want to set box() to FL_NO_BOX or
+  rectangle then you want to set box() to fltk3::NO_BOX or
   one of the _FRAME types. This will result in the best output.
   However, if the child widgets are a sparse arrangement you must
   set box() to a real _BOX type. This can result in some
@@ -89,7 +89,7 @@
   fit inside the Fl_Scroll without scrolling.  Be sure to leave
   space for the scrollbars, as Fluid won't show these either.
 
-  <I>You cannot use Fl_Window as a child of this since the
+  <I>You cannot use fltk3::Window as a child of this since the
   clipping is not conveyed to it when drawn, and it will draw over the
   scrollbars and neighboring objects.</I>
 */
@@ -159,10 +159,10 @@
     Gets the current size of the scrollbars' troughs, in pixels.
 
     If this value is zero (default), this widget will use the 
-    Fl::scrollbar_size() value as the scrollbar's width.
+    fltk3::scrollbar_size() value as the scrollbar's width.
   
-    \returns Scrollbar size in pixels, or 0 if the global Fl::scrollsize() is being used.
-    \see Fl::scrollbar_size(int)
+    \returns Scrollbar size in pixels, or 0 if the global fltk3::scrollsize() is being used.
+    \see fltk3::scrollbar_size(int)
   */
   int scrollbar_size() const {
       return(scrollbar_size_);
@@ -171,7 +171,7 @@
     Sets the pixel size of the scrollbars' troughs to the \p size, in pixels.
 
     Normally you should not need this method, and should use
-    Fl::scrollbar_size(int) instead to manage the size of ALL 
+    fltk3::scrollbar_size(int) instead to manage the size of ALL 
     your widgets' scrollbars. This ensures your application 
     has a consistent UI, is the default behavior, and is normally
     what you want.
@@ -180,11 +180,11 @@
     scrollbar size. The need for this should be rare.
     
     Setting \p size to the special value of 0 causes the widget to
-    track the global Fl::scrollbar_size(), which is the default.
+    track the global fltk3::scrollbar_size(), which is the default.
     
     \param[in] size Sets the scrollbar size in pixels.\n
-                    If 0 (default), scrollbar size tracks the global Fl::scrollbar_size()
-    \see Fl::scrollbar_size()
+                    If 0 (default), scrollbar size tracks the global fltk3::scrollbar_size()
+    \see fltk3::scrollbar_size()
   */
   void scrollbar_size(int size) {
       if ( size != scrollbar_size_ ) redraw();

Modified: branches/branch-3.0-2011/fltk3/Fl_Secret_Input.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Secret_Input.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Secret_Input.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -42,7 +42,7 @@
 public:
   /**
     Creates a new Fl_Secret_Input widget using the given
-    position, size, and label string. The default boxtype is FL_DOWN_BOX.
+    position, size, and label string. The default boxtype is fltk3::DOWN_BOX.
     <P>Inherited destructor destroys the widget and any value associated with it.
   */
   Fl_Secret_Input(int X,int Y,int W,int H,const char *l = 0)

Modified: branches/branch-3.0-2011/fltk3/Fl_Select_Browser.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Select_Browser.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Select_Browser.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -45,7 +45,7 @@
 public:
   /** 
     Creates a new Fl_Select_Browser widget using the given
-    position, size, and label string. The default boxtype is FL_DOWN_BOX.
+    position, size, and label string. The default boxtype is fltk3::DOWN_BOX.
     The constructor specializes Fl_Browser() by setting the type to FL_SELECT_BROWSER.
     The destructor destroys the widget and frees all memory that has been allocated.
   */

Modified: branches/branch-3.0-2011/fltk3/Fl_Single_Window.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Single_Window.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Single_Window.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -31,32 +31,32 @@
 #ifndef Fl_Single_Window_H
 #define Fl_Single_Window_H
 
-#include "Fl_Window.H"
+#include "Window.h"
 
 /**
-  This is the same as Fl_Window.  However, it is possible that
+  This is the same as fltk3::Window.  However, it is possible that
   some implementations will provide double-buffered windows by default.
   This subcan be used to force single-buffering.  This may be
   useful for modifying existing programs that use incremental update, or
   for some types of image data, such as a movie flipbook.
 */
-class FL_EXPORT Fl_Single_Window : public Fl_Window {
+class FL_EXPORT Fl_Single_Window : public fltk3::Window {
 public:
   void show();
-  void show(int a, char **b) {Fl_Window::show(a,b);}
+  void show(int a, char **b) {fltk3::Window::show(a,b);}
   void flush();
    /**
     Creates a new Fl_Single_Window widget using the given
     size, and label (title) string.
   */
   Fl_Single_Window(int W, int H, const char *l=0)
-    : Fl_Window(W,H,l) {}
+    : fltk3::Window(W,H,l) {}
   /**
     Creates a new Fl_Single_Window widget using the given
     position, size, and label (title) string.
   */
   Fl_Single_Window(int X, int Y, int W, int H, const char *l=0)
-    : Fl_Window(X,Y,W,H,l) {}
+    : fltk3::Window(X,Y,W,H,l) {}
   int make_current();
 };
 

Modified: branches/branch-3.0-2011/fltk3/Fl_Slider.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Slider.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Slider.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -107,10 +107,10 @@
   void slider_size(double v);
 
   /** Gets the slider box type. */
-  Fl_Boxtype slider() const {return (Fl_Boxtype)slider_;}
+  fltk3::Boxtype slider() const {return (fltk3::Boxtype)slider_;}
 
   /** Sets the slider box type. */
-  void slider(Fl_Boxtype c) {slider_ = c;}
+  void slider(fltk3::Boxtype c) {slider_ = c;}
 };
 
 #endif

Modified: branches/branch-3.0-2011/fltk3/Fl_Spinner.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Spinner.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Spinner.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -158,10 +158,10 @@
 		  switch (event) {
 		    case FL_KEYDOWN :
 		    case FL_SHORTCUT :
-		      if (Fl::event_key() == FL_Up) {
+		      if (fltk3::event_key() == FL_Up) {
 			up_button_.do_callback();
 			return 1;
-		      } else if (Fl::event_key() == FL_Down) {
+		      } else if (fltk3::event_key() == FL_Down) {
 			down_button_.do_callback();
 			return 1;
 		      } else return 0;

Modified: branches/branch-3.0-2011/fltk3/Fl_Table.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Table.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Table.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -39,10 +39,10 @@
 #include <stdlib.h>		// UNIX: malloc/realloc
 #endif /*WIN32*/
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Group.H>
 #include <fltk3/Fl_Scroll.H>
-#include <fltk3/Fl_Box.H>
+#include <fltk3/Box.h>
 #include <fltk3/Fl_Scrollbar.H>
 
 /**
@@ -95,7 +95,7 @@
  
  <tr><td>wix/wiy/wiw/wih</td>
  <td>Fl_Table widget's inner dimension. The inner edge of the border of the 
- Fl_Table. eg. if the Fl_Table's box() is FL_NO_BOX, these values are the same 
+ Fl_Table. eg. if the Fl_Table's box() is fltk3::NO_BOX, these values are the same 
  as x()/y()/w()/h(). (Yellow in the diagram above)</td></tr>
  
  <tr><td>tox/toy/tow/toh</td>
@@ -106,7 +106,7 @@
  <tr><td>tix/tiy/tiw/tih</td>
  <td>The table's inner dimension. The inner edge of the border around the cells,
  but inside the row/col headings and scrollbars. AKA the table's clip region. 
- eg. if the table_box() is FL_NO_BOX, these values are the same as
+ eg. if the table_box() is fltk3::NO_BOX, these values are the same as
  tox/toyy/tow/toh. (Blue in the diagram above)
  </td></tr></table>
  
@@ -496,10 +496,10 @@
   
   /**
    Sets the kind of box drawn around the data table,
-   the default being FL_NO_BOX. Changing this value will cause the table
+   the default being fltk3::NO_BOX. Changing this value will cause the table
    to redraw.
    */
-  inline void table_box(Fl_Boxtype val) {
+  inline void table_box(fltk3::Boxtype val) {
     table->box(val);
     table_resized();
   }
@@ -507,7 +507,7 @@
   /**
    Returns the current box type used for the data table.
    */
-  inline Fl_Boxtype table_box( void ) {
+  inline fltk3::Boxtype table_box( void ) {
     return(table->box());
   }
   
@@ -840,13 +840,13 @@
   void draw(void);				// fltk draw() override
   
   // This crashes sortapp() during init.
-  //  void box(Fl_Boxtype val) {
+  //  void box(fltk3::Boxtype val) {
   //    Fl_Group::box(val);
   //    if ( table ) {
   //      resize(x(), y(), w(), h());
   //    }
   //  }
-  //  Fl_Boxtype box(void) const {
+  //  fltk3::Boxtype box(void) const {
   //    return(Fl_Group::box());
   //  }
   
@@ -876,7 +876,7 @@
   void end() {
     table->end();
     // HACK: Avoid showing Fl_Scroll; seems to erase screen
-    //       causing unnecessary flicker, even if its box() is FL_NO_BOX.
+    //       causing unnecessary flicker, even if its box() is fltk3::NO_BOX.
     //
     if ( table->children() > 2 ) {
       table->show();
@@ -986,7 +986,7 @@
    event occurred in, such as in a cell, in a header, or elsewhere on the table.  
    When an event occurs in a cell or header, callback_row() and 
    callback_col() can be used to determine the row and column. The callback can 
-   also look at the regular fltk event values (ie. Fl::event() and Fl::button()) 
+   also look at the regular fltk event values (ie. fltk3::event() and fltk3::button()) 
    to determine what kind of event is occurring.
    */
   void when(Fl_When flags);
@@ -1051,7 +1051,7 @@
        C = callback_col();                             // column where event occurred
        TableContext context = callback_context();      // which part of table
        fprintf(stderr, "callback: Row=%d Col=%d Context=%d Event=%d\n",
-               R, C, (int)context, (int)Fl::event());
+               R, C, (int)context, (int)fltk3::event());
      }
    
      // Actual static callback

Modified: branches/branch-3.0-2011/fltk3/Fl_Text_Display.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Text_Display.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Text_Display.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -73,7 +73,7 @@
   };
   
   /** 
-   drag types - they match Fl::event_clicks() so that single clicking to
+   drag types - they match fltk3::event_clicks() so that single clicking to
    start a collection selects by character, double clicking selects by
    word and triple clicking selects by line.
    */

Modified: branches/branch-3.0-2011/fltk3/Fl_Tile.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Tile.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Tile.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -49,9 +49,9 @@
   <P>Fl_Tile does not normailly draw any graphics of its own.
   The "borders" which can be seen in the snapshot above
   are actually part of the children. Their boxtypes have been set
-  to FL_DOWN_BOX creating the impression of 
+  to fltk3::DOWN_BOX creating the impression of 
   "ridges" where the boxes touch. What you see are 
-  actually two adjacent FL_DOWN_BOX's drawn next to each 
+  actually two adjacent fltk3::DOWN_BOX's drawn next to each 
   other. All neighboring widgets share the same edge - the widget's 
   thick borders make it appear as though the widgets aren't actually
   touching, but they are. If the edges of adjacent widgets do not
@@ -81,7 +81,7 @@
   int handle(int);
   /**
     Creates a new Fl_Tile widget using the given position, size,
-    and label string. The default boxtype is FL_NO_BOX.
+    and label string. The default boxtype is fltk3::NO_BOX.
     
     <P>The destructor <I>also deletes all the children</I>. This allows a
     whole tree to be deleted at once, without having to keep a pointer to

Modified: branches/branch-3.0-2011/fltk3/Fl_Timer.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Timer.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Timer.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -45,7 +45,7 @@
   making a timeout callback every 1/5 second.  This is wasteful and
   inaccurate if you just want something to happen a fixed time in the
   future.  You should directly call 
-  Fl::add_timeout() instead.
+  fltk3::add_timeout() instead.
 */
 class FL_EXPORT Fl_Timer : public Fl_Widget {
   static void stepcb(void *);

Modified: branches/branch-3.0-2011/fltk3/Fl_Tooltip.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Tooltip.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Tooltip.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -31,7 +31,7 @@
 #ifndef Fl_Tooltip_H
 #define Fl_Tooltip_H
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Widget.H>
 
 /**
@@ -55,9 +55,9 @@
   */
   static void hoverdelay(float f) { hoverdelay_ = f; }
   /**    Returns non-zero if tooltips are enabled.  */
-  static int enabled() { return Fl::option(Fl::OPTION_SHOW_TOOLTIPS); }
+  static int enabled() { return fltk3::option(fltk3::OPTION_SHOW_TOOLTIPS); }
   /**    Enables tooltips on all widgets (or disables if <i>b</i> is false).  */
-  static void enable(int b = 1) { Fl::option(Fl::OPTION_SHOW_TOOLTIPS, b);}
+  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);
@@ -85,7 +85,7 @@
   static void textcolor(Fl_Color c) { textcolor_ = c; }
 #ifdef __APPLE__
   // the unique tooltip window
-  static Fl_Window* current_window(void);
+  static fltk3::Window* current_window(void);
 #endif
 
   // These should not be public, but Fl_Widget::tooltip() needs them...

Modified: branches/branch-3.0-2011/fltk3/Fl_Tree.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Tree.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Tree.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -5,7 +5,7 @@
 #ifndef FL_TREE_H
 #define FL_TREE_H
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Group.H>
 #include <fltk3/Fl_Scrollbar.H>
 #include <fltk3/fl_draw.H>
@@ -782,17 +782,17 @@
     // no redraw().. only affects new add()itions
   }
   /// Sets the style of box used to draw selected items.
-  /// This is an fltk Fl_Boxtype.
-  /// The default is influenced by FLTK's current Fl::scheme()
+  /// This is an fltk fltk3::Boxtype.
+  /// The default is influenced by FLTK's current fltk3::scheme()
   ///
-  Fl_Boxtype selectbox() const {
+  fltk3::Boxtype selectbox() const {
     return(_prefs.selectbox());
   }
   /// Gets the style of box used to draw selected items.
-  /// This is an fltk Fl_Boxtype.
-  /// The default is influenced by FLTK's current Fl::scheme()
+  /// This is an fltk fltk3::Boxtype.
+  /// The default is influenced by FLTK's current fltk3::scheme()
   ///
-  void selectbox(Fl_Boxtype val) {
+  void selectbox(fltk3::Boxtype val) {
     _prefs.selectbox(val);
     redraw();
   }
@@ -832,10 +832,10 @@
   /// Gets the current size of the scrollbars' troughs, in pixels.
   ///
   /// If this value is zero (default), this widget will use the global
-  /// Fl::scrollbar_size() value as the scrollbar's width.
+  /// fltk3::scrollbar_size() value as the scrollbar's width.
   /// 
-  /// \returns Scrollbar size in pixels, or 0 if the global Fl::scrollsize() is being used.
-  /// \see Fl::scrollbar_size(int)
+  /// \returns Scrollbar size in pixels, or 0 if the global fltk3::scrollsize() is being used.
+  /// \see fltk3::scrollbar_size(int)
   ///
   int scrollbar_size() const {
       return(_scrollbar_size);
@@ -843,7 +843,7 @@
   /// Sets the pixel size of the scrollbars' troughs to the \p size, in pixels.
   ///
   /// Normally you should not need this method, and should use the global
-  /// Fl::scrollbar_size(int) instead to manage the size of ALL 
+  /// fltk3::scrollbar_size(int) instead to manage the size of ALL 
   /// your widgets' scrollbars. This ensures your application 
   /// has a consistent UI, is the default behavior, and is normally
   /// what you want.
@@ -852,15 +852,15 @@
   /// scrollbar size. The need for this should be rare.
   ///   
   /// Setting \p size to the special value of 0 causes the widget to
-  /// track the global Fl::scrollbar_size(), which is the default.
+  /// track the global fltk3::scrollbar_size(), which is the default.
   ///   
   /// \param[in] size Sets the scrollbar size in pixels.\n
-  ///                 If 0 (default), scrollbar size tracks the global Fl::scrollbar_size()
-  /// \see Fl::scrollbar_size()
+  ///                 If 0 (default), scrollbar size tracks the global fltk3::scrollbar_size()
+  /// \see fltk3::scrollbar_size()
   ///
   void scrollbar_size(int size) {
       _scrollbar_size = size;
-      int scrollsize = _scrollbar_size ? _scrollbar_size : Fl::scrollbar_size();
+      int scrollsize = _scrollbar_size ? _scrollbar_size : fltk3::scrollbar_size();
       if ( _vscroll->w() != scrollsize ) {
         _vscroll->resize(x()+w()-scrollsize, h(), scrollsize, _vscroll->h());
       }

Modified: branches/branch-3.0-2011/fltk3/Fl_Tree_Item.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Tree_Item.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Tree_Item.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -5,7 +5,7 @@
 #ifndef FL_TREE_ITEM_H
 #define FL_TREE_ITEM_H
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Widget.H>
 #include <fltk3/Fl_Image.H>
 #include <fltk3/fl_draw.H>

Modified: branches/branch-3.0-2011/fltk3/Fl_Tree_Prefs.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Tree_Prefs.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Tree_Prefs.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -107,7 +107,7 @@
   char _showcollapse;			// 1=show collapse icons, 0=don't
   char _showroot;			// show the root item as part of the tree
   Fl_Tree_Sort   _sortorder;		// none, ascening, descending, etc.
-  Fl_Boxtype     _selectbox;		// selection box type
+  fltk3::Boxtype     _selectbox;		// selection box type
   Fl_Tree_Select _selectmode;		// selection mode
 public:
   Fl_Tree_Prefs();
@@ -321,12 +321,12 @@
   inline void sortorder(Fl_Tree_Sort val) {
     _sortorder = val;
   }
-  /// Get the default selection box's box drawing style as an Fl_Boxtype.
-  inline Fl_Boxtype selectbox() const {
+  /// Get the default selection box's box drawing style as an fltk3::Boxtype.
+  inline fltk3::Boxtype selectbox() const {
     return(_selectbox);
   }
   /// Set the default selection box's box drawing style to \p val.
-  inline void selectbox(Fl_Boxtype val) {
+  inline void selectbox(fltk3::Boxtype val) {
     _selectbox = val;
   }
   /// Returns 1 if the root item is to be shown, or 0 if not.

Modified: branches/branch-3.0-2011/fltk3/Fl_Value_Input.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Value_Input.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Value_Input.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -97,10 +97,10 @@
     , FL_ALT | (FL_F + 10), or just 'a'.  A value
     of 0 disables the shortcut. </P>
     <P>The key can be any value returned by 
-    Fl::event_key(), but will usually be an ASCII letter.  Use
+    fltk3::event_key(), but will usually be an ASCII letter.  Use
     a lower-case letter unless you require the shift key to be held down. </P>
     <P>The shift flags can be any set of values accepted by 
-    Fl::event_state().  If the bit is on that shift key must
+    fltk3::event_state().  If the bit is on that shift key must
     be pushed.  Meta, Alt, Ctrl, and Shift must be off if they are not in
     the shift flags (zero for the other bits indicates a "don't care"
     setting).

Modified: branches/branch-3.0-2011/fltk3/Fl_Widget.H
===================================================================
--- branches/branch-3.0-2011/fltk3/Fl_Widget.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/Fl_Widget.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -50,10 +50,13 @@
 #endif
 
 class Fl_Widget;
-class Fl_Window;
 class Fl_Group;
 class Fl_Image;
 
+namespace fltk3 {
+  class Window;
+}
+
 /** Default callback type definition for all fltk widgets (by far the most used) */
 typedef void (Fl_Callback )(Fl_Widget*, void*);
 /** Default callback type pointer definition for all fltk widgets */
@@ -85,7 +88,7 @@
   Fl_Color color;
   /** alignment of label */
   Fl_Align align_;
-  /** type of label. \see Fl_Labeltype */
+  /** type of label. \see fltk3::Labeltype */
   uchar type;
 
   /** Draws the label aligned to the given box */
@@ -164,18 +167,18 @@
         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 (Fl_Window)
-        FORCE_POSITION  = 1<<4,   ///< don't let the window manager position the window (Fl_Window)
-        NON_MODAL       = 1<<5,   ///< thisis a hovering toolbar window (Fl_Window)
+        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 (Fl_Window)
+        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 (Fl_Group)
-        MENU_WINDOW     = 1<<12,  ///< a temporary popup window, dismissed by clicking outside (Fl_Window)
-        TOOLTIP_WINDOW  = 1<<13,  ///< a temporary popup, transparent to events, and dismissed easily (Fl_Window)
-        MODAL           = 1<<14,  ///< a window blocking input to all other winows (Fl_Window)
+        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
@@ -185,12 +188,12 @@
         USERFLAG1       = 1<<31   ///< reserved for 3rd party extensions
   };
   void draw_box() const;
-  void draw_box(Fl_Boxtype t, Fl_Color c) const;
-  void draw_box(Fl_Boxtype t, int x,int y,int w,int h, Fl_Color c) 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(Fl_Boxtype t, int x,int y,int w,int h) const;
+  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;
 
@@ -243,7 +246,7 @@
   virtual int handle(int event);
 
   /** Returns a pointer to the parent widget.  
-      Usually this is a Fl_Group or Fl_Window. 
+      Usually this is a Fl_Group or fltk3::Window. 
       \retval NULL if the widget has no parent
       \see Fl_Group::add(Fl_Widget*)
    */
@@ -354,18 +357,18 @@
 
   /** Gets the box type of the widget.
       \return the current box type
-      \see box(Fl_Boxtype), Fl_Boxtype
+      \see box(fltk3::Boxtype), fltk3::Boxtype
    */
-  Fl_Boxtype box() const {return (Fl_Boxtype)box_;}
+  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 Fl_Boxtype for the available types. The default depends on the 
-      widget, but is usually FL_NO_BOX or FL_UP_BOX.
+      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(), Fl_Boxtype
+      \see box(), fltk3::Boxtype
    */
-  void box(Fl_Boxtype new_box) {box_ = new_box;}
+  void box(fltk3::Boxtype new_box) {box_ = new_box;}
 
   /** Gets the background color of the widget.
       \return current background color
@@ -378,7 +381,7 @@
       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 Fl::set_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)
@@ -441,15 +444,15 @@
   void copy_label(const char *new_label);
 
   /** Shortcut to set the label text and type in one call.
-      \see label(const char *), labeltype(Fl_Labeltype)
+      \see label(const char *), labeltype(fltk3::Labeltype)
    */
-  void label(Fl_Labeltype a, const char* b) {label_.type = a; label_.value = b;}
+  void label(fltk3::Labeltype a, const char* b) {label_.type = a; label_.value = b;}
 
   /** Gets the label type.
       \return the current label type.
-      \see Fl_Labeltype
+      \see fltk3::Labeltype
    */
-  Fl_Labeltype labeltype() const {return (Fl_Labeltype)label_.type;}
+  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. 
@@ -457,9 +460,9 @@
       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
+      \see fltk3::Labeltype
    */
-  void labeltype(Fl_Labeltype a) {label_.type = a;}
+  void labeltype(fltk3::Labeltype a) {label_.type = a;}
 
   /** Gets the label color. 
       The default color is FL_FOREGROUND_COLOR. 
@@ -476,7 +479,7 @@
   /** 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.
+      The function fltk3::set_font() can define new typefaces.
       \return current font used by the label
       \see Fl_Font
    */
@@ -485,7 +488,7 @@
   /** 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.
+      The function fltk3::set_font() can define new typefaces.
       \param[in] f the new font for the label
       \see Fl_Font
    */
@@ -721,7 +724,7 @@
       Changing this value will send FL_DEACTIVATE to the widget if 
       active_r() is true.
     
-      Currently you cannot deactivate Fl_Window widgets.
+      Currently you cannot deactivate fltk3::Window widgets.
 
       \see activate(), active(), active_r()
    */
@@ -784,9 +787,9 @@
   void clear_changed() {flags_ &= ~CHANGED;}
 
   /** Gives the widget the keyboard focus.
-      Tries to make this widget be the Fl::focus() widget, by first sending 
+      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 
-      Fl::focus() to this widget. You should use this method to 
+      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.
    */
@@ -820,10 +823,10 @@
 
   /** Sets the default callback for all widgets.
       Sets the default callback, which puts a pointer to the widget on the queue 
-      returned by Fl::readqueue(). You may want to call this from your own callback.
+      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(), Fl::readqueue()
+      \see callback(), do_callback(), fltk3::readqueue()
    */
   static void default_callback(Fl_Widget *cb, void *d);
 
@@ -922,12 +925,12 @@
    */
   void measure_label(int& ww, int& hh) const {label_.measure(ww, hh);}
 
-  /** Returns a pointer to the primary Fl_Window widget.
+  /** Returns a pointer to the primary fltk3::Window widget.
       \retval  NULL if no window is associated with this widget.  
-      \note for an Fl_Window widget, this returns its <I>parent</I> window 
+      \note for an fltk3::Window widget, this returns its <I>parent</I> window 
             (if any), not <I>this</I> window.
    */
-  Fl_Window* window() const ;
+  fltk3::Window* window() const ;
 
   /** Returns an Fl_Group pointer if this widget is an Fl_Group.
 
@@ -954,19 +957,19 @@
    */
   virtual Fl_Group* as_group() {return 0;}
 
-  /** Returns an Fl_Window pointer if this widget is an Fl_Window.
+  /** 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 Fl_Window. If it returns
-      non-NULL, then the widget in question is derived from Fl_Window,
+      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 Fl_Window-specific methods.
+      or other fltk3::Window-specific methods.
 
-      \retval NULL if this widget is not derived from Fl_Window.
+      \retval NULL if this widget is not derived from fltk3::Window.
       \note This method is provided to avoid dynamic_cast.
       \see Fl_Widget::as_group(), Fl_Widget::as_gl_window()
    */
-  virtual Fl_Window* as_window() {return 0;}
+  virtual fltk3::Window* as_window() {return 0;}
 
   /** Returns an Fl_Gl_Window pointer if this widget is an Fl_Gl_Window.
 

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

Copied: branches/branch-3.0-2011/fltk3/Window.h (from rev 8227, branches/branch-3.0-2011/fltk3/Fl_Window.H)
===================================================================
--- branches/branch-3.0-2011/fltk3/Window.h	                        (rev 0)
+++ branches/branch-3.0-2011/fltk3/Window.h	2011-01-09 17:05:31 UTC (rev 8230)
@@ -0,0 +1,459 @@
+//
+// "$Id$"
+//
+// Window 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::Window widget . */
+
+#ifndef FLTK3_Window_H
+#define FLTK3_Window_H
+
+#include "Fl_Group.H"
+
+#define FL_WINDOW 0xF0		///< window type id all subclasses have type() >= this
+#define FL_DOUBLE_WINDOW 0xF1   ///< double window type id
+
+class Fl_X;
+
+namespace fltk3 {
+  class Window;
+};
+
+/**
+  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().
+
+  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 fltk3::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 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 {
+
+  static char *default_xclass_;
+
+  friend class ::Fl_X;
+  Fl_X *i; // points at the system-specific stuff
+
+  const char* iconlabel_;
+  char* xclass_;
+  const void* icon_;
+  // size_range stuff:
+  int minw, minh, maxw, maxh;
+  int dw, dh, aspect;
+  uchar size_range_set;
+  // cursor stuff
+  Fl_Cursor cursor_default;
+  Fl_Color cursor_fg, cursor_bg;
+  void size_range_();
+  void _Window(); // constructor innards
+
+  // unimplemented copy ctor and assignment operator
+  Window(const Window&);
+  Window& operator=(const Window&);
+
+protected:
+
+  /** Stores the last window that was made current. See current() const */
+  static Window *current_;
+  virtual void draw();
+  /** Forces the window to be drawn, this window is also made current and calls draw(). */
+  virtual void flush();
+
+  /**
+    Sets an internal flag that tells FLTK and the window manager to
+    honor position requests.
+
+    This is used internally and should not be needed by user code.
+
+    \param[in] force 1 to set the FORCE_POSITION flag, 0 to clear it
+  */
+  void force_position(int force) {
+    if (force) set_flag(FORCE_POSITION);
+    else clear_flag(FORCE_POSITION);
+  }
+  /**
+    Returns the internal state of the window's FORCE_POSITION flag.
+
+    \retval 1 if flag is set
+    \retval 0 otherwise
+
+    \see force_position(int)
+  */
+  int force_position() const { return ((flags() & FORCE_POSITION)?1:0); }
+
+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 fltk3::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 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.
+
+    \see fltk3::Window(int x, int y, int w, int h, const char* title = 0)
+  */
+    Window(int w, int h, const char* title= 0);
+  /** Creates a window from the given position, size and title.
+
+    \see fltk3::Window::Window(int w, int h, const char *title = 0)
+  */
+    Window(int x, int y, int w, int h, const char* title = 0);
+  /**
+    The destructor <I>also deletes all the children</I>. This allows a
+    whole tree to be deleted at once, without having to keep a pointer to
+    all the children in the user code. A kludge has been done so the 
+    fltk3::Window and all of its children can be automatic (local)
+    variables, but you must declare the fltk3::Window <I>first</I> so
+    that it is destroyed last.
+  */
+    virtual ~Window();
+
+  virtual int handle(int);
+
+  /**
+    Changes the size and position of the window.  If shown() is true,
+    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.
+
+    You can also call the Fl_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 
+    size to the operating system. The window manager may not be willing or 
+    able to display a window at the desired position or with the given 
+    dimensions. It is up to the application developer to verify window 
+    parameters after the resize request.
+  */
+  virtual void resize(int,int,int,int);
+  /**
+    Sets whether or not the window manager border is around the
+    window.  The default value is true. void border(int) can be
+    used to turn the border on and off. <I>Under most X window
+    managers this does not work after show() has been called,
+    although SGI's 4DWM does work.</I>
+  */
+  void border(int b);
+  /**
+    Fast inline function to turn the window manager border
+    off. It only works before show() is called.
+  */
+  void clear_border()	{set_flag(NOBORDER);}
+  /** See void fltk3::Window::border(int) */
+  unsigned int border() const	{return !(flags() & NOBORDER);}
+  /** Activates the flags NOBORDER|FL_OVERRIDE */
+  void set_override()	{set_flag(NOBORDER|OVERRIDE);}
+  /** Returns non zero if FL_OVERRIDE flag is set, 0 otherwise. */
+  unsigned int override() const  { return flags()&OVERRIDE; }
+  /**
+    A "modal" window, when shown(), will prevent any events from
+    being delivered to other windows in the same program, and will also
+    remain on top of the other windows (if the X window manager supports
+    the "transient for" property).  Several modal windows may be shown at
+    once, in which case only the last one shown gets events.  You can see
+    which window (if any) is modal by calling fltk3::modal().
+  */
+  void set_modal()	{set_flag(MODAL);}
+  /**  Returns true if this window is modal.  */
+  unsigned int modal() const	{return flags() & MODAL;}
+  /**
+    A "non-modal" window (terminology borrowed from Microsoft Windows)
+    acts like a modal() one in that it remains on top, but it has
+    no effect on event delivery.  There are <I>three</I> states for a
+    window: modal, non-modal, and normal.
+  */
+  void set_non_modal()	{set_flag(NON_MODAL);}
+  /**  Returns true if this window is modal or non-modal. */
+  unsigned int non_modal() const {return flags() & (NON_MODAL|MODAL);}
+
+  /**
+    Marks the window as a menu window.
+
+    This is intended for internal use, but it can also be used if you
+    write your own menu handling. However, this is not recommended.
+
+    This flag is used for correct "parenting" of windows in communication
+    with the windowing system. Modern X window managers can use different
+    flags to distinguish menu and tooltip windows from normal windows.
+
+    This must be called before the window is shown and cannot be changed
+    later.
+  */
+  void set_menu_window()	{set_flag(MENU_WINDOW);}
+
+  /**  Returns true if this window is a menu window. */
+  unsigned int menu_window() const {return flags() & MENU_WINDOW;}
+
+  /**
+    Marks the window as a tooltip window.
+
+    This is intended for internal use, but it can also be used if you
+    write your own tooltip handling. However, this is not recommended.
+
+    This flag is used for correct "parenting" of windows in communication
+    with the windowing system. Modern X window managers can use different
+    flags to distinguish menu and tooltip windows from normal windows.
+
+    This must be called before the window is shown and cannot be changed
+    later.
+
+    \note Since Fl_Tooltip_Window is derived from Fl_Menu_Window, this
+    also \b clears the menu_window() state.
+  */
+  void set_tooltip_window()	{ set_flag(TOOLTIP_WINDOW);
+				  clear_flag(MENU_WINDOW); }
+  /**  Returns true if this window is a tooltip window. */
+  unsigned int tooltip_window() const {return flags() & TOOLTIP_WINDOW;}
+
+  /**
+    Positions the window so that the mouse is pointing at the given
+    position, or at the center of the given widget, which may be the
+    window itself.  If the optional offscreen parameter is
+    non-zero, then the window is allowed to extend off the screen (this
+    does not work with some X window managers). \see position()
+  */
+  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);
+  /** See void fltk3::Window::hotspot(int x, int y, int offscreen = 0) */
+  void hotspot(const Fl_Widget& p, int offscreen = 0) {hotspot(&p,offscreen);}
+
+  /**
+    Undoes the effect of a previous resize() or show() so that the next time
+    show() is called the window manager is free to position the window.
+
+    This is for Forms compatibility only.
+
+    \deprecated please use force_position(0) instead
+  */
+  void free_position()	{clear_flag(FORCE_POSITION);}
+  /**
+    Sets the allowable range the user can resize this window to.
+    This only works for top-level windows.
+    <UL>
+    <LI>minw and minh are the smallest the window can be.
+	Either value must be greater than 0.</LI>
+    <LI>maxw and maxh are the largest the window can be. If either is
+	<I>equal</I> to the minimum then you cannot resize in that direction.
+	If either is zero  then FLTK picks a maximum size in that direction
+	such that the window will fill the screen.</LI>
+    <LI>dw and dh are size increments.  The  window will be constrained
+	to widths of minw + N * dw,  where N is any non-negative integer.
+	If these are less or equal to 1 they are ignored (this is ignored
+	on WIN32).</LI>
+    <LI>aspect is a flag that indicates that the window should preserve its
+	aspect ratio.  This only works if both the maximum and minimum have
+	the same aspect ratio (ignored on WIN32 and by many X window managers).
+	</LI>
+    </UL>
+
+    If this function is not called, FLTK tries to figure out the range
+    from the setting of resizable():
+    <UL>
+    <LI>If resizable() is NULL (this is the  default) then the window cannot
+	be resized and the resize border and max-size control will not be
+	displayed for the window.</LI>
+    <LI>If either dimension of resizable() is less than 100, then that is
+	considered the minimum size.  Otherwise the resizable() has a minimum
+	size of 100.</LI>
+    <LI>If either dimension of resizable() is zero, then that is also the
+	maximum size (so the window cannot resize in that direction).</LI>
+    </UL>
+
+    It is undefined what happens if the current size does not fit in the
+    constraints passed to size_range().
+  */
+  void size_range(int a, int b, int c=0, int d=0, int e=0, int f=0, int g=0) {
+    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();}
+  /**  See void fltk3::Window::iconlabel(const char*)   */
+  const char* iconlabel() const	{return iconlabel_;}
+  /** Sets the window title bar label. */
+  void label(const char*);
+  /** Sets the icon label. */
+  void iconlabel(const char*);
+  /** Sets the icon label. */
+  void label(const char* label, const char* iconlabel); // platform dependent 
+  void copy_label(const char* a);
+
+  static void default_xclass(const char*);
+  static const char *default_xclass();
+  const char* xclass() const;
+  void xclass(const char* c);
+  /** Gets the current icon window target dependent data. */
+  const void* icon() const	{return icon_;}
+  /** Sets the current icon window target dependent data. */
+  void icon(const void * ic)	{icon_ = ic;}
+
+  /**
+    Returns non-zero if show() has been called (but not hide()
+    ). You can tell if a window is iconified with (w->shown()
+    && !w->visible()).
+  */
+  int shown() {return i != 0;}
+  /**
+    Puts the window on the screen. Usually (on X) this has the side
+    effect of opening the display. 
+
+    If the window is already shown then it is restored and raised to the
+    top.  This is really convenient because your program can call show()
+    at any time, even if the window is already up.  It also means that 
+    show() serves the purpose of raise() in other toolkits.
+    
+    fltk3::Window::show(int argc, char **argv) is used for top-level
+    windows and allows standard arguments to be parsed from the
+    command-line.
+    
+    \see fltk3::Window::show(int argc, char **argv)
+  */
+  virtual void show();
+  /**
+    Removes the window from the screen.  If the window is already hidden or
+    has not been shown then this does nothing and is harmless.
+  */
+  virtual void hide();
+  /**
+    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 fltk3::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.
+  */
+  void fullscreen();
+  /**
+    Turns off any side effects of fullscreen() and does 
+    resize(x,y,w,h).
+  */
+  void fullscreen_off(int,int,int,int);
+  /**
+    Iconifies the window.  If you call this when shown() is false
+    it will show() it as an icon.  If the window is already
+    iconified this does nothing.
+
+    Call show() to restore the window.
+
+    When a window is iconified/restored (either by these calls or by the
+    user) the handle() method is called with FL_HIDE and 
+    FL_SHOW events and visible() is turned on and off.
+
+    There is no way to control what is drawn in the icon except with the
+    string passed to fltk3::Window::xclass().  You should not rely on
+    window managers displaying the icons.
+  */
+  void iconize();
+
+  int x_root() const ;
+  int y_root() const ;
+
+ static Window *current();
+  /**
+    Sets things up so that the drawing functions in <fltk3/fl_draw.H> will go
+    into this window. This is useful for incremental update of windows, such
+    as in an idle callback, which will make your program behave much better
+    if it draws a slow graphic. <B>Danger: incremental update is very hard to
+    debug and maintain!</B>
+
+    This method only works for the fltk3::Window and Fl_Gl_Window derived classes.
+  */
+  void make_current();
+
+  // Note: Doxygen docs in Fl_Widget.H to avoid redundancy.
+  virtual Window* as_window() { return this; }
+
+  /**
+    Changes the cursor for this window.  This always calls the system, if
+    you are changing the cursor a lot you may want to keep track of how
+    you set it in a static variable and call this only if the new cursor
+    is different.
+
+    The type Fl_Cursor is an enumeration defined in <fltk3/Enumerations.H>.
+    (Under X you can get any XC_cursor value by passing 
+    Fl_Cursor((XC_foo/2)+1)).  The colors only work on X, they are
+    not implemented on WIN32.
+
+    For back compatibility only.
+  */
+  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(Window*, void* v);
+
+};
+  
+#endif
+
+//
+// End of "$Id$".
+//

Modified: branches/branch-3.0-2011/fltk3/fl_draw.H
===================================================================
--- branches/branch-3.0-2011/fltk3/fl_draw.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/fl_draw.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -35,7 +35,7 @@
 
 #include <fltk3/x.H>	      // for Fl_Region
 #include <fltk3/Enumerations.H>  // for the color names
-#include <fltk3/Fl_Window.H>     // for fl_set_spot()
+#include <fltk3/Window.h>     // for fl_set_spot()
 #include <fltk3/Fl_Device.H>     // for fl_graphics_driver
 
 // Image class...
@@ -578,7 +578,7 @@
 // boxtypes:
 FL_EXPORT void fl_frame(const char* s, int x, int y, int w, int h);
 FL_EXPORT void fl_frame2(const char* s, int x, int y, int w, int h);
-FL_EXPORT void fl_draw_box(Fl_Boxtype, int x, int y, int w, int h, Fl_Color);
+FL_EXPORT void fl_draw_box(fltk3::Boxtype, int x, int y, int w, int h, Fl_Color);
 
 // images:
 
@@ -600,7 +600,7 @@
   first <tt>show()</tt> of \e any window in your program to get rid of
   the dithering if possible:
   \code
-  Fl::visual(FL_RGB);
+  fltk3::visual(FL_RGB);
   \endcode
   Gray scale (1-channel) images may be drawn. This is done if
   <tt>abs(D)</tt> is less than 3, or by calling fl_draw_image_mono().
@@ -717,7 +717,7 @@
 /** \todo provide user documentation for fl_set_status function */
 FL_EXPORT void fl_set_status(int X, int Y, int W, int H);
 /** \todo provide user documentation for fl_set_spot function */
-FL_EXPORT void fl_set_spot(int font, int size, int X, int Y, int W, int H, Fl_Window *win=0);
+FL_EXPORT void fl_set_spot(int font, int size, int X, int Y, int W, int H, fltk3::Window *win=0);
 /** \todo provide user documentation for fl_reset_spot function*/
 FL_EXPORT void fl_reset_spot(void);
 

Modified: branches/branch-3.0-2011/fltk3/forms.H
===================================================================
--- branches/branch-3.0-2011/fltk3/forms.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/forms.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -28,13 +28,13 @@
 #ifndef __FORMS_H__
 #define __FORMS_H__
 
-#include "Fl.H"
+#include "run.h"
 #include "Fl_Group.H"
-#include "Fl_Window.H"
+#include "Window.h"
 #include "fl_draw.H"
 
 typedef Fl_Widget FL_OBJECT;
-typedef Fl_Window FL_FORM;
+typedef fltk3::Window FL_FORM;
 
 ////////////////////////////////////////////////////////////////
 // Random constants & symbols defined by forms.h file:
@@ -99,7 +99,7 @@
 
 #define FL_PUP_TOGGLE	2 // FL_MENU_TOGGLE
 #define FL_PUP_INACTIVE 1 // FL_MENU_INACTIVE
-#define FL_NO_FRAME	FL_NO_BOX
+#define FL_NO_FRAME	fltk3::NO_BOX
 #define FL_ROUNDED3D_UPBOX 	FL_ROUND_UP_BOX
 #define FL_ROUNDED3D_DOWNBOX	FL_ROUND_DOWN_BOX
 #define FL_OVAL3D_UPBOX		FL_ROUND_UP_BOX
@@ -170,17 +170,17 @@
 
 typedef void (*FL_IO_CALLBACK) (int, void*);
 inline void fl_add_io_callback(int fd, short w, FL_IO_CALLBACK cb, void* v) {
-  Fl::add_fd(fd,w,cb,v);}
+  fltk3::add_fd(fd,w,cb,v);}
 inline void fl_remove_io_callback(int fd, short, FL_IO_CALLBACK) {
-  Fl::remove_fd(fd);} // removes all the callbacks!
+  fltk3::remove_fd(fd);} // removes all the callbacks!
 
 // type of callback is different and no "id" number is returned:
 inline void fl_add_timeout(long msec, void (*cb)(void*), void* v) {
-  Fl::add_timeout(msec*.001, cb, v);}
+  fltk3::add_timeout(msec*.001, cb, v);}
 inline void fl_remove_timeout(int) {}
 
 // type of callback is different!
-inline void fl_set_idle_callback(void (*cb)()) {Fl::set_idle(cb);}
+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();
@@ -190,28 +190,28 @@
 // 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_form(Fl_Window*) {}
-inline void fl_unfreeze_form(Fl_Window*) {}
+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(Fl_Window*, Fl_Widget* o) {Fl::focus(o);}
-inline void fl_reset_focus_object(Fl_Widget* o) {Fl::focus(o);}
+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);}
 #define fl_set_object_focus fl_set_focus_object
 
-// void fl_set_form_atclose(Fl_Window*w,int (*cb)(Fl_Window*,void*),void* v)
-// void fl_set_atclose(int (*cb)(Fl_Window*,void*),void*)
+// void fl_set_form_atclose(fltk3::Window*w,int (*cb)(fltk3::Window*,void*),void* v)
+// void fl_set_atclose(int (*cb)(fltk3::Window*,void*),void*)
 // fl_set_form_atactivate/atdeactivate not implemented!
 
 ////////////////////////////////////////////////////////////////
 // Fl_Widget:
 
-inline void fl_set_object_boxtype(Fl_Widget* o, Fl_Boxtype a) {o->box(a);}
+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);}
 
 /* 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((Fl_Labeltype)(a>>8));}
+  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);}
 #define fl_set_object_lcolor  fl_set_object_lcol
 inline void fl_set_object_lalign(Fl_Widget* o, Fl_Align a) {o->align(a);}
@@ -243,10 +243,10 @@
 inline void fl_activate_object(Fl_Widget* o) {o->activate();}
 inline void fl_deactivate_object(Fl_Widget* o) {o->deactivate();}
 
-inline void fl_add_object(Fl_Window* f, Fl_Widget* x) {f->add(x);}
+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 Fl_Window* FL_ObjWin(Fl_Widget* o) {return o->window();}
+inline fltk3::Window* FL_ObjWin(Fl_Widget* o) {return o->window();}
 
 ////////////////////////////////////////////////////////////////
 // things that appered in the demos a lot that I don't emulate, but
@@ -255,36 +255,36 @@
 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_form_dblbuffer(Fl_Window*, int) {}
+inline void fl_set_form_dblbuffer(fltk3::Window*, int) {}
 
 ////////////////////////////////////////////////////////////////
-// Fl_Window:
+// fltk3::Window:
 
-inline void fl_free_form(Fl_Window* x) {delete x;}
-inline void fl_redraw_form(Fl_Window* f) {f->redraw();}
+inline void fl_free_form(fltk3::Window* x) {delete x;}
+inline void fl_redraw_form(fltk3::Window* f) {f->redraw();}
 
-inline Fl_Window* fl_bgn_form(Fl_Boxtype b,int w,int h) {
-  Fl_Window* g = new Fl_Window(w,h,0);
+inline fltk3::Window* fl_bgn_form(fltk3::Boxtype b,int w,int h) {
+  fltk3::Window* g = new fltk3::Window(w,h,0);
   g->box(b);
   return g;
 }
 FL_EXPORT void fl_end_form();
-inline void fl_addto_form(Fl_Window* f) {f->begin();}
+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();}
 #define resizebox _ddfdesign_kludge()
 
-inline void fl_scale_form(Fl_Window* f, double x, double y) {
+inline void fl_scale_form(fltk3::Window* f, double x, double y) {
   f->resizable(f); f->size(int(f->w()*x),int(f->h()*y));}
-inline void fl_set_form_position(Fl_Window* f,int x,int y) {f->position(x,y);}
-inline void fl_set_form_size(Fl_Window* f, int w, int h) {f->size(w,h);}
-inline void fl_set_form_geometry(Fl_Window* f,int x,int y,int w,int h) {
+inline void fl_set_form_position(fltk3::Window* f,int x,int y) {f->position(x,y);}
+inline void fl_set_form_size(fltk3::Window* f, int w, int h) {f->size(w,h);}
+inline void fl_set_form_geometry(fltk3::Window* f,int x,int y,int w,int h) {
   f->resize(x,y,w,h);}
 #define fl_set_initial_placement fl_set_form_geometry
-inline void fl_adjust_form_size(Fl_Window*) {}
+inline void fl_adjust_form_size(fltk3::Window*) {}
 
-FL_EXPORT void fl_show_form(Fl_Window* f,int p,int b,const char* n);
+FL_EXPORT void fl_show_form(fltk3::Window* f,int p,int b,const char* n);
 enum {	// "p" argument values:
   FL_PLACE_FREE = 0,	// make resizable
   FL_PLACE_MOUSE = 1,	// mouse centered on form
@@ -307,38 +307,38 @@
   FL_TRANSIENT
 //FL_MODAL = (1<<8)	// not implemented yet in Forms
 };
-inline void fl_set_form_hotspot(Fl_Window* w,int x,int y) {w->hotspot(x,y);}
-inline void fl_set_form_hotobject(Fl_Window* w, Fl_Widget* o) {w->hotspot(o);}
+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);}
 extern FL_EXPORT char fl_flip;	// in forms.C
 inline void fl_flip_yorigin() {fl_flip = 1;}
 
 #define fl_prepare_form_window fl_show_form
-inline void fl_show_form_window(Fl_Window*) {}
+inline void fl_show_form_window(fltk3::Window*) {}
 
-inline void fl_raise_form(Fl_Window* f) {f->show();}
+inline void fl_raise_form(fltk3::Window* f) {f->show();}
 
-inline void fl_hide_form(Fl_Window* f) {f->hide();}
-inline void fl_pop_form(Fl_Window* f) {f->show();}
+inline void fl_hide_form(fltk3::Window* f) {f->hide();}
+inline void fl_pop_form(fltk3::Window* f) {f->show();}
 
 extern FL_EXPORT char fl_modal_next; // in forms.C
 inline void fl_activate_all_forms() {}
 inline void fl_deactivate_all_forms() {fl_modal_next = 1;}
-inline void fl_deactivate_form(Fl_Window*w) {w->deactivate();}
-inline void fl_activate_form(Fl_Window*w) {w->activate();}
+inline void fl_deactivate_form(fltk3::Window*w) {w->deactivate();}
+inline void fl_activate_form(fltk3::Window*w) {w->activate();}
 
-inline void fl_set_form_title(Fl_Window* f, const char* s) {f->label(s);}
-inline void fl_title_form(Fl_Window* f, const char* s) {f->label(s);}
+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*);
-inline void fl_set_form_callback(Fl_Window* f,Forms_FormCB c) {f->callback(c);}
+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
 
 inline void fl_init() {}
 FL_EXPORT void fl_set_graphics_mode(int,int);
 
-inline int fl_form_is_visible(Fl_Window* f) {return f->visible();}
+inline int fl_form_is_visible(fltk3::Window* f) {return f->visible();}
 
-inline int fl_mouse_button() {return Fl::event_button();}
+inline int fl_mouse_button() {return fltk3::event_button();}
 #define fl_mousebutton fl_mouse_button
 
 #define fl_free       free
@@ -349,9 +349,9 @@
 ////////////////////////////////////////////////////////////////
 // Drawing functions.  Only usable inside an Fl_Free object?
 
-inline void fl_drw_box(Fl_Boxtype b,int x,int y,int w,int h,Fl_Color bgc,int=3) {
+inline void fl_drw_box(fltk3::Boxtype b,int x,int y,int w,int h,Fl_Color bgc,int=3) {
     fl_draw_box(b,x,y,w,h,bgc);}
-inline void fl_drw_frame(Fl_Boxtype b,int x,int y,int w,int h,Fl_Color bgc,int=3) {
+inline void fl_drw_frame(fltk3::Boxtype b,int x,int y,int w,int h,Fl_Color bgc,int=3) {
     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,
@@ -371,9 +371,9 @@
   fl_draw(s,x,y,w,h,align);
 }
 
-inline void fl_set_font_name(Fl_Font n,const char* s) {Fl::set_font(n,s);}
+inline void fl_set_font_name(Fl_Font n,const char* s) {fltk3::set_font(n,s);}
 
-inline void fl_mapcolor(Fl_Color c, uchar r, uchar g, uchar b) {Fl::set_color(c,r,g,b);}
+inline void fl_mapcolor(Fl_Color c, uchar r, uchar g, uchar b) {fltk3::set_color(c,r,g,b);}
 
 #define fl_set_clipping(x,y,w,h) fl_push_clip(x,y,w,h)
 #define fl_unset_clipping() fl_pop_clip()
@@ -391,18 +391,18 @@
 inline type* name(uchar t,int x,int y,int w,int h,const char* l) { \
  return (type*)(fl_add_new(new type(t,x,y,w,h,l)));}
 #define forms_constructorb(type,name) \
-inline type* name(Fl_Boxtype t,int x,int y,int w,int h,const char* l) { \
+inline type* name(fltk3::Boxtype t,int x,int y,int w,int h,const char* l) { \
  return (type*)(fl_add_new(new type(t,x,y,w,h,l)));}
 
 #include "Fl_FormsBitmap.H"
-#define FL_NORMAL_BITMAP FL_NO_BOX
+#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) {
     ((Fl_FormsBitmap*)o)->set(w,h,b);
 }
 
 #include "Fl_FormsPixmap.H"
-#define FL_NORMAL_PIXMAP FL_NO_BOX
+#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) {
     ((Fl_FormsPixmap*)o)->set(b);
@@ -411,8 +411,8 @@
 inline void fl_set_pixmap_align(Fl_Widget* o,Fl_Align a,int,int) {o->align(a);}
 //inline void fl_set_pixmap_colorcloseness(int, int, int);
 
-#include "Fl_Box.H"
-forms_constructorb(Fl_Box, fl_add_box)
+#include "Box.h"
+forms_constructorb(fltk3::Box, fl_add_box)
 
 #include "Fl_Browser.H"
 forms_constructor(Fl_Browser, fl_add_browser)
@@ -485,7 +485,7 @@
 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 Fl::event_button();}
+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) {
     ((Fl_Button*)b)->shortcut(s);}
 //#define fl_set_object_shortcut(b,s) fl_set_button_shortcut(b,s)
@@ -595,7 +595,7 @@
 //inline void fl_set_counter_filter(Fl_Widget*,const char* (*)(Fl_Widget*,double,int));
 
 // Cursor stuff cannot be emulated because it uses X stuff
-inline void fl_set_cursor(Fl_Window* w, Fl_Cursor c) {w->cursor(c);}
+inline void fl_set_cursor(fltk3::Window* w, Fl_Cursor c) {w->cursor(c);}
 #define FL_INVISIBLE_CURSOR FL_CURSOR_NONE
 #define FL_DEFAULT_CURSOR FL_CURSOR_DEFAULT
 
@@ -627,11 +627,11 @@
 
 // Frames:
 
-inline Fl_Widget* fl_add_frame(Fl_Boxtype i,int x,int y,int w,int h,const char* l) {
+inline Fl_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(Fl_Boxtype i,int x,int y,int w,int h,const char* l) {
+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);
   o->align(FL_ALIGN_TOP_LEFT);
   return o;
@@ -809,16 +809,16 @@
     ((Fl_Value_Slider*)o)->precision(i);}
 // filter function!
 
-// The forms text object was the same as an Fl_Box except it inverted the
+// 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 {
 protected:
     void draw();
 public:
-    Fl_FormsText(Fl_Boxtype b, int X, int Y, int W, int H, const char* l=0)
+    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);}
 };
-#define FL_NORMAL_TEXT FL_NO_BOX
+#define FL_NORMAL_TEXT fltk3::NO_BOX
 forms_constructorb(Fl_FormsText, fl_add_text)
 
 #include "Fl_Timer.H"
@@ -835,8 +835,8 @@
 
 // stuff from DDForms:
 
-inline int fl_double_click() {return Fl::event_clicks();}
-inline void fl_draw() {Fl::flush();}
+inline int fl_double_click() {return fltk3::event_clicks();}
+inline void fl_draw() {fltk3::flush();}
 
 #endif	/* define __FORMS_H__ */
 

Modified: branches/branch-3.0-2011/fltk3/glut.H
===================================================================
--- branches/branch-3.0-2011/fltk3/glut.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/glut.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -43,7 +43,7 @@
 #  include "gl.h"
 
 
-#  include "Fl.H"
+#  include "run.h"
 #  include "Fl_Gl_Window.H"
 
 /** 
@@ -242,7 +242,7 @@
 
 // Warning: this cast may not work on all machines:
 inline void glutTimerFunc(unsigned int msec, void (*f)(int), int value) {
-  Fl::add_timeout(msec*.001, (void (*)(void *))f, (void *)value);
+  fltk3::add_timeout(msec*.001, (void (*)(void *))f, (void *)value);
 }
 
 inline void glutMenuStateFunc(void (*f)(int state)) {
@@ -371,7 +371,7 @@
 #  define GLUT_ACTIVE_SHIFT               FL_SHIFT
 #  define GLUT_ACTIVE_CTRL                FL_CTRL
 #  define GLUT_ACTIVE_ALT                 FL_ALT
-inline int glutGetModifiers() {return Fl::event_state() & (GLUT_ACTIVE_SHIFT | GLUT_ACTIVE_CTRL | GLUT_ACTIVE_ALT);}
+inline int glutGetModifiers() {return fltk3::event_state() & (GLUT_ACTIVE_SHIFT | GLUT_ACTIVE_CTRL | GLUT_ACTIVE_ALT);}
 
 FL_EXPORT int glutLayerGet(GLenum);
 #  define GLUT_OVERLAY_POSSIBLE		800

Modified: branches/branch-3.0-2011/fltk3/mac.H
===================================================================
--- branches/branch-3.0-2011/fltk3/mac.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/mac.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -51,7 +51,7 @@
 
 // Standard MacOS C/C++ includes...
 #include <ApplicationServices/ApplicationServices.h>
-#undef check // because of Fl::check()
+#undef check // because of fltk3::check()
 
 typedef CGContextRef	Fl_CGContextRef;
 typedef PMPrintSettings Fl_PMPrintSettings;
@@ -79,7 +79,7 @@
   CGRect *rects;
 } *Fl_Region;  // a region is the union of a series of rectangles
 
-#  include "Fl_Window.H"
+#  include "Window.h"
 
 // Some random X equivalents
 struct XPoint { int x, y; };
@@ -116,7 +116,7 @@
 public:
   Window xid;              // pointer to the Cocoa window object (FLWindow*)
   Fl_Offscreen other_xid;  // pointer for offscreen bitmaps (overlay window)
-  Fl_Window *w;            // FLTK window for 
+  fltk3::Window *w;            // FLTK window for 
   Fl_Region region;
   Fl_Region subRegion;     // region for this specific subwindow
   Fl_X *next;              // linked tree to support subwindows
@@ -124,9 +124,9 @@
   int wait_for_expose;
   void *cursor;	           // is really NSCursor*
   static Fl_X* first;
-  static Fl_X* i(const Fl_Window* w) {return w->i;}
-  static int fake_X_wm(const Fl_Window*,int&,int&,int&,int&,int&);
-  static void make(Fl_Window*);
+  static Fl_X* i(const fltk3::Window* w) {return w->i;}
+  static int fake_X_wm(const fltk3::Window*,int&,int&,int&,int&,int&);
+  static void make(fltk3::Window*);
   void flush();
   // Quartz additions:
   CGContextRef gc;                 // graphics context (NULL when using QD)
@@ -146,8 +146,8 @@
   void set_key_window(void);
   void set_cursor(Fl_Cursor);
   static int screen_init(XRectangle screens[], float dpi[]);
-  static CGImageRef CGImage_from_window_rect(Fl_Window *win, int x, int y, int w, int h);
-  static unsigned char *bitmap_from_window_rect(Fl_Window *win, int x, int y, int w, int h, int *bytesPerPixel);
+  static CGImageRef CGImage_from_window_rect(fltk3::Window *win, int x, int y, int w, int h);
+  static unsigned char *bitmap_from_window_rect(fltk3::Window *win, int x, int y, int w, int h, int *bytesPerPixel);
   static Fl_Region intersect_region_and_rect(Fl_Region current, int x,int y,int w, int h);
   static CGContextRef watch_cursor_image(void);
   static CGContextRef help_cursor_image(void);
@@ -156,7 +156,7 @@
   static CGContextRef none_cursor_image(void);
   static void *get_carbon_function(const char *name);
 private:
-  static void relink(Fl_Window*, Fl_Window*);
+  static void relink(fltk3::Window*, fltk3::Window*);
 };
 
 extern struct Fl_XMap {
@@ -170,7 +170,7 @@
 extern FL_EXPORT Fl_CGContextRef fl_gc;
 extern FL_EXPORT class Fl_Sys_Menu_Bar *fl_sys_menu_bar;
 
-extern Window fl_xid(const Fl_Window*);
+extern Window fl_xid(const fltk3::Window*);
 void fl_clip_region(Fl_Region);
 
 extern FL_EXPORT Fl_Bitmask fl_create_bitmask(int w, int h, const uchar *data);

Copied: branches/branch-3.0-2011/fltk3/run.h (from rev 8227, branches/branch-3.0-2011/fltk3/Fl.H)
===================================================================
--- branches/branch-3.0-2011/fltk3/run.h	                        (rev 0)
+++ branches/branch-3.0-2011/fltk3/run.h	2011-01-09 17:05:31 UTC (rev 8230)
@@ -0,0 +1,1162 @@
+//
+// "$Id$"
+//
+// Main 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 namespace.
+ */
+
+#ifndef FLTK3_Run_H
+#  define FLTK3_Run_H
+
+#ifdef FLTK_HAVE_CAIRO
+# include <fltk3/Fl_Cairo.H>
+#endif
+
+#  include "fl_utf8.h"
+#  include "Enumerations.H"
+#  ifndef Fl_Object
+#    define Fl_Object Fl_Widget	/**< for back compatibility - use Fl_Widget! */
+#  endif
+
+#  ifdef check
+#    undef check
+#  endif
+
+
+class Fl_Widget;
+class Fl_Image;
+struct Fl_Label;
+
+namespace fltk3 {
+  class Window;
+}
+
+
+/** \defgroup  callback_functions Callback function typedefs
+ \brief Typedefs defined in <fltk3/run.h> for callback or handler functions passed as function parameters.
+
+    FLTK uses callback functions as parameters for some function calls, e.g. to
+    set up global event handlers (fltk3::add_handler()), to add a timeout handler
+    (fltk3::add_timeout()), and many more.
+
+    The typedefs defined in this group describe the function parameters used to set
+    up or clear the callback functions and should also be referenced to define the
+    callback function to handle such events in the user's code.
+
+    \see fltk3::add_handler(), fltk3::add_timeout(), fltk3::repeat_timeout(),
+	 fltk3::remove_timeout() and others
+  @{ */
+
+/** signature of some label drawing functions passed as parameters */
+typedef void (Fl_Label_Draw_F)(const Fl_Label *label, int x, int y, int w, int h, Fl_Align align);
+
+/** signature of some label measurement functions passed as parameters */
+typedef void (Fl_Label_Measure_F)(const Fl_Label *label, int &width, int &height);
+
+/** signature of some box drawing functions passed as parameters */
+typedef void (Fl_Box_Draw_F)(int x, int y, int w, int h, Fl_Color color);
+
+/** signature of some timeout callback functions passed as parameters */
+typedef void (*Fl_Timeout_Handler)(void *data);
+
+/** signature of some wakeup callback functions passed as parameters */
+typedef void (*Fl_Awake_Handler)(void *data);
+
+/** signature of add_idle callback functions passed as parameters */
+typedef void (*Fl_Idle_Handler)(void *data);
+
+/** signature of set_idle callback functions passed as parameters */
+typedef void (*Fl_Old_Idle_Handler)();
+
+/** signature of add_fd functions passed as parameters */
+typedef void (*Fl_FD_Handler)(int fd, void *data);
+
+/** signature of add_handler functions passed as parameters */
+typedef int (*Fl_Event_Handler)(int event);
+
+/** signature of set_abort functions passed as parameters */
+typedef void (*Fl_Abort_Handler)(const char *format,...);
+
+/** signature of set_atclose functions passed as parameters */
+typedef void (*Fl_Atclose_Handler)(fltk3::Window *window, void *data);
+
+/** signature of args functions passed as parameters */
+typedef int (*Fl_Args_Handler)(int argc, char **argv, int &i);
+
+/** @} */ /* group callback_functions */
+
+
+/**
+  The Fl is the FLTK global (static) containing
+  state information and global methods for the current application.
+*/
+namespace fltk3 {
+  
+// should be private!
+#ifndef FL_DOXYGEN
+  extern int e_number;
+  extern int e_x;
+  extern int e_y;
+  extern int e_x_root;
+  extern int e_y_root;
+  extern int e_dx;
+  extern int e_dy;
+  extern int e_state;
+  extern int e_clicks;
+  extern int e_is_click;
+  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 int damage_;
+  extern Fl_Widget* selection_owner_;
+  extern fltk3::Window* modal_;
+  extern fltk3::Window* grab_;
+  extern int compose_state;
+#endif
+  /**
+    If true then flush() will do something.
+  */
+  inline void damage(int d) {damage_ = d;}
+
+// public
+  typedef enum {
+      /// When switched on, moving the text cursor beyond the start or end of 
+      /// a text in a text widget will change focus to the next text widgt. 
+      /// When switched off, the cursor will stop at the end of the text. 
+      /// Pressing Tab or Ctrl-Tab will advance the keyboard focus.
+    OPTION_ARROW_FOCUS = 0,
+      // When switched on, FLTK will use the file chooser dialog that comes 
+      // with your operating system whenever possible. When switched off, FLTK
+      // will present its own file chooser.
+      // \todo implement me
+    // OPTION_NATIVE_FILECHOOSER,
+      // When Filechooser Preview is enabled, the FLTK or native file chooser
+      // will show a preview of a selected file (if possible) before the user
+      // decides to choose the file.
+      // \todo implement me
+    //OPTION_FILECHOOSER_PREVIEW,
+      /// If visible focus is switched on, FLTK will draw a dotted rectangle 
+      /// inside the widget that will receive the next keystroke. If switched
+      /// off, no such indicator will be drawn and keyboard navigation
+      /// is disabled.
+    OPTION_VISIBLE_FOCUS,
+      /// If text drag-and-drop is enabled, the user can select and drag text
+      /// from any text widget. If disabled, no dragging is possible, however
+      /// dropping text from other applications still works.
+    OPTION_DND_TEXT,
+      /// If tooltips are enabled, hovering the mouse over a widget with a 
+      /// tooltip text will open a little tootip window until the mouse leaves
+      /// the widget. If disabled, no tooltip is shown.
+    OPTION_SHOW_TOOLTIPS,
+      // don't change this, leave it always as the last element
+    OPTION_LAST
+  } Fl_Option;
+  
+// private
+  extern unsigned char options_[OPTION_LAST];
+  extern unsigned char options_read_;
+  
+// public
+  /*
+   Return a global setting for all FLTK applications, possibly overridden
+   by a setting specifically for this application.
+   */
+  bool option(Fl_Option opt);
+  
+  /*
+   Override an option while the application is running.
+   */
+  void option(Fl_Option opt, bool val);
+  
+  /**
+    The currently executing idle callback function: DO NOT USE THIS DIRECTLY!
+    
+    This is now used as part of a higher level system allowing multiple
+    idle callback functions to be called.
+    \see add_idle(), remove_idle()
+  */
+  extern void (*idle)();
+
+#ifndef FL_DOXYGEN
+  extern Fl_Awake_Handler *awake_ring_;
+  extern void **awake_data_;
+  extern int awake_ring_size_;
+  extern int awake_ring_head_;
+  extern int awake_ring_tail_;
+  extern const char* scheme_;
+  extern Fl_Image* scheme_bg_;
+
+  extern int e_original_keysym; // late addition
+  extern int scrollbar_size_;
+#endif
+
+
+  int add_awake_handler_(Fl_Awake_Handler, void*);
+  int get_awake_handler_(Fl_Awake_Handler&, void*&);
+
+// public
+
+  // API version number
+  double version();
+
+  // argument parsers:
+  int arg(int argc, char **argv, int& i);
+  int args(int argc, char **argv, int& i, Fl_Args_Handler cb = 0);
+  void args(int argc, char **argv);
+  /**
+    Usage string displayed if fltk3::args() detects an invalid argument.
+    This may be changed to point to customized text at run-time.
+  */
+  extern const char* const help;
+
+  // things called by initialization:
+  void display(const char*);
+  int visual(int);
+  /**
+    This does the same thing as fltk3::visual(int) but also requires OpenGL
+    drawing to work. This <I>must</I> be done if you want to draw in
+    normal windows with OpenGL with gl_start() and gl_end().
+    It may be useful to call this so your X windows use the same visual
+    as an Fl_Gl_Window, which on some servers will reduce colormap flashing.
+
+    See Fl_Gl_Window for a list of additional values for the argument.
+  */
+  int gl_visual(int, int *alist=0); // platform dependent
+  void own_colormap();
+  void get_system_colors();
+  void foreground(uchar, uchar, uchar);
+  void background(uchar, uchar, uchar);
+  void background2(uchar, uchar, uchar);
+
+  // schemes:
+  int scheme(const char*);
+  /** See void scheme(const char *name) */
+  inline const char* scheme() {return scheme_;}
+  /** 
+    Called by scheme according to scheme name. 
+    Loads or reloads the current scheme selection. 
+    See void scheme(const char *name) 
+  */
+  int reload_scheme(); // platform dependent
+  int scrollbar_size();
+  void scrollbar_size(int W);
+
+  // execution:
+  int wait();
+  double wait(double time);
+  int check();
+  int ready();
+  int run();
+  Fl_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.
+  The optional void* argument is passed to the callback.
+  
+  You can have multiple timeout callbacks. To remove a timeout
+  callback use fltk3::remove_timeout().
+  
+  If you need more accurate, repeated timeouts, use fltk3::repeat_timeout() to
+  reschedule the subsequent timeouts.
+  
+  The following code will print "TICK" each second on
+  stdout with a fair degree of accuracy:
+  
+  \code
+     void callback(void*) {
+       puts("TICK");
+       fltk3::repeat_timeout(1.0, callback);
+     }
+  
+     int main() {
+       fltk3::add_timeout(1.0, callback);
+       return fltk3::run();
+     }
+  \endcode
+  */
+  void add_timeout(double t, Fl_Timeout_Handler,void* = 0); // platform dependent
+  /**
+  Repeats a timeout callback from the expiration of the
+  previous timeout, allowing for more accurate timing. You may only call
+  this method inside a timeout callback.
+  
+  The following code will print "TICK" each second on
+  stdout with a fair degree of accuracy:
+  
+  \code
+     void callback(void*) {
+       puts("TICK");
+       fltk3::repeat_timeout(1.0, callback);
+     }
+  
+     int main() {
+       fltk3::add_timeout(1.0, callback);
+       return fltk3::run();
+     }
+  \endcode
+  */
+  void repeat_timeout(double t, Fl_Timeout_Handler, void* = 0); // platform dependent
+  int  has_timeout(Fl_Timeout_Handler, void* = 0);
+  void remove_timeout(Fl_Timeout_Handler, void* = 0);
+  void add_check(Fl_Timeout_Handler, void* = 0);
+  int  has_check(Fl_Timeout_Handler, void* = 0);
+  void remove_check(Fl_Timeout_Handler, void* = 0);
+  /**
+    Adds file descriptor fd to listen to.
+    
+    When the fd becomes ready for reading fltk3::wait() will call the
+    callback and then return. The callback is passed the fd and the
+    arbitrary void* argument.
+    
+    The second version takes a when bitfield, with the bits
+    FL_READ, FL_WRITE, and FL_EXCEPT defined,
+    to indicate when the callback should be done.
+    
+    There can only be one callback of each type for a file descriptor. 
+    fltk3::remove_fd() gets rid of <I>all</I> the callbacks for a given
+    file descriptor.
+    
+    Under UNIX <I>any</I> file descriptor can be monitored (files,
+    devices, pipes, sockets, etc.). Due to limitations in Microsoft Windows,
+    WIN32 applications can only monitor sockets.
+  */
+  void add_fd(int fd, int when, Fl_FD_Handler cb, void* = 0); // platform dependent
+  /** See void add_fd(int fd, int when, Fl_FD_Handler cb, void* = 0) */
+  void add_fd(int fd, Fl_FD_Handler cb, void* = 0); // platform dependent
+  /** Removes a file descriptor handler. */
+  void remove_fd(int, int when); // platform dependent
+  /** Removes a file descriptor handler. */
+  void remove_fd(int); // platform dependent
+
+  void add_idle(Fl_Idle_Handler cb, void* data = 0);
+  int  has_idle(Fl_Idle_Handler cb, void* data = 0);
+  void remove_idle(Fl_Idle_Handler cb, void* data = 0);
+  /** If true then flush() will do something. */
+  inline int damage() {return damage_;}
+  void redraw();
+  void flush();
+  /** \addtogroup group_comdlg
+    @{ */
+  /**
+  FLTK calls fltk3::warning() to output a warning message.
+  
+  The default version on Windows returns \e without printing a warning
+  message, because Windows programs normally don't have stderr (a console
+  window) enabled.
+
+  The default version on all other platforms prints the warning message to stderr.
+
+  You can override the behavior by setting the function pointer to your
+  own routine.
+
+  fltk3::warning() means that there was a recoverable problem, the display may
+  be messed up, but the user can probably keep working - all X protocol
+  errors call this, for example. The default implementation returns after
+  displaying the message.
+   \note \#include <fltk3/run.h>
+  */
+  extern void (*warning)(const char*, ...);
+  /**
+  FLTK calls fltk3::error() to output a normal error message.
+  
+  The default version on Windows displays the error message in a MessageBox window.
+
+  The default version on all other platforms prints the error message to stderr.
+
+  You can override the behavior by setting the function pointer to your
+  own routine.
+
+  fltk3::error() means there is a recoverable error such as the inability to read
+  an image file. The default implementation returns after displaying the message.
+   \note \#include <fltk3/run.h>
+  */
+  extern void (*error)(const char*, ...);
+  /**
+  FLTK calls fltk3::fatal() to output a fatal error message.
+  
+  The default version on Windows displays the error message in a MessageBox window.
+
+  The default version on all other platforms prints the error message to stderr.
+  
+  You can override the behavior by setting the function pointer to your
+  own routine.
+
+  fltk3::fatal() must not return, as FLTK is in an unusable state, however your
+  version may be able to use longjmp or an exception to continue, as long as
+  it does not call FLTK again. The default implementation exits with status 1
+  after displaying the message.
+   \note \#include <fltk3/run.h>
+  */
+  extern void (*fatal)(const char*, ...);
+  /** @} */
+
+  /** \defgroup  fl_windows Windows handling functions
+      \brief Windows and standard dialogs handling declared in <fltk3/run.h>
+    @{ */
+  fltk3::Window* first_window();
+  void first_window(fltk3::Window*);
+  fltk3::Window* next_window(const fltk3::Window*);
+
+  /**
+    Returns the top-most modal() window currently shown.
+
+    This is the most recently shown() window with modal() true, or NULL
+    if there are no modal() windows shown().
+    The modal() window has its handle() method called
+    for all events, and no other windows will have handle()
+    called (grab() overrides this).
+  */
+  inline fltk3::Window* modal() {return modal_;}
+  /**
+    This is used when pop-up menu systems are active.
+    
+    Send all events to the passed window no matter where the pointer or
+    focus is (including in other programs). The window <I>does not have
+    to be shown()</I> , this lets the handle() method of a
+    "dummy" window override all event handling and allows you to
+    map and unmap a complex set of windows (under both X and WIN32
+    <I>some</I> window must be mapped because the system interface needs a
+    window id).
+    
+    If grab() is on it will also affect show() of windows by doing
+    system-specific operations (on X it turns on override-redirect).
+    These are designed to make menus popup reliably
+    and faster on the system.
+    
+    To turn off grabbing do fltk3::grab(0).
+    
+    <I>Be careful that your program does not enter an infinite loop
+    while grab() is on.  On X this will lock up your screen!</I>
+    To avoid this potential lockup, all newer operating systems seem to 
+    limit mouse pointer grabbing to the time during which a mouse button 
+    is held down. Some OS's may not support grabbing at all.
+  */
+  inline fltk3::Window* grab() {return grab_;}
+  /** Selects the window to grab. See fltk3::Window* fltk3::grab() */
+  void grab(fltk3::Window*); // platform dependent
+  /** @} */
+
+  /** \defgroup fl_events Events handling functions
+	Fl class events handling API declared in <fltk3/run.h>
+	@{
+  */
+  // event information:
+  /**
+    Returns the last event that was processed. This can be used
+    to determine if a callback is being done in response to a
+    keypress, mouse click, etc.
+  */
+  inline int event()		{return e_number;}
+  /**
+    Returns the mouse position of the event relative to the fltk3::Window
+    it was passed to.
+  */
+  inline int event_x()	{return e_x;}
+  /**
+    Returns the mouse position of the event relative to the fltk3::Window
+    it was passed to.
+  */
+  inline int event_y()	{return e_y;}
+  /**
+    Returns the mouse position on the screen of the event.  To find the
+    absolute position of an fltk3::Window on the screen, use the
+    difference between event_x_root(),event_y_root() and 
+    event_x(),event_y().
+  */
+  inline int event_x_root()	{return e_x_root;}
+  /**
+    Returns the mouse position on the screen of the event.  To find the
+    absolute position of an fltk3::Window on the screen, use the
+    difference between event_x_root(),event_y_root() and 
+    event_x(),event_y().
+  */
+  inline int event_y_root()	{return e_y_root;}
+  /**
+    Returns the current horizontal mouse scrolling associated with the
+    FL_MOUSEWHEEL event. Right is positive.
+  */
+  inline int event_dx()	{return e_dx;}
+  /**
+    Returns the current vertical mouse scrolling associated with the
+    FL_MOUSEWHEEL event. Down is positive.
+  */
+  inline int event_dy()	{return e_dy;}
+  /**
+    Return where the mouse is on the screen by doing a round-trip query to
+    the server.  You should use fltk3::event_x_root() and 
+    fltk3::event_y_root() if possible, but this is necessary if you are
+    not sure if a mouse event has been processed recently (such as to
+    position your first window).  If the display is not open, this will
+    open it.
+  */
+  void get_mouse(int &,int &); // platform dependent
+  /**
+    Returns non zero if we had a double click event.
+    \retval Non-zero if the most recent FL_PUSH or FL_KEYBOARD was a "double click".  
+    \retval  N-1 for  N clicks. 
+    A double click is counted if the same button is pressed
+    again while event_is_click() is true.
+    
+   */
+  inline int event_clicks()	{return e_clicks;}
+  /**
+    Manually sets the number returned by fltk3::event_clicks().  
+    This can be used to set it to zero so that
+    later code does not think an item was double-clicked.
+    \param[in] i corresponds to no double-click if 0, i+1 mouse clicks otherwise
+    \see int event_clicks()
+  */
+  inline void event_clicks(int i) {e_clicks = i;}
+  /**
+    The first form returns non-zero if the mouse has not moved far enough
+    and not enough time has passed since the last FL_PUSH or 
+    FL_KEYBOARD event for it to be considered a "drag" rather than a
+    "click".  You can test this on FL_DRAG, FL_RELEASE,
+    and FL_MOVE events.  The second form clears the value returned
+    by fltk3::event_is_click().  Useful to prevent the <I>next</I>
+    click from being counted as a double-click or to make a popup menu
+    pick an item with a single click.  Don't pass non-zero to this.
+  */
+  inline int event_is_click()	{return e_is_click;}
+  /**
+    Only i=0 works! See int event_is_click(). 
+  */
+  inline void event_is_click(int i) {e_is_click = i;}
+  /**
+    Gets which particular mouse button caused the current event. 
+    This returns garbage if the most recent event was not a FL_PUSH or FL_RELEASE event.
+    \retval FL_LEFT_MOUSE \retval FL_MIDDLE_MOUSE \retval FL_RIGHT_MOUSE.
+    \see fltk3::event_buttons()
+  */
+  inline int event_button()	{return e_keysym-FL_Button;}
+  /**
+    This is a bitfield of what shift states were on and what mouse buttons
+    were held down during the most recent event. The second version
+    returns non-zero if any of the passed bits are turned on.
+    The legal bits are:
+    
+    \li FL_SHIFT
+    \li FL_CAPS_LOCK
+    \li FL_CTRL
+    \li FL_ALT
+    \li FL_NUM_LOCK
+    \li FL_META
+    \li FL_SCROLL_LOCK
+    \li FL_BUTTON1
+    \li FL_BUTTON2
+    \li FL_BUTTON3
+    
+    X servers do not agree on shift states, and FL_NUM_LOCK, FL_META, and
+    FL_SCROLL_LOCK may not work. The values were selected to match the
+    XFree86 server on Linux. In addition there is a bug in the way X works
+    so that the shift state is not correctly reported until the first event
+    <I>after</I> the shift key is pressed or released.
+  */
+  inline int event_state()	{return e_state;}
+  /** See int event_state() */
+  inline int event_state(int i) {return e_state&i;}
+  /**
+    Gets which key on the keyboard was last pushed.
+
+    The returned integer 'key code' is not necessarily a text
+    equivalent for the keystroke. For instance: if someone presses '5' on the 
+    numeric keypad with numlock on, fltk3::event_key() may return the 'key code'
+    for this key, and NOT the character '5'. To always get the '5', use fltk3::event_text() instead.
+    
+    \returns an integer 'key code', or 0 if the last event was not a key press or release.
+    \see int event_key(int), event_text(), compose(int&).
+  */
+  inline int event_key()	{return e_keysym;}
+  /**
+    Returns the keycode of the last key event, regardless of the NumLock state.
+      
+    If NumLock is deactivated, FLTK translates events from the 
+    numeric keypad into the corresponding arrow key events. 
+    event_key() returns the translated key code, whereas
+    event_original_key() returns the keycode before NumLock translation.
+  */
+  inline int event_original_key(){return e_original_keysym;}
+  /** 
+    Returns true if the given \p key was held
+    down (or pressed) <I>during</I> the last event.  This is constant until
+    the next event is read from the server.
+    
+    fltk3::get_key(int) returns true if the given key is held down <I>now</I>.
+    Under X this requires a round-trip to the server and is <I>much</I>
+    slower than fltk3::event_key(int).
+    
+    Keys are identified by the <I>unshifted</I> values. FLTK defines a
+    set of symbols that should work on most modern machines for every key
+    on the keyboard:
+    
+    \li All keys on the main keyboard producing a printable ASCII
+	character use the value of that ASCII character (as though shift,
+	ctrl, and caps lock were not on). The space bar is 32.
+    \li All keys on the numeric keypad producing a printable ASCII
+	character use the value of that ASCII character plus FL_KP.
+	The highest possible value is FL_KP_Last so you can
+	range-check to see if something is  on the keypad.
+    \li All numbered function keys use the number on the function key plus 
+	FL_F.  The highest possible number is FL_F_Last, so you
+	can range-check a value.
+    \li Buttons on the mouse are considered keys, and use the button
+	number (where the left button is 1) plus FL_Button.
+    \li All other keys on the keypad have a symbol: FL_Escape,
+	FL_BackSpace, FL_Tab, FL_Enter, FL_Print, FL_Scroll_Lock, FL_Pause,
+	FL_Insert, FL_Home, FL_Page_Up, FL_Delete, FL_End, FL_Page_Down,
+	FL_Left, FL_Up, FL_Right, FL_Down, FL_Shift_L, FL_Shift_R,
+	FL_Control_L, FL_Control_R, FL_Caps_Lock, FL_Alt_L, FL_Alt_R,
+	FL_Meta_L, FL_Meta_R, FL_Menu, FL_Num_Lock, FL_KP_Enter.  Be
+	careful not to confuse these with the very similar, but all-caps,
+	symbols used by fltk3::event_state().
+
+    On X fltk3::get_key(FL_Button+n) does not work.
+    
+    On WIN32 fltk3::get_key(FL_KP_Enter) and fltk3::event_key(FL_KP_Enter) do not work.
+  */
+  int event_key(int key);
+  /** 
+    Returns true if the given \p key is held down <I>now</I>.  
+    Under X this requires a round-trip to the server and is <I>much</I>
+    slower than fltk3::event_key(int). \see event_key(int)
+  */
+  int get_key(int key); // platform dependent
+  /** 
+    Returns the text associated with the current event, including FL_PASTE or FL_DND_RELEASE events.
+    This can be used in response to FL_KEYUP, FL_KEYDOWN, FL_PASTE, FL_DND_RELEASE.
+
+    When responding to FL_KEYUP/FL_KEYDOWN, use this function instead of fltk3::event_key()
+    to get the text equivalent of keystrokes suitable for inserting into strings 
+    and text widgets.
+
+    The returned string is guaranteed to be be NULL terminated.
+    However, see fltk3::event_length() for the actual length of the string,
+    in case the string itself contains NULLs that are part of the text data.
+
+    \returns A NULL terminated text string equivalent of the last keystroke.
+   */
+  inline const char* event_text() {return e_text;}
+  /**
+    Returns the length of the text in fltk3::event_text(). There
+    will always be a nul at this position in the text. However there may
+    be a nul before that if the keystroke translates to a nul character or
+    you paste a nul character.
+  */
+  inline int event_length() {return e_length;}
+
+  int compose(int &del);
+  /**
+    If the user moves the cursor, be sure to call fltk3::compose_reset().
+    The next call to fltk3::compose() will start out in an initial state. In
+    particular it will not set "del" to non-zero. This call is very fast
+    so it is ok to call it many times and in many places.
+  */
+  inline void compose_reset() {compose_state = 0;}
+  int event_inside(int,int,int,int);
+  int event_inside(const Fl_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*);
+  /** 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*);
+  void add_handler(Fl_Event_Handler h);
+  void remove_handler(Fl_Event_Handler h);
+  /** @} */
+
+  /** \defgroup  fl_clipboard  Selection & Clipboard functions
+	FLTK global copy/cut/paste functions declared in <fltk3/run.h>
+   @{ */
+  // cut/paste:
+  /**
+  Copies the data pointed to by \p stuff to the selection buffer 
+  (\p destination is 0) or
+  the clipboard (\p destination is 1); \p len is the number of relevant
+  bytes in \p stuff.
+  The selection buffer is used for
+  middle-mouse pastes and for drag-and-drop selections. The 
+  clipboard is used for traditional copy/cut/paste operations.
+  */
+  void copy(const char* stuff, int len, int destination = 0); // platform dependent
+  /**
+  Pastes the data from the selection buffer (\p source is 0) or the clipboard 
+  (\p source is 1) into \p receiver.  
+  Set things up so the receiver widget will be called with an FL_PASTE event some
+  time in the future with the data from the specified \p source in fltk3::event_text()
+  and the number of characters in fltk3::event_length().
+  The receiver
+  should be prepared to be called \e directly by this, or for
+  it to happen \e later, or possibly <i>not at all</i>.  This
+  allows the window system to take as long as necessary to retrieve
+  the paste buffer (or even to screw up completely) without complex
+  and error-prone synchronization code in FLTK.
+   
+  The selection buffer is used for middle-mouse pastes and for 
+  drag-and-drop selections. The clipboard is used for traditional 
+  copy/cut/paste operations.
+  */
+  void paste(Fl_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
+    then initiate the system wide drag and drop handling. Dropped data
+    will be marked as <i>text</i>.
+   
+    Create a selection first using:
+    fltk3::copy(const char *stuff, int len, 0)
+  */
+  int dnd(); // platform dependent
+
+  // 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);
+/** @} */
+/** \defgroup  fl_screen  Screen functions
+	fl global screen functions declared in <fltk3/run.h>
+     @{ */
+  // screen size:
+  /** Returns the origin of the current screen, where 0 indicates the left side of the screen. */
+  int x(); // platform dependent
+  /** Returns the origin of the current screen, where 0 indicates the top edge of the screen. */
+  int y(); // platform dependent
+  /** Returns the width of the screen in pixels. */
+  int w(); // platform dependent
+  /** Returns the height of the screen in pixels. */
+  int h(); // platform dependent
+
+  // multi-head support:
+  int screen_count();
+  /** 
+      Gets the bounding box of a screen that contains the mouse pointer.
+      \param[out]  X,Y,W,H the corresponding screen bounding box
+      \see void screen_xywh(int &x, int &y, int &w, int &h, int mx, int my) 
+  */
+  void screen_xywh(int &X, int &Y, int &W, int &H, int mx, int my);
+  inline void screen_xywh(int &X, int &Y, int &W, int &H) {
+    screen_xywh(X, Y, W, H, e_x_root, e_y_root);
+  }
+  void screen_xywh(int &X, int &Y, int &W, int &H, int n);  
+  void screen_dpi(float &h, float &v, int n=0);
+
+  /**   @} */
+
+  /** \defgroup  fl_attributes  Color & Font functions
+	fl global color, font functions.
+   These functions are declared in <fltk3/run.h> or <fltk3/fl_draw.H>. 
+     @{ */
+ 
+  // color map:
+  void	set_color(Fl_Color, uchar, uchar, uchar);
+  /**
+    Sets an entry in the fl_color index table. You can set it to any
+    8-bit RGB color. The color is not allocated until fl_color(i) is used.
+  */
+  void	set_color(Fl_Color i, unsigned c); // platform dependent
+  unsigned get_color(Fl_Color i);
+  void	get_color(Fl_Color i, uchar &red, uchar &green, uchar &blue);
+  /**
+    Frees the specified color from the colormap, if applicable.
+    If overlay is non-zero then the color is freed from the
+    overlay colormap.
+  */
+  void	free_color(Fl_Color i, int overlay = 0); // platform dependent
+
+  // fonts:
+  const char* get_font(Fl_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
+    guarantee that each face has a different name.  The return value points
+    to a static buffer that is overwritten each call.
+    
+    The integer pointed to by \p attributes (if the pointer is not
+    zero) is set to zero, fltk3::BOLD or fltk3::ITALIC or 
+    fltk3::BOLD | fltk3::ITALIC.  To locate a "family" of fonts, search
+    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);
+  /**
+    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
+    and indicate what sizes can be given to fl_font() that will
+    be matched exactly (fl_font() will pick the closest size for
+    other sizes).  A zero in the first location of the array indicates a
+    scalable font, where any size works, although the array may list sizes
+    that work "better" than others.  Warning: the returned array
+    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);
+  /**
+    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
+    that the normal one is first, followed by bold, italic, and bold
+    italic.
+    
+    The optional argument is a string to describe the set of fonts to
+    add.  Passing NULL will select only fonts that have the
+    ISO8859-1 character set (and are thus usable by normal text).  Passing
+    "-*" will select all fonts with any encoding as long as they have
+    normal X font names with dashes in them.  Passing "*" will list every
+    font that exists (on X this may produce some strange output).  Other
+    values may be useful but are system dependent.  With WIN32 NULL
+    selects fonts with ISO8859-1 encoding and non-NULL selects
+    all fonts.
+    
+    The return value is how many faces are in the table after this is done.
+  */
+  Fl_Font set_fonts(const char* = 0); // platform dependent
+
+  /**   @} */
+ /** \defgroup  fl_drawings  Drawing functions
+  FLTK global graphics and GUI drawing functions.
+  These functions are declared in <fltk3/fl_draw.H>, 
+  and in <fltk3/x.H> for offscreen buffer-related ones.
+     @{ */
+  // <Hack to re-order the 'Drawing functions' group>
+ /** @} */
+
+  // labeltypes:
+  void set_labeltype(fltk3::Labeltype,Fl_Label_Draw_F*,Fl_Label_Measure_F*);
+  /** Sets the functions to call to draw and measure a specific labeltype. */
+  void set_labeltype(fltk3::Labeltype, fltk3::Labeltype from); // is it defined ?
+
+  // boxtypes:
+  Fl_Box_Draw_F *get_boxtype(fltk3::Boxtype);
+  void set_boxtype(fltk3::Boxtype, Fl_Box_Draw_F*,uchar,uchar,uchar,uchar);
+  void set_boxtype(fltk3::Boxtype, fltk3::Boxtype from);
+  int box_dx(fltk3::Boxtype);
+  int box_dy(fltk3::Boxtype);
+  int box_dw(fltk3::Boxtype);
+  int box_dh(fltk3::Boxtype);
+  int draw_box_active();
+
+  // back compatibility:
+  /** \addtogroup fl_windows 
+    @{ */
+  /** For back compatibility, sets the void fltk3::fatal handler callback */
+  inline void set_abort(Fl_Abort_Handler f) {fatal = f;}
+  extern void (*atclose)(fltk3::Window*,void*);
+  void default_atclose(fltk3::Window*,void*);
+  /** For back compatibility, sets the fltk3::atclose handler callback. You
+      can now simply change the callback for the window instead.
+      \see fltk3::Window::callback(Fl_Callback*) */
+  inline void set_atclose(Fl_Atclose_Handler f) {atclose = f;}
+  /**   @} */
+
+  /** \addtogroup fl_events 
+    @{ */
+  /** Returns non-zero if the Shift key is pressed. */
+  inline int event_shift() {return e_state&FL_SHIFT;}
+  /** Returns non-zero if the Control key is pressed. */
+  inline int event_ctrl() {return e_state&FL_CTRL;}
+  /** Returns non-zero if the FL_COMMAND key is pressed, either FL_CTRL or on OSX FL_META. */
+  inline int event_command() {return e_state&FL_COMMAND;}
+  /** Returns non-zero if the Alt key is pressed. */
+  inline int event_alt() {return e_state&FL_ALT;}
+  /**
+    Returns the mouse buttons state bits; if non-zero, then at least one
+    button is pressed now.  This function returns the button state at the 
+    time of the event. During an FL_RELEASE event, the state 
+    of the released button will be 0. To find out, which button 
+    caused an FL_RELEASE event, you can use fltk3::event_button() instead.
+    \return a bit mask value like { [FL_BUTTON1] | [FL_BUTTON2] | [FL_BUTTON3] }
+  */
+  inline int event_buttons() {return e_state&0x7f000000;}
+  /**
+    Returns non-zero if mouse button 1 is currently held down.
+    For more details, see fltk3::event_buttons().
+  */
+  inline int event_button1() {return e_state&FL_BUTTON1;}
+  /**
+    Returns non-zero if button 2 is currently held down.
+    For more details, see fltk3::event_buttons().
+  */
+  inline int event_button2() {return e_state&FL_BUTTON2;}
+  /**
+    Returns non-zero if button 3 is currently held down.
+    For more details, see fltk3::event_buttons().
+  */
+  inline int event_button3() {return e_state&FL_BUTTON3;}
+  /**   @} */
+
+  /**
+    Sets an idle callback.
+
+    \deprecated This method is obsolete - use the add_idle() method instead.
+  */
+  inline void set_idle(Fl_Old_Idle_Handler cb) {idle = cb;}
+  /** See fltk3::Window* grab() */
+  inline void grab(fltk3::Window&win) {grab(&win);}
+  /** Releases the current grabbed window, equals grab(0).
+  \deprecated Use fltk3::grab(0) instead.
+  \see fltk3::Window* grab() */
+  inline void release() {grab(0);}
+
+  // Visible focus methods...
+  /**
+    Gets or sets the visible keyboard focus on buttons and other
+    non-text widgets. The default mode is to enable keyboard focus
+    for all widgets.
+  */
+  inline void visible_focus(int v) { option(OPTION_VISIBLE_FOCUS, v);  }
+  /**
+    Gets or sets the visible keyboard focus on buttons and other
+    non-text widgets. The default mode is to enable keyboard focus
+    for all widgets.
+  */
+  inline int  visible_focus() { return option(OPTION_VISIBLE_FOCUS); }
+
+  // Drag-n-drop text operation methods...
+  /**
+    Gets or sets whether drag and drop text operations are supported.
+    This specifically affects whether selected text can
+    be dragged from text fields or dragged within a text field as a
+    cut/paste shortcut.
+  */
+  inline void dnd_text_ops(int v) { option(OPTION_DND_TEXT, v); }
+  /**
+    Gets or sets whether drag and drop text operations are
+    supported. This specifically affects whether selected text can
+    be dragged from text fields or dragged within a text field as a
+    cut/paste shortcut.
+  */
+  inline int  dnd_text_ops() { return option(OPTION_DND_TEXT); }
+  /** \defgroup fl_multithread Multithreading support functions
+	fl multithreading support functions declared in <fltk3/run.h>
+   @{ */
+
+  // Multithreading support:
+  void lock();
+  void unlock();
+  void awake(void* message = 0);
+  /** See void awake(void* message=0). */
+  int awake(Fl_Awake_Handler cb, void* message = 0);
+  /**
+    The thread_message() method returns the last message
+    that was sent from a child by the awake() method.
+    
+    See also: multithreading
+  */
+  void* thread_message(); // platform dependent
+  /** @} */
+
+  /** \defgroup fl_del_widget Safe widget deletion support functions
+
+    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
+    callbacks.
+
+    The other functions are intended for internal use. The preferred
+    way to use them is by using the helper class Fl_Widget_Tracker.
+
+    The following is to show how it works ...
+
+    There are three groups of related methods:
+
+      -# scheduled widget deletion
+	- fltk3::delete_widget() schedules widgets for deletion
+	- fltk3::do_widget_deletion() deletes all scheduled widgets
+      -# widget watch list ("smart pointers")
+	- fltk3::watch_widget_pointer() adds a widget pointer to the watch list
+	- fltk3::release_widget_pointer() removes a widget pointer from the watch list
+	- fltk3::clear_widget_pointer() clears a widget pointer \e in the watch list
+      -# the class Fl_Widget_Tracker:
+	- the constructor calls fltk3::watch_widget_pointer()
+	- the destructor calls fltk3::release_widget_pointer()
+	- the access methods can be used to test, if a widget has been deleted
+	  \see Fl_Widget_Tracker.
+
+   @{ */
+  // Widget deletion:
+  void delete_widget(Fl_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);
+  /** @} */
+
+#ifdef FLTK_HAVE_CAIRO
+  /** \defgroup group_cairo Cairo support functions and classes 
+      @{ 
+  */
+// public:
+  // Cairo support API
+  cairo_t * cairo_make_current(fltk3::Window* w);
+   /** when FLTK_HAVE_CAIRO is defined and cairo_autolink_context() is true, 
+      any current window dc is linked to a current context.
+      This is not the default, because it may not be necessary
+      to add cairo support to all fltk supported windows.
+      When you wish to associate a cairo context in this mode,
+      you need to call explicitly in your draw() overridden method,
+      FL::cairo_make_current(fltk3::Window*). This will create a cairo context
+      but only for this Window. 
+      Still in custom cairo application it is possible to handle 
+      completely this process automatically by setting \p alink to true.
+      In this last case, you don't need anymore to call fltk3::cairo_make_current().
+      You can use fltk3::cairo_cc() to get the current cairo context anytime.
+     \note Only available when configure has the --enable-cairo option
+  */
+  inline void cairo_autolink_context(bool alink) {cairo_state_.autolink(alink);}
+  /** 
+    Gets the current autolink mode for cairo support.
+    \retval false if no cairo context autolink is made for each window. 
+    \retval true if any fltk window is attached a cairo context when it 
+    is current. \see void cairo_autolink_context(bool alink) 
+    \note Only available when configure has the --enable-cairo option
+ */
+  inline bool cairo_autolink_context() {return cairo_state_.autolink();}
+  /** Gets the current cairo context linked with a fltk window. */
+  inline cairo_t * cairo_cc() { return cairo_state_.cc(); }
+  /** Sets the current cairo context to \p c.
+      Set \p own to true if you want fltk to handle this cc deletion.
+     \note Only available when configure has the --enable-cairo option
+*/
+  inline void cairo_cc(cairo_t * c, bool own=false){ cairo_state_.cc(c, own); } 
+
+// private:
+  cairo_t * cairo_make_current(void* gc);
+  cairo_t * cairo_make_current(void* gc, int W, int H);
+  extern Fl_Cairo_State cairo_state_;
+// public:
+  /** @} */ 
+
+#endif // FLTK_HAVE_CAIRO
+
+};
+
+/**
+  This class should be used to control safe widget deletion.
+
+  You can use an Fl_Widget_Tracker object to watch another widget, if you
+  need to know, if this widget has been deleted during a callback.
+
+  This simplifies the use of the "safe widget deletion" methods
+  fltk3::watch_widget_pointer() and fltk3::release_widget_pointer() and
+  makes their use more reliable, because the destructor autmatically
+  releases the widget pointer from the widget watch list.
+
+  It is intended to be used as an automatic (local/stack) variable,
+  such that the automatic destructor is called when the object's
+  scope is left. This ensures that no stale widget pointers are
+  left in the widget watch list (see example below).
+  
+  You can also create Fl_Widget_Tracker objects with \c new, but then it
+  is your responsibility to delete the object (and thus remove the
+  widget pointer from the watch list) when it is not needed any more.
+
+  Example:
+
+  \code
+    int MyClass::handle (int event) {
+
+      if (...) {
+	Fl_Widget_Tracker wp(this);	// watch myself
+	do_callback();			// call the callback
+
+	if (wp.deleted()) return 1;	// exit, if deleted
+
+	// Now we are sure that the widget has not been deleted.
+	// It is safe to access the widget
+
+	clear_changed();		// access the widget
+      }
+    }
+  \endcode
+
+*/
+class FL_EXPORT Fl_Widget_Tracker {
+
+  Fl_Widget* wp_;
+
+public:
+
+  Fl_Widget_Tracker(Fl_Widget *wi);
+  ~Fl_Widget_Tracker();
+
+  /**
+    Returns a pointer to the watched widget.
+
+    This pointer is \c NULL, if the widget has been deleted.
+  */
+  Fl_Widget *widget() {return wp_;}
+
+  /**
+    Returns 1, if the watched widget has been deleted.
+
+    This is a convenience method. You can also use something like
+
+    <tt>  if (wp.widget() == 0) // ...</tt>
+
+    where \p wp is an Fl_Widget_Tracker object.
+  */
+  int deleted() {return wp_ == 0;}
+
+  /**
+    Returns 1, if the watched widget exists (has not been deleted).
+
+    This is a convenience method. You can also use something like
+
+    <tt>  if (wp.widget() != 0) // ...</tt>
+
+    where \p wp is an Fl_Widget_Tracker object.
+  */
+  int exists()  {return wp_ != 0;}
+
+};
+
+ /** \defgroup  fl_unicode  Unicode and UTF-8 functions
+	fl global Unicode and UTF-8 handling functions declared in <fltk3/fl_utf8.h>
+     @{ */
+ /** @} */
+
+#endif // !Fl_H
+
+//
+// End of "$Id$".
+//

Modified: branches/branch-3.0-2011/fltk3/win32.H
===================================================================
--- branches/branch-3.0-2011/fltk3/win32.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/win32.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -66,7 +66,7 @@
 #define XMapWindow(a,b) ShowWindow(b, SW_RESTORE)
 #define XUnmapWindow(a,b) ShowWindow(b, SW_HIDE)
 
-#include "Fl_Window.H"
+#include "Window.h"
 // this object contains all win32-specific stuff about a window:
 // Warning: this object is highly subject to change!
 class FL_EXPORT Fl_X {
@@ -74,7 +74,7 @@
   // member variables - add new variables only at the end of this block
   Window xid;
   HBITMAP other_xid; // for double-buffered windows
-  Fl_Window* w;
+  fltk3::Window* w;
   Fl_Region region;
   Fl_X *next;
   int wait_for_expose;
@@ -83,21 +83,21 @@
   HDC saved_hdc;  // saves the handle of the DC currently loaded
   // static variables, static functions and member functions
   static Fl_X* first;
-  static Fl_X* i(const Fl_Window* w) {return w->i;}
-  static int fake_X_wm(const Fl_Window* w,int &X, int &Y,
+  static Fl_X* i(const fltk3::Window* w) {return w->i;}
+  static int fake_X_wm(const fltk3::Window* w,int &X, int &Y,
 		                 int &bt,int &bx,int &by);
-  void setwindow(Fl_Window* wi) {w=wi; wi->i=this;}
+  void setwindow(fltk3::Window* wi) {w=wi; wi->i=this;}
   void flush() {w->flush();}
   void set_minmax(LPMINMAXINFO minmax);
   void mapraise();
-  static Fl_X* make(Fl_Window*);
+  static Fl_X* make(fltk3::Window*);
 };
 extern FL_EXPORT HCURSOR fl_default_cursor;
 extern FL_EXPORT UINT fl_wake_msg;
-inline Window fl_xid(const Fl_Window*w) {Fl_X *temp = Fl_X::i(w); return temp ? temp->xid : 0;}
-FL_EXPORT Fl_Window* fl_find(Window xid);
-extern FL_EXPORT char fl_override_redirect; // hack into Fl_Window::make_xid()
-extern FL_EXPORT int fl_background_pixel;  // hack into Fl_Window::make_xid()
+inline Window fl_xid(const fltk3::Window*w) {Fl_X *temp = Fl_X::i(w); return temp ? temp->xid : 0;}
+FL_EXPORT fltk3::Window* fl_find(Window xid);
+extern FL_EXPORT char fl_override_redirect; // hack into fltk3::Window::make_xid()
+extern FL_EXPORT int fl_background_pixel;  // hack into fltk3::Window::make_xid()
 
 // most recent fl_color() or fl_rgbcolor() points at one of these:
 extern FL_EXPORT struct Fl_XMap {

Modified: branches/branch-3.0-2011/fltk3/x.H
===================================================================
--- branches/branch-3.0-2011/fltk3/x.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/fltk3/x.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -49,7 +49,7 @@
 #      pragma reset woff 3322
 #    endif
 #    include <X11/Xatom.h>
-#    include "Fl_Window.H"
+#    include "Window.h"
 #    include "Xutf8.h"
 // Mirror X definition of Region to Fl_Region, for portability...
 typedef Region Fl_Region;
@@ -104,7 +104,7 @@
 // feed events into fltk:
 FL_EXPORT int fl_handle(const XEvent&);
 
-// you can use these in Fl::add_handler() to look at events:
+// you can use these in fltk3::add_handler() to look at events:
 extern FL_EXPORT const XEvent* fl_xevent;
 extern FL_EXPORT ulong fl_event_time;
 
@@ -113,7 +113,7 @@
 #   define fl_create_offscreen(w,h) \
   XCreatePixmap(fl_display, \
 	      (fl_surface->class_name() == Fl_Display_Device::class_id ? \
-	      fl_window : fl_xid(Fl::first_window()) ) , \
+	      fl_window : fl_xid(fltk3::first_window()) ) , \
 	      w, h, fl_visual->depth)
 // begin/end are macros that save the old state in local variables:
 #    define fl_begin_offscreen(pixmap) \
@@ -140,26 +140,26 @@
 public:
   Window xid;
   Window other_xid;
-  Fl_Window *w;
+  fltk3::Window *w;
   Fl_Region region;
   Fl_X *next;
   char wait_for_expose;
   char backbuffer_bad; // used for XDBE
   static Fl_X* first;
-  static Fl_X* i(const Fl_Window* wi) {return wi->i;}
-  void setwindow(Fl_Window* wi) {w=wi; wi->i=this;}
+  static Fl_X* i(const fltk3::Window* wi) {return wi->i;}
+  void setwindow(fltk3::Window* wi) {w=wi; wi->i=this;}
   void sendxjunk();
-  static void make_xid(Fl_Window*,XVisualInfo* =fl_visual, Colormap=fl_colormap);
-  static Fl_X* set_xid(Fl_Window*, Window);
+  static void make_xid(fltk3::Window*,XVisualInfo* =fl_visual, Colormap=fl_colormap);
+  static Fl_X* set_xid(fltk3::Window*, Window);
   // kludges to get around protection:
   void flush() {w->flush();}
-  static void x(Fl_Window* wi, int X) {wi->x(X);}
-  static void y(Fl_Window* wi, int Y) {wi->y(Y);}
+  static void x(fltk3::Window* wi, int X) {wi->x(X);}
+  static void y(fltk3::Window* wi, int Y) {wi->y(Y);}
 };
 
-// convert xid <-> Fl_Window:
-inline Window fl_xid(const Fl_Window*w) {return Fl_X::i(w)->xid;}
-FL_EXPORT Fl_Window* fl_find(Window xid);
+// convert xid <-> fltk3::Window:
+inline Window fl_xid(const fltk3::Window*w) {return Fl_X::i(w)->xid;}
+FL_EXPORT fltk3::Window* fl_find(Window xid);
 
 extern FL_EXPORT char fl_override_redirect; // hack into Fl_X::make_xid()
 extern FL_EXPORT int fl_background_pixel;  // hack into Fl_X::make_xid()

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 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/ide/Xcode3/FLTK.xcodeproj/project.pbxproj	2011-01-09 17:05:31 UTC (rev 8230)
@@ -483,20 +483,154 @@
 		C9165EA81291A304003FF4F0 /* fltk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FEB0F8FE6383384180570D94 /* fltk.framework */; };
 		C9165EAA1291A304003FF4F0 /* fltk.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = FEB0F8FE6383384180570D94 /* fltk.framework */; };
 		C9165ED41291A376003FF4F0 /* unittests.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C9165ED31291A376003FF4F0 /* unittests.cxx */; };
-		C95961651274CDEC009C0594 /* README.Xcode in Resources */ = {isa = PBXBuildFile; fileRef = C95961641274CDEC009C0594 /* README.Xcode */; };
-		C95961661274CDEC009C0594 /* README.Xcode in Resources */ = {isa = PBXBuildFile; fileRef = C95961641274CDEC009C0594 /* README.Xcode */; };
-		C95961671274CDEC009C0594 /* README.Xcode in Resources */ = {isa = PBXBuildFile; fileRef = C95961641274CDEC009C0594 /* README.Xcode */; };
-		C95961681274CDEC009C0594 /* README.Xcode in Resources */ = {isa = PBXBuildFile; fileRef = C95961641274CDEC009C0594 /* README.Xcode */; };
-		C95961691274CDEC009C0594 /* README.Xcode in Resources */ = {isa = PBXBuildFile; fileRef = C95961641274CDEC009C0594 /* README.Xcode */; };
-		C959616A1274CDEC009C0594 /* README.Xcode in Resources */ = {isa = PBXBuildFile; fileRef = C95961641274CDEC009C0594 /* README.Xcode */; };
-		C959616B1274CDEC009C0594 /* README.Xcode in Resources */ = {isa = PBXBuildFile; fileRef = C95961641274CDEC009C0594 /* README.Xcode */; };
-		C95961841274CE92009C0594 /* README.Xcode in Headers */ = {isa = PBXBuildFile; fileRef = C95961641274CDEC009C0594 /* README.Xcode */; settings = {ATTRIBUTES = (Public, ); }; };
-		C95961851274CE97009C0594 /* README.Xcode in Headers */ = {isa = PBXBuildFile; fileRef = C95961641274CDEC009C0594 /* README.Xcode */; settings = {ATTRIBUTES = (Public, ); }; };
-		C95961861274CE9B009C0594 /* README.Xcode in Headers */ = {isa = PBXBuildFile; fileRef = C95961641274CDEC009C0594 /* README.Xcode */; settings = {ATTRIBUTES = (Public, ); }; };
-		C95961871274CE9D009C0594 /* README.Xcode in Headers */ = {isa = PBXBuildFile; fileRef = C95961641274CDEC009C0594 /* README.Xcode */; settings = {ATTRIBUTES = (Public, ); }; };
-		C95961881274CEA1009C0594 /* README.Xcode in Headers */ = {isa = PBXBuildFile; fileRef = C95961641274CDEC009C0594 /* README.Xcode */; settings = {ATTRIBUTES = (Public, ); }; };
-		C95961891274CEA4009C0594 /* README.Xcode in Headers */ = {isa = PBXBuildFile; fileRef = C95961641274CDEC009C0594 /* README.Xcode */; settings = {ATTRIBUTES = (Public, ); }; };
-		C959618A1274CEA6009C0594 /* README.Xcode in Headers */ = {isa = PBXBuildFile; fileRef = C95961641274CDEC009C0594 /* README.Xcode */; settings = {ATTRIBUTES = (Public, ); }; };
+		C9555E6212DA01B500FFF041 /* Box.h in Headers */ = {isa = PBXBuildFile; fileRef = C9555DCE12DA01B300FFF041 /* Box.h */; };
+		C9555E6312DA01B500FFF041 /* dirent.h in Headers */ = {isa = PBXBuildFile; fileRef = C9555DCF12DA01B300FFF041 /* dirent.h */; };
+		C9555E6412DA01B500FFF041 /* Enumerations.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DD012DA01B300FFF041 /* Enumerations.H */; };
+		C9555E6512DA01B500FFF041 /* filename.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DD112DA01B300FFF041 /* filename.H */; };
+		C9555E6612DA01B500FFF041 /* Fl_Adjuster.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DD212DA01B300FFF041 /* Fl_Adjuster.H */; };
+		C9555E6712DA01B500FFF041 /* fl_ask.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DD312DA01B300FFF041 /* fl_ask.H */; };
+		C9555E6812DA01B500FFF041 /* Fl_Bitmap.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DD412DA01B300FFF041 /* Fl_Bitmap.H */; };
+		C9555E6912DA01B500FFF041 /* Fl_BMP_Image.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DD512DA01B300FFF041 /* Fl_BMP_Image.H */; };
+		C9555E6A12DA01B500FFF041 /* Fl_Browser_.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DD612DA01B300FFF041 /* Fl_Browser_.H */; };
+		C9555E6B12DA01B500FFF041 /* Fl_Browser.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DD712DA01B300FFF041 /* Fl_Browser.H */; };
+		C9555E6C12DA01B500FFF041 /* Fl_Button.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DD812DA01B300FFF041 /* Fl_Button.H */; };
+		C9555E6D12DA01B500FFF041 /* Fl_Cairo_Window.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DD912DA01B300FFF041 /* Fl_Cairo_Window.H */; };
+		C9555E6E12DA01B500FFF041 /* Fl_Cairo.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DDA12DA01B300FFF041 /* Fl_Cairo.H */; };
+		C9555E6F12DA01B500FFF041 /* Fl_Chart.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DDB12DA01B300FFF041 /* Fl_Chart.H */; };
+		C9555E7012DA01B500FFF041 /* Fl_Check_Browser.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DDC12DA01B300FFF041 /* Fl_Check_Browser.H */; };
+		C9555E7112DA01B500FFF041 /* Fl_Check_Button.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DDD12DA01B300FFF041 /* Fl_Check_Button.H */; };
+		C9555E7212DA01B500FFF041 /* Fl_Choice.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DDE12DA01B300FFF041 /* Fl_Choice.H */; };
+		C9555E7312DA01B500FFF041 /* Fl_Clock.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DDF12DA01B300FFF041 /* Fl_Clock.H */; };
+		C9555E7412DA01B500FFF041 /* Fl_Color_Chooser.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DE012DA01B300FFF041 /* Fl_Color_Chooser.H */; };
+		C9555E7512DA01B500FFF041 /* Fl_Counter.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DE112DA01B300FFF041 /* Fl_Counter.H */; };
+		C9555E7612DA01B500FFF041 /* Fl_Device.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DE212DA01B300FFF041 /* Fl_Device.H */; };
+		C9555E7712DA01B500FFF041 /* Fl_Dial.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DE312DA01B300FFF041 /* Fl_Dial.H */; };
+		C9555E7812DA01B500FFF041 /* Fl_Double_Window.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DE412DA01B300FFF041 /* Fl_Double_Window.H */; };
+		C9555E7912DA01B500FFF041 /* fl_draw.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DE512DA01B300FFF041 /* fl_draw.H */; };
+		C9555E7A12DA01B500FFF041 /* Fl_Export.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DE612DA01B300FFF041 /* Fl_Export.H */; };
+		C9555E7B12DA01B500FFF041 /* Fl_File_Browser.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DE712DA01B300FFF041 /* Fl_File_Browser.H */; };
+		C9555E7C12DA01B500FFF041 /* Fl_File_Chooser.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DE812DA01B300FFF041 /* Fl_File_Chooser.H */; };
+		C9555E7D12DA01B500FFF041 /* Fl_File_Icon.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DE912DA01B300FFF041 /* Fl_File_Icon.H */; };
+		C9555E7E12DA01B500FFF041 /* Fl_File_Input.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DEA12DA01B300FFF041 /* Fl_File_Input.H */; };
+		C9555E7F12DA01B500FFF041 /* Fl_Fill_Dial.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DEB12DA01B300FFF041 /* Fl_Fill_Dial.H */; };
+		C9555E8012DA01B500FFF041 /* Fl_Fill_Slider.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DEC12DA01B300FFF041 /* Fl_Fill_Slider.H */; };
+		C9555E8112DA01B500FFF041 /* Fl_Float_Input.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DED12DA01B300FFF041 /* Fl_Float_Input.H */; };
+		C9555E8212DA01B500FFF041 /* Fl_FormsBitmap.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DEE12DA01B300FFF041 /* Fl_FormsBitmap.H */; };
+		C9555E8312DA01B500FFF041 /* Fl_FormsPixmap.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DEF12DA01B300FFF041 /* Fl_FormsPixmap.H */; };
+		C9555E8412DA01B500FFF041 /* Fl_Free.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DF012DA01B300FFF041 /* Fl_Free.H */; };
+		C9555E8512DA01B500FFF041 /* Fl_GIF_Image.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DF112DA01B300FFF041 /* Fl_GIF_Image.H */; };
+		C9555E8612DA01B500FFF041 /* Fl_Gl_Window.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DF212DA01B300FFF041 /* Fl_Gl_Window.H */; };
+		C9555E8712DA01B500FFF041 /* Fl_Group.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DF312DA01B300FFF041 /* Fl_Group.H */; };
+		C9555E8812DA01B500FFF041 /* Fl_Help_Dialog.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DF412DA01B300FFF041 /* Fl_Help_Dialog.H */; };
+		C9555E8912DA01B500FFF041 /* Fl_Help_View.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DF512DA01B300FFF041 /* Fl_Help_View.H */; };
+		C9555E8A12DA01B500FFF041 /* Fl_Hold_Browser.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DF612DA01B300FFF041 /* Fl_Hold_Browser.H */; };
+		C9555E8B12DA01B500FFF041 /* Fl_Hor_Fill_Slider.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DF712DA01B300FFF041 /* Fl_Hor_Fill_Slider.H */; };
+		C9555E8C12DA01B500FFF041 /* Fl_Hor_Nice_Slider.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DF812DA01B300FFF041 /* Fl_Hor_Nice_Slider.H */; };
+		C9555E8D12DA01B500FFF041 /* Fl_Hor_Slider.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DF912DA01B300FFF041 /* Fl_Hor_Slider.H */; };
+		C9555E8E12DA01B500FFF041 /* Fl_Hor_Value_Slider.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DFA12DA01B300FFF041 /* Fl_Hor_Value_Slider.H */; };
+		C9555E8F12DA01B500FFF041 /* Fl_Image.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DFB12DA01B300FFF041 /* Fl_Image.H */; };
+		C9555E9012DA01B500FFF041 /* Fl_Input_.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DFC12DA01B300FFF041 /* Fl_Input_.H */; };
+		C9555E9112DA01B500FFF041 /* Fl_Input_Choice.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DFD12DA01B300FFF041 /* Fl_Input_Choice.H */; };
+		C9555E9212DA01B500FFF041 /* Fl_Input.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DFE12DA01B300FFF041 /* Fl_Input.H */; };
+		C9555E9312DA01B500FFF041 /* Fl_Int_Input.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555DFF12DA01B300FFF041 /* Fl_Int_Input.H */; };
+		C9555E9412DA01B500FFF041 /* Fl_JPEG_Image.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E0012DA01B300FFF041 /* Fl_JPEG_Image.H */; };
+		C9555E9512DA01B500FFF041 /* Fl_Light_Button.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E0112DA01B300FFF041 /* Fl_Light_Button.H */; };
+		C9555E9612DA01B500FFF041 /* Fl_Line_Dial.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E0212DA01B300FFF041 /* Fl_Line_Dial.H */; };
+		C9555E9712DA01B500FFF041 /* Fl_Menu_.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E0312DA01B300FFF041 /* Fl_Menu_.H */; };
+		C9555E9812DA01B500FFF041 /* Fl_Menu_Bar.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E0412DA01B300FFF041 /* Fl_Menu_Bar.H */; };
+		C9555E9912DA01B500FFF041 /* Fl_Menu_Button.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E0512DA01B300FFF041 /* Fl_Menu_Button.H */; };
+		C9555E9A12DA01B500FFF041 /* Fl_Menu_Item.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E0612DA01B300FFF041 /* Fl_Menu_Item.H */; };
+		C9555E9B12DA01B500FFF041 /* Fl_Menu_Window.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E0712DA01B300FFF041 /* Fl_Menu_Window.H */; };
+		C9555E9C12DA01B500FFF041 /* Fl_Menu.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E0812DA01B300FFF041 /* Fl_Menu.H */; };
+		C9555E9D12DA01B500FFF041 /* fl_message.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E0912DA01B300FFF041 /* fl_message.H */; };
+		C9555E9E12DA01B500FFF041 /* Fl_Multi_Browser.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E0A12DA01B300FFF041 /* Fl_Multi_Browser.H */; };
+		C9555E9F12DA01B500FFF041 /* Fl_Multi_Label.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E0B12DA01B400FFF041 /* Fl_Multi_Label.H */; };
+		C9555EA012DA01B500FFF041 /* Fl_Multiline_Input.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E0C12DA01B400FFF041 /* Fl_Multiline_Input.H */; };
+		C9555EA112DA01B500FFF041 /* Fl_Multiline_Output.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E0D12DA01B400FFF041 /* Fl_Multiline_Output.H */; };
+		C9555EA212DA01B500FFF041 /* Fl_Native_File_Chooser_FLTK.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E0E12DA01B400FFF041 /* Fl_Native_File_Chooser_FLTK.H */; };
+		C9555EA312DA01B500FFF041 /* Fl_Native_File_Chooser_MAC.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E0F12DA01B400FFF041 /* Fl_Native_File_Chooser_MAC.H */; };
+		C9555EA412DA01B500FFF041 /* Fl_Native_File_Chooser_WIN32.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E1012DA01B400FFF041 /* Fl_Native_File_Chooser_WIN32.H */; };
+		C9555EA512DA01B500FFF041 /* Fl_Native_File_Chooser.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E1112DA01B400FFF041 /* Fl_Native_File_Chooser.H */; };
+		C9555EA612DA01B500FFF041 /* Fl_Nice_Slider.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E1212DA01B400FFF041 /* Fl_Nice_Slider.H */; };
+		C9555EA712DA01B500FFF041 /* Fl_Object.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E1312DA01B400FFF041 /* Fl_Object.H */; };
+		C9555EA812DA01B500FFF041 /* Fl_Output.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E1412DA01B400FFF041 /* Fl_Output.H */; };
+		C9555EA912DA01B500FFF041 /* Fl_Overlay_Window.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E1512DA01B400FFF041 /* Fl_Overlay_Window.H */; };
+		C9555EAA12DA01B500FFF041 /* Fl_Pack.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E1612DA01B400FFF041 /* Fl_Pack.H */; };
+		C9555EAB12DA01B500FFF041 /* Fl_Paged_Device.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E1712DA01B400FFF041 /* Fl_Paged_Device.H */; };
+		C9555EAC12DA01B500FFF041 /* Fl_Pixmap.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E1812DA01B400FFF041 /* Fl_Pixmap.H */; };
+		C9555EAD12DA01B500FFF041 /* Fl_Plugin.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E1912DA01B400FFF041 /* Fl_Plugin.H */; };
+		C9555EAE12DA01B500FFF041 /* Fl_PNG_Image.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E1A12DA01B400FFF041 /* Fl_PNG_Image.H */; };
+		C9555EAF12DA01B500FFF041 /* Fl_PNM_Image.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E1B12DA01B400FFF041 /* Fl_PNM_Image.H */; };
+		C9555EB012DA01B500FFF041 /* Fl_Positioner.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E1C12DA01B400FFF041 /* Fl_Positioner.H */; };
+		C9555EB112DA01B500FFF041 /* Fl_PostScript.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E1D12DA01B400FFF041 /* Fl_PostScript.H */; };
+		C9555EB212DA01B500FFF041 /* Fl_Preferences.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E1E12DA01B400FFF041 /* Fl_Preferences.H */; };
+		C9555EB312DA01B500FFF041 /* Fl_Printer.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E1F12DA01B400FFF041 /* Fl_Printer.H */; };
+		C9555EB512DA01B500FFF041 /* Fl_Progress.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E2112DA01B400FFF041 /* Fl_Progress.H */; };
+		C9555EB612DA01B500FFF041 /* Fl_Radio_Button.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E2212DA01B400FFF041 /* Fl_Radio_Button.H */; };
+		C9555EB712DA01B500FFF041 /* Fl_Radio_Light_Button.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E2312DA01B400FFF041 /* Fl_Radio_Light_Button.H */; };
+		C9555EB812DA01B500FFF041 /* Fl_Radio_Round_Button.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E2412DA01B400FFF041 /* Fl_Radio_Round_Button.H */; };
+		C9555EB912DA01B500FFF041 /* Fl_Repeat_Button.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E2512DA01B400FFF041 /* Fl_Repeat_Button.H */; };
+		C9555EBA12DA01B500FFF041 /* Fl_Return_Button.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E2612DA01B400FFF041 /* Fl_Return_Button.H */; };
+		C9555EBB12DA01B500FFF041 /* Fl_RGB_Image.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E2712DA01B400FFF041 /* Fl_RGB_Image.H */; };
+		C9555EBC12DA01B500FFF041 /* Fl_Roller.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E2812DA01B400FFF041 /* Fl_Roller.H */; };
+		C9555EBD12DA01B500FFF041 /* Fl_Round_Button.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E2912DA01B400FFF041 /* Fl_Round_Button.H */; };
+		C9555EBE12DA01B500FFF041 /* Fl_Round_Clock.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E2A12DA01B400FFF041 /* Fl_Round_Clock.H */; };
+		C9555EBF12DA01B500FFF041 /* Fl_Scroll.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E2B12DA01B400FFF041 /* Fl_Scroll.H */; };
+		C9555EC012DA01B500FFF041 /* Fl_Scrollbar.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E2C12DA01B400FFF041 /* Fl_Scrollbar.H */; };
+		C9555EC112DA01B500FFF041 /* Fl_Secret_Input.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E2D12DA01B400FFF041 /* Fl_Secret_Input.H */; };
+		C9555EC212DA01B500FFF041 /* Fl_Select_Browser.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E2E12DA01B400FFF041 /* Fl_Select_Browser.H */; };
+		C9555EC312DA01B500FFF041 /* Fl_Shared_Image.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E2F12DA01B400FFF041 /* Fl_Shared_Image.H */; };
+		C9555EC412DA01B500FFF041 /* fl_show_colormap.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E3012DA01B400FFF041 /* fl_show_colormap.H */; };
+		C9555EC512DA01B500FFF041 /* fl_show_input.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E3112DA01B400FFF041 /* fl_show_input.H */; };
+		C9555EC612DA01B500FFF041 /* Fl_Simple_Counter.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E3212DA01B400FFF041 /* Fl_Simple_Counter.H */; };
+		C9555EC712DA01B500FFF041 /* Fl_Single_Window.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E3312DA01B400FFF041 /* Fl_Single_Window.H */; };
+		C9555EC812DA01B500FFF041 /* Fl_Slider.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E3412DA01B400FFF041 /* Fl_Slider.H */; };
+		C9555EC912DA01B500FFF041 /* Fl_Spinner.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E3512DA01B400FFF041 /* Fl_Spinner.H */; };
+		C9555ECA12DA01B500FFF041 /* Fl_Sys_Menu_Bar.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E3612DA01B400FFF041 /* Fl_Sys_Menu_Bar.H */; };
+		C9555ECB12DA01B500FFF041 /* Fl_Table_Row.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E3712DA01B400FFF041 /* Fl_Table_Row.H */; };
+		C9555ECC12DA01B500FFF041 /* Fl_Table.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E3812DA01B400FFF041 /* Fl_Table.H */; };
+		C9555ECD12DA01B500FFF041 /* Fl_Tabs.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E3912DA01B400FFF041 /* Fl_Tabs.H */; };
+		C9555ECE12DA01B500FFF041 /* Fl_Text_Buffer.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E3A12DA01B400FFF041 /* Fl_Text_Buffer.H */; };
+		C9555ED012DA01B500FFF041 /* Fl_Text_Display.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E3C12DA01B400FFF041 /* Fl_Text_Display.H */; };
+		C9555ED112DA01B500FFF041 /* Fl_Text_Editor.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E3D12DA01B400FFF041 /* Fl_Text_Editor.H */; };
+		C9555ED212DA01B500FFF041 /* Fl_Tile.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E3E12DA01B400FFF041 /* Fl_Tile.H */; };
+		C9555ED312DA01B500FFF041 /* Fl_Tiled_Image.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E3F12DA01B400FFF041 /* Fl_Tiled_Image.H */; };
+		C9555ED412DA01B500FFF041 /* Fl_Timer.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E4012DA01B400FFF041 /* Fl_Timer.H */; };
+		C9555ED512DA01B500FFF041 /* Fl_Toggle_Button.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E4112DA01B400FFF041 /* Fl_Toggle_Button.H */; };
+		C9555ED612DA01B500FFF041 /* Fl_Toggle_Light_Button.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E4212DA01B400FFF041 /* Fl_Toggle_Light_Button.H */; };
+		C9555ED712DA01B500FFF041 /* Fl_Toggle_Round_Button.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E4312DA01B400FFF041 /* Fl_Toggle_Round_Button.H */; };
+		C9555ED812DA01B500FFF041 /* Fl_Tooltip.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E4412DA01B400FFF041 /* Fl_Tooltip.H */; };
+		C9555ED912DA01B500FFF041 /* Fl_Tree_Item_Array.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E4512DA01B400FFF041 /* Fl_Tree_Item_Array.H */; };
+		C9555EDA12DA01B500FFF041 /* Fl_Tree_Item.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E4612DA01B400FFF041 /* Fl_Tree_Item.H */; };
+		C9555EDB12DA01B500FFF041 /* Fl_Tree_Prefs.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E4712DA01B400FFF041 /* Fl_Tree_Prefs.H */; };
+		C9555EDC12DA01B500FFF041 /* Fl_Tree.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E4812DA01B400FFF041 /* Fl_Tree.H */; };
+		C9555EDD12DA01B500FFF041 /* fl_types.h in Headers */ = {isa = PBXBuildFile; fileRef = C9555E4912DA01B400FFF041 /* fl_types.h */; };
+		C9555EDE12DA01B500FFF041 /* fl_utf8.h in Headers */ = {isa = PBXBuildFile; fileRef = C9555E4A12DA01B400FFF041 /* fl_utf8.h */; };
+		C9555EDF12DA01B500FFF041 /* Fl_Valuator.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E4B12DA01B400FFF041 /* Fl_Valuator.H */; };
+		C9555EE012DA01B500FFF041 /* Fl_Value_Input.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E4C12DA01B400FFF041 /* Fl_Value_Input.H */; };
+		C9555EE112DA01B500FFF041 /* Fl_Value_Output.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E4D12DA01B400FFF041 /* Fl_Value_Output.H */; };
+		C9555EE212DA01B500FFF041 /* Fl_Value_Slider.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E4E12DA01B400FFF041 /* Fl_Value_Slider.H */; };
+		C9555EE312DA01B500FFF041 /* Fl_Widget.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E4F12DA01B400FFF041 /* Fl_Widget.H */; };
+		C9555EE412DA01B500FFF041 /* Fl_Wizard.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E5012DA01B400FFF041 /* Fl_Wizard.H */; };
+		C9555EE512DA01B500FFF041 /* Fl_XBM_Image.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E5112DA01B400FFF041 /* Fl_XBM_Image.H */; };
+		C9555EE612DA01B500FFF041 /* Fl_XPM_Image.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E5212DA01B400FFF041 /* Fl_XPM_Image.H */; };
+		C9555EE712DA01B500FFF041 /* forms.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E5312DA01B400FFF041 /* forms.H */; };
+		C9555EE812DA01B500FFF041 /* gl_draw.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E5412DA01B400FFF041 /* gl_draw.H */; };
+		C9555EE912DA01B500FFF041 /* gl.h in Headers */ = {isa = PBXBuildFile; fileRef = C9555E5512DA01B400FFF041 /* gl.h */; };
+		C9555EEA12DA01B500FFF041 /* gl2opengl.h in Headers */ = {isa = PBXBuildFile; fileRef = C9555E5612DA01B400FFF041 /* gl2opengl.h */; };
+		C9555EEB12DA01B500FFF041 /* glu.h in Headers */ = {isa = PBXBuildFile; fileRef = C9555E5712DA01B400FFF041 /* glu.h */; };
+		C9555EEC12DA01B500FFF041 /* glut.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E5812DA01B400FFF041 /* glut.H */; };
+		C9555EED12DA01B500FFF041 /* mac.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E5912DA01B500FFF041 /* mac.H */; };
+		C9555EEE12DA01B500FFF041 /* math.h in Headers */ = {isa = PBXBuildFile; fileRef = C9555E5A12DA01B500FFF041 /* math.h */; };
+		C9555EEF12DA01B500FFF041 /* names.h in Headers */ = {isa = PBXBuildFile; fileRef = C9555E5B12DA01B500FFF041 /* names.h */; };
+		C9555EF112DA01B500FFF041 /* run.h in Headers */ = {isa = PBXBuildFile; fileRef = C9555E5D12DA01B500FFF041 /* run.h */; };
+		C9555EF212DA01B500FFF041 /* win32.H in Headers */ = {isa = PBXBuildFile; fileRef = C9555E5E12DA01B500FFF041 /* win32.H */; };
+		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 */; };
 		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 */; };
@@ -1349,6 +1483,18 @@
 			);
 			script = "export DYLD_FRAMEWORK_PATH=${TARGET_BUILD_DIR} && cd ${INPUT_FILE_DIR} && ${TARGET_BUILD_DIR}/Fluid.app/Contents/MacOS/Fluid -c ${INPUT_FILE_NAME}";
 		};
+		C9555FD312DA220500FFF041 /* PBXBuildRule */ = {
+			isa = PBXBuildRule;
+			compilerSpec = com.apple.compilers.proxy.script;
+			filePatterns = "*.fl";
+			fileType = pattern.proxy;
+			isEditable = 1;
+			outputFiles = (
+				"${INPUT_FILE_DIR}/${INPUT_FILE_BASE}.cxx",
+				"${INPUT_FILE_DIR}/${INPUT_FILE_BASE}.h",
+			);
+			script = "export DYLD_FRAMEWORK_PATH=${TARGET_BUILD_DIR} && cd ${INPUT_FILE_DIR} && ${TARGET_BUILD_DIR}/Fluid.app/Contents/MacOS/Fluid -c ${INPUT_FILE_NAME}";
+		};
 		CD536C27425E520D78677840 /* PBXBuildRule */ = {
 			isa = PBXBuildRule;
 			compilerSpec = com.apple.compilers.proxy.script;
@@ -2632,6 +2778,13 @@
 			remoteGlobalIDString = A57FDE871C99A52BEEDEE68C;
 			remoteInfo = fltk;
 		};
+		C9555FCB12DA220500FFF041 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BF1A7FFEACF5F31B4127482 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = A57FDE871C99A52BEEDEE68C;
+			remoteInfo = fltk;
+		};
 		CA3CA540809B8723BA17A4D4 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
 			containerPortal = 4BF1A7FFEACF5F31B4127482 /* Project object */;
@@ -3524,6 +3677,16 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
+		C9555FD112DA220500FFF041 /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 2147483647;
+			dstPath = "";
+			dstSubfolderSpec = 10;
+			files = (
+				C9555FD212DA220500FFF041 /* fltk.framework in CopyFiles */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 		C99FD8E112D2A295002FC776 /* CopyFiles */ = {
 			isa = PBXCopyFilesBuildPhase;
 			buildActionMask = 2147483647;
@@ -4087,7 +4250,153 @@
 		C84F99F5AC8C6517F45055B0 /* jdmerge.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = ../../jpeg/jdmerge.c; sourceTree = SOURCE_ROOT; };
 		C9165EAF1291A304003FF4F0 /* utf8.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = utf8.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		C9165ED31291A376003FF4F0 /* unittests.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = unittests.cxx; path = ../../test/unittests.cxx; sourceTree = SOURCE_ROOT; };
-		C95961641274CDEC009C0594 /* README.Xcode */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = README.Xcode; path = ../../FL/README.Xcode; sourceTree = SOURCE_ROOT; };
+		C9555DCE12DA01B300FFF041 /* Box.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Box.h; path = ../../fltk3/Box.h; sourceTree = SOURCE_ROOT; };
+		C9555DCF12DA01B300FFF041 /* dirent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dirent.h; path = ../../fltk3/dirent.h; sourceTree = SOURCE_ROOT; };
+		C9555DD012DA01B300FFF041 /* Enumerations.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Enumerations.H; path = ../../fltk3/Enumerations.H; sourceTree = SOURCE_ROOT; };
+		C9555DD112DA01B300FFF041 /* filename.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = filename.H; path = ../../fltk3/filename.H; sourceTree = SOURCE_ROOT; };
+		C9555DD212DA01B300FFF041 /* Fl_Adjuster.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Adjuster.H; path = ../../fltk3/Fl_Adjuster.H; sourceTree = SOURCE_ROOT; };
+		C9555DD312DA01B300FFF041 /* fl_ask.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = fl_ask.H; path = ../../fltk3/fl_ask.H; sourceTree = SOURCE_ROOT; };
+		C9555DD412DA01B300FFF041 /* Fl_Bitmap.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Bitmap.H; path = ../../fltk3/Fl_Bitmap.H; sourceTree = SOURCE_ROOT; };
+		C9555DD512DA01B300FFF041 /* Fl_BMP_Image.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_BMP_Image.H; path = ../../fltk3/Fl_BMP_Image.H; sourceTree = SOURCE_ROOT; };
+		C9555DD612DA01B300FFF041 /* Fl_Browser_.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Browser_.H; path = ../../fltk3/Fl_Browser_.H; sourceTree = SOURCE_ROOT; };
+		C9555DD712DA01B300FFF041 /* Fl_Browser.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Browser.H; path = ../../fltk3/Fl_Browser.H; sourceTree = SOURCE_ROOT; };
+		C9555DD812DA01B300FFF041 /* Fl_Button.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Button.H; path = ../../fltk3/Fl_Button.H; sourceTree = SOURCE_ROOT; };
+		C9555DD912DA01B300FFF041 /* Fl_Cairo_Window.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Cairo_Window.H; path = ../../fltk3/Fl_Cairo_Window.H; sourceTree = SOURCE_ROOT; };
+		C9555DDA12DA01B300FFF041 /* Fl_Cairo.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Cairo.H; path = ../../fltk3/Fl_Cairo.H; sourceTree = SOURCE_ROOT; };
+		C9555DDB12DA01B300FFF041 /* Fl_Chart.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Chart.H; path = ../../fltk3/Fl_Chart.H; sourceTree = SOURCE_ROOT; };
+		C9555DDC12DA01B300FFF041 /* Fl_Check_Browser.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Check_Browser.H; path = ../../fltk3/Fl_Check_Browser.H; sourceTree = SOURCE_ROOT; };
+		C9555DDD12DA01B300FFF041 /* Fl_Check_Button.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Check_Button.H; path = ../../fltk3/Fl_Check_Button.H; sourceTree = SOURCE_ROOT; };
+		C9555DDE12DA01B300FFF041 /* Fl_Choice.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Choice.H; path = ../../fltk3/Fl_Choice.H; sourceTree = SOURCE_ROOT; };
+		C9555DDF12DA01B300FFF041 /* Fl_Clock.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Clock.H; path = ../../fltk3/Fl_Clock.H; sourceTree = SOURCE_ROOT; };
+		C9555DE012DA01B300FFF041 /* Fl_Color_Chooser.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Color_Chooser.H; path = ../../fltk3/Fl_Color_Chooser.H; sourceTree = SOURCE_ROOT; };
+		C9555DE112DA01B300FFF041 /* Fl_Counter.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Counter.H; path = ../../fltk3/Fl_Counter.H; sourceTree = SOURCE_ROOT; };
+		C9555DE212DA01B300FFF041 /* Fl_Device.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Device.H; path = ../../fltk3/Fl_Device.H; sourceTree = SOURCE_ROOT; };
+		C9555DE312DA01B300FFF041 /* Fl_Dial.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Dial.H; path = ../../fltk3/Fl_Dial.H; sourceTree = SOURCE_ROOT; };
+		C9555DE412DA01B300FFF041 /* Fl_Double_Window.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Double_Window.H; path = ../../fltk3/Fl_Double_Window.H; sourceTree = SOURCE_ROOT; };
+		C9555DE512DA01B300FFF041 /* fl_draw.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = fl_draw.H; path = ../../fltk3/fl_draw.H; sourceTree = SOURCE_ROOT; };
+		C9555DE612DA01B300FFF041 /* Fl_Export.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Export.H; path = ../../fltk3/Fl_Export.H; sourceTree = SOURCE_ROOT; };
+		C9555DE712DA01B300FFF041 /* Fl_File_Browser.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_File_Browser.H; path = ../../fltk3/Fl_File_Browser.H; sourceTree = SOURCE_ROOT; };
+		C9555DE812DA01B300FFF041 /* Fl_File_Chooser.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_File_Chooser.H; path = ../../fltk3/Fl_File_Chooser.H; sourceTree = SOURCE_ROOT; };
+		C9555DE912DA01B300FFF041 /* Fl_File_Icon.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_File_Icon.H; path = ../../fltk3/Fl_File_Icon.H; sourceTree = SOURCE_ROOT; };
+		C9555DEA12DA01B300FFF041 /* Fl_File_Input.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_File_Input.H; path = ../../fltk3/Fl_File_Input.H; sourceTree = SOURCE_ROOT; };
+		C9555DEB12DA01B300FFF041 /* Fl_Fill_Dial.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Fill_Dial.H; path = ../../fltk3/Fl_Fill_Dial.H; sourceTree = SOURCE_ROOT; };
+		C9555DEC12DA01B300FFF041 /* Fl_Fill_Slider.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Fill_Slider.H; path = ../../fltk3/Fl_Fill_Slider.H; sourceTree = SOURCE_ROOT; };
+		C9555DED12DA01B300FFF041 /* Fl_Float_Input.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Float_Input.H; path = ../../fltk3/Fl_Float_Input.H; sourceTree = SOURCE_ROOT; };
+		C9555DEE12DA01B300FFF041 /* Fl_FormsBitmap.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_FormsBitmap.H; path = ../../fltk3/Fl_FormsBitmap.H; sourceTree = SOURCE_ROOT; };
+		C9555DEF12DA01B300FFF041 /* Fl_FormsPixmap.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_FormsPixmap.H; path = ../../fltk3/Fl_FormsPixmap.H; sourceTree = SOURCE_ROOT; };
+		C9555DF012DA01B300FFF041 /* Fl_Free.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Free.H; path = ../../fltk3/Fl_Free.H; sourceTree = SOURCE_ROOT; };
+		C9555DF112DA01B300FFF041 /* Fl_GIF_Image.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_GIF_Image.H; path = ../../fltk3/Fl_GIF_Image.H; sourceTree = SOURCE_ROOT; };
+		C9555DF212DA01B300FFF041 /* Fl_Gl_Window.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Gl_Window.H; path = ../../fltk3/Fl_Gl_Window.H; sourceTree = SOURCE_ROOT; };
+		C9555DF312DA01B300FFF041 /* Fl_Group.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Group.H; path = ../../fltk3/Fl_Group.H; sourceTree = SOURCE_ROOT; };
+		C9555DF412DA01B300FFF041 /* Fl_Help_Dialog.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Help_Dialog.H; path = ../../fltk3/Fl_Help_Dialog.H; sourceTree = SOURCE_ROOT; };
+		C9555DF512DA01B300FFF041 /* Fl_Help_View.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Help_View.H; path = ../../fltk3/Fl_Help_View.H; sourceTree = SOURCE_ROOT; };
+		C9555DF612DA01B300FFF041 /* Fl_Hold_Browser.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Hold_Browser.H; path = ../../fltk3/Fl_Hold_Browser.H; sourceTree = SOURCE_ROOT; };
+		C9555DF712DA01B300FFF041 /* Fl_Hor_Fill_Slider.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Hor_Fill_Slider.H; path = ../../fltk3/Fl_Hor_Fill_Slider.H; sourceTree = SOURCE_ROOT; };
+		C9555DF812DA01B300FFF041 /* Fl_Hor_Nice_Slider.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Hor_Nice_Slider.H; path = ../../fltk3/Fl_Hor_Nice_Slider.H; sourceTree = SOURCE_ROOT; };
+		C9555DF912DA01B300FFF041 /* Fl_Hor_Slider.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Hor_Slider.H; path = ../../fltk3/Fl_Hor_Slider.H; sourceTree = SOURCE_ROOT; };
+		C9555DFA12DA01B300FFF041 /* Fl_Hor_Value_Slider.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Hor_Value_Slider.H; path = ../../fltk3/Fl_Hor_Value_Slider.H; sourceTree = SOURCE_ROOT; };
+		C9555DFB12DA01B300FFF041 /* Fl_Image.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Image.H; path = ../../fltk3/Fl_Image.H; sourceTree = SOURCE_ROOT; };
+		C9555DFC12DA01B300FFF041 /* Fl_Input_.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Input_.H; path = ../../fltk3/Fl_Input_.H; sourceTree = SOURCE_ROOT; };
+		C9555DFD12DA01B300FFF041 /* Fl_Input_Choice.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Input_Choice.H; path = ../../fltk3/Fl_Input_Choice.H; sourceTree = SOURCE_ROOT; };
+		C9555DFE12DA01B300FFF041 /* Fl_Input.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Input.H; path = ../../fltk3/Fl_Input.H; sourceTree = SOURCE_ROOT; };
+		C9555DFF12DA01B300FFF041 /* Fl_Int_Input.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Int_Input.H; path = ../../fltk3/Fl_Int_Input.H; sourceTree = SOURCE_ROOT; };
+		C9555E0012DA01B300FFF041 /* Fl_JPEG_Image.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_JPEG_Image.H; path = ../../fltk3/Fl_JPEG_Image.H; sourceTree = SOURCE_ROOT; };
+		C9555E0112DA01B300FFF041 /* Fl_Light_Button.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Light_Button.H; path = ../../fltk3/Fl_Light_Button.H; sourceTree = SOURCE_ROOT; };
+		C9555E0212DA01B300FFF041 /* Fl_Line_Dial.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Line_Dial.H; path = ../../fltk3/Fl_Line_Dial.H; sourceTree = SOURCE_ROOT; };
+		C9555E0312DA01B300FFF041 /* Fl_Menu_.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Menu_.H; path = ../../fltk3/Fl_Menu_.H; sourceTree = SOURCE_ROOT; };
+		C9555E0412DA01B300FFF041 /* Fl_Menu_Bar.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Menu_Bar.H; path = ../../fltk3/Fl_Menu_Bar.H; sourceTree = SOURCE_ROOT; };
+		C9555E0512DA01B300FFF041 /* Fl_Menu_Button.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Menu_Button.H; path = ../../fltk3/Fl_Menu_Button.H; sourceTree = SOURCE_ROOT; };
+		C9555E0612DA01B300FFF041 /* Fl_Menu_Item.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Menu_Item.H; path = ../../fltk3/Fl_Menu_Item.H; sourceTree = SOURCE_ROOT; };
+		C9555E0712DA01B300FFF041 /* Fl_Menu_Window.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Menu_Window.H; path = ../../fltk3/Fl_Menu_Window.H; sourceTree = SOURCE_ROOT; };
+		C9555E0812DA01B300FFF041 /* Fl_Menu.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Menu.H; path = ../../fltk3/Fl_Menu.H; sourceTree = SOURCE_ROOT; };
+		C9555E0912DA01B300FFF041 /* fl_message.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = fl_message.H; path = ../../fltk3/fl_message.H; sourceTree = SOURCE_ROOT; };
+		C9555E0A12DA01B300FFF041 /* Fl_Multi_Browser.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Multi_Browser.H; path = ../../fltk3/Fl_Multi_Browser.H; sourceTree = SOURCE_ROOT; };
+		C9555E0B12DA01B400FFF041 /* Fl_Multi_Label.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Multi_Label.H; path = ../../fltk3/Fl_Multi_Label.H; sourceTree = SOURCE_ROOT; };
+		C9555E0C12DA01B400FFF041 /* Fl_Multiline_Input.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Multiline_Input.H; path = ../../fltk3/Fl_Multiline_Input.H; sourceTree = SOURCE_ROOT; };
+		C9555E0D12DA01B400FFF041 /* Fl_Multiline_Output.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Multiline_Output.H; path = ../../fltk3/Fl_Multiline_Output.H; sourceTree = SOURCE_ROOT; };
+		C9555E0E12DA01B400FFF041 /* Fl_Native_File_Chooser_FLTK.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Native_File_Chooser_FLTK.H; path = ../../fltk3/Fl_Native_File_Chooser_FLTK.H; sourceTree = SOURCE_ROOT; };
+		C9555E0F12DA01B400FFF041 /* Fl_Native_File_Chooser_MAC.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Native_File_Chooser_MAC.H; path = ../../fltk3/Fl_Native_File_Chooser_MAC.H; sourceTree = SOURCE_ROOT; };
+		C9555E1012DA01B400FFF041 /* Fl_Native_File_Chooser_WIN32.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Native_File_Chooser_WIN32.H; path = ../../fltk3/Fl_Native_File_Chooser_WIN32.H; sourceTree = SOURCE_ROOT; };
+		C9555E1112DA01B400FFF041 /* Fl_Native_File_Chooser.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Native_File_Chooser.H; path = ../../fltk3/Fl_Native_File_Chooser.H; sourceTree = SOURCE_ROOT; };
+		C9555E1212DA01B400FFF041 /* Fl_Nice_Slider.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Nice_Slider.H; path = ../../fltk3/Fl_Nice_Slider.H; sourceTree = SOURCE_ROOT; };
+		C9555E1312DA01B400FFF041 /* Fl_Object.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Object.H; path = ../../fltk3/Fl_Object.H; sourceTree = SOURCE_ROOT; };
+		C9555E1412DA01B400FFF041 /* Fl_Output.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Output.H; path = ../../fltk3/Fl_Output.H; sourceTree = SOURCE_ROOT; };
+		C9555E1512DA01B400FFF041 /* Fl_Overlay_Window.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Overlay_Window.H; path = ../../fltk3/Fl_Overlay_Window.H; sourceTree = SOURCE_ROOT; };
+		C9555E1612DA01B400FFF041 /* Fl_Pack.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Pack.H; path = ../../fltk3/Fl_Pack.H; sourceTree = SOURCE_ROOT; };
+		C9555E1712DA01B400FFF041 /* Fl_Paged_Device.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Paged_Device.H; path = ../../fltk3/Fl_Paged_Device.H; sourceTree = SOURCE_ROOT; };
+		C9555E1812DA01B400FFF041 /* Fl_Pixmap.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Pixmap.H; path = ../../fltk3/Fl_Pixmap.H; sourceTree = SOURCE_ROOT; };
+		C9555E1912DA01B400FFF041 /* Fl_Plugin.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Plugin.H; path = ../../fltk3/Fl_Plugin.H; sourceTree = SOURCE_ROOT; };
+		C9555E1A12DA01B400FFF041 /* Fl_PNG_Image.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_PNG_Image.H; path = ../../fltk3/Fl_PNG_Image.H; sourceTree = SOURCE_ROOT; };
+		C9555E1B12DA01B400FFF041 /* Fl_PNM_Image.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_PNM_Image.H; path = ../../fltk3/Fl_PNM_Image.H; sourceTree = SOURCE_ROOT; };
+		C9555E1C12DA01B400FFF041 /* Fl_Positioner.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Positioner.H; path = ../../fltk3/Fl_Positioner.H; sourceTree = SOURCE_ROOT; };
+		C9555E1D12DA01B400FFF041 /* Fl_PostScript.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_PostScript.H; path = ../../fltk3/Fl_PostScript.H; sourceTree = SOURCE_ROOT; };
+		C9555E1E12DA01B400FFF041 /* Fl_Preferences.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Preferences.H; path = ../../fltk3/Fl_Preferences.H; sourceTree = SOURCE_ROOT; };
+		C9555E1F12DA01B400FFF041 /* Fl_Printer.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Printer.H; path = ../../fltk3/Fl_Printer.H; sourceTree = SOURCE_ROOT; };
+		C9555E2112DA01B400FFF041 /* Fl_Progress.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Progress.H; path = ../../fltk3/Fl_Progress.H; sourceTree = SOURCE_ROOT; };
+		C9555E2212DA01B400FFF041 /* Fl_Radio_Button.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Radio_Button.H; path = ../../fltk3/Fl_Radio_Button.H; sourceTree = SOURCE_ROOT; };
+		C9555E2312DA01B400FFF041 /* Fl_Radio_Light_Button.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Radio_Light_Button.H; path = ../../fltk3/Fl_Radio_Light_Button.H; sourceTree = SOURCE_ROOT; };
+		C9555E2412DA01B400FFF041 /* Fl_Radio_Round_Button.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Radio_Round_Button.H; path = ../../fltk3/Fl_Radio_Round_Button.H; sourceTree = SOURCE_ROOT; };
+		C9555E2512DA01B400FFF041 /* Fl_Repeat_Button.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Repeat_Button.H; path = ../../fltk3/Fl_Repeat_Button.H; sourceTree = SOURCE_ROOT; };
+		C9555E2612DA01B400FFF041 /* Fl_Return_Button.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Return_Button.H; path = ../../fltk3/Fl_Return_Button.H; sourceTree = SOURCE_ROOT; };
+		C9555E2712DA01B400FFF041 /* Fl_RGB_Image.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_RGB_Image.H; path = ../../fltk3/Fl_RGB_Image.H; sourceTree = SOURCE_ROOT; };
+		C9555E2812DA01B400FFF041 /* Fl_Roller.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Roller.H; path = ../../fltk3/Fl_Roller.H; sourceTree = SOURCE_ROOT; };
+		C9555E2912DA01B400FFF041 /* Fl_Round_Button.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Round_Button.H; path = ../../fltk3/Fl_Round_Button.H; sourceTree = SOURCE_ROOT; };
+		C9555E2A12DA01B400FFF041 /* Fl_Round_Clock.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Round_Clock.H; path = ../../fltk3/Fl_Round_Clock.H; sourceTree = SOURCE_ROOT; };
+		C9555E2B12DA01B400FFF041 /* Fl_Scroll.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Scroll.H; path = ../../fltk3/Fl_Scroll.H; sourceTree = SOURCE_ROOT; };
+		C9555E2C12DA01B400FFF041 /* Fl_Scrollbar.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Scrollbar.H; path = ../../fltk3/Fl_Scrollbar.H; sourceTree = SOURCE_ROOT; };
+		C9555E2D12DA01B400FFF041 /* Fl_Secret_Input.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Secret_Input.H; path = ../../fltk3/Fl_Secret_Input.H; sourceTree = SOURCE_ROOT; };
+		C9555E2E12DA01B400FFF041 /* Fl_Select_Browser.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Select_Browser.H; path = ../../fltk3/Fl_Select_Browser.H; sourceTree = SOURCE_ROOT; };
+		C9555E2F12DA01B400FFF041 /* Fl_Shared_Image.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Shared_Image.H; path = ../../fltk3/Fl_Shared_Image.H; sourceTree = SOURCE_ROOT; };
+		C9555E3012DA01B400FFF041 /* fl_show_colormap.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = fl_show_colormap.H; path = ../../fltk3/fl_show_colormap.H; sourceTree = SOURCE_ROOT; };
+		C9555E3112DA01B400FFF041 /* fl_show_input.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = fl_show_input.H; path = ../../fltk3/fl_show_input.H; sourceTree = SOURCE_ROOT; };
+		C9555E3212DA01B400FFF041 /* Fl_Simple_Counter.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Simple_Counter.H; path = ../../fltk3/Fl_Simple_Counter.H; sourceTree = SOURCE_ROOT; };
+		C9555E3312DA01B400FFF041 /* Fl_Single_Window.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Single_Window.H; path = ../../fltk3/Fl_Single_Window.H; sourceTree = SOURCE_ROOT; };
+		C9555E3412DA01B400FFF041 /* Fl_Slider.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Slider.H; path = ../../fltk3/Fl_Slider.H; sourceTree = SOURCE_ROOT; };
+		C9555E3512DA01B400FFF041 /* Fl_Spinner.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Spinner.H; path = ../../fltk3/Fl_Spinner.H; sourceTree = SOURCE_ROOT; };
+		C9555E3612DA01B400FFF041 /* Fl_Sys_Menu_Bar.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Sys_Menu_Bar.H; path = ../../fltk3/Fl_Sys_Menu_Bar.H; sourceTree = SOURCE_ROOT; };
+		C9555E3712DA01B400FFF041 /* Fl_Table_Row.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Table_Row.H; path = ../../fltk3/Fl_Table_Row.H; sourceTree = SOURCE_ROOT; };
+		C9555E3812DA01B400FFF041 /* Fl_Table.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Table.H; path = ../../fltk3/Fl_Table.H; sourceTree = SOURCE_ROOT; };
+		C9555E3912DA01B400FFF041 /* Fl_Tabs.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Tabs.H; path = ../../fltk3/Fl_Tabs.H; sourceTree = SOURCE_ROOT; };
+		C9555E3A12DA01B400FFF041 /* Fl_Text_Buffer.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Text_Buffer.H; path = ../../fltk3/Fl_Text_Buffer.H; sourceTree = SOURCE_ROOT; };
+		C9555E3C12DA01B400FFF041 /* Fl_Text_Display.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Text_Display.H; path = ../../fltk3/Fl_Text_Display.H; sourceTree = SOURCE_ROOT; };
+		C9555E3D12DA01B400FFF041 /* Fl_Text_Editor.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Text_Editor.H; path = ../../fltk3/Fl_Text_Editor.H; sourceTree = SOURCE_ROOT; };
+		C9555E3E12DA01B400FFF041 /* Fl_Tile.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Tile.H; path = ../../fltk3/Fl_Tile.H; sourceTree = SOURCE_ROOT; };
+		C9555E3F12DA01B400FFF041 /* Fl_Tiled_Image.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Tiled_Image.H; path = ../../fltk3/Fl_Tiled_Image.H; sourceTree = SOURCE_ROOT; };
+		C9555E4012DA01B400FFF041 /* Fl_Timer.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Timer.H; path = ../../fltk3/Fl_Timer.H; sourceTree = SOURCE_ROOT; };
+		C9555E4112DA01B400FFF041 /* Fl_Toggle_Button.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Toggle_Button.H; path = ../../fltk3/Fl_Toggle_Button.H; sourceTree = SOURCE_ROOT; };
+		C9555E4212DA01B400FFF041 /* Fl_Toggle_Light_Button.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Toggle_Light_Button.H; path = ../../fltk3/Fl_Toggle_Light_Button.H; sourceTree = SOURCE_ROOT; };
+		C9555E4312DA01B400FFF041 /* Fl_Toggle_Round_Button.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Toggle_Round_Button.H; path = ../../fltk3/Fl_Toggle_Round_Button.H; sourceTree = SOURCE_ROOT; };
+		C9555E4412DA01B400FFF041 /* Fl_Tooltip.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Tooltip.H; path = ../../fltk3/Fl_Tooltip.H; sourceTree = SOURCE_ROOT; };
+		C9555E4512DA01B400FFF041 /* Fl_Tree_Item_Array.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Tree_Item_Array.H; path = ../../fltk3/Fl_Tree_Item_Array.H; sourceTree = SOURCE_ROOT; };
+		C9555E4612DA01B400FFF041 /* Fl_Tree_Item.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Tree_Item.H; path = ../../fltk3/Fl_Tree_Item.H; sourceTree = SOURCE_ROOT; };
+		C9555E4712DA01B400FFF041 /* Fl_Tree_Prefs.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Tree_Prefs.H; path = ../../fltk3/Fl_Tree_Prefs.H; sourceTree = SOURCE_ROOT; };
+		C9555E4812DA01B400FFF041 /* Fl_Tree.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Tree.H; path = ../../fltk3/Fl_Tree.H; sourceTree = SOURCE_ROOT; };
+		C9555E4912DA01B400FFF041 /* fl_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fl_types.h; path = ../../fltk3/fl_types.h; sourceTree = SOURCE_ROOT; };
+		C9555E4A12DA01B400FFF041 /* fl_utf8.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fl_utf8.h; path = ../../fltk3/fl_utf8.h; sourceTree = SOURCE_ROOT; };
+		C9555E4B12DA01B400FFF041 /* Fl_Valuator.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Valuator.H; path = ../../fltk3/Fl_Valuator.H; sourceTree = SOURCE_ROOT; };
+		C9555E4C12DA01B400FFF041 /* Fl_Value_Input.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Value_Input.H; path = ../../fltk3/Fl_Value_Input.H; sourceTree = SOURCE_ROOT; };
+		C9555E4D12DA01B400FFF041 /* Fl_Value_Output.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Value_Output.H; path = ../../fltk3/Fl_Value_Output.H; sourceTree = SOURCE_ROOT; };
+		C9555E4E12DA01B400FFF041 /* Fl_Value_Slider.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Value_Slider.H; path = ../../fltk3/Fl_Value_Slider.H; sourceTree = SOURCE_ROOT; };
+		C9555E4F12DA01B400FFF041 /* Fl_Widget.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Widget.H; path = ../../fltk3/Fl_Widget.H; sourceTree = SOURCE_ROOT; };
+		C9555E5012DA01B400FFF041 /* Fl_Wizard.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Wizard.H; path = ../../fltk3/Fl_Wizard.H; sourceTree = SOURCE_ROOT; };
+		C9555E5112DA01B400FFF041 /* Fl_XBM_Image.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_XBM_Image.H; path = ../../fltk3/Fl_XBM_Image.H; sourceTree = SOURCE_ROOT; };
+		C9555E5212DA01B400FFF041 /* Fl_XPM_Image.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_XPM_Image.H; path = ../../fltk3/Fl_XPM_Image.H; sourceTree = SOURCE_ROOT; };
+		C9555E5312DA01B400FFF041 /* forms.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = forms.H; path = ../../fltk3/forms.H; sourceTree = SOURCE_ROOT; };
+		C9555E5412DA01B400FFF041 /* gl_draw.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = gl_draw.H; path = ../../fltk3/gl_draw.H; sourceTree = SOURCE_ROOT; };
+		C9555E5512DA01B400FFF041 /* gl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gl.h; path = ../../fltk3/gl.h; sourceTree = SOURCE_ROOT; };
+		C9555E5612DA01B400FFF041 /* gl2opengl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gl2opengl.h; path = ../../fltk3/gl2opengl.h; sourceTree = SOURCE_ROOT; };
+		C9555E5712DA01B400FFF041 /* glu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = glu.h; path = ../../fltk3/glu.h; sourceTree = SOURCE_ROOT; };
+		C9555E5812DA01B400FFF041 /* glut.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = glut.H; path = ../../fltk3/glut.H; sourceTree = SOURCE_ROOT; };
+		C9555E5912DA01B500FFF041 /* mac.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = mac.H; path = ../../fltk3/mac.H; sourceTree = SOURCE_ROOT; };
+		C9555E5A12DA01B500FFF041 /* math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = math.h; path = ../../fltk3/math.h; sourceTree = SOURCE_ROOT; };
+		C9555E5B12DA01B500FFF041 /* names.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = names.h; path = ../../fltk3/names.h; sourceTree = SOURCE_ROOT; };
+		C9555E5D12DA01B500FFF041 /* run.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = run.h; path = ../../fltk3/run.h; sourceTree = SOURCE_ROOT; };
+		C9555E5E12DA01B500FFF041 /* win32.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = win32.H; path = ../../fltk3/win32.H; sourceTree = SOURCE_ROOT; };
+		C9555E5F12DA01B500FFF041 /* Window.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Window.h; path = ../../fltk3/Window.h; sourceTree = SOURCE_ROOT; };
+		C9555E6012DA01B500FFF041 /* x.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = x.H; path = ../../fltk3/x.H; sourceTree = SOURCE_ROOT; };
+		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>"; };
 		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; };
@@ -4771,6 +5080,14 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
+		C9555FCF12DA220500FFF041 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				C9555FD012DA220500FFF041 /* fltk.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 		CFFFB4C330636C95339A8F4F /* Frameworks */ = {
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
@@ -5237,6 +5554,7 @@
 				015D2BD894993395B263D6C0 /* Tests */,
 				DCB546B00EC62A9F8CC4181A /* Products */,
 				C9628FFA1274D0A1007D3CFE /* Resources */,
+				C9555FEA12DA220600FFF041 /* hello-Info copy.plist */,
 			);
 			sourceTree = "<group>";
 		};
@@ -5729,7 +6047,151 @@
 		B04F6E032ADAF0A16A860A2E /* Headers */ = {
 			isa = PBXGroup;
 			children = (
-				C95961641274CDEC009C0594 /* README.Xcode */,
+				C9555DCE12DA01B300FFF041 /* Box.h */,
+				C9555DCF12DA01B300FFF041 /* dirent.h */,
+				C9555DD012DA01B300FFF041 /* Enumerations.H */,
+				C9555DD112DA01B300FFF041 /* filename.H */,
+				C9555DD212DA01B300FFF041 /* Fl_Adjuster.H */,
+				C9555DD312DA01B300FFF041 /* fl_ask.H */,
+				C9555DD412DA01B300FFF041 /* Fl_Bitmap.H */,
+				C9555DD512DA01B300FFF041 /* Fl_BMP_Image.H */,
+				C9555DD612DA01B300FFF041 /* Fl_Browser_.H */,
+				C9555DD712DA01B300FFF041 /* Fl_Browser.H */,
+				C9555DD812DA01B300FFF041 /* Fl_Button.H */,
+				C9555DD912DA01B300FFF041 /* Fl_Cairo_Window.H */,
+				C9555DDA12DA01B300FFF041 /* Fl_Cairo.H */,
+				C9555DDB12DA01B300FFF041 /* Fl_Chart.H */,
+				C9555DDC12DA01B300FFF041 /* Fl_Check_Browser.H */,
+				C9555DDD12DA01B300FFF041 /* Fl_Check_Button.H */,
+				C9555DDE12DA01B300FFF041 /* Fl_Choice.H */,
+				C9555DDF12DA01B300FFF041 /* Fl_Clock.H */,
+				C9555DE012DA01B300FFF041 /* Fl_Color_Chooser.H */,
+				C9555DE112DA01B300FFF041 /* Fl_Counter.H */,
+				C9555DE212DA01B300FFF041 /* Fl_Device.H */,
+				C9555DE312DA01B300FFF041 /* Fl_Dial.H */,
+				C9555DE412DA01B300FFF041 /* Fl_Double_Window.H */,
+				C9555DE512DA01B300FFF041 /* fl_draw.H */,
+				C9555DE612DA01B300FFF041 /* Fl_Export.H */,
+				C9555DE712DA01B300FFF041 /* Fl_File_Browser.H */,
+				C9555DE812DA01B300FFF041 /* Fl_File_Chooser.H */,
+				C9555DE912DA01B300FFF041 /* Fl_File_Icon.H */,
+				C9555DEA12DA01B300FFF041 /* Fl_File_Input.H */,
+				C9555DEB12DA01B300FFF041 /* Fl_Fill_Dial.H */,
+				C9555DEC12DA01B300FFF041 /* Fl_Fill_Slider.H */,
+				C9555DED12DA01B300FFF041 /* Fl_Float_Input.H */,
+				C9555DEE12DA01B300FFF041 /* Fl_FormsBitmap.H */,
+				C9555DEF12DA01B300FFF041 /* Fl_FormsPixmap.H */,
+				C9555DF012DA01B300FFF041 /* Fl_Free.H */,
+				C9555DF112DA01B300FFF041 /* Fl_GIF_Image.H */,
+				C9555DF212DA01B300FFF041 /* Fl_Gl_Window.H */,
+				C9555DF312DA01B300FFF041 /* Fl_Group.H */,
+				C9555DF412DA01B300FFF041 /* Fl_Help_Dialog.H */,
+				C9555DF512DA01B300FFF041 /* Fl_Help_View.H */,
+				C9555DF612DA01B300FFF041 /* Fl_Hold_Browser.H */,
+				C9555DF712DA01B300FFF041 /* Fl_Hor_Fill_Slider.H */,
+				C9555DF812DA01B300FFF041 /* Fl_Hor_Nice_Slider.H */,
+				C9555DF912DA01B300FFF041 /* Fl_Hor_Slider.H */,
+				C9555DFA12DA01B300FFF041 /* Fl_Hor_Value_Slider.H */,
+				C9555DFB12DA01B300FFF041 /* Fl_Image.H */,
+				C9555DFC12DA01B300FFF041 /* Fl_Input_.H */,
+				C9555DFD12DA01B300FFF041 /* Fl_Input_Choice.H */,
+				C9555DFE12DA01B300FFF041 /* Fl_Input.H */,
+				C9555DFF12DA01B300FFF041 /* Fl_Int_Input.H */,
+				C9555E0012DA01B300FFF041 /* Fl_JPEG_Image.H */,
+				C9555E0112DA01B300FFF041 /* Fl_Light_Button.H */,
+				C9555E0212DA01B300FFF041 /* Fl_Line_Dial.H */,
+				C9555E0312DA01B300FFF041 /* Fl_Menu_.H */,
+				C9555E0412DA01B300FFF041 /* Fl_Menu_Bar.H */,
+				C9555E0512DA01B300FFF041 /* Fl_Menu_Button.H */,
+				C9555E0612DA01B300FFF041 /* Fl_Menu_Item.H */,
+				C9555E0712DA01B300FFF041 /* Fl_Menu_Window.H */,
+				C9555E0812DA01B300FFF041 /* Fl_Menu.H */,
+				C9555E0912DA01B300FFF041 /* fl_message.H */,
+				C9555E0A12DA01B300FFF041 /* Fl_Multi_Browser.H */,
+				C9555E0B12DA01B400FFF041 /* Fl_Multi_Label.H */,
+				C9555E0C12DA01B400FFF041 /* Fl_Multiline_Input.H */,
+				C9555E0D12DA01B400FFF041 /* Fl_Multiline_Output.H */,
+				C9555E0E12DA01B400FFF041 /* Fl_Native_File_Chooser_FLTK.H */,
+				C9555E0F12DA01B400FFF041 /* Fl_Native_File_Chooser_MAC.H */,
+				C9555E1012DA01B400FFF041 /* Fl_Native_File_Chooser_WIN32.H */,
+				C9555E1112DA01B400FFF041 /* Fl_Native_File_Chooser.H */,
+				C9555E1212DA01B400FFF041 /* Fl_Nice_Slider.H */,
+				C9555E1312DA01B400FFF041 /* Fl_Object.H */,
+				C9555E1412DA01B400FFF041 /* Fl_Output.H */,
+				C9555E1512DA01B400FFF041 /* Fl_Overlay_Window.H */,
+				C9555E1612DA01B400FFF041 /* Fl_Pack.H */,
+				C9555E1712DA01B400FFF041 /* Fl_Paged_Device.H */,
+				C9555E1812DA01B400FFF041 /* Fl_Pixmap.H */,
+				C9555E1912DA01B400FFF041 /* Fl_Plugin.H */,
+				C9555E1A12DA01B400FFF041 /* Fl_PNG_Image.H */,
+				C9555E1B12DA01B400FFF041 /* Fl_PNM_Image.H */,
+				C9555E1C12DA01B400FFF041 /* Fl_Positioner.H */,
+				C9555E1D12DA01B400FFF041 /* Fl_PostScript.H */,
+				C9555E1E12DA01B400FFF041 /* Fl_Preferences.H */,
+				C9555E1F12DA01B400FFF041 /* Fl_Printer.H */,
+				C9555E2112DA01B400FFF041 /* Fl_Progress.H */,
+				C9555E2212DA01B400FFF041 /* Fl_Radio_Button.H */,
+				C9555E2312DA01B400FFF041 /* Fl_Radio_Light_Button.H */,
+				C9555E2412DA01B400FFF041 /* Fl_Radio_Round_Button.H */,
+				C9555E2512DA01B400FFF041 /* Fl_Repeat_Button.H */,
+				C9555E2612DA01B400FFF041 /* Fl_Return_Button.H */,
+				C9555E2712DA01B400FFF041 /* Fl_RGB_Image.H */,
+				C9555E2812DA01B400FFF041 /* Fl_Roller.H */,
+				C9555E2912DA01B400FFF041 /* Fl_Round_Button.H */,
+				C9555E2A12DA01B400FFF041 /* Fl_Round_Clock.H */,
+				C9555E2B12DA01B400FFF041 /* Fl_Scroll.H */,
+				C9555E2C12DA01B400FFF041 /* Fl_Scrollbar.H */,
+				C9555E2D12DA01B400FFF041 /* Fl_Secret_Input.H */,
+				C9555E2E12DA01B400FFF041 /* Fl_Select_Browser.H */,
+				C9555E2F12DA01B400FFF041 /* Fl_Shared_Image.H */,
+				C9555E3012DA01B400FFF041 /* fl_show_colormap.H */,
+				C9555E3112DA01B400FFF041 /* fl_show_input.H */,
+				C9555E3212DA01B400FFF041 /* Fl_Simple_Counter.H */,
+				C9555E3312DA01B400FFF041 /* Fl_Single_Window.H */,
+				C9555E3412DA01B400FFF041 /* Fl_Slider.H */,
+				C9555E3512DA01B400FFF041 /* Fl_Spinner.H */,
+				C9555E3612DA01B400FFF041 /* Fl_Sys_Menu_Bar.H */,
+				C9555E3712DA01B400FFF041 /* Fl_Table_Row.H */,
+				C9555E3812DA01B400FFF041 /* Fl_Table.H */,
+				C9555E3912DA01B400FFF041 /* Fl_Tabs.H */,
+				C9555E3A12DA01B400FFF041 /* Fl_Text_Buffer.H */,
+				C9555E3C12DA01B400FFF041 /* Fl_Text_Display.H */,
+				C9555E3D12DA01B400FFF041 /* Fl_Text_Editor.H */,
+				C9555E3E12DA01B400FFF041 /* Fl_Tile.H */,
+				C9555E3F12DA01B400FFF041 /* Fl_Tiled_Image.H */,
+				C9555E4012DA01B400FFF041 /* Fl_Timer.H */,
+				C9555E4112DA01B400FFF041 /* Fl_Toggle_Button.H */,
+				C9555E4212DA01B400FFF041 /* Fl_Toggle_Light_Button.H */,
+				C9555E4312DA01B400FFF041 /* Fl_Toggle_Round_Button.H */,
+				C9555E4412DA01B400FFF041 /* Fl_Tooltip.H */,
+				C9555E4512DA01B400FFF041 /* Fl_Tree_Item_Array.H */,
+				C9555E4612DA01B400FFF041 /* Fl_Tree_Item.H */,
+				C9555E4712DA01B400FFF041 /* Fl_Tree_Prefs.H */,
+				C9555E4812DA01B400FFF041 /* Fl_Tree.H */,
+				C9555E4912DA01B400FFF041 /* fl_types.h */,
+				C9555E4A12DA01B400FFF041 /* fl_utf8.h */,
+				C9555E4B12DA01B400FFF041 /* Fl_Valuator.H */,
+				C9555E4C12DA01B400FFF041 /* Fl_Value_Input.H */,
+				C9555E4D12DA01B400FFF041 /* Fl_Value_Output.H */,
+				C9555E4E12DA01B400FFF041 /* Fl_Value_Slider.H */,
+				C9555E4F12DA01B400FFF041 /* Fl_Widget.H */,
+				C9555E5012DA01B400FFF041 /* Fl_Wizard.H */,
+				C9555E5112DA01B400FFF041 /* Fl_XBM_Image.H */,
+				C9555E5212DA01B400FFF041 /* Fl_XPM_Image.H */,
+				C9555E5312DA01B400FFF041 /* forms.H */,
+				C9555E5412DA01B400FFF041 /* gl_draw.H */,
+				C9555E5512DA01B400FFF041 /* gl.h */,
+				C9555E5612DA01B400FFF041 /* gl2opengl.h */,
+				C9555E5712DA01B400FFF041 /* glu.h */,
+				C9555E5812DA01B400FFF041 /* glut.H */,
+				C9555E5912DA01B500FFF041 /* mac.H */,
+				C9555E5A12DA01B500FFF041 /* math.h */,
+				C9555E5B12DA01B500FFF041 /* names.h */,
+				C9555E5D12DA01B500FFF041 /* run.h */,
+				C9555E5E12DA01B500FFF041 /* win32.H */,
+				C9555E5F12DA01B500FFF041 /* Window.h */,
+				C9555E6012DA01B500FFF041 /* x.H */,
+				C9555E6112DA01B500FFF041 /* Xutf8.h */,
 			);
 			name = Headers;
 			sourceTree = "<group>";
@@ -6011,6 +6473,7 @@
 				C05E4BE052F69E6F1FD92730 /* utf8.app */,
 				5191489A6263E11B65A57B4D /* valuators.app */,
 				C9165EAF1291A304003FF4F0 /* utf8.app */,
+				C9555FD712DA220500FFF041 /* hello.app */,
 			);
 			name = Products;
 			sourceTree = "<group>";
@@ -6101,7 +6564,6 @@
 			isa = PBXHeadersBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				C959618A1274CEA6009C0594 /* README.Xcode in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -6109,7 +6571,6 @@
 			isa = PBXHeadersBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				C95961891274CEA4009C0594 /* README.Xcode in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -6117,7 +6578,6 @@
 			isa = PBXHeadersBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				C95961871274CE9D009C0594 /* README.Xcode in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -6125,7 +6585,6 @@
 			isa = PBXHeadersBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				C95961881274CEA1009C0594 /* README.Xcode in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -6133,7 +6592,6 @@
 			isa = PBXHeadersBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				C95961861274CE9B009C0594 /* README.Xcode in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -6141,7 +6599,6 @@
 			isa = PBXHeadersBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				C95961841274CE92009C0594 /* README.Xcode in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -6150,7 +6607,151 @@
 			buildActionMask = 2147483647;
 			comments = "Copy just any file here so that the Headers link will be generated correctly.";
 			files = (
-				C95961851274CE97009C0594 /* README.Xcode in Headers */,
+				C9555E6212DA01B500FFF041 /* Box.h in Headers */,
+				C9555E6312DA01B500FFF041 /* dirent.h in Headers */,
+				C9555E6412DA01B500FFF041 /* Enumerations.H in Headers */,
+				C9555E6512DA01B500FFF041 /* filename.H in Headers */,
+				C9555E6612DA01B500FFF041 /* Fl_Adjuster.H in Headers */,
+				C9555E6712DA01B500FFF041 /* fl_ask.H in Headers */,
+				C9555E6812DA01B500FFF041 /* Fl_Bitmap.H in Headers */,
+				C9555E6912DA01B500FFF041 /* Fl_BMP_Image.H in Headers */,
+				C9555E6A12DA01B500FFF041 /* Fl_Browser_.H in Headers */,
+				C9555E6B12DA01B500FFF041 /* Fl_Browser.H in Headers */,
+				C9555E6C12DA01B500FFF041 /* Fl_Button.H in Headers */,
+				C9555E6D12DA01B500FFF041 /* Fl_Cairo_Window.H in Headers */,
+				C9555E6E12DA01B500FFF041 /* Fl_Cairo.H in Headers */,
+				C9555E6F12DA01B500FFF041 /* Fl_Chart.H in Headers */,
+				C9555E7012DA01B500FFF041 /* Fl_Check_Browser.H in Headers */,
+				C9555E7112DA01B500FFF041 /* Fl_Check_Button.H in Headers */,
+				C9555E7212DA01B500FFF041 /* Fl_Choice.H in Headers */,
+				C9555E7312DA01B500FFF041 /* Fl_Clock.H in Headers */,
+				C9555E7412DA01B500FFF041 /* Fl_Color_Chooser.H in Headers */,
+				C9555E7512DA01B500FFF041 /* Fl_Counter.H in Headers */,
+				C9555E7612DA01B500FFF041 /* Fl_Device.H in Headers */,
+				C9555E7712DA01B500FFF041 /* Fl_Dial.H in Headers */,
+				C9555E7812DA01B500FFF041 /* Fl_Double_Window.H in Headers */,
+				C9555E7912DA01B500FFF041 /* fl_draw.H in Headers */,
+				C9555E7A12DA01B500FFF041 /* Fl_Export.H in Headers */,
+				C9555E7B12DA01B500FFF041 /* Fl_File_Browser.H in Headers */,
+				C9555E7C12DA01B500FFF041 /* Fl_File_Chooser.H in Headers */,
+				C9555E7D12DA01B500FFF041 /* Fl_File_Icon.H in Headers */,
+				C9555E7E12DA01B500FFF041 /* Fl_File_Input.H in Headers */,
+				C9555E7F12DA01B500FFF041 /* Fl_Fill_Dial.H in Headers */,
+				C9555E8012DA01B500FFF041 /* Fl_Fill_Slider.H in Headers */,
+				C9555E8112DA01B500FFF041 /* Fl_Float_Input.H in Headers */,
+				C9555E8212DA01B500FFF041 /* Fl_FormsBitmap.H in Headers */,
+				C9555E8312DA01B500FFF041 /* Fl_FormsPixmap.H in Headers */,
+				C9555E8412DA01B500FFF041 /* Fl_Free.H in Headers */,
+				C9555E8512DA01B500FFF041 /* Fl_GIF_Image.H in Headers */,
+				C9555E8612DA01B500FFF041 /* Fl_Gl_Window.H in Headers */,
+				C9555E8712DA01B500FFF041 /* Fl_Group.H in Headers */,
+				C9555E8812DA01B500FFF041 /* Fl_Help_Dialog.H in Headers */,
+				C9555E8912DA01B500FFF041 /* Fl_Help_View.H in Headers */,
+				C9555E8A12DA01B500FFF041 /* Fl_Hold_Browser.H in Headers */,
+				C9555E8B12DA01B500FFF041 /* Fl_Hor_Fill_Slider.H in Headers */,
+				C9555E8C12DA01B500FFF041 /* Fl_Hor_Nice_Slider.H in Headers */,
+				C9555E8D12DA01B500FFF041 /* Fl_Hor_Slider.H in Headers */,
+				C9555E8E12DA01B500FFF041 /* Fl_Hor_Value_Slider.H in Headers */,
+				C9555E8F12DA01B500FFF041 /* Fl_Image.H in Headers */,
+				C9555E9012DA01B500FFF041 /* Fl_Input_.H in Headers */,
+				C9555E9112DA01B500FFF041 /* Fl_Input_Choice.H in Headers */,
+				C9555E9212DA01B500FFF041 /* Fl_Input.H in Headers */,
+				C9555E9312DA01B500FFF041 /* Fl_Int_Input.H in Headers */,
+				C9555E9412DA01B500FFF041 /* Fl_JPEG_Image.H in Headers */,
+				C9555E9512DA01B500FFF041 /* Fl_Light_Button.H in Headers */,
+				C9555E9612DA01B500FFF041 /* Fl_Line_Dial.H in Headers */,
+				C9555E9712DA01B500FFF041 /* Fl_Menu_.H in Headers */,
+				C9555E9812DA01B500FFF041 /* Fl_Menu_Bar.H in Headers */,
+				C9555E9912DA01B500FFF041 /* Fl_Menu_Button.H in Headers */,
+				C9555E9A12DA01B500FFF041 /* Fl_Menu_Item.H in Headers */,
+				C9555E9B12DA01B500FFF041 /* Fl_Menu_Window.H in Headers */,
+				C9555E9C12DA01B500FFF041 /* Fl_Menu.H in Headers */,
+				C9555E9D12DA01B500FFF041 /* fl_message.H in Headers */,
+				C9555E9E12DA01B500FFF041 /* Fl_Multi_Browser.H in Headers */,
+				C9555E9F12DA01B500FFF041 /* Fl_Multi_Label.H in Headers */,
+				C9555EA012DA01B500FFF041 /* Fl_Multiline_Input.H in Headers */,
+				C9555EA112DA01B500FFF041 /* Fl_Multiline_Output.H in Headers */,
+				C9555EA212DA01B500FFF041 /* Fl_Native_File_Chooser_FLTK.H in Headers */,
+				C9555EA312DA01B500FFF041 /* Fl_Native_File_Chooser_MAC.H in Headers */,
+				C9555EA412DA01B500FFF041 /* Fl_Native_File_Chooser_WIN32.H in Headers */,
+				C9555EA512DA01B500FFF041 /* Fl_Native_File_Chooser.H in Headers */,
+				C9555EA612DA01B500FFF041 /* Fl_Nice_Slider.H in Headers */,
+				C9555EA712DA01B500FFF041 /* Fl_Object.H in Headers */,
+				C9555EA812DA01B500FFF041 /* Fl_Output.H in Headers */,
+				C9555EA912DA01B500FFF041 /* Fl_Overlay_Window.H in Headers */,
+				C9555EAA12DA01B500FFF041 /* Fl_Pack.H in Headers */,
+				C9555EAB12DA01B500FFF041 /* Fl_Paged_Device.H in Headers */,
+				C9555EAC12DA01B500FFF041 /* Fl_Pixmap.H in Headers */,
+				C9555EAD12DA01B500FFF041 /* Fl_Plugin.H in Headers */,
+				C9555EAE12DA01B500FFF041 /* Fl_PNG_Image.H in Headers */,
+				C9555EAF12DA01B500FFF041 /* Fl_PNM_Image.H in Headers */,
+				C9555EB012DA01B500FFF041 /* Fl_Positioner.H in Headers */,
+				C9555EB112DA01B500FFF041 /* Fl_PostScript.H in Headers */,
+				C9555EB212DA01B500FFF041 /* Fl_Preferences.H in Headers */,
+				C9555EB312DA01B500FFF041 /* Fl_Printer.H in Headers */,
+				C9555EB512DA01B500FFF041 /* Fl_Progress.H in Headers */,
+				C9555EB612DA01B500FFF041 /* Fl_Radio_Button.H in Headers */,
+				C9555EB712DA01B500FFF041 /* Fl_Radio_Light_Button.H in Headers */,
+				C9555EB812DA01B500FFF041 /* Fl_Radio_Round_Button.H in Headers */,
+				C9555EB912DA01B500FFF041 /* Fl_Repeat_Button.H in Headers */,
+				C9555EBA12DA01B500FFF041 /* Fl_Return_Button.H in Headers */,
+				C9555EBB12DA01B500FFF041 /* Fl_RGB_Image.H in Headers */,
+				C9555EBC12DA01B500FFF041 /* Fl_Roller.H in Headers */,
+				C9555EBD12DA01B500FFF041 /* Fl_Round_Button.H in Headers */,
+				C9555EBE12DA01B500FFF041 /* Fl_Round_Clock.H in Headers */,
+				C9555EBF12DA01B500FFF041 /* Fl_Scroll.H in Headers */,
+				C9555EC012DA01B500FFF041 /* Fl_Scrollbar.H in Headers */,
+				C9555EC112DA01B500FFF041 /* Fl_Secret_Input.H in Headers */,
+				C9555EC212DA01B500FFF041 /* Fl_Select_Browser.H in Headers */,
+				C9555EC312DA01B500FFF041 /* Fl_Shared_Image.H in Headers */,
+				C9555EC412DA01B500FFF041 /* fl_show_colormap.H in Headers */,
+				C9555EC512DA01B500FFF041 /* fl_show_input.H in Headers */,
+				C9555EC612DA01B500FFF041 /* Fl_Simple_Counter.H in Headers */,
+				C9555EC712DA01B500FFF041 /* Fl_Single_Window.H in Headers */,
+				C9555EC812DA01B500FFF041 /* Fl_Slider.H in Headers */,
+				C9555EC912DA01B500FFF041 /* Fl_Spinner.H in Headers */,
+				C9555ECA12DA01B500FFF041 /* Fl_Sys_Menu_Bar.H in Headers */,
+				C9555ECB12DA01B500FFF041 /* Fl_Table_Row.H in Headers */,
+				C9555ECC12DA01B500FFF041 /* Fl_Table.H in Headers */,
+				C9555ECD12DA01B500FFF041 /* Fl_Tabs.H in Headers */,
+				C9555ECE12DA01B500FFF041 /* Fl_Text_Buffer.H in Headers */,
+				C9555ED012DA01B500FFF041 /* Fl_Text_Display.H in Headers */,
+				C9555ED112DA01B500FFF041 /* Fl_Text_Editor.H in Headers */,
+				C9555ED212DA01B500FFF041 /* Fl_Tile.H in Headers */,
+				C9555ED312DA01B500FFF041 /* Fl_Tiled_Image.H in Headers */,
+				C9555ED412DA01B500FFF041 /* Fl_Timer.H in Headers */,
+				C9555ED512DA01B500FFF041 /* Fl_Toggle_Button.H in Headers */,
+				C9555ED612DA01B500FFF041 /* Fl_Toggle_Light_Button.H in Headers */,
+				C9555ED712DA01B500FFF041 /* Fl_Toggle_Round_Button.H in Headers */,
+				C9555ED812DA01B500FFF041 /* Fl_Tooltip.H in Headers */,
+				C9555ED912DA01B500FFF041 /* Fl_Tree_Item_Array.H in Headers */,
+				C9555EDA12DA01B500FFF041 /* Fl_Tree_Item.H in Headers */,
+				C9555EDB12DA01B500FFF041 /* Fl_Tree_Prefs.H in Headers */,
+				C9555EDC12DA01B500FFF041 /* Fl_Tree.H in Headers */,
+				C9555EDD12DA01B500FFF041 /* fl_types.h in Headers */,
+				C9555EDE12DA01B500FFF041 /* fl_utf8.h in Headers */,
+				C9555EDF12DA01B500FFF041 /* Fl_Valuator.H in Headers */,
+				C9555EE012DA01B500FFF041 /* Fl_Value_Input.H in Headers */,
+				C9555EE112DA01B500FFF041 /* Fl_Value_Output.H in Headers */,
+				C9555EE212DA01B500FFF041 /* Fl_Value_Slider.H in Headers */,
+				C9555EE312DA01B500FFF041 /* Fl_Widget.H in Headers */,
+				C9555EE412DA01B500FFF041 /* Fl_Wizard.H in Headers */,
+				C9555EE512DA01B500FFF041 /* Fl_XBM_Image.H in Headers */,
+				C9555EE612DA01B500FFF041 /* Fl_XPM_Image.H in Headers */,
+				C9555EE712DA01B500FFF041 /* forms.H in Headers */,
+				C9555EE812DA01B500FFF041 /* gl_draw.H in Headers */,
+				C9555EE912DA01B500FFF041 /* gl.h in Headers */,
+				C9555EEA12DA01B500FFF041 /* gl2opengl.h in Headers */,
+				C9555EEB12DA01B500FFF041 /* glu.h in Headers */,
+				C9555EEC12DA01B500FFF041 /* glut.H in Headers */,
+				C9555EED12DA01B500FFF041 /* mac.H in Headers */,
+				C9555EEE12DA01B500FFF041 /* math.h in Headers */,
+				C9555EEF12DA01B500FFF041 /* names.h in Headers */,
+				C9555EF112DA01B500FFF041 /* run.h in Headers */,
+				C9555EF212DA01B500FFF041 /* win32.H in Headers */,
+				C9555EF312DA01B500FFF041 /* Window.h in Headers */,
+				C9555EF412DA01B500FFF041 /* x.H in Headers */,
+				C9555EF512DA01B500FFF041 /* Xutf8.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -7554,6 +8155,26 @@
 			productReference = C9165EAF1291A304003FF4F0 /* utf8.app */;
 			productType = "com.apple.product-type.application";
 		};
+		C9555FC912DA220500FFF041 /* hello copy */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = C9555FD412DA220500FFF041 /* Build configuration list for PBXNativeTarget "hello copy" */;
+			buildPhases = (
+				C9555FCC12DA220500FFF041 /* Resources */,
+				C9555FCD12DA220500FFF041 /* Sources */,
+				C9555FCF12DA220500FFF041 /* Frameworks */,
+				C9555FD112DA220500FFF041 /* CopyFiles */,
+			);
+			buildRules = (
+				C9555FD312DA220500FFF041 /* PBXBuildRule */,
+			);
+			dependencies = (
+				C9555FCA12DA220500FFF041 /* PBXTargetDependency */,
+			);
+			name = "hello copy";
+			productName = hello;
+			productReference = C9555FD712DA220500FFF041 /* hello.app */;
+			productType = "com.apple.product-type.application";
+		};
 		CA05747C492074A51F2F35BC /* iconize */ = {
 			isa = PBXNativeTarget;
 			buildConfigurationList = A28344FBEB8BBC1EB0B0B397 /* Build configuration list for PBXNativeTarget "iconize" */;
@@ -7939,6 +8560,7 @@
 				C9165EA11291A304003FF4F0 /* unittests */,
 				2BFE084E4D6FAB77DCAF0A83 /* utf8 */,
 				E167C0E81B125EBADAC8ED73 /* valuators */,
+				C9555FC912DA220500FFF041 /* hello copy */,
 			);
 		};
 /* End PBXProject section */
@@ -8033,7 +8655,6 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				C95961681274CDEC009C0594 /* README.Xcode in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -8181,7 +8802,6 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				C95961651274CDEC009C0594 /* README.Xcode in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -8217,7 +8837,6 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				C95961671274CDEC009C0594 /* README.Xcode in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -8274,7 +8893,6 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				C959616B1274CDEC009C0594 /* README.Xcode in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -8289,7 +8907,6 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				C95961691274CDEC009C0594 /* README.Xcode in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -8413,6 +9030,13 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
+		C9555FCC12DA220500FFF041 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 		D5AB2E01EE1DBEB40D62B39C /* Resources */ = {
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
@@ -8424,7 +9048,6 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				C959616A1274CDEC009C0594 /* README.Xcode in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -8446,7 +9069,6 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				C95961661274CDEC009C0594 /* README.Xcode in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -9272,6 +9894,14 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
+		C9555FCD12DA220500FFF041 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				C9555FCE12DA220500FFF041 /* hello.cxx in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 		CA99DB1AAB6C9D1F7D21B324 /* Sources */ = {
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
@@ -10176,6 +10806,11 @@
 			target = A57FDE871C99A52BEEDEE68C /* fltk */;
 			targetProxy = 748488216C249915C5812F7F /* PBXContainerItemProxy */;
 		};
+		C9555FCA12DA220500FFF041 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = A57FDE871C99A52BEEDEE68C /* fltk */;
+			targetProxy = C9555FCB12DA220500FFF041 /* PBXContainerItemProxy */;
+		};
 		C97AC7320761F9B9C60C0B57 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
 			target = A57FDE871C99A52BEEDEE68C /* fltk */;
@@ -14355,6 +14990,67 @@
 			};
 			name = Release;
 		};
+		C9555FD512DA220500FFF041 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				COPY_PHASE_STRIP = NO;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_ENABLE_FIX_AND_CONTINUE = YES;
+				GCC_MODEL_TUNING = G5;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = fltk.pch;
+				GCC_PREPROCESSOR_DEFINITIONS = "USING_XCODE=1";
+				HEADER_SEARCH_PATHS = (
+					../../ide/XCode3/,
+					../../,
+					../../png,
+					../../jpeg,
+				);
+				INFOPLIST_FILE = "plists/hello-Info copy.plist";
+				INSTALL_PATH = "$(HOME)/Applications";
+				OTHER_LDFLAGS = (
+					"-framework",
+					Cocoa,
+				);
+				PRODUCT_NAME = hello;
+				WARNING_CFLAGS = (
+					"-Wno-format-security",
+					"-Wall",
+				);
+			};
+			name = Debug;
+		};
+		C9555FD612DA220500FFF041 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_MODEL_TUNING = G5;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = fltk.pch;
+				GCC_PREPROCESSOR_DEFINITIONS = "USING_XCODE=1";
+				HEADER_SEARCH_PATHS = (
+					../../ide/XCode3/,
+					../../,
+					../../png,
+					../../jpeg,
+				);
+				INFOPLIST_FILE = "plists/hello-Info copy.plist";
+				INSTALL_PATH = "$(HOME)/Applications";
+				OTHER_LDFLAGS = (
+					"-framework",
+					Cocoa,
+				);
+				PRODUCT_NAME = hello;
+				WARNING_CFLAGS = (
+					"-Wno-format-security",
+					"-Wall",
+				);
+			};
+			name = Release;
+		};
 		CB5DC25E5DACEFD0C087A26C /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
@@ -15718,6 +16414,15 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Debug;
 		};
+		C9555FD412DA220500FFF041 /* Build configuration list for PBXNativeTarget "hello copy" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				C9555FD512DA220500FFF041 /* Debug */,
+				C9555FD612DA220500FFF041 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Debug;
+		};
 		CC535F451DEEEC6CB8B8BE9D /* Build configuration list for PBXNativeTarget "fullscreen" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (

Modified: branches/branch-3.0-2011/src/Fl.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -31,8 +31,8 @@
 //          to implement clipping. This should be changed into pure
 //          Quartz calls in the near future.
 #include <config.h>
-#include <fltk3/Fl.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/run.h>
+#include <fltk3/Window.h>
 #include <fltk3/Fl_Tooltip.H>
 
 // recent versions of MinGW warn: "Please include winsock2.h before windows.h",
@@ -67,41 +67,41 @@
 // Globals...
 //
 #ifndef FL_DOXYGEN
-Fl_Widget	*Fl::belowmouse_,
-		*Fl::pushed_,
-		*Fl::focus_,
-		*Fl::selection_owner_;
-int		Fl::damage_,
-		Fl::e_number,
-		Fl::e_x,
-		Fl::e_y,
-		Fl::e_x_root,
-		Fl::e_y_root,
-		Fl::e_dx,
-		Fl::e_dy,
-		Fl::e_state,
-		Fl::e_clicks,
-		Fl::e_is_click,
-		Fl::e_keysym,
-                Fl::e_original_keysym,
-		Fl::scrollbar_size_ = 16;
+Fl_Widget	*fltk3::belowmouse_,
+		*fltk3::pushed_,
+		*fltk3::focus_,
+		*fltk3::selection_owner_;
+int		fltk3::damage_,
+		fltk3::e_number,
+		fltk3::e_x,
+		fltk3::e_y,
+		fltk3::e_x_root,
+		fltk3::e_y_root,
+		fltk3::e_dx,
+		fltk3::e_dy,
+		fltk3::e_state,
+		fltk3::e_clicks,
+		fltk3::e_is_click,
+		fltk3::e_keysym,
+                fltk3::e_original_keysym,
+		fltk3::scrollbar_size_ = 16;
 
-char		*Fl::e_text = (char *)"";
-int		Fl::e_length;
+char		*fltk3::e_text = (char *)"";
+int		fltk3::e_length;
 
-unsigned char   Fl::options_[] = { 0, 0 };
-unsigned char   Fl::options_read_ = 0;
+unsigned char   fltk3::options_[] = { 0, 0 };
+unsigned char   fltk3::options_read_ = 0;
 
 
-Fl_Window *fl_xfocus;	// which window X thinks has focus
-Fl_Window *fl_xmousewin;// which window X thinks has FL_ENTER
-Fl_Window *Fl::grab_;	// most recent Fl::grab()
-Fl_Window *Fl::modal_;	// topmost modal() window
+fltk3::Window *fl_xfocus;	// which window X thinks has focus
+fltk3::Window *fl_xmousewin;// which window X thinks has FL_ENTER
+fltk3::Window *fltk3::grab_;	// most recent fltk3::grab()
+fltk3::Window *fltk3::modal_;	// topmost modal() window
 
 #endif // FL_DOXYGEN
 
 //
-// 'Fl::version()' - Return the API version number...
+// 'fltk3::version()' - Return the API version number...
 //
 
 double
@@ -109,7 +109,7 @@
   Returns the compiled-in value of the FL_VERSION constant. This
   is useful for checking the version of a shared library.
 */
-Fl::version() {
+fltk3::version() {
   return FL_VERSION;
 }
 
@@ -121,7 +121,7 @@
   Fl_Text_Display widgets.
   \returns The default size for widget scrollbars, in pixels.
 */
-int Fl::scrollbar_size() {
+int fltk3::scrollbar_size() {
   return scrollbar_size_;
 }
 
@@ -133,7 +133,7 @@
   Fl_Text_Display widgets.
   \param[in] W The new default size for widget scrollbars, in pixels.
 */
-void Fl::scrollbar_size(int W) {
+void fltk3::scrollbar_size(int W) {
   scrollbar_size_ = W;
 }
 
@@ -145,7 +145,7 @@
     should always call this rather than doing your own comparison so you
     are consistent about edge effects.
 */
-int Fl::event_inside(int xx,int yy,int ww,int hh) /*const*/ {
+int fltk3::event_inside(int xx,int yy,int ww,int hh) /*const*/ {
   int mx = e_x - xx;
   int my = e_y - yy;
   return (mx >= 0 && mx < ww && my >= 0 && my < hh);
@@ -157,7 +157,7 @@
     should always call this rather than doing your own comparison so you
     are consistent about edge effects.
 */
-int Fl::event_inside(const Fl_Widget *o) /*const*/ {
+int fltk3::event_inside(const Fl_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());
@@ -226,12 +226,12 @@
 // time interval:
 static double missed_timeout_by;
 
-void Fl::add_timeout(double time, Fl_Timeout_Handler cb, void *argp) {
+void fltk3::add_timeout(double time, Fl_Timeout_Handler cb, void *argp) {
   elapse_timeouts();
   repeat_timeout(time, cb, argp);
 }
 
-void Fl::repeat_timeout(double time, Fl_Timeout_Handler cb, void *argp) {
+void fltk3::repeat_timeout(double time, Fl_Timeout_Handler cb, void *argp) {
   time += missed_timeout_by; if (time < -.05) time = 0;
   Timeout* t = free_timeout;
   if (t) {
@@ -252,7 +252,7 @@
 /**
   Returns true if the timeout exists and has not been called yet.
 */
-int Fl::has_timeout(Fl_Timeout_Handler cb, void *argp) {
+int fltk3::has_timeout(Fl_Timeout_Handler cb, void *argp) {
   for (Timeout* t = first_timeout; t; t = t->next)
     if (t->cb == cb && t->arg == argp) return 1;
   return 0;
@@ -262,7 +262,7 @@
   Removes a timeout callback. It is harmless to remove a timeout
   callback that no longer exists.
 */
-void Fl::remove_timeout(Fl_Timeout_Handler cb, void *argp) {
+void fltk3::remove_timeout(Fl_Timeout_Handler cb, void *argp) {
   // This version removes all matching timeouts, not just the first one.
   // This may change in the future.
   for (Timeout** p = &first_timeout; *p;) {
@@ -285,7 +285,7 @@
 // This is a bit messy because I want to allow checks to be added,
 // removed, and have wait() called from inside them, to do this
 // next_check points at the next unprocessed one for the outermost
-// call to Fl::wait().
+// call to fltk3::wait().
 
 struct Check {
   void (*cb)(void*);
@@ -320,12 +320,12 @@
   }
   
   main() {
-   Fl::add_check(callback);
-   return Fl::run();
+   fltk3::add_check(callback);
+   return fltk3::run();
   }
   \endcode
 */
-void Fl::add_check(Fl_Timeout_Handler cb, void *argp) {
+void fltk3::add_check(Fl_Timeout_Handler cb, void *argp) {
   Check* t = free_check;
   if (t) free_check = t->next;
   else t = new Check;
@@ -340,7 +340,7 @@
   Removes a check callback. It is harmless to remove a check
   callback that no longer exists.
 */
-void Fl::remove_check(Fl_Timeout_Handler cb, void *argp) {
+void fltk3::remove_check(Fl_Timeout_Handler cb, void *argp) {
   for (Check** p = &first_check; *p;) {
     Check* t = *p;
     if (t->cb == cb && t->arg == argp) {
@@ -357,7 +357,7 @@
 /**
   Returns 1 if the check exists and has not been called yet, 0 otherwise.
 */
-int Fl::has_check(Fl_Timeout_Handler cb, void *argp) {
+int fltk3::has_check(Fl_Timeout_Handler cb, void *argp) {
   for (Check** p = &first_check; *p;) {
     Check* t = *p;
     if (t->cb == cb && t->arg == argp) {
@@ -390,7 +390,7 @@
 ////////////////////////////////////////////////////////////////
 // wait/run/check/ready:
 
-void (*Fl::idle)(); // see Fl_add_idle.cxx for the add/remove functions
+void (*fltk3::idle)(); // see Fl_add_idle.cxx for the add/remove functions
 
 extern int fl_ready(); // in Fl_<platform>.cxx
 extern int fl_wait(double time); // in Fl_<platform>.cxx
@@ -398,7 +398,7 @@
 /**
   See int wait()
 */
-double Fl::wait(double time_to_wait) {
+double fltk3::wait(double time_to_wait) {
   // delete all widgets that were listed during callbacks
   do_widget_deletion();
 
@@ -472,13 +472,13 @@
 #define FOREVER 1e20
 
 /**
-  As long as any windows are displayed this calls Fl::wait()
+  As long as any windows are displayed this calls fltk3::wait()
   repeatedly.  When all the windows are closed it returns zero
   (supposedly it would return non-zero on any errors, but FLTK calls
   exit directly for these).  A normal program will end main()
-  with return Fl::run();.
+  with return fltk3::run();.
 */
-int Fl::run() {
+int fltk3::run() {
   while (Fl_X::first) wait(FOREVER);
   return 0;
 }
@@ -529,10 +529,10 @@
   program state.
   
   What this really does is call all idle callbacks, all elapsed
-  timeouts, call Fl::flush() to get the screen to update, and
+  timeouts, call fltk3::flush() to get the screen to update, and
   then wait some time (zero if there are idle callbacks, the shortest of
   all pending timeouts, or infinity), for any events from the user or
-  any Fl::add_fd() callbacks.  It then handles the events and
+  any fltk3::add_fd() callbacks.  It then handles the events and
   calls the callbacks and then returns.
   
   The return value of the first form is non-zero if there are
@@ -547,20 +547,20 @@
   return zero if <i>time</i> is zero).  It is negative if an error
   occurs (this will happen on UNIX if a signal happens).
 */
-int Fl::wait() {
+int fltk3::wait() {
   if (!Fl_X::first) return 0;
   wait(FOREVER);
   return Fl_X::first != 0; // return true if there is a window
 }
 
 /**
-  Same as Fl::wait(0).  Calling this during a big calculation
+  Same as fltk3::wait(0).  Calling this during a big calculation
   will keep the screen up to date and the interface responsive:
   
   \code
   while (!calculation_done()) {
   calculate();
-  Fl::check();
+  fltk3::check();
   if (user_hit_abort_button()) break;
   }
   \endcode
@@ -569,30 +569,30 @@
   windows are displayed (this is likely to change in future versions of
   FLTK).
 */
-int Fl::check() {
+int fltk3::check() {
   wait(0.0);
   return Fl_X::first != 0; // return true if there is a window
 }
 
 /**
-  This is similar to Fl::check() except this does \e not
-  call Fl::flush() or any callbacks, which is useful if your
+  This is similar to fltk3::check() except this does \e not
+  call fltk3::flush() or any callbacks, which is useful if your
   program is in a state where such callbacks are illegal.  This returns
-  true if Fl::check() would do anything (it will continue to
-  return true until you call Fl::check() or Fl::wait()).
+  true if fltk3::check() would do anything (it will continue to
+  return true until you call fltk3::check() or fltk3::wait()).
   
   \code
   while (!calculation_done()) {
   calculate();
-  if (Fl::ready()) {
+  if (fltk3::ready()) {
     do_expensive_cleanup();
-    Fl::check();
+    fltk3::check();
     if (user_hit_abort_button()) break;
   }
   }
   \endcode
 */
-int Fl::ready() {
+int fltk3::ready() {
 #if ! defined( WIN32 )  &&  ! defined(__APPLE__)
   if (first_timeout) {
     elapse_timeouts();
@@ -611,7 +611,7 @@
 Fl_X* Fl_X::first;
 #endif
 
-Fl_Window* fl_find(Window xid) {
+fltk3::Window* fl_find(Window xid) {
   Fl_X *window;
   for (Fl_X **pp = &Fl_X::first; (window = *pp); pp = &window->next)
 #if defined(WIN32) || defined(USE_X11)
@@ -622,7 +622,7 @@
 # error unsupported platform
 #endif // __APPLE__
 	{
-      if (window != Fl_X::first && !Fl::modal()) {
+      if (window != Fl_X::first && !fltk3::modal()) {
 	// make this window be first to speed up searches
 	// this is not done if modal is true to avoid messing up modal stack
 	*pp = window->next;
@@ -641,12 +641,12 @@
   
   The second form sets the window that is returned by
   first_window.  The window is removed from wherever it is in the
-  list and inserted at the top.  This is not done if Fl::modal()
+  list and inserted at the top.  This is not done if fltk3::modal()
   is on or if the window is not shown(). Because the first window
   is used to set the "parent" of modal windows, this is often
   useful.
 */
-Fl_Window* Fl::first_window() {
+fltk3::Window* fltk3::first_window() {
   Fl_X* i = Fl_X::first;
   return i ? i->w : 0;
 }
@@ -655,15 +655,15 @@
   Returns the next top-level window in the list of shown() windows.  You can
   use this call to iterate through all the windows that are shown().
 */
-Fl_Window* Fl::next_window(const Fl_Window* window) {
+fltk3::Window* fltk3::next_window(const fltk3::Window* window) {
   Fl_X* i = Fl_X::i(window)->next;
   return i ? i->w : 0;
 }
 
 /**
-  See Fl_Window* first_window()
+  See fltk3::Window* first_window()
 */
-void Fl::first_window(Fl_Window* window) {
+void fltk3::first_window(fltk3::Window* window) {
   if (!window || !window->shown()) return;
   fl_find( Fl_X::i(window)->xid );
 }
@@ -671,7 +671,7 @@
 /**
   Redraws all widgets.
 */
-void Fl::redraw() {
+void fltk3::redraw() {
   for (Fl_X* i = Fl_X::first; i; i = i->next) i->w->redraw();
 }
 
@@ -681,17 +681,17 @@
   
   This is what wait() does before looking for events.
 
-  Note: in multi-threaded applications you should only call Fl::flush()
+  Note: in multi-threaded applications you should only call fltk3::flush()
   from the main thread. If a child thread needs to trigger a redraw event,
-  it should instead call Fl::awake() to get the main thread to process the
+  it should instead call fltk3::awake() to get the main thread to process the
   event queue.
 */
-void Fl::flush() {
+void fltk3::flush() {
   if (damage()) {
     damage_ = 0;
     for (Fl_X* i = Fl_X::first; i; i = i->next) {
       if (i->wait_for_expose) {damage_ = 1; continue;}
-      Fl_Window* wi = i->w;
+      fltk3::Window* wi = i->w;
       if (!wi->visible_r()) continue;
       if (wi->damage()) {i->flush(); wi->clear_damage();}
       // destroy damage regions for windows that don't use them:
@@ -734,7 +734,7 @@
     zero from its handle() method.  Exactly which  ones may change
     in future versions, however.
 */
-void Fl::add_handler(Fl_Event_Handler ha) {
+void fltk3::add_handler(Fl_Event_Handler ha) {
   handler_link *l = new handler_link;
   l->handle = ha;
   l->next = handlers;
@@ -744,7 +744,7 @@
 /**
   Removes a previously added event handler.
 */
-void Fl::remove_handler(Fl_Event_Handler ha) {
+void fltk3::remove_handler(Fl_Event_Handler ha) {
   handler_link *l, *p;
 
   // Search for the handler in the list...
@@ -775,7 +775,7 @@
 /**
     Sets the widget that will receive FL_KEYBOARD events.
     
-    If you change Fl::focus(), the previous widget and all
+    If you change fltk3::focus(), the previous widget and all
     parents (that don't contain the new widget) are sent FL_UNFOCUS
     events.  Changing the focus does \e not send FL_FOCUS to
     this or any widget, because sending FL_FOCUS is supposed to
@@ -784,17 +784,17 @@
     
     \sa Fl_Widget::take_focus()
 */
-void Fl::focus(Fl_Widget *o) {
+void fltk3::focus(Fl_Widget *o) {
   if (o && !o->visible_focus()) return;
   if (grab()) return; // don't do anything while grab is on
   Fl_Widget *p = focus_;
   if (o != p) {
-    Fl::compose_reset();
+    fltk3::compose_reset();
     focus_ = o;
     // make sure that fl_xfocus is set to the top level window
     // of this widget, or fl_fix_focus will clear our focus again
     if (o) {
-      Fl_Window *win = 0, *w1 = o->window();
+      fltk3::Window *win = 0, *w1 = o->window();
       while (w1) { win=w1; w1=win->window(); }
       if (win) fl_xfocus = win;
     }
@@ -826,7 +826,7 @@
     if the widget wants the mouse (by it returning non-zero from 
     handle()).
 */
-void Fl::belowmouse(Fl_Widget *o) {
+void fltk3::belowmouse(Fl_Widget *o) {
   if (grab()) return; // don't do anything while grab is on
   Fl_Widget *p = belowmouse_;
   if (o != p) {
@@ -852,7 +852,7 @@
     if the widget wants the mouse (by it returning non-zero from 
     handle()).
 */
- void Fl::pushed(Fl_Widget *o) {
+ void fltk3::pushed(Fl_Widget *o) {
   pushed_ = o;
 }
 
@@ -872,46 +872,46 @@
   puts("fl_fix_focus();");
 #endif // DEBUG
 
-  if (Fl::grab()) return; // don't do anything while grab is on.
+  if (fltk3::grab()) return; // don't do anything while grab is on.
 
-  // set focus based on Fl::modal() and fl_xfocus
+  // set focus based on fltk3::modal() and fl_xfocus
   Fl_Widget* w = fl_xfocus;
   if (w) {
-    int saved = Fl::e_keysym;
-    if (Fl::e_keysym < (FL_Button + FL_LEFT_MOUSE) ||
-        Fl::e_keysym > (FL_Button + FL_RIGHT_MOUSE))
-      Fl::e_keysym = 0; // make sure widgets don't think a keystroke moved focus
+    int saved = fltk3::e_keysym;
+    if (fltk3::e_keysym < (FL_Button + FL_LEFT_MOUSE) ||
+        fltk3::e_keysym > (FL_Button + FL_RIGHT_MOUSE))
+      fltk3::e_keysym = 0; // make sure widgets don't think a keystroke moved focus
     while (w->parent()) w = w->parent();
-    if (Fl::modal()) w = Fl::modal();
-    if (!w->contains(Fl::focus()))
-      if (!w->take_focus()) Fl::focus(w);
-    Fl::e_keysym = saved;
+    if (fltk3::modal()) w = fltk3::modal();
+    if (!w->contains(fltk3::focus()))
+      if (!w->take_focus()) fltk3::focus(w);
+    fltk3::e_keysym = saved;
   } else
-    Fl::focus(0);
+    fltk3::focus(0);
 
 // MRS: Originally we checked the button state, but a user reported that it
 //      broke click-to-focus in FLWM?!?
-//  if (!(Fl::event_state() & 0x7f00000 /*FL_BUTTONS*/)) {
-  if (!Fl::pushed()) {
-    // set belowmouse based on Fl::modal() and fl_xmousewin:
+//  if (!(fltk3::event_state() & 0x7f00000 /*FL_BUTTONS*/)) {
+  if (!fltk3::pushed()) {
+    // set belowmouse based on fltk3::modal() and fl_xmousewin:
     w = fl_xmousewin;
     if (w) {
-      if (Fl::modal()) w = Fl::modal();
-      if (!w->contains(Fl::belowmouse())) {
-        int old_event = Fl::e_number;
-	w->handle(Fl::e_number = FL_ENTER);
-	Fl::e_number = old_event;
-	if (!w->contains(Fl::belowmouse())) Fl::belowmouse(w);
+      if (fltk3::modal()) w = fltk3::modal();
+      if (!w->contains(fltk3::belowmouse())) {
+        int old_event = fltk3::e_number;
+	w->handle(fltk3::e_number = FL_ENTER);
+	fltk3::e_number = old_event;
+	if (!w->contains(fltk3::belowmouse())) fltk3::belowmouse(w);
       } else {
 	// send a FL_MOVE event so the enter/leave state is up to date
-	Fl::e_x = Fl::e_x_root-fl_xmousewin->x();
-	Fl::e_y = Fl::e_y_root-fl_xmousewin->y();
-        int old_event = Fl::e_number;
-	w->handle(Fl::e_number = FL_MOVE);
-	Fl::e_number = old_event;
+	fltk3::e_x = fltk3::e_x_root-fl_xmousewin->x();
+	fltk3::e_y = fltk3::e_y_root-fl_xmousewin->y();
+        int old_event = fltk3::e_number;
+	w->handle(fltk3::e_number = FL_MOVE);
+	fltk3::e_number = old_event;
       }
     } else {
-      Fl::belowmouse(0);
+      fltk3::belowmouse(0);
       Fl_Tooltip::enter(0);
     }
   }
@@ -934,12 +934,12 @@
   printf("fl_throw_focus(o=%p)\n", o);
 #endif // DEBUG
 
-  if (o->contains(Fl::pushed())) Fl::pushed_ = 0;
+  if (o->contains(fltk3::pushed())) fltk3::pushed_ = 0;
 #if !(defined(WIN32) || defined(__APPLE__))
   if (o->contains(fl_selection_requestor)) fl_selection_requestor = 0;
 #endif
-  if (o->contains(Fl::belowmouse())) Fl::belowmouse_ = 0;
-  if (o->contains(Fl::focus())) Fl::focus_ = 0;
+  if (o->contains(fltk3::belowmouse())) fltk3::belowmouse_ = 0;
+  if (o->contains(fltk3::focus())) fltk3::focus_ = 0;
   if (o == fl_xfocus) fl_xfocus = 0;
   if (o == Fl_Tooltip::current()) Fl_Tooltip::current(0);
   if (o == fl_xmousewin) fl_xmousewin = 0;
@@ -952,9 +952,9 @@
 // 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, Fl_Window* window) {
+static int send(int event, Fl_Widget* to, fltk3::Window* window) {
   int dx, dy;
-  int old_event = Fl::e_number;
+  int old_event = fltk3::e_number;
   if (window) {
     dx = window->x();
     dy = window->y();
@@ -963,16 +963,16 @@
   }
   for (const Fl_Widget* w = to; w; w = w->parent())
     if (w->type()>=FL_WINDOW) {dx -= w->x(); dy -= w->y();}
-  int save_x = Fl::e_x; Fl::e_x += dx;
-  int save_y = Fl::e_y; Fl::e_y += dy;
-  int ret = to->handle(Fl::e_number = event);
-  Fl::e_number = old_event;
-  Fl::e_y = save_y;
-  Fl::e_x = save_x;
+  int save_x = fltk3::e_x; fltk3::e_x += dx;
+  int save_y = fltk3::e_y; fltk3::e_y += dy;
+  int ret = to->handle(fltk3::e_number = event);
+  fltk3::e_number = old_event;
+  fltk3::e_y = save_y;
+  fltk3::e_x = save_x;
   return ret;
 }
 
-int Fl::handle(int e, Fl_Window* window)
+int fltk3::handle(int e, fltk3::Window* window)
 /**
   Sends the event to a window for processing.  Returns non-zero if any
   widget uses the event.
@@ -991,16 +991,16 @@
     return 1;
 
   case FL_SHOW:
-    wi->Fl_Widget::show(); // this calls Fl_Widget::show(), not Fl_Window::show()
+    wi->Fl_Widget::show(); // this calls Fl_Widget::show(), not fltk3::Window::show()
     return 1;
 
   case FL_HIDE:
-    wi->Fl_Widget::hide(); // this calls Fl_Widget::hide(), not Fl_Window::hide()
+    wi->Fl_Widget::hide(); // this calls Fl_Widget::hide(), not fltk3::Window::hide()
     return 1;
 
   case FL_PUSH:
 #ifdef DEBUG
-    printf("Fl::handle(e=%d, window=%p);\n", e, window);
+    printf("fltk3::handle(e=%d, window=%p);\n", e, window);
 #endif // DEBUG
 
     if (grab()) wi = grab();
@@ -1043,12 +1043,12 @@
 #ifdef __APPLE__
       if (fl_mac_os_version < 0x1050) {
         // before 10.5, mouse moved events aren't sent to borderless windows such as tooltips
-	Fl_Window *tooltip = Fl_Tooltip::current_window();
+	fltk3::Window *tooltip = Fl_Tooltip::current_window();
 	int inside = 0;
 	if (tooltip && tooltip->shown() ) { // check if a tooltip window is currently opened
 	  // check if mouse is inside the tooltip
-	  inside = (Fl::event_x_root() >= tooltip->x() && Fl::event_x_root() < tooltip->x() + tooltip->w() &&
-	  Fl::event_y_root() >= tooltip->y() && Fl::event_y_root() < tooltip->y() + tooltip->h() );
+	  inside = (fltk3::event_x_root() >= tooltip->x() && fltk3::event_x_root() < tooltip->x() + tooltip->w() &&
+	  fltk3::event_y_root() >= tooltip->y() && fltk3::event_y_root() < tooltip->y() + tooltip->h() );
 	}
 	// if inside, send event to tooltip window instead of background window
 	if (inside) ret = send(e, tooltip, window);
@@ -1058,7 +1058,7 @@
       ret = (wi && send(e, wi, window));
    if (pbm != belowmouse()) {
 #ifdef DEBUG
-      printf("Fl::handle(e=%d, window=%p);\n", e, window);
+      printf("fltk3::handle(e=%d, window=%p);\n", e, window);
 #endif // DEBUG
       Fl_Tooltip::enter(belowmouse());
     }
@@ -1102,7 +1102,7 @@
 
   case FL_KEYBOARD:
 #ifdef DEBUG
-    printf("Fl::handle(e=%d, window=%p);\n", e, window);
+    printf("fltk3::handle(e=%d, window=%p);\n", e, window);
 #endif // DEBUG
 
     Fl_Tooltip::enter((Fl_Widget*)0);
@@ -1153,7 +1153,7 @@
 
   case FL_ENTER:
 #ifdef DEBUG
-    printf("Fl::handle(e=%d, window=%p);\n", e, window);
+    printf("fltk3::handle(e=%d, window=%p);\n", e, window);
 #endif // DEBUG
 
     fl_xmousewin = window;
@@ -1163,7 +1163,7 @@
 
   case FL_LEAVE:
 #ifdef DEBUG
-    printf("Fl::handle(e=%d, window=%p);\n", e, window);
+    printf("fltk3::handle(e=%d, window=%p);\n", e, window);
 #endif // DEBUG
 
     if (!pushed_) {
@@ -1205,7 +1205,7 @@
 extern void fl_destroy_xft_draw(Window);
 #endif
 
-void Fl_Window::hide() {
+void fltk3::Window::hide() {
   clear_visible();
 
   if (!shown()) return;
@@ -1226,7 +1226,7 @@
 
   // recursively remove any subwindows:
   for (Fl_X *wi = Fl_X::first; wi;) {
-    Fl_Window* W = wi->w;
+    fltk3::Window* W = wi->w;
     if (W->window() == this) {
       W->hide();
       W->set_visible();
@@ -1234,11 +1234,11 @@
     } else wi = wi->next;
   }
 
-  if (this == Fl::modal_) { // we are closing the modal window, find next one:
-    Fl_Window* W;
-    for (W = Fl::first_window(); W; W = Fl::next_window(W))
+  if (this == fltk3::modal_) { // we are closing the modal window, find next one:
+    fltk3::Window* W;
+    for (W = fltk3::first_window(); W; W = fltk3::next_window(W))
       if (W->modal()) break;
-    Fl::modal_ = W;
+    fltk3::modal_ = W;
   }
 
   // Make sure no events are sent to this window:
@@ -1249,7 +1249,7 @@
   // this little trick keeps the current clipboard alive, even if we are about
   // to destroy the window that owns the selection.
   if (GetClipboardOwner()==ip->xid) {
-    Fl_Window *w1 = Fl::first_window();
+    fltk3::Window *w1 = fltk3::first_window();
     if (w1 && OpenClipboard(fl_xid(w1))) {
       EmptyClipboard();
       SetClipboardData(CF_TEXT, NULL);
@@ -1264,7 +1264,7 @@
       fl_window = (HWND)-1;
       fl_gc = 0;
 # ifdef FLTK_USE_CAIRO
-      if (Fl::cairo_autolink_context()) Fl::cairo_make_current((Fl_Window*) 0);
+      if (fltk3::cairo_autolink_context()) fltk3::cairo_make_current((fltk3::Window*) 0);
 # endif
     }
 #elif defined(__APPLE_QUARTZ__)
@@ -1296,13 +1296,13 @@
   
 #ifdef WIN32
   // Try to stop the annoying "raise another program" behavior
-  if (non_modal() && Fl::first_window() && Fl::first_window()->shown())
-    Fl::first_window()->show();
+  if (non_modal() && fltk3::first_window() && fltk3::first_window()->shown())
+    fltk3::first_window()->show();
 #endif
   delete ip;
 }
 
-Fl_Window::~Fl_Window() {
+fltk3::Window::~Window() {
   hide();
   if (xclass_) {
     free(xclass_);
@@ -1314,10 +1314,10 @@
 
 // For top-level windows it is assumed the window has already been
 // mapped or unmapped!!!  This is because this should only happen when
-// Fl_Window::show() or Fl_Window::hide() is called, or in response to
+// fltk3::Window::show() or fltk3::Window::hide() is called, or in response to
 // iconize/deiconize events from the system.
 
-int Fl_Window::handle(int ev)
+int fltk3::Window::handle(int ev)
 {
   if (parent()) {
     switch (ev) {
@@ -1378,7 +1378,7 @@
     by a callback function.  The current interface will be emulated on top
     of this.</i>
 */
-void Fl::selection_owner(Fl_Widget *owner) {selection_owner_ = owner;}
+void fltk3::selection_owner(Fl_Widget *owner) {selection_owner_ = owner;}
 
 /**
   Changes the current selection.  The block of text is
@@ -1387,16 +1387,16 @@
   returned by event_text()).  The selection_owner()
   widget is set to the passed owner.
 */
-void Fl::selection(Fl_Widget &owner, const char* text, int len) {
+void fltk3::selection(Fl_Widget &owner, const char* text, int len) {
   selection_owner_ = &owner;
-  Fl::copy(text, len, 0);
+  fltk3::copy(text, len, 0);
 }
 
 /** Backward compatibility only:
-  \see Fl::paste(Fl_Widget &receiver, int clipboard)
+  \see fltk3::paste(Fl_Widget &receiver, int clipboard)
 */
-void Fl::paste(Fl_Widget &receiver) {
-  Fl::paste(receiver, 0);
+void fltk3::paste(Fl_Widget &receiver) {
+  fltk3::paste(receiver, 0);
 }
 
 ////////////////////////////////////////////////////////////////
@@ -1409,8 +1409,8 @@
 
 void Fl_Widget::redraw_label() {
   if (window()) {
-    if (box() == FL_NO_BOX) {
-      // Widgets with the FL_NO_BOX boxtype need a parent to
+    if (box() == fltk3::NO_BOX) {
+      // Widgets with the fltk3::NO_BOX boxtype need a parent to
       // redraw, since it is responsible for redrawing the
       // background...
       int X = x() > 0 ? x() - 1 : 0;
@@ -1470,11 +1470,11 @@
     damage(fl, x(), y(), w(), h());
   } else {
     // damage entire window by deleting the region:
-    Fl_X* i = Fl_X::i((Fl_Window*)this);
+    Fl_X* i = Fl_X::i((fltk3::Window*)this);
     if (!i) return; // window not mapped, so ignore it
     if (i->region) {XDestroyRegion(i->region); i->region = 0;}
     damage_ |= fl;
-    Fl::damage(FL_DAMAGE_CHILD);
+    fltk3::damage(FL_DAMAGE_CHILD);
   }
 }
 
@@ -1487,7 +1487,7 @@
     if (!wi) return;
     fl = FL_DAMAGE_CHILD;
   }
-  Fl_X* i = Fl_X::i((Fl_Window*)wi);
+  Fl_X* i = Fl_X::i((fltk3::Window*)wi);
   if (!i) return; // window not mapped, so ignore it
 
   // clip the damage to the window and quit if none:
@@ -1535,9 +1535,9 @@
     i->region = XRectangleRegion(X,Y,W,H);
     wi->damage_ = fl;
   }
-  Fl::damage(FL_DAMAGE_CHILD);
+  fltk3::damage(FL_DAMAGE_CHILD);
 }
-void Fl_Window::flush() {
+void fltk3::Window::flush() {
   make_current();
 //if (damage() == FL_DAMAGE_EXPOSE && can_boxcheat(box())) fl_boxcheat = this;
   fl_clip_region(i->region); i->region = 0;
@@ -1563,7 +1563,7 @@
 
   To avoid early deletion of widgets, this function should be called
   toward the end of a callback and only after any call to the event
-  loop (Fl::wait(), Fl::flush(), Fl::check(), fl_ask(), etc.).
+  loop (fltk3::wait(), fltk3::flush(), fltk3::check(), fl_ask(), etc.).
 
   When deleting groups or windows, you must only delete the group or
   window widget and not the individual child widgets.
@@ -1577,7 +1577,7 @@
 
   \see Fl_Widget::~Fl_Widget()
 */
-void Fl::delete_widget(Fl_Widget *wi) {
+void fltk3::delete_widget(Fl_Widget *wi) {
   if (!wi) return;
 
   if (num_dwidgets >= alloc_dwidgets) {
@@ -1602,13 +1602,13 @@
     
     This is for internal use only. You should never call this directly.
 
-    Fl::do_widget_deletion() is called from the FLTK event loop or whenever
-    you call Fl::wait(). The previously scheduled widgets are deleted in the
-    same order they were scheduled by calling Fl::delete_widget().
+    fltk3::do_widget_deletion() is called from the FLTK event loop or whenever
+    you call fltk3::wait(). The previously scheduled widgets are deleted in the
+    same order they were scheduled by calling fltk3::delete_widget().
 
-    \see Fl::delete_widget(Fl_Widget *wi)
+    \see fltk3::delete_widget(Fl_Widget *wi)
 */
-void Fl::do_widget_deletion() {
+void fltk3::do_widget_deletion() {
   if (!num_dwidgets) return;
 
   for (int i = 0; i < num_dwidgets; i ++)
@@ -1635,12 +1635,12 @@
   safely.
 
   After accessing the widget, the widget pointer must be released from the
-  watch list by calling Fl::release_widget_pointer().
+  watch list by calling fltk3::release_widget_pointer().
 
   Example for a button that is clicked (from its handle() method):
   \code
     Fl_Widget *wp = this;		// save 'this' in a pointer variable
-    Fl::watch_widget_pointer(wp);	// add the pointer to the watch list
+    fltk3::watch_widget_pointer(wp);	// add the pointer to the watch list
     set_changed();			// set the changed flag
     do_callback();			// call the callback
     if (!wp) {				// the widget has been deleted
@@ -1651,14 +1651,14 @@
       clear_changed();			// reset the changed flag
     }
 
-    Fl::release_widget_pointer(wp);	// remove the pointer from the watch list
+    fltk3::release_widget_pointer(wp);	// remove the pointer from the watch list
    \endcode
 
-   This works, because all widgets call Fl::clear_widget_pointer() in their
+   This works, because all widgets call fltk3::clear_widget_pointer() in their
    destructors.
 
-   \see Fl::release_widget_pointer()
-   \see Fl::clear_widget_pointer()
+   \see fltk3::release_widget_pointer()
+   \see fltk3::clear_widget_pointer()
 
    An easier and more convenient method to control widget deletion during
    callbacks is to use the class Fl_Widget_Tracker with a local (automatic)
@@ -1666,7 +1666,7 @@
 
    \see class Fl_Widget_Tracker
 */
-void Fl::watch_widget_pointer(Fl_Widget *&w) 
+void fltk3::watch_widget_pointer(Fl_Widget *&w) 
 {
   Fl_Widget **wp = &w;
   int i;
@@ -1689,13 +1689,13 @@
   Releases a widget pointer from the watch list.
 
   This is used to remove a widget pointer that has been added to the watch list
-  with Fl::watch_widget_pointer(), when it is not needed anymore.
+  with fltk3::watch_widget_pointer(), when it is not needed anymore.
   
   \note Internal use only, please use class Fl_Widget_Tracker instead.
 
-  \see Fl::watch_widget_pointer()
+  \see fltk3::watch_widget_pointer()
 */
-void Fl::release_widget_pointer(Fl_Widget *&w)
+void fltk3::release_widget_pointer(Fl_Widget *&w)
 {
   Fl_Widget **wp = &w;
   int i,j=0;
@@ -1728,13 +1728,13 @@
 
   This method searches the widget watch list for pointers to the widget and
   clears each pointer that points to it. Widget pointers can be added to the
-  widget watch list by calling Fl::watch_widget_pointer() or by using the
+  widget watch list by calling fltk3::watch_widget_pointer() or by using the
   helper class Fl_Widget_Tracker (recommended).
 
-  \see Fl::watch_widget_pointer()
+  \see fltk3::watch_widget_pointer()
   \see class Fl_Widget_Tracker
 */
-void Fl::clear_widget_pointer(Fl_Widget const *w) 
+void fltk3::clear_widget_pointer(Fl_Widget const *w) 
 {
   if (w==0L) return;
   int i;
@@ -1763,7 +1763,7 @@
  \return true or false
  \see Fl_Option
  */ 
-bool Fl::option(Fl_Option opt)
+bool fltk3::option(Fl_Option opt)
 {
   if (!options_read_) {
     int tmp;
@@ -1818,7 +1818,7 @@
  \param val set to true or false
  \see Fl_Option
  */
-void Fl::option(Fl_Option opt, bool val)
+void fltk3::option(Fl_Option opt, bool val)
 {
   if (opt<0 || opt>=OPTION_LAST) 
     return;
@@ -1838,7 +1838,7 @@
 Fl_Widget_Tracker::Fl_Widget_Tracker(Fl_Widget *wi) 
 {
   wp_ = wi;
-  Fl::watch_widget_pointer(wp_); // add pointer to watch list
+  fltk3::watch_widget_pointer(wp_); // add pointer to watch list
 }
 
 /**
@@ -1846,7 +1846,7 @@
 */
 Fl_Widget_Tracker::~Fl_Widget_Tracker() 
 {
-  Fl::release_widget_pointer(wp_); // remove pointer from watch list
+  fltk3::release_widget_pointer(wp_); // remove pointer from watch list
 }
 
 

Modified: branches/branch-3.0-2011/src/Fl_Adjuster.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Adjuster.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Adjuster.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Adjuster.H>
 #include <fltk3/Fl_Bitmap.H>
 #include <fltk3/fl_draw.H>
@@ -49,9 +49,9 @@
     dx = 0; W = w();
     dy = H = h()/3;
   }
-  draw_box(drag==1?FL_DOWN_BOX:box(), x(),  y()+2*dy, W, H, color());
-  draw_box(drag==2?FL_DOWN_BOX:box(), x()+dx, y()+dy, W, H, color());
-  draw_box(drag==3?FL_DOWN_BOX:box(), x()+2*dx,  y(), W, H, color());
+  draw_box(drag==1?fltk3::DOWN_BOX:box(), x(),  y()+2*dy, W, H, color());
+  draw_box(drag==2?fltk3::DOWN_BOX:box(), x()+dx, y()+dy, W, H, color());
+  draw_box(drag==3?fltk3::DOWN_BOX:box(), x()+2*dx,  y(), W, H, color());
   if (active_r())
     fl_color(selection_color());
   else
@@ -62,22 +62,22 @@
 		   y()+dy+(H-mediumarrow_height)/2, W, H);
   slowarrow.draw(x()+2*dx+(W-slowarrow_width)/2,
 		 y()+(H-slowarrow_width)/2, W, H);
-  if (Fl::focus() == this) draw_focus();
+  if (fltk3::focus() == this) draw_focus();
 }
 
 int Fl_Adjuster::handle(int event) {
   double v;
   int delta;
-  int mx = Fl::event_x();
+  int mx = fltk3::event_x();
   // Fl_Widget_Tracker wp(this);
   switch (event) {
     case FL_PUSH:
-      if (Fl::visible_focus()) Fl::focus(this);
+      if (fltk3::visible_focus()) fltk3::focus(this);
       ix = mx;
       if (w()>=h())
 	drag = 3*(mx-x())/w() + 1;
       else
-	drag = 3-3*(Fl::event_y()-y()-1)/h();
+	drag = 3-3*(fltk3::event_y()-y()-1)/h();
       { Fl_Widget_Tracker wp(this);
 	handle_push();
 	if (wp.deleted()) return 1;
@@ -109,8 +109,8 @@
       handle_drag(soft() ? softclamp(v) : clamp(v));
       return 1;
     case FL_RELEASE:
-      if (Fl::event_is_click()) { // detect click but no drag
-	if (Fl::event_state()&0xF0000) delta = -10;
+      if (fltk3::event_is_click()) { // detect click but no drag
+	if (fltk3::event_state()&0xF0000) delta = -10;
 	else delta = 10;
 	switch (drag) {
 	  case 3: v = increment(previous_value(), delta); break;
@@ -126,7 +126,7 @@
       handle_release();
       return 1;
     case FL_KEYBOARD :
-      switch (Fl::event_key()) {
+      switch (fltk3::event_key()) {
 	case FL_Up:
           if (w() > h()) return 0;
 	  handle_drag(clamp(increment(value(),-1)));
@@ -150,7 +150,7 @@
 
     case FL_FOCUS:
     case FL_UNFOCUS:
-      if (Fl::visible_focus()) {
+      if (fltk3::visible_focus()) {
         redraw();
         return 1;
       } else return 0;
@@ -170,7 +170,7 @@
 */
 Fl_Adjuster::Fl_Adjuster(int X, int Y, int W, int H, const char* l)
   : Fl_Valuator(X, Y, W, H, l) {
-  box(FL_UP_BOX);
+  box(fltk3::UP_BOX);
   step(1, 10000);
   selection_color(FL_SELECTION_COLOR);
   drag = 0;

Modified: branches/branch-3.0-2011/src/Fl_Bitmap.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Bitmap.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Bitmap.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -31,7 +31,7 @@
 /** \fn Fl_Bitmap::Fl_Bitmap(const unsigned char *array, int W, int H)
   The constructors create a new bitmap from the specified bitmap data.*/
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
 #include <fltk3/fl_draw.H>
 #include <fltk3/Fl_Widget.H>
@@ -317,7 +317,7 @@
     fl_begin_offscreen(tmp_id);
     Fl_Color save_c = fl_color(); // save bitmap's desired color
     uchar r, g, b;
-    Fl::get_color(save_c, r, g, b);
+    fltk3::get_color(save_c, r, g, b);
     r = 255-r;
     g = 255-g;
     b = 255-b;
@@ -395,8 +395,8 @@
 }
 
 void Fl_Bitmap::label(Fl_Menu_Item* m) {
-  Fl::set_labeltype(_FL_IMAGE_LABEL, labeltype, measure);
-  m->label(_FL_IMAGE_LABEL, (const char*)this);
+  fltk3::set_labeltype(fltk3::IMAGE_LABEL, labeltype, measure);
+  m->label(fltk3::IMAGE_LABEL, (const char*)this);
 }
 
 Fl_Image *Fl_Bitmap::copy(int W, int H) {

Modified: branches/branch-3.0-2011/src/Fl_Box.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Box.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Box.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -26,14 +26,14 @@
 //
 
 #include <fltk3/Fl_Widget.H>
-#include <fltk3/Fl_Box.H>
+#include <fltk3/Box.h>
 
-void Fl_Box::draw() {
+void fltk3::Box::draw() {
   draw_box();
   draw_label();
 }
 
-int Fl_Box::handle(int event) {
+int fltk3::Box::handle(int event) {
   if (event == FL_ENTER || event == FL_LEAVE) return 1;
   else return 0;
 }

Modified: branches/branch-3.0-2011/src/Fl_Browser.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Browser.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Browser.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Browser.H>
 #include <fltk3/fl_draw.H>
 #include "flstring.h"
@@ -386,8 +386,8 @@
 	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|FL_BOLD); break;
-	case 'i': font = (Fl_Font)(font|FL_ITALIC); 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':
 	case 'C': dummy = strtol(str, &str, 10); break;// skip a color number
@@ -449,8 +449,8 @@
     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|FL_BOLD); break;
-    case 'i': font = (Fl_Font)(font|FL_ITALIC); 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':
     case 'C': dummy = strtol(str, &str, 10); break;// skip a color number
@@ -543,8 +543,8 @@
       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|FL_BOLD); break;
-      case 'i': font = (Fl_Font)(font|FL_ITALIC); 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 'c': talign = FL_ALIGN_CENTER; break;
       case 'r': talign = FL_ALIGN_RIGHT; break;

Modified: branches/branch-3.0-2011/src/Fl_Browser_.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Browser_.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Browser_.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -28,7 +28,7 @@
 #define DISPLAY_SEARCH_BOTH_WAYS_AT_ONCE
 
 #include <stdio.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Widget.H>
 #include <fltk3/Fl_Browser_.H>
 #include <fltk3/fl_draw.H>
@@ -75,12 +75,12 @@
                       (The original contents of these parameters are overwritten)
 */
 void Fl_Browser_::bbox(int& X, int& Y, int& W, int& H) const {
-  int scrollsize = scrollbar_size_ ? scrollbar_size_ : Fl::scrollbar_size();
-  Fl_Boxtype b = box() ? box() : FL_DOWN_BOX;
-  X = x()+Fl::box_dx(b);
-  Y = y()+Fl::box_dy(b);
-  W = w()-Fl::box_dw(b);
-  H = h()-Fl::box_dh(b);
+  int scrollsize = scrollbar_size_ ? scrollbar_size_ : fltk3::scrollbar_size();
+  fltk3::Boxtype b = box() ? box() : fltk3::DOWN_BOX;
+  X = x()+fltk3::box_dx(b);
+  Y = y()+fltk3::box_dy(b);
+  W = w()-fltk3::box_dw(b);
+  H = h()-fltk3::box_dh(b);
   if (scrollbar.visible()) {
     W -= scrollsize;
     if (scrollbar.align() & FL_ALIGN_LEFT) X += scrollsize;
@@ -112,7 +112,7 @@
   \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_ : Fl::scrollbar_size();
+  int scrollsize = scrollbar_size_ ? scrollbar_size_ : fltk3::scrollbar_size();
   Fl_Widget::resize(X, Y, W, H);
   // move the scrollbars so they can respond to events:
   bbox(X,Y,W,H);
@@ -343,7 +343,7 @@
   int dont_repeat = 0;
 J1:
   if (damage() & FL_DAMAGE_ALL) { // redraw the box if full redraw
-    Fl_Boxtype b = box() ? box() : FL_DOWN_BOX;
+    fltk3::Boxtype b = box() ? box() : fltk3::DOWN_BOX;
     draw_box(b, x(), y(), w(), h(), color());
     drawsquare = 1;
   }
@@ -412,13 +412,13 @@
 	fl_rectf(X, yy+Y, W, hh);
       } else if (!(damage()&FL_DAMAGE_ALL)) {
 	fl_push_clip(X, yy+Y, W, hh);
-	draw_box(box() ? box() : FL_DOWN_BOX, x(), y(), w(), h(), color());
+	draw_box(box() ? box() : fltk3::DOWN_BOX, x(), y(), w(), h(), color());
 	fl_pop_clip();
       }
       item_draw(l, X-hposition_, yy+Y, W+hposition_, hh);
-      if (l == selection_ && Fl::focus() == this) {
-	draw_box(FL_BORDER_FRAME, X, yy+Y, W, hh, color());
-	draw_focus(FL_NO_BOX, X, yy+Y, W+1, hh+1);
+      if (l == selection_ && fltk3::focus() == this) {
+	draw_box(fltk3::BORDER_FRAME, X, yy+Y, W, hh, color());
+	draw_focus(fltk3::NO_BOX, X, yy+Y, W+1, hh+1);
       }
       int ww = item_width(l);
       if (ww > max_width) {max_width = ww; max_width_item = l;}
@@ -428,7 +428,7 @@
   // erase the area below last line:
   if (!(damage()&FL_DAMAGE_ALL) && yy < H) {
     fl_push_clip(X, yy+Y, W, H-yy);
-    draw_box(box() ? box() : FL_DOWN_BOX, x(), y(), w(), h(), color());
+    draw_box(box() ? box() : fltk3::DOWN_BOX, x(), y(), w(), h(), color());
     fl_pop_clip();
   }
   fl_pop_clip();
@@ -455,7 +455,7 @@
   }
 
   // update the scrollbars and redraw them:
-  int scrollsize = scrollbar_size_ ? scrollbar_size_ : Fl::scrollbar_size();
+  int scrollsize = scrollbar_size_ ? scrollbar_size_ : fltk3::scrollbar_size();
   int dy = top_ ? item_quick_height(top_) : 0; if (dy < 10) dy = 10;
   if (scrollbar.visible()) {
     scrollbar.damage_resize(
@@ -583,7 +583,7 @@
 /**
   This method returns the item under mouse y position \p ypos.
   NULL is returned if no item is displayed at that position.
-  \param[in] ypos The y position (eg. Fl::event_y()) to find an item under.
+  \param[in] ypos The y position (eg. fltk3::event_y()) to find an item under.
   \returns The item, or NULL if not found
 */
 void* Fl_Browser_::find_item(int ypos) {
@@ -718,7 +718,7 @@
     void* l = l1; if (!l) l = top_; if (!l) l = item_first();
     if (l) {
       if (type()==FL_HOLD_BROWSER) {
-        switch (Fl::event_key()) {
+        switch (fltk3::event_key()) {
         case FL_Down:
           while ((l = item_next(l)))
             if (item_height(l)>0) {select_only(l, when()); break;}
@@ -733,7 +733,7 @@
           return 1;
         } 
       } else  {
-        switch (Fl::event_key()) {
+        switch (fltk3::event_key()) {
         case FL_Enter:
         case FL_KP_Enter:
           select_only(l, when() & ~FL_WHEN_ENTER_KEY);
@@ -749,7 +749,7 @@
           return 1;
         case FL_Down:
           while ((l = item_next(l))) {
-            if (Fl::event_state(FL_SHIFT|FL_CTRL))
+            if (fltk3::event_state(FL_SHIFT|FL_CTRL))
               select(l, l1 ? item_selected(l1) : 1, when());
 	    if (wp.deleted()) return 1;
             if (item_height(l)>0) goto J1;
@@ -757,7 +757,7 @@
           return 1;
         case FL_Up:
           while ((l = item_prev(l))) {
-            if (Fl::event_state(FL_SHIFT|FL_CTRL))
+            if (fltk3::event_state(FL_SHIFT|FL_CTRL))
               select(l, l1 ? item_selected(l1) : 1, when());
 	    if (wp.deleted()) return 1;
             if (item_height(l)>0) goto J1;
@@ -789,7 +789,7 @@
 //     }
 // See str #834
 // The first form calls the callback *before* setting change.
-// The callback may execute an Fl::wait(), resulting in another
+// The callback may execute an fltk3::wait(), resulting in another
 // call of Fl_Browser_::handle() for the same widget. The sequence
 // of events can be an FL_PUSH followed by an FL_RELEASE.
 // This second call of Fl_Browser_::handle() may result in a -
@@ -800,12 +800,12 @@
   static int py;
   switch (event) {
   case FL_PUSH:
-    if (!Fl::event_inside(X, Y, W, H)) return 0;
-    if (Fl::visible_focus()) {
-      Fl::focus(this);
+    if (!fltk3::event_inside(X, Y, W, H)) return 0;
+    if (fltk3::visible_focus()) {
+      fltk3::focus(this);
       redraw();
     }
-    my = py = Fl::event_y();
+    my = py = fltk3::event_y();
     change = 0;
     if (type() == FL_NORMAL_BROWSER || !top_)
       ;
@@ -820,7 +820,7 @@
     } else {
       void* l = find_item(my);
       whichway = 1;
-      if (Fl::event_state(FL_CTRL)) { // toggle selection:
+      if (fltk3::event_state(FL_CTRL)) { // toggle selection:
       TOGGLE:
 	if (l) {
 	  whichway = !item_selected(l);
@@ -832,7 +832,7 @@
 	    if (wp.deleted()) return 1;
 	  }
 	}
-      } else if (Fl::event_state(FL_SHIFT)) { // extend selection:
+      } else if (fltk3::event_state(FL_SHIFT)) { // extend selection:
 	if (l == selection_) goto TOGGLE;
 	// state of previous selection determines new value:
 	whichway = l ? !item_selected(l) : 1;
@@ -874,7 +874,7 @@
     return 1;
   case FL_DRAG:
     // do the scrolling first:
-    my = Fl::event_y();
+    my = fltk3::event_y();
     if (my < Y && my < py) {
       int p = real_position_+my-Y;
       if (p<0) p = 0;
@@ -912,7 +912,7 @@
     } else {
       void* l1 = selection_;
       void* l =
-	(Fl::event_x()<x() || Fl::event_x()>x()+w()) ? selection_ :
+	(fltk3::event_x()<x() || fltk3::event_x()>x()+w()) ? selection_ :
 	find_item(my);
       change = (l != l1);
       select_only(l, when() & FL_WHEN_CHANGED);
@@ -936,14 +936,14 @@
     if (wp.deleted()) return 1;
 
     // double click calls the callback: (like Enter Key)
-    if (Fl::event_clicks() && (when() & FL_WHEN_ENTER_KEY)) {
+    if (fltk3::event_clicks() && (when() & FL_WHEN_ENTER_KEY)) {
       set_changed();
       do_callback();
     }
     return 1;
   case FL_FOCUS:
   case FL_UNFOCUS:
-    if (type() >= FL_HOLD_BROWSER && Fl::visible_focus()) {
+    if (type() >= FL_HOLD_BROWSER && fltk3::visible_focus()) {
       redraw();
       return 1;
     } else return 0;
@@ -962,7 +962,7 @@
     scrollbar(0, 0, 0, 0, 0), // they will be resized by draw()
     hscrollbar(0, 0, 0, 0, 0)
 {
-  box(FL_NO_BOX);
+  box(fltk3::NO_BOX);
   align(FL_ALIGN_BOTTOM);
   position_ = real_position_ = 0;
   hposition_ = real_hposition_ = 0;

Modified: branches/branch-3.0-2011/src/Fl_Browser_load.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Browser_load.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Browser_load.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Browser.H>
 #include <stdio.h>
 #include <fltk3/fl_utf8.h>

Modified: branches/branch-3.0-2011/src/Fl_Button.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Button.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Button.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,10 +25,10 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Button.H>
 #include <fltk3/Fl_Group.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/Window.h>
 
 
 Fl_Widget_Tracker *Fl_Button::key_release_tracker = 0;
@@ -77,13 +77,13 @@
   Fl_Color col = value() ? selection_color() : color();
   draw_box(value() ? (down_box()?down_box():fl_down(box())) : box(), col);
   draw_backdrop();
-  if (labeltype() == FL_NORMAL_LABEL && value()) {
+  if (labeltype() == fltk3::NORMAL_LABEL && value()) {
     Fl_Color c = labelcolor();
     labelcolor(fl_contrast(c, col));
     draw_label();
     labelcolor(c);
   } else draw_label();
-  if (Fl::focus() == this) draw_focus();
+  if (fltk3::focus() == this) draw_focus();
 }
 
 int Fl_Button::handle(int event) {
@@ -94,9 +94,9 @@
 //  if ((value_?selection_color():color())==FL_GRAY) redraw();
     return 1;
   case FL_PUSH:
-    if (Fl::visible_focus() && handle(FL_FOCUS)) Fl::focus(this);
+    if (fltk3::visible_focus() && handle(FL_FOCUS)) fltk3::focus(this);
   case FL_DRAG:
-    if (Fl::event_inside(this)) {
+    if (fltk3::event_inside(this)) {
       if (type() == FL_RADIO_BUTTON) newval = 1;
       else newval = !oldval;
     } else
@@ -132,14 +132,14 @@
     return 1;
   case FL_SHORTCUT:
     if (!(shortcut() ?
-	  Fl::test_shortcut(shortcut()) : test_shortcut())) return 0;    
-    if (Fl::visible_focus() && handle(FL_FOCUS)) Fl::focus(this);
+	  fltk3::test_shortcut(shortcut()) : test_shortcut())) return 0;    
+    if (fltk3::visible_focus() && handle(FL_FOCUS)) fltk3::focus(this);
     goto triggered_by_keyboard;
   case FL_FOCUS : /* FALLTHROUGH */
   case FL_UNFOCUS :
-    if (Fl::visible_focus()) {
-      if (box() == FL_NO_BOX) {
-	// Widgets with the FL_NO_BOX boxtype need a parent to
+    if (fltk3::visible_focus()) {
+      if (box() == fltk3::NO_BOX) {
+	// Widgets with the fltk3::NO_BOX boxtype need a parent to
 	// redraw, since it is responsible for redrawing the
 	// background...
 	int X = x() > 0 ? x() - 1 : 0;
@@ -149,8 +149,8 @@
       return 1;
     } else return 0;
   case FL_KEYBOARD :
-    if (Fl::focus() == this && Fl::event_key() == ' ' &&
-        !(Fl::event_state() & (FL_SHIFT | FL_CTRL | FL_ALT | FL_META))) {
+    if (fltk3::focus() == this && fltk3::event_key() == ' ' &&
+        !(fltk3::event_state() & (FL_SHIFT | FL_CTRL | FL_ALT | FL_META))) {
       set_changed();
     triggered_by_keyboard:
       Fl_Widget_Tracker wp(this);
@@ -175,13 +175,13 @@
 void Fl_Button::simulate_key_action()
 {
   if (key_release_tracker) {
-    Fl::remove_timeout(key_release_timeout, key_release_tracker);
+    fltk3::remove_timeout(key_release_timeout, key_release_tracker);
     key_release_timeout(key_release_tracker);
   }
   value(1); 
   redraw();
   key_release_tracker = new Fl_Widget_Tracker(this);
-  Fl::add_timeout(0.15, key_release_timeout, key_release_tracker);
+  fltk3::add_timeout(0.15, key_release_timeout, key_release_tracker);
 }
 
 void Fl_Button::key_release_timeout(void *d)
@@ -206,8 +206,8 @@
  */
 Fl_Button::Fl_Button(int X, int Y, int W, int H, const char *L)
 : Fl_Widget(X,Y,W,H,L) {
-  box(FL_UP_BOX);
-  down_box(FL_NO_BOX);
+  box(fltk3::UP_BOX);
+  down_box(fltk3::NO_BOX);
   value_ = oldval = 0;
   shortcut_ = 0;
   set_flag(SHORTCUT_LABEL);

Modified: branches/branch-3.0-2011/src/Fl_Chart.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Chart.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Chart.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -26,7 +26,7 @@
 //
 
 #include <fltk3/math.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Chart.H>
 #include <fltk3/fl_draw.H>
 #include "flstring.h"
@@ -233,11 +233,11 @@
 void Fl_Chart::draw() {
 
     draw_box();
-    Fl_Boxtype b = box();
-    int xx = x()+Fl::box_dx(b); // was 9 instead of dx...
-    int yy = y()+Fl::box_dy(b);
-    int ww = w()-Fl::box_dw(b);
-    int hh = h()-Fl::box_dh(b);
+    fltk3::Boxtype b = box();
+    int xx = x()+fltk3::box_dx(b); // was 9 instead of dx...
+    int yy = y()+fltk3::box_dy(b);
+    int ww = w()-fltk3::box_dw(b);
+    int hh = h()-fltk3::box_dh(b);
     fl_push_clip(xx, yy, ww, hh);
 
     ww--; hh--; // adjust for line thickness
@@ -287,13 +287,13 @@
 
 /**
   Create a new Fl_Chart widget using the given position, size and label string.
-  The default boxstyle is \c FL_NO_BOX.
+  The default boxstyle is \c fltk3::NO_BOX.
   \param[in] X, Y, W, H position and size of the widget
   \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) {
-  box(FL_BORDER_BOX);
+  box(fltk3::BORDER_BOX);
   align(FL_ALIGN_BOTTOM);
   numb       = 0;
   maxnumb    = 0;

Modified: branches/branch-3.0-2011/src/Fl_Check_Button.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Check_Button.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Check_Button.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Check_Button.H>
 
 // TODO Correct incorrect Fl_Check_Button comments.
@@ -41,7 +41,7 @@
  */
 Fl_Check_Button::Fl_Check_Button(int X, int Y, int W, int H, const char *L)
 : Fl_Light_Button(X, Y, W, H, L) {
-  box(FL_NO_BOX);
-  down_box(FL_DOWN_BOX);
+  box(fltk3::NO_BOX);
+  down_box(fltk3::DOWN_BOX);
   selection_color(FL_FOREGROUND_COLOR);
 }

Modified: branches/branch-3.0-2011/src/Fl_Choice.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Choice.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Choice.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Choice.H>
 #include <fltk3/fl_draw.H>
 #include "flstring.h"
@@ -35,8 +35,8 @@
 // button: it draws the text of the current pick and a down-arrow.
 
 void Fl_Choice::draw() {
-  int dx = Fl::box_dx(FL_DOWN_BOX);
-  int dy = Fl::box_dy(FL_DOWN_BOX);
+  int dx = fltk3::box_dx(fltk3::DOWN_BOX);
+  int dy = fltk3::box_dy(fltk3::DOWN_BOX);
   int H = h() - 2 * dy;
   int W = (H > 20) ? 20 : H;
   int X = x() + w() - W - dx;
@@ -45,11 +45,11 @@
   int x1 = X + (W - 2 * w1 - 1) / 2;
   int y1 = Y + (H - w1 - 1) / 2;
 
-  if (Fl::scheme()) {
-    draw_box(FL_UP_BOX, color());
+  if (fltk3::scheme()) {
+    draw_box(fltk3::UP_BOX, color());
 
     fl_color(active_r() ? labelcolor() : fl_inactive(labelcolor()));
-    if (!strcmp(Fl::scheme(), "plastic")) {
+    if (!strcmp(fltk3::scheme(), "plastic")) {
       // Show larger up/down arrows...
       fl_polygon(x1, y1 + 3, x1 + w1, y1 + w1 + 3, x1 + 2 * w1, y1 + 3);
       fl_polygon(x1, y1 + 1, x1 + w1, y1 - w1 + 1, x1 + 2 * w1, y1 + 1);
@@ -68,11 +68,11 @@
     }
   } else {
     if (fl_contrast(textcolor(), FL_BACKGROUND2_COLOR) == textcolor()) {
-      draw_box(FL_DOWN_BOX, FL_BACKGROUND2_COLOR);
+      draw_box(fltk3::DOWN_BOX, FL_BACKGROUND2_COLOR);
     } else {
-      draw_box(FL_DOWN_BOX, fl_lighter(color()));
+      draw_box(fltk3::DOWN_BOX, fl_lighter(color()));
     }
-    draw_box(FL_UP_BOX,X,Y,W,H,color());
+    draw_box(fltk3::UP_BOX,X,Y,W,H,color());
 
     fl_color(active_r() ? labelcolor() : fl_inactive(labelcolor()));
     fl_polygon(x1, y1, x1 + w1, y1 + w1, x1 + 2 * w1, y1);
@@ -89,7 +89,7 @@
 
     fl_push_clip(xx, yy, ww, hh);
 
-    if ( Fl::scheme()) {
+    if ( fltk3::scheme()) {
       Fl_Label l;
       l.value = m.text;
       l.image = 0;
@@ -102,11 +102,11 @@
       fl_draw_shortcut = 2; // hack value to make '&' disappear
       l.draw(xx+3, yy, ww>6 ? ww-6 : 0, hh, FL_ALIGN_LEFT);
       fl_draw_shortcut = 0;
-      if ( Fl::focus() == this ) draw_focus(box(), xx, yy, ww, hh);
+      if ( fltk3::focus() == this ) draw_focus(box(), xx, yy, ww, hh);
     }
     else {
       fl_draw_shortcut = 2; // hack value to make '&' disappear
-      m.draw(xx, yy, ww, hh, this, Fl::focus() == this);
+      m.draw(xx, yy, ww, hh, this, fltk3::focus() == this);
       fl_draw_shortcut = 0;
     }
 
@@ -118,7 +118,7 @@
 
 /**
   Create a new Fl_Choice widget using the given position, size and label string.
-  The default boxtype is \c FL_UP_BOX.
+  The default boxtype is \c fltk3::UP_BOX.
 
   The constructor sets menu() to NULL.
   See Fl_Menu_ for the methods to set or change the menu.
@@ -131,8 +131,8 @@
   align(FL_ALIGN_LEFT);
   when(FL_WHEN_RELEASE);
   textfont(FL_HELVETICA);
-  box(FL_FLAT_BOX);
-  down_box(FL_BORDER_BOX);
+  box(fltk3::FLAT_BOX);
+  down_box(fltk3::BORDER_BOX);
 }
 
 /**
@@ -170,12 +170,12 @@
     return 1;
 
   case FL_KEYBOARD:
-    if (Fl::event_key() != ' ' ||
-        (Fl::event_state() & (FL_SHIFT | FL_CTRL | FL_ALT | FL_META))) return 0;
+    if (fltk3::event_key() != ' ' ||
+        (fltk3::event_state() & (FL_SHIFT | FL_CTRL | FL_ALT | FL_META))) return 0;
   case FL_PUSH:
-    if (Fl::visible_focus()) Fl::focus(this);
+    if (fltk3::visible_focus()) fltk3::focus(this);
   J1:
-    if (Fl::scheme()
+    if (fltk3::scheme()
 	|| fl_contrast(textcolor(), FL_BACKGROUND2_COLOR) != textcolor()) {
       v = menu()->pulldown(x(), y(), w(), h(), mvalue(), this);
     } else {
@@ -199,7 +199,7 @@
     return 1;
   case FL_FOCUS:
   case FL_UNFOCUS:
-    if (Fl::visible_focus()) {
+    if (fltk3::visible_focus()) {
       redraw();
       return 1;
     } else return 0;

Modified: branches/branch-3.0-2011/src/Fl_Clock.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Clock.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Clock.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Clock.H>
 #include <fltk3/fl_draw.H>
 #include <math.h>
@@ -150,13 +150,13 @@
 
 /**
   Create a new Fl_Clock_Output widget with the given position, size and label.
-  The default boxtype is \c FL_NO_BOX.
+  The default boxtype is \c fltk3::NO_BOX.
   \param[in] X, Y, W, H position and size of the widget
   \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) {
-  box(FL_UP_BOX);
+  box(fltk3::UP_BOX);
   selection_color(fl_gray_ramp(5));
   align(FL_ALIGN_BOTTOM);
   hour_ = 0;
@@ -169,7 +169,7 @@
 
 /**
   Create an Fl_Clock widget using the given position, size, and label string.
-  The default boxtype is \c FL_NO_BOX.
+  The default boxtype is \c fltk3::NO_BOX.
   \param[in] X, Y, W, H position and size of the widget
   \param[in] L widget label, default is no label
  */
@@ -186,12 +186,12 @@
 Fl_Clock::Fl_Clock(uchar t, int X, int Y, int W, int H, const char *L)
   : Fl_Clock_Output(X, Y, W, H, L) {
   type(t);
-  box(t==FL_ROUND_CLOCK ? FL_NO_BOX : FL_UP_BOX);
+  box(t==FL_ROUND_CLOCK ? fltk3::NO_BOX : fltk3::UP_BOX);
 }
 
 static void tick(void *v) {
   ((Fl_Clock*)v)->value(time(0));
-  Fl::add_timeout(1.0, tick, v);
+  fltk3::add_timeout(1.0, tick, v);
 }
 
 int Fl_Clock::handle(int event) {
@@ -200,7 +200,7 @@
     tick(this);
     break;
   case FL_HIDE:
-    Fl::remove_timeout(tick, this);
+    fltk3::remove_timeout(tick, this);
     break;
   }
   return Fl_Clock_Output::handle(event);
@@ -210,7 +210,7 @@
   The destructor removes the clock.
  */
 Fl_Clock::~Fl_Clock() {
-  Fl::remove_timeout(tick, this);
+  fltk3::remove_timeout(tick, this);
 }
 
 //

Modified: branches/branch-3.0-2011/src/Fl_Color_Chooser.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Color_Chooser.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Color_Chooser.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Color_Chooser.H>
 #include <fltk3/fl_draw.H>
 #include <fltk3/math.h>
@@ -217,31 +217,31 @@
   Fl_Color_Chooser* c = (Fl_Color_Chooser*)parent();
   switch (e) {
   case FL_PUSH:
-    if (Fl::visible_focus()) {
-      Fl::focus(this);
+    if (fltk3::visible_focus()) {
+      fltk3::focus(this);
       redraw();
     }
     ih = c->hue();
     is = c->saturation();
   case FL_DRAG: {
     double Xf, Yf, H, S;
-    Xf = (Fl::event_x()-x()-Fl::box_dx(box()))/double(w()-Fl::box_dw(box()));
-    Yf = (Fl::event_y()-y()-Fl::box_dy(box()))/double(h()-Fl::box_dh(box()));
+    Xf = (fltk3::event_x()-x()-fltk3::box_dx(box()))/double(w()-fltk3::box_dw(box()));
+    Yf = (fltk3::event_y()-y()-fltk3::box_dy(box()))/double(h()-fltk3::box_dh(box()));
     tohs(Xf, Yf, H, S);
     if (fabs(H-ih) < 3*6.0/w()) H = ih;
     if (fabs(S-is) < 3*1.0/h()) S = is;
-    if (Fl::event_state(FL_CTRL)) H = ih;
+    if (fltk3::event_state(FL_CTRL)) H = ih;
     if (c->hsv(H, S, c->value())) c->do_callback();
     } return 1;
   case FL_FOCUS : /* FALLTHROUGH */
   case FL_UNFOCUS :
-    if (Fl::visible_focus()) {
+    if (fltk3::visible_focus()) {
       redraw();
       return 1;
     }
     else return 1;
   case FL_KEYBOARD :
-    return handle_key(Fl::event_key());
+    return handle_key(fltk3::event_key());
   default:
     return 0;
   }
@@ -250,8 +250,8 @@
 
 static void generate_image(void* vv, int X, int Y, int W, uchar* buf) {
   Flcc_HueBox* v = (Flcc_HueBox*)vv;
-  int iw = v->w()-Fl::box_dw(v->box());
-  double Yf = double(Y)/(v->h()-Fl::box_dh(v->box()));
+  int iw = v->w()-fltk3::box_dw(v->box());
+  double Yf = double(Y)/(v->h()-fltk3::box_dh(v->box()));
 #ifdef UPDATE_HUE_BOX
   const double V = ((Fl_Color_Chooser*)(v->parent()))->value();
 #else
@@ -270,8 +270,8 @@
 
 #ifndef FL_DOXYGEN
 int Flcc_HueBox::handle_key(int key) {
-  int w1 = w()-Fl::box_dw(box())-6;
-  int h1 = h()-Fl::box_dh(box())-6;
+  int w1 = w()-fltk3::box_dw(box())-6;
+  int h1 = h()-fltk3::box_dh(box())-6;
   Fl_Color_Chooser* c = (Fl_Color_Chooser*)parent();
 
 #ifdef CIRCLE
@@ -312,10 +312,10 @@
 #ifndef FL_DOXYGEN
 void Flcc_HueBox::draw() {
   if (damage()&FL_DAMAGE_ALL) draw_box();
-  int x1 = x()+Fl::box_dx(box());
-  int yy1 = y()+Fl::box_dy(box());
-  int w1 = w()-Fl::box_dw(box());
-  int h1 = h()-Fl::box_dh(box());
+  int x1 = x()+fltk3::box_dx(box());
+  int yy1 = y()+fltk3::box_dy(box());
+  int w1 = w()-fltk3::box_dw(box());
+  int h1 = h()-fltk3::box_dh(box());
   if (damage() == FL_DAMAGE_EXPOSE) fl_push_clip(x1+px,yy1+py,6,6);
   fl_draw_image(generate_image, this, x1, yy1, w1, h1);
   if (damage() == FL_DAMAGE_EXPOSE) fl_pop_clip();
@@ -330,7 +330,7 @@
   if (X < 0) X = 0; else if (X > w1-6) X = w1-6;
   if (Y < 0) Y = 0; else if (Y > h1-6) Y = h1-6;
   //  fl_color(c->value()>.75 ? FL_BLACK : FL_WHITE);
-  draw_box(FL_UP_BOX,x1+X,yy1+Y,6,6,Fl::focus() == this ? FL_FOREGROUND_COLOR : FL_GRAY);
+  draw_box(fltk3::UP_BOX,x1+X,yy1+Y,6,6,fltk3::focus() == this ? FL_FOREGROUND_COLOR : FL_GRAY);
   px = X; py = Y;
 }
 #endif // !FL_DOXYGEN
@@ -343,26 +343,26 @@
   Fl_Color_Chooser* c = (Fl_Color_Chooser*)parent();
   switch (e) {
   case FL_PUSH:
-    if (Fl::visible_focus()) {
-      Fl::focus(this);
+    if (fltk3::visible_focus()) {
+      fltk3::focus(this);
       redraw();
     }
     iv = c->value();
   case FL_DRAG: {
     double Yf;
-    Yf = 1-(Fl::event_y()-y()-Fl::box_dy(box()))/double(h()-Fl::box_dh(box()));
+    Yf = 1-(fltk3::event_y()-y()-fltk3::box_dy(box()))/double(h()-fltk3::box_dh(box()));
     if (fabs(Yf-iv)<(3*1.0/h())) Yf = iv;
     if (c->hsv(c->hue(),c->saturation(),Yf)) c->do_callback();
     } return 1;
   case FL_FOCUS : /* FALLTHROUGH */
   case FL_UNFOCUS :
-    if (Fl::visible_focus()) {
+    if (fltk3::visible_focus()) {
       redraw();
       return 1;
     }
     else return 1;
   case FL_KEYBOARD :
-    return handle_key(Fl::event_key());
+    return handle_key(fltk3::event_key());
   default:
     return 0;
   }
@@ -372,7 +372,7 @@
 static double tr, tg, tb;
 static void generate_vimage(void* vv, int X, int Y, int W, uchar* buf) {
   Flcc_ValueBox* v = (Flcc_ValueBox*)vv;
-  double Yf = 255*(1.0-double(Y)/(v->h()-Fl::box_dh(v->box())));
+  double Yf = 255*(1.0-double(Y)/(v->h()-fltk3::box_dh(v->box())));
   uchar r = uchar(tr*Yf+.5);
   uchar g = uchar(tg*Yf+.5);
   uchar b = uchar(tb*Yf+.5);
@@ -386,23 +386,23 @@
   if (damage()&FL_DAMAGE_ALL) draw_box();
   Fl_Color_Chooser* c = (Fl_Color_Chooser*)parent();
   c->hsv2rgb(c->hue(),c->saturation(),1.0,tr,tg,tb);
-  int x1 = x()+Fl::box_dx(box());
-  int yy1 = y()+Fl::box_dy(box());
-  int w1 = w()-Fl::box_dw(box());
-  int h1 = h()-Fl::box_dh(box());
+  int x1 = x()+fltk3::box_dx(box());
+  int yy1 = y()+fltk3::box_dy(box());
+  int w1 = w()-fltk3::box_dw(box());
+  int h1 = h()-fltk3::box_dh(box());
   if (damage() == FL_DAMAGE_EXPOSE) fl_push_clip(x1,yy1+py,w1,6);
   fl_draw_image(generate_vimage, this, x1, yy1, w1, h1);
   if (damage() == FL_DAMAGE_EXPOSE) fl_pop_clip();
   int Y = int((1-c->value()) * (h1-6));
   if (Y < 0) Y = 0; else if (Y > h1-6) Y = h1-6;
-  draw_box(FL_UP_BOX,x1,yy1+Y,w1,6,Fl::focus() == this ? FL_FOREGROUND_COLOR : FL_GRAY);
+  draw_box(fltk3::UP_BOX,x1,yy1+Y,w1,6,fltk3::focus() == this ? FL_FOREGROUND_COLOR : FL_GRAY);
   py = Y;
 }
 #endif // !FL_DOXYGEN
 
 #ifndef FL_DOXYGEN
 int Flcc_ValueBox::handle_key(int key) {
-  int h1 = h()-Fl::box_dh(box())-6;
+  int h1 = h()-fltk3::box_dh(box())-6;
   Fl_Color_Chooser* c = (Fl_Color_Chooser*)parent();
 
   int Y = int((1-c->value()) * h1);
@@ -488,23 +488,23 @@
   hue_ = 0.0;
   saturation_ = 0.0;
   value_ = 0.0;
-  huebox.box(FL_DOWN_FRAME);
-  valuebox.box(FL_DOWN_FRAME);
+  huebox.box(fltk3::DOWN_FRAME);
+  valuebox.box(fltk3::DOWN_FRAME);
   choice.menu(mode_menu);
   set_valuators();
   rvalue.callback(rgb_cb);
   gvalue.callback(rgb_cb);
   bvalue.callback(rgb_cb);
   choice.callback(mode_cb);
-  choice.box(FL_THIN_UP_BOX);
+  choice.box(fltk3::THIN_UP_BOX);
   choice.textfont(FL_HELVETICA_BOLD_ITALIC);
 }
 
 ////////////////////////////////////////////////////////////////
 // fl_color_chooser():
 
-#include <fltk3/Fl_Window.H>
-#include <fltk3/Fl_Box.H>
+#include <fltk3/Window.h>
+#include <fltk3/Box.h>
 #include <fltk3/Fl_Return_Button.H>
 
 class ColorChip : public Fl_Widget {
@@ -512,15 +512,15 @@
 public:
   uchar r,g,b;
   ColorChip(int X, int Y, int W, int H) : Fl_Widget(X,Y,W,H) {
-    box(FL_ENGRAVED_FRAME);}
+    box(fltk3::ENGRAVED_FRAME);}
 };
 
 void ColorChip::draw() {
   if (damage()&FL_DAMAGE_ALL) draw_box();
-  fl_rectf(x()+Fl::box_dx(box()),
-	   y()+Fl::box_dy(box()),
-	   w()-Fl::box_dw(box()),
-	   h()-Fl::box_dh(box()),r,g,b);
+  fl_rectf(x()+fltk3::box_dx(box()),
+	   y()+fltk3::box_dy(box()),
+	   w()-fltk3::box_dw(box()),
+	   h()-fltk3::box_dh(box()),r,g,b);
 }
 
 static void chooser_cb(Fl_Widget* o, void* vv) {
@@ -572,7 +572,7 @@
  */
 int fl_color_chooser(const char* name, double& r, double& g, double& b, int cmode) {
   int ret = 0;
-  Fl_Window window(215,200,name);
+  fltk3::Window window(215,200,name);
   window.callback(cc_cancel_cb,&ret);
   Fl_Color_Chooser chooser(10, 10, 195, 115);
   ColorChip ok_color(10, 130, 95, 25);
@@ -592,7 +592,7 @@
   window.set_modal();
   window.hotspot(window);
   window.show();
-  while (window.shown()) Fl::wait();
+  while (window.shown()) fltk3::wait();
   if (ret) { // ok_button or Enter
     r = chooser.r();
     g = chooser.g();

Modified: branches/branch-3.0-2011/src/Fl_Counter.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Counter.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Counter.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,17 +25,17 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Counter.H>
 #include <fltk3/fl_draw.H>
 
 void Fl_Counter::draw() {
-  int i; Fl_Boxtype boxtype[5];
+  int i; fltk3::Boxtype boxtype[5];
   Fl_Color selcolor;
 
   boxtype[0] = box();
-  if (boxtype[0] == FL_UP_BOX) boxtype[0] = FL_DOWN_BOX;
-  if (boxtype[0] == FL_THIN_UP_BOX) boxtype[0] = FL_THIN_DOWN_BOX;
+  if (boxtype[0] == fltk3::UP_BOX) boxtype[0] = fltk3::DOWN_BOX;
+  if (boxtype[0] == fltk3::THIN_UP_BOX) boxtype[0] = fltk3::THIN_DOWN_BOX;
   for (i=1; i<5; i++)
     if (mouseobj == i)
       boxtype[i] = fl_down(box());
@@ -64,7 +64,7 @@
   fl_color(active_r() ? textcolor() : fl_inactive(textcolor()));
   char str[128]; format(str);
   fl_draw(str, xx[0], y(), ww[0], h(), FL_ALIGN_CENTER);
-  if (Fl::focus() == this) draw_focus(boxtype[0], xx[0], y(), ww[0], h());
+  if (fltk3::focus() == this) draw_focus(boxtype[0], xx[0], y(), ww[0], h());
   if (!(damage()&FL_DAMAGE_ALL)) return; // only need to redraw text
 
   if (active_r())
@@ -104,7 +104,7 @@
 void Fl_Counter::repeat_callback(void* v) {
   Fl_Counter* b = (Fl_Counter*)v;
   if (b->mouseobj) {
-    Fl::add_timeout(REPEAT, repeat_callback, b);
+    fltk3::add_timeout(REPEAT, repeat_callback, b);
     b->increment_cb();
   }
 }
@@ -112,14 +112,14 @@
 int Fl_Counter::calc_mouseobj() {
   if (type() == FL_NORMAL_COUNTER) {
     int W = w()*15/100;
-    if (Fl::event_inside(x(), y(), W, h())) return 1;
-    if (Fl::event_inside(x()+W, y(), W, h())) return 2;
-    if (Fl::event_inside(x()+w()-2*W, y(), W, h())) return 3;
-    if (Fl::event_inside(x()+w()-W, y(), W, h())) return 4;
+    if (fltk3::event_inside(x(), y(), W, h())) return 1;
+    if (fltk3::event_inside(x()+W, y(), W, h())) return 2;
+    if (fltk3::event_inside(x()+w()-2*W, y(), W, h())) return 3;
+    if (fltk3::event_inside(x()+w()-W, y(), W, h())) return 4;
   } else {
     int W = w()*20/100;
-    if (Fl::event_inside(x(), y(), W, h())) return 2;
-    if (Fl::event_inside(x()+w()-W, y(), W, h())) return 3;
+    if (fltk3::event_inside(x(), y(), W, h())) return 2;
+    if (fltk3::event_inside(x()+w()-W, y(), W, h())) return 3;
   }
   return -1;
 }
@@ -129,14 +129,14 @@
   switch (event) {
   case FL_RELEASE:
     if (mouseobj) {
-      Fl::remove_timeout(repeat_callback, this);
+      fltk3::remove_timeout(repeat_callback, this);
       mouseobj = 0;
       redraw();
     }
     handle_release();
     return 1;
   case FL_PUSH:
-    if (Fl::visible_focus()) Fl::focus(this);
+    if (fltk3::visible_focus()) fltk3::focus(this);
     { Fl_Widget_Tracker wp(this);
       handle_push();
       if (wp.deleted()) return 1;
@@ -144,9 +144,9 @@
   case FL_DRAG:
     i = calc_mouseobj();
     if (i != mouseobj) {
-      Fl::remove_timeout(repeat_callback, this);
+      fltk3::remove_timeout(repeat_callback, this);
       mouseobj = (uchar)i;
-      if (i) Fl::add_timeout(INITIALREPEAT, repeat_callback, this);
+      if (i) fltk3::add_timeout(INITIALREPEAT, repeat_callback, this);
       Fl_Widget_Tracker wp(this);
       increment_cb();
       if (wp.deleted()) return 1;
@@ -154,7 +154,7 @@
     }
     return 1;
   case FL_KEYBOARD :
-    switch (Fl::event_key()) {
+    switch (fltk3::event_key()) {
       case FL_Left:
 	handle_drag(clamp(increment(value(),-1)));
 	return 1;
@@ -167,7 +167,7 @@
     // break not required because of switch...
   case FL_FOCUS : /* FALLTHROUGH */
   case FL_UNFOCUS :
-    if (Fl::visible_focus()) {
+    if (fltk3::visible_focus()) {
       redraw();
       return 1;
     } else return 0;
@@ -183,7 +183,7 @@
   Destroys the valuator.
  */
 Fl_Counter::~Fl_Counter() {
-  Fl::remove_timeout(repeat_callback, this);
+  fltk3::remove_timeout(repeat_callback, this);
 }
 
 /**
@@ -194,7 +194,7 @@
  */
 Fl_Counter::Fl_Counter(int X, int Y, int W, int H, const char* L)
   : Fl_Valuator(X, Y, W, H, L) {
-  box(FL_UP_BOX);
+  box(fltk3::UP_BOX);
   selection_color(FL_INACTIVE_COLOR); // was FL_BLUE
   align(FL_ALIGN_BOTTOM);
   bounds(-1000000.0, 1000000.0);

Modified: branches/branch-3.0-2011/src/Fl_Device.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Device.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Device.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Device.H>
 #include <fltk3/Fl_Image.H>
 

Modified: branches/branch-3.0-2011/src/Fl_Dial.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Dial.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Dial.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Dial.H>
 #include <fltk3/fl_draw.H>
 #include <stdlib.h>
@@ -38,14 +38,14 @@
 */
 void Fl_Dial::draw(int X, int Y, int W, int H) {
   if (damage()&FL_DAMAGE_ALL) draw_box(box(), X, Y, W, H, color());
-  X += Fl::box_dx(box());
-  Y += Fl::box_dy(box());
-  W -= Fl::box_dw(box());
-  H -= Fl::box_dh(box());
+  X += fltk3::box_dx(box());
+  Y += fltk3::box_dy(box());
+  W -= fltk3::box_dw(box());
+  H -= fltk3::box_dh(box());
   double angle = (a2-a1)*(value()-minimum())/(maximum()-minimum()) + a1;
   if (type() == FL_FILL_DIAL) {
     // foo: draw this nicely in certain round box types
-    int foo = (box() > _FL_ROUND_UP_BOX && Fl::box_dx(box()));
+    int foo = (box() > fltk3::ROUND_UP_BOX && fltk3::box_dx(box()));
     if (foo) {X--; Y--; W+=2; H+=2;}
     if (active_r()) fl_color(color());
     else fl_color(fl_inactive(color()));
@@ -114,8 +114,8 @@
     handle_push();
     if (wp.deleted()) return 1; }
   case FL_DRAG: {
-    int mx = (Fl::event_x()-X-W/2)*H;
-    int my = (Fl::event_y()-Y-H/2)*W;
+    int mx = (fltk3::event_x()-X-W/2)*H;
+    int my = (fltk3::event_y()-Y-H/2)*W;
     if (!mx && !my) return 1;
     double angle = 270-atan2((float)-my, (float)mx)*180/M_PI;
     double oldangle = (a2-a1)*(value()-minimum())/(maximum()-minimum()) + a1;
@@ -155,7 +155,7 @@
   and label string. The default type is FL_NORMAL_DIAL.
 */
 : Fl_Valuator(X, Y, W, H, l) {
-  box(FL_OVAL_BOX);
+  box(fltk3::OVAL_BOX);
   selection_color(FL_INACTIVE_COLOR); // was 37
   a1 = 45;
   a2 = 315;

Modified: branches/branch-3.0-2011/src/Fl_Double_Window.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Double_Window.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Double_Window.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -26,14 +26,14 @@
 //
 
 #include <config.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Double_Window.H>
 #include <fltk3/Fl_Printer.H>
 #include <fltk3/x.H>
 #include <fltk3/fl_draw.H>
 
 // On systems that support double buffering "naturally" the base
-// Fl_Window class will probably do double-buffer and this subclass
+// fltk3::Window class will probably do double-buffer and this subclass
 // does nothing.
 
 #if USE_XDBE
@@ -62,7 +62,7 @@
 #endif
 
 void Fl_Double_Window::show() {
-  Fl_Window::show();
+  fltk3::Window::show();
 }
 
 static void fl_copy_offscreen_to_display(int x, int y, int w, int h, Fl_Offscreen pixmap, int srcx, int srcy);
@@ -390,7 +390,7 @@
     DeleteDC(fl_gc);
     fl_gc = _sgc;
     //# if defined(FLTK_USE_CAIRO)
-    //if Fl::cairo_autolink_context() Fl::cairo_make_current(this); // capture gc changes automatically to update the cairo context adequately
+    //if fltk3::cairo_autolink_context() fltk3::cairo_make_current(this); // capture gc changes automatically to update the cairo context adequately
     //# endif
 #elif defined(__APPLE__)
     if ( myi->other_xid ) {
@@ -417,7 +417,7 @@
 void Fl_Double_Window::resize(int X,int Y,int W,int H) {
   int ow = w();
   int oh = h();
-  Fl_Window::resize(X,Y,W,H);
+  fltk3::Window::resize(X,Y,W,H);
 #if USE_XDBE
   if (use_xdbe) {
     Fl_X* myi = Fl_X::i(this);
@@ -444,7 +444,7 @@
 #endif
       fl_delete_offscreen(myi->other_xid);
   }
-  Fl_Window::hide();
+  fltk3::Window::hide();
 }
 
 /**

Modified: branches/branch-3.0-2011/src/Fl_File_Browser.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_File_Browser.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_File_Browser.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -177,7 +177,7 @@
 
   // Set the font and size...
   if (line->txt[strlen(line->txt) - 1] == '/')
-    fl_font(textfont() | FL_BOLD, textsize());
+    fl_font(textfont() | fltk3::BOLD, textsize());
   else
     fl_font(textfont(), textsize());
 
@@ -283,7 +283,7 @@
   line = (FL_BLINE *)p;
 
   if (line->txt[strlen(line->txt) - 1] == '/')
-    fl_font(textfont() | FL_BOLD, textsize());
+    fl_font(textfont() | fltk3::BOLD, textsize());
   else
     fl_font(textfont(), textsize());
 

Modified: branches/branch-3.0-2011/src/Fl_File_Chooser.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_File_Chooser.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_File_Chooser.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -33,7 +33,7 @@
 void Fl_File_Chooser::cb_window_i(Fl_Double_Window*, void*) {
   fileName->value("");
 fileList->deselect();
-Fl::remove_timeout((Fl_Timeout_Handler)previewCB, this);
+fltk3::remove_timeout((Fl_Timeout_Handler)previewCB, this);
 window->hide();
 }
 void Fl_File_Chooser::cb_window(Fl_Double_Window* o, void* v) {
@@ -109,7 +109,7 @@
 void Fl_File_Chooser::cb_cancelButton_i(Fl_Button*, void*) {
   fileName->value("");
 fileList->deselect();
-Fl::remove_timeout((Fl_Timeout_Handler)previewCB, this);
+fltk3::remove_timeout((Fl_Timeout_Handler)previewCB, this);
 window->hide();
 }
 void Fl_File_Chooser::cb_cancelButton(Fl_Button* o, void* v) {
@@ -164,14 +164,14 @@
     window->callback((Fl_Callback*)cb_window, (void*)(this));
     { Fl_Group* o = new Fl_Group(10, 10, 470, 25);
       { showChoice = new Fl_Choice(65, 10, 215, 25, "Show:");
-        showChoice->down_box(FL_BORDER_BOX);
+        showChoice->down_box(fltk3::BORDER_BOX);
         showChoice->labelfont(1);
         showChoice->callback((Fl_Callback*)cb_showChoice);
         Fl_Group::current()->resizable(showChoice);
         showChoice->label(show_label);
       } // Fl_Choice* showChoice
       { favoritesButton = new Fl_Menu_Button(290, 10, 155, 25, "Favorites");
-        favoritesButton->down_box(FL_BORDER_BOX);
+        favoritesButton->down_box(fltk3::BORDER_BOX);
         favoritesButton->callback((Fl_Callback*)cb_favoritesButton);
         favoritesButton->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
         favoritesButton->label(favorites_label);
@@ -191,11 +191,11 @@
         fileList->callback((Fl_Callback*)cb_fileList);
         fileList->window()->hotspot(fileList);
       } // Fl_File_Browser* fileList
-      { previewBox = new Fl_Box(305, 45, 175, 225, "?");
-        previewBox->box(FL_DOWN_BOX);
+      { previewBox = new fltk3::Box(305, 45, 175, 225, "?");
+        previewBox->box(fltk3::DOWN_BOX);
         previewBox->labelsize(100);
         previewBox->align(Fl_Align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE));
-      } // Fl_Box* previewBox
+      } // fltk3::Box* previewBox
       o->end();
       Fl_Group::current()->resizable(o);
     } // Fl_Tile* o
@@ -203,14 +203,14 @@
       { Fl_Group* o = new Fl_Group(10, 275, 470, 20);
         { previewButton = new Fl_Check_Button(10, 275, 73, 20, "Preview");
           previewButton->shortcut(0x80070);
-          previewButton->down_box(FL_DOWN_BOX);
+          previewButton->down_box(fltk3::DOWN_BOX);
           previewButton->value(1);
           previewButton->callback((Fl_Callback*)cb_previewButton);
           previewButton->label(preview_label);
         } // Fl_Check_Button* previewButton
-        { Fl_Box* o = new Fl_Box(115, 275, 365, 20);
+        { fltk3::Box* o = new fltk3::Box(115, 275, 365, 20);
           Fl_Group::current()->resizable(o);
-        } // Fl_Box* o
+        } // fltk3::Box* o
         o->end();
       } // Fl_Group* o
       { fileName = new Fl_File_Input(115, 300, 365, 35);
@@ -220,11 +220,11 @@
         Fl_Group::current()->resizable(fileName);
         fileName->when(FL_WHEN_CHANGED | FL_WHEN_ENTER_KEY);
       } // Fl_File_Input* fileName
-      { Fl_Box* o = new Fl_Box(10, 310, 105, 25, "Filename:");
+      { fltk3::Box* o = new fltk3::Box(10, 310, 105, 25, "Filename:");
         o->labelfont(1);
         o->align(Fl_Align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE));
         o->label(filename_label);
-      } // Fl_Box* o
+      } // fltk3::Box* o
       { Fl_Group* o = new Fl_Group(10, 345, 470, 25);
         { okButton = new Fl_Return_Button(313, 345, 85, 25, "OK");
           okButton->callback((Fl_Callback*)cb_okButton);
@@ -234,9 +234,9 @@
           cancelButton->callback((Fl_Callback*)cb_cancelButton);
           o->label(fl_cancel);
         } // Fl_Button* cancelButton
-        { Fl_Box* o = new Fl_Box(10, 345, 30, 25);
+        { fltk3::Box* o = new fltk3::Box(10, 345, 30, 25);
           Fl_Group::current()->resizable(o);
-        } // Fl_Box* o
+        } // fltk3::Box* o
         o->end();
       } // Fl_Group* o
       o->end();
@@ -275,9 +275,9 @@
         favOkButton->callback((Fl_Callback*)cb_favOkButton);
         favOkButton->label(save_label);
       } // Fl_Return_Button* favOkButton
-      { Fl_Box* o = new Fl_Box(10, 115, 161, 25);
+      { fltk3::Box* o = new fltk3::Box(10, 115, 161, 25);
         Fl_Group::current()->resizable(o);
-      } // Fl_Box* o
+      } // fltk3::Box* o
       o->end();
     } // Fl_Group* o
     favWindow->label(manage_favorites_label);
@@ -288,7 +288,7 @@
   callback_ = 0;
 data_ = 0;
 directory_[0] = 0;
-window->size_range(window->w(), window->h(), Fl::w(), Fl::h());
+window->size_range(window->w(), window->h(), fltk3::w(), fltk3::h());
 type(t);
 filter(p);
 update_favorites();
@@ -302,7 +302,7 @@
 }
 
 Fl_File_Chooser::~Fl_File_Chooser() {
-  Fl::remove_timeout((Fl_Timeout_Handler)previewCB, this);
+  fltk3::remove_timeout((Fl_Timeout_Handler)previewCB, this);
 if(ext_group)window->remove(ext_group);
 delete window;
 delete favWindow;
@@ -374,7 +374,7 @@
 void Fl_File_Chooser::show() {
   window->hotspot(fileList);
 window->show();
-Fl::flush();
+fltk3::flush();
 fl_cursor(FL_CURSOR_WAIT);
 rescan_keep_filename();
 fl_cursor(FL_CURSOR_DEFAULT);

Modified: branches/branch-3.0-2011/src/Fl_File_Chooser2.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_File_Chooser2.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_File_Chooser2.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -293,7 +293,7 @@
 */
   /** \fn int Fl_File_Chooser::shown()
     Returns non-zero if the file chooser main window show() has been called (but not hide()
-    see Fl_Window::shown()
+    see fltk3::Window::shown()
   */
 
   /** \fn void Fl_File_Chooser::callback(void (*cb)(Fl_File_Chooser *, void *), void *d = 0)
@@ -706,7 +706,7 @@
     snprintf(pathname, sizeof(pathname), "%s/%s", directory_, filename);
   }
 
-  if (Fl::event_clicks()) {
+  if (fltk3::event_clicks()) {
 #if (defined(WIN32) && ! defined(__CYGWIN__)) || defined(__EMX__)
     if ((strlen(pathname) == 2 && pathname[1] == ':') ||
         _fl_filename_isdir_quick(pathname))
@@ -721,7 +721,7 @@
       // be treated as a triple-click.  We use a value of -1 because
       // the next click will increment click count to 0, which is what
       // we really want...
-      Fl::event_clicks(-1);
+      fltk3::event_clicks(-1);
     }
     else
     {
@@ -768,8 +768,8 @@
     fileName->value(pathname);
 
     // Update the preview box...
-    Fl::remove_timeout((Fl_Timeout_Handler)previewCB, this);
-    Fl::add_timeout(1.0, (Fl_Timeout_Handler)previewCB, this);
+    fltk3::remove_timeout((Fl_Timeout_Handler)previewCB, this);
+    fltk3::add_timeout(1.0, (Fl_Timeout_Handler)previewCB, this);
 
     // Do any callback that is registered...
     if (callback_) (*callback_)(this, data_);
@@ -802,7 +802,7 @@
   const char	*file;		// File from directory
 
 //  puts("fileNameCB()");
-//  printf("Event: %s\n", fl_eventnames[Fl::event()]);
+//  printf("Event: %s\n", fl_eventnames[fltk3::event()]);
 
   // Get the filename from the text field...
   filename = (char *)fileName->value();
@@ -838,7 +838,7 @@
   filename = pathname;
 
   // Now process things according to the key pressed...
-  if (Fl::event_key() == FL_Enter || Fl::event_key() == FL_KP_Enter) {
+  if (fltk3::event_key() == FL_Enter || fltk3::event_key() == FL_KP_Enter) {
     // Enter pressed - select or change directory...
 #if (defined(WIN32) && ! defined(__CYGWIN__)) || defined(__EMX__)
     if ((isalpha(pathname[0] & 255) && pathname[1] == ':' && !pathname[2]) ||
@@ -865,8 +865,8 @@
       fl_alert("%s",existing_file_label);
     }
   }
-  else if (Fl::event_key() != FL_Delete &&
-           Fl::event_key() != FL_BackSpace) {
+  else if (fltk3::event_key() != FL_Delete &&
+           fltk3::event_key() != FL_BackSpace) {
     // Check to see if the user has entered a directory...
     if ((slash = strrchr(pathname, '/')) == NULL)
       slash = strrchr(pathname, '\\');
@@ -1322,13 +1322,13 @@
       } else {
         // if this file is an image, try to load it
         window->cursor(FL_CURSOR_WAIT);
-        Fl::check();
+        fltk3::check();
         
         image = Fl_Shared_Image::get(filename);
         
         if (image) {
           window->cursor(FL_CURSOR_DEFAULT);
-          Fl::check();
+          fltk3::check();
           set = 1;
         }
       }
@@ -1360,7 +1360,7 @@
     }
 
     window->cursor(FL_CURSOR_DEFAULT);
-    Fl::check();
+    fltk3::check();
 
     // Scan the buffer for printable UTF8 chars...
     for (ptr = preview_text_; *ptr; ptr++) {

Modified: branches/branch-3.0-2011/src/Fl_File_Icon.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_File_Icon.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_File_Icon.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -458,8 +458,8 @@
 */
 void Fl_File_Icon::label(Fl_Widget *w)	// I - Widget to label
 {
-  Fl::set_labeltype(_FL_ICON_LABEL, labeltype, 0);
-  w->label(_FL_ICON_LABEL, (const char*)this);
+  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 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_File_Icon2.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -118,7 +118,7 @@
 
   if (i)
   {
-    Fl::warning("Fl_File_Icon::load(): Unable to load icon file \"%s\".", f);
+    fltk3::warning("Fl_File_Icon::load(): Unable to load icon file \"%s\".", f);
     return;
   }
 }
@@ -143,7 +143,7 @@
   // Try to open the file...
   if ((fp = fl_fopen(fti, "rb")) == NULL)
   {
-    Fl::error("Fl_File_Icon::load_fti(): Unable to open \"%s\" - %s",
+    fltk3::error("Fl_File_Icon::load_fti(): Unable to open \"%s\" - %s",
               fti, strerror(errno));
     return -1;
   }
@@ -173,7 +173,7 @@
     // OK, this character better be a letter...
     if (!isalpha(ch))
     {
-      Fl::error("Fl_File_Icon::load_fti(): Expected a letter at file position %ld (saw '%c')",
+      fltk3::error("Fl_File_Icon::load_fti(): Expected a letter at file position %ld (saw '%c')",
                 ftell(fp) - 1, ch);
       break;
     }
@@ -195,7 +195,7 @@
     // Make sure we stopped on a parenthesis...
     if (ch != '(')
     {
-      Fl::error("Fl_File_Icon::load_fti(): Expected a ( at file position %ld (saw '%c')",
+      fltk3::error("Fl_File_Icon::load_fti(): Expected a ( at file position %ld (saw '%c')",
                 ftell(fp) - 1, ch);
       break;
     }
@@ -216,7 +216,7 @@
     // Make sure we stopped on a parenthesis...
     if (ch != ')')
     {
-      Fl::error("Fl_File_Icon::load_fti(): Expected a ) at file position %ld (saw '%c')",
+      fltk3::error("Fl_File_Icon::load_fti(): Expected a ) at file position %ld (saw '%c')",
                 ftell(fp) - 1, ch);
       break;
     }
@@ -224,7 +224,7 @@
     // Make sure the next character is a semicolon...
     if ((ch = getc(fp)) != ';')
     {
-      Fl::error("Fl_File_Icon::load_fti(): Expected a ; at file position %ld (saw '%c')",
+      fltk3::error("Fl_File_Icon::load_fti(): Expected a ; at file position %ld (saw '%c')",
                 ftell(fp) - 1, ch);
       break;
     }
@@ -323,7 +323,7 @@
     }
     else
     {
-      Fl::error("Fl_File_Icon::load_fti(): Unknown command \"%s\" at file position %ld.",
+      fltk3::error("Fl_File_Icon::load_fti(): Unknown command \"%s\" at file position %ld.",
                 command, ftell(fp) - 1);
       break;
     }

Modified: branches/branch-3.0-2011/src/Fl_File_Input.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_File_Input.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_File_Input.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -26,9 +26,9 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_File_Input.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/Window.h>
 #include <fltk3/fl_draw.H>
 #include <fltk3/filename.H>
 #include <stdio.h>
@@ -51,7 +51,7 @@
 
 /**
   Creates a new Fl_File_Input widget using the given position,
-  size, and label string. The default boxtype is FL_DOWN_BOX.
+  size, and label string. The default boxtype is fltk3::DOWN_BOX.
   \param[in] X, Y, W, H position and size of the widget
   \param[in] L widget label, default is no label
 */
@@ -62,7 +62,7 @@
   ok_entry_   = 1;
   pressed_    = -1;
 
-  down_box(FL_UP_BOX);
+  down_box(fltk3::UP_BOX);
 }
 
 /**
@@ -130,7 +130,7 @@
     end ++;
 
     buttons_[i] = (short)fl_width(start, end - start);
-    if (!i) buttons_[i] += Fl::box_dx(box()) + 6;
+    if (!i) buttons_[i] += fltk3::box_dx(box()) + 6;
   }
 
 //  printf("    found %d components/buttons...\n", i);
@@ -169,16 +169,16 @@
   Draws the file input widget
 */
 void Fl_File_Input::draw() {
-  Fl_Boxtype b = box();
+  fltk3::Boxtype b = box();
   if (damage() & (FL_DAMAGE_BAR | FL_DAMAGE_ALL)) draw_buttons();
   // this flag keeps Fl_Input_::drawtext from drawing a bogus box!
   char must_trick_fl_input_ = 
-    Fl::focus()!=this && !size() && !(damage()&FL_DAMAGE_ALL);
+    fltk3::focus()!=this && !size() && !(damage()&FL_DAMAGE_ALL);
   if ((damage() & FL_DAMAGE_ALL) || must_trick_fl_input_) 
     draw_box(b,x(),y()+DIR_HEIGHT,w(),h()-DIR_HEIGHT,color());
   if (!must_trick_fl_input_) 
-    Fl_Input_::drawtext(x()+Fl::box_dx(b)+3, y()+Fl::box_dy(b)+DIR_HEIGHT,
-		        w()-Fl::box_dw(b)-6, h()-Fl::box_dh(b)-DIR_HEIGHT);
+    Fl_Input_::drawtext(x()+fltk3::box_dx(b)+3, y()+fltk3::box_dy(b)+DIR_HEIGHT,
+		        w()-fltk3::box_dw(b)-6, h()-fltk3::box_dh(b)-DIR_HEIGHT);
 }
 
 
@@ -198,7 +198,7 @@
     case FL_MOVE :
     case FL_ENTER :
       if (active_r()) {
-	if (Fl::event_y() < (y() + DIR_HEIGHT)) 
+	if (fltk3::event_y() < (y() + DIR_HEIGHT)) 
           window()->cursor(FL_CURSOR_DEFAULT);
 	else 
           window()->cursor(FL_CURSOR_INSERT);
@@ -207,7 +207,7 @@
       return 1;
 
     case FL_PUSH :
-      inButtonBar = (Fl::event_y() < (y() + DIR_HEIGHT));
+      inButtonBar = (fltk3::event_y() < (y() + DIR_HEIGHT));
     case FL_RELEASE :
     case FL_DRAG :
       if (inButtonBar) 
@@ -249,7 +249,7 @@
   {
     X += buttons_[i];
 
-    if (X > xscroll() && Fl::event_x() < (x() + X - xscroll())) break;
+    if (X > xscroll() && fltk3::event_x() < (x() + X - xscroll())) break;
   }
 
 //  printf("handle_button(event = %d), button = %d\n", event, i);

Modified: branches/branch-3.0-2011/src/Fl_GIF_Image.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_GIF_Image.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_GIF_Image.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -32,7 +32,7 @@
 // Include necessary header files...
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_GIF_Image.H>
 #include <stdio.h>
 #include <stdlib.h>
@@ -89,7 +89,7 @@
   char **new_data;	// Data array
 
   if ((GifFile = fl_fopen(infname, "rb")) == NULL) {
-    Fl::error("Fl_GIF_Image: Unable to open %s!", infname);
+    fltk3::error("Fl_GIF_Image: Unable to open %s!", infname);
     return;
   }
 
@@ -100,11 +100,11 @@
   }
   if (b[0]!='G' || b[1]!='I' || b[2] != 'F') {
     fclose(GifFile);
-    Fl::error("Fl_GIF_Image: %s is not a GIF file.\n", infname);
+    fltk3::error("Fl_GIF_Image: %s is not a GIF file.\n", infname);
     return;
   }
   if (b[3]!='8' || b[4]>'9' || b[5]!= 'a')
-    Fl::warning("%s is version %c%c%c.",infname,b[3],b[4],b[5]);
+    fltk3::warning("%s is version %c%c%c.",infname,b[3],b[4],b[5]);
   }
 
   int Width; GETSHORT(Width);
@@ -130,7 +130,7 @@
       Blue[i] = NEXTBYTE;
     }
   } else {
-    Fl::warning("%s does not have a colormap.", infname);
+    fltk3::warning("%s does not have a colormap.", infname);
     for (int i = 0; i < ColorMapSize; i++)
       Red[i] = Green[i] = Blue[i] = (uchar)(255 * i / (ColorMapSize-1));
   }
@@ -143,7 +143,7 @@
     int i = NEXTBYTE;
     if (i<0) {
       fclose(GifFile);
-      Fl::error("Fl_GIF_Image: %s - unexpected EOF",infname); 
+      fltk3::error("Fl_GIF_Image: %s - unexpected EOF",infname); 
       return;
     }
     int blocklen;
@@ -168,7 +168,7 @@
 	;
 
       } else if (ch != 0xFE) { //Gif Comment
-	Fl::warning("%s: unknown gif extension 0x%02x.", infname, ch);
+	fltk3::warning("%s: unknown gif extension 0x%02x.", infname, ch);
       }
     } else if (i == 0x2c) {	// an image
 
@@ -190,7 +190,7 @@
       CodeSize = NEXTBYTE+1;
       break; // okay, this is the image we want
     } else {
-      Fl::warning("%s: unknown gif code 0x%02x", infname, i);
+      fltk3::warning("%s: unknown gif code 0x%02x", infname, i);
       blocklen = 0;
     }
 
@@ -270,7 +270,7 @@
     int i;
     if (CurCode < FreeCode) i = CurCode;
     else if (CurCode == FreeCode) {*tp++ = (uchar)FinChar; i = OldCode;}
-    else {Fl::error("Fl_GIF_Image: %s - LZW Barf!", infname); break;}
+    else {fltk3::error("Fl_GIF_Image: %s - LZW Barf!", infname); break;}
 
     while (i >= ColorMapSize) {*tp++ = Suffix[i]; i = Prefix[i];}
     *tp++ = FinChar = i;

Modified: branches/branch-3.0-2011/src/Fl_Gl_Choice.H
===================================================================
--- branches/branch-3.0-2011/src/Fl_Gl_Choice.H	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Gl_Choice.H	2011-01-09 17:05:31 UTC (rev 8230)
@@ -91,29 +91,29 @@
   static Fl_Gl_Choice *find(int mode, const int *);
 };
 
-class Fl_Window;
+class fltk3::Window;
 
 #ifdef WIN32
 
-GLContext fl_create_gl_context(Fl_Window*, const Fl_Gl_Choice*, int layer=0);
+GLContext fl_create_gl_context(fltk3::Window*, const Fl_Gl_Choice*, int layer=0);
 
 #elif defined(__APPLE_QUARTZ__)
 // warning: the Quartz version should probably use Core GL (CGL) instead of AGL
 
-GLContext fl_create_gl_context(Fl_Window*, const Fl_Gl_Choice*, int layer=0);
+GLContext fl_create_gl_context(fltk3::Window*, const Fl_Gl_Choice*, int layer=0);
 
 #else
 
 GLContext fl_create_gl_context(XVisualInfo* vis);
 
 static inline
-GLContext fl_create_gl_context(Fl_Window*, const Fl_Gl_Choice* g) {
+GLContext fl_create_gl_context(fltk3::Window*, const Fl_Gl_Choice* g) {
   return fl_create_gl_context(g->vis);
 }
 
 #endif
 
-void fl_set_gl_context(Fl_Window*, GLContext);
+void fl_set_gl_context(fltk3::Window*, GLContext);
 void fl_no_gl_context();
 void fl_delete_gl_context(GLContext);
 

Modified: branches/branch-3.0-2011/src/Fl_Gl_Choice.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Gl_Choice.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Gl_Choice.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -28,7 +28,7 @@
 #include <config.h>
 #if HAVE_GL
 
-#  include <fltk3/Fl.H>
+#  include <fltk3/run.h>
 #  include <fltk3/x.H>
 #  include <stdlib.h>
 #  include "Fl_Gl_Choice.H"
@@ -38,7 +38,7 @@
 
 #  ifdef __APPLE__
 #    include <ApplicationServices/ApplicationServices.H>
-#    include <fltk3/Fl_Window.H>
+#    include <fltk3/Window.h>
 #  endif
 
 #  ifdef WIN32
@@ -274,7 +274,7 @@
 
 #elif defined(WIN32)
 
-GLContext fl_create_gl_context(Fl_Window* window, const Fl_Gl_Choice* g, int layer) {
+GLContext fl_create_gl_context(fltk3::Window* window, const Fl_Gl_Choice* g, int layer) {
   Fl_X* i = Fl_X::i(window);
   HDC hdc = i->private_dc;
   if (!hdc) {
@@ -307,7 +307,7 @@
 #endif
 
 // warning: the Quartz version should probably use Core GL (CGL) instead of AGL
-GLContext fl_create_gl_context(Fl_Window* window, const Fl_Gl_Choice* g, int layer) {
+GLContext fl_create_gl_context(fltk3::Window* window, const Fl_Gl_Choice* g, int layer) {
   GLContext context, shared_ctx = 0;
   if (context_list && nContext) shared_ctx = context_list[0];
   context = aglCreateContext( g->pixelformat, shared_ctx);
@@ -341,9 +341,9 @@
 #  endif
 
 static GLContext cached_context;
-static Fl_Window* cached_window;
+static fltk3::Window* cached_window;
 
-void fl_set_gl_context(Fl_Window* w, GLContext context) {
+void fl_set_gl_context(fltk3::Window* w, GLContext context) {
   if (context != cached_context || w != cached_window) {
     cached_context = context;
     cached_window = w;

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 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Gl_Device_Plugin.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -29,7 +29,7 @@
 #include <fltk3/Fl_Printer.H>
 #include <fltk3/Fl_Gl_Window.H>
 #include "Fl_Gl_Choice.H"
-#include "fltk3/Fl.H"
+#include "fltk3/run.h"
 #ifndef __APPLE__
 #include "fltk3/fl_draw.H"
 #endif
@@ -55,17 +55,17 @@
 #endif
   fl_gc = NULL;
 #ifdef WIN32
-  Fl::check();
-  Fl_Window *win = (Fl_Window*)glw;
+  fltk3::check();
+  fltk3::Window *win = (fltk3::Window*)glw;
   while( win->window() ) win = win->window();
   win->redraw();
-  Fl::check();
+  fltk3::check();
   glw->make_current();
 #else
   glw->make_current();
   glw->redraw();
   glFlush();
-  Fl::check();
+  fltk3::check();
   glFinish();
 #endif
   // Read OpenGL context pixels directly.

Modified: branches/branch-3.0-2011/src/Fl_Gl_Overlay.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Gl_Overlay.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Gl_Overlay.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -28,7 +28,7 @@
 #include <config.h>
 #if HAVE_GL
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
 #include "Fl_Gl_Choice.H"
 #include <fltk3/Fl_Gl_Window.H>
@@ -113,8 +113,8 @@
     Fl_X::make_xid(this, fl_overlay_visual, fl_overlay_colormap);
     fl_background_pixel = -1;
     // find the outermost window to tell wm about the colormap:
-    Fl_Window *w = window();
-    for (;;) {Fl_Window *w1 = w->window(); if (!w1) break; w = w1;}
+    fltk3::Window *w = window();
+    for (;;) {fltk3::Window *w1 = w->window(); if (!w1) break; w = w1;}
     XSetWMColormapWindows(fl_display, fl_xid(w), &(Fl_X::i(this)->xid), 1);
     context(fl_create_gl_context(fl_overlay_visual), 1);
     valid(0);
@@ -164,7 +164,7 @@
     int n = (1<<fl_overlay_depth)-1;
     // copy all colors except #0 into the overlay palette:
     for (int i = 0; i <= n; i++) {
-      uchar r,g,b; Fl::get_color((Fl_Color)i,r,g,b);
+      uchar r,g,b; fltk3::get_color((Fl_Color)i,r,g,b);
       palette[i] = RGB(r,g,b);
     }
     // always provide black & white in the last 2 pixels:

Modified: branches/branch-3.0-2011/src/Fl_Gl_Window.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Gl_Window.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Gl_Window.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -32,7 +32,7 @@
 
 static int temp = fl_gl_load_plugin;
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
 #include "Fl_Gl_Choice.H"
 #include <fltk3/Fl_Gl_Window.H>
@@ -83,7 +83,7 @@
       }
 
       if (!g) {
-        Fl::error("Insufficient GL support");
+        fltk3::error("Insufficient GL support");
 	return;
       }
     }
@@ -95,7 +95,7 @@
 	else Fl_X::i(window())->contains_GL_subwindow();
 #endif
   }
-  Fl_Window::show();
+  fltk3::Window::show();
 
 #ifdef __APPLE__
   set_visible();
@@ -427,7 +427,7 @@
   }
 #endif
 
-  Fl_Window::resize(X,Y,W,H);
+  fltk3::Window::resize(X,Y,W,H);
 }
 
 /**
@@ -459,7 +459,7 @@
     overlay = 0;
   }
 #endif
-  Fl_Window::hide();
+  fltk3::Window::hide();
 }
 
 /**
@@ -473,7 +473,7 @@
 
 void Fl_Gl_Window::init() {
   end(); // we probably don't want any children
-  box(FL_NO_BOX);
+  box(fltk3::NO_BOX);
 
   mode_    = FL_RGB | FL_DEPTH | FL_DOUBLE;
   alist    = 0;
@@ -525,7 +525,7 @@
   buffers are swapped after this function is completed.
 */
 void Fl_Gl_Window::draw() {
-    Fl::fatal("Fl_Gl_Window::draw() *must* be overriden. Please refer to the documentation.");
+    fltk3::fatal("Fl_Gl_Window::draw() *must* be overriden. Please refer to the documentation.");
 }
 
 
@@ -546,7 +546,7 @@
       show(); //
   }
 #endif
-  return Fl_Window::handle(event);
+  return fltk3::Window::handle(event);
 }
 
 //

Modified: branches/branch-3.0-2011/src/Fl_Group.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Group.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Group.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -27,13 +27,13 @@
 
 // The Fl_Group is the only defined container type in FLTK.
 
-// Fl_Window itself is a subclass of this, and most of the event
+// 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/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Group.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/Window.h>
 #include <fltk3/fl_draw.H>
 #include <stdlib.h>
 
@@ -68,7 +68,7 @@
   tree by just constructing the widgets.
 
   begin() is automatically called by the constructor for Fl_Group (and thus for
-  Fl_Window as well). begin() <I>is exactly the same as</I> current(this).
+  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;}
@@ -94,7 +94,7 @@
 */
 void Fl_Group::current(Fl_Group *g) {current_ = g;}
 
-extern Fl_Widget* fl_oldfocus; // set by Fl::focus
+extern Fl_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.
@@ -106,21 +106,21 @@
   case FL_DND_ENTER: /* FALLTHROUGH */
   case FL_DND_DRAG:
     // figure out correct type of event:
-    event = (o->contains(Fl::belowmouse())) ? FL_DND_DRAG : FL_DND_ENTER;
+    event = (o->contains(fltk3::belowmouse())) ? FL_DND_DRAG : FL_DND_ENTER;
   }
-  int save_x = Fl::e_x; Fl::e_x -= o->x();
-  int save_y = Fl::e_y; Fl::e_y -= o->y();
+  int save_x = fltk3::e_x; fltk3::e_x -= o->x();
+  int save_y = fltk3::e_y; fltk3::e_y -= o->y();
   int ret = o->handle(event);
-  Fl::e_y = save_y;
-  Fl::e_x = save_x;
+  fltk3::e_y = save_y;
+  fltk3::e_x = save_x;
   switch ( event )
   {
   case FL_ENTER: /* FALLTHROUGH */
   case FL_DND_ENTER:
     // Successful completion of FL_ENTER means the widget is now the
-    // belowmouse widget, but only call Fl::belowmouse if the child
+    // belowmouse widget, but only call fltk3::belowmouse if the child
     // widget did not do so:
-    if (!o->contains(Fl::belowmouse())) Fl::belowmouse(o);
+    if (!o->contains(fltk3::belowmouse())) fltk3::belowmouse(o);
     break;
   }
   return ret;
@@ -129,11 +129,11 @@
 // translate the current keystroke into up/down/left/right for navigation:
 #define ctrl(x) (x^0x40)
 static int navkey() {
-  switch (Fl::event_key()) {
+  switch (fltk3::event_key()) {
   case 0: // not an FL_KEYBOARD/FL_SHORTCUT event
     break;
   case FL_Tab:
-    if (!Fl::event_state(FL_SHIFT)) return FL_Right;
+    if (!fltk3::event_state(FL_SHIFT)) return FL_Right;
     return FL_Left;
   case FL_Right:
     return FL_Right;
@@ -180,56 +180,56 @@
   case FL_SHORTCUT:
     for (i = children(); i--;) {
       o = a[i];
-      if (o->takesevents() && Fl::event_inside(o) && send(o,FL_SHORTCUT))
+      if (o->takesevents() && fltk3::event_inside(o) && send(o,FL_SHORTCUT))
 	return 1;
     }
     for (i = children(); i--;) {
       o = a[i];
-      if (o->takesevents() && !Fl::event_inside(o) && send(o,FL_SHORTCUT))
+      if (o->takesevents() && !fltk3::event_inside(o) && send(o,FL_SHORTCUT))
 	return 1;
     }
-    if ((Fl::event_key() == FL_Enter || Fl::event_key() == FL_KP_Enter)) return navigation(FL_Down);
+    if ((fltk3::event_key() == FL_Enter || fltk3::event_key() == FL_KP_Enter)) return navigation(FL_Down);
     return 0;
 
   case FL_ENTER:
   case FL_MOVE:
     for (i = children(); i--;) {
       o = a[i];
-      if (o->visible() && Fl::event_inside(o)) {
-	if (o->contains(Fl::belowmouse())) {
+      if (o->visible() && fltk3::event_inside(o)) {
+	if (o->contains(fltk3::belowmouse())) {
 	  return send(o,FL_MOVE);
 	} else {
-	  Fl::belowmouse(o);
+	  fltk3::belowmouse(o);
 	  if (send(o,FL_ENTER)) return 1;
 	}
       }
     }
-    Fl::belowmouse(this);
+    fltk3::belowmouse(this);
     return 1;
 
   case FL_DND_ENTER:
   case FL_DND_DRAG:
     for (i = children(); i--;) {
       o = a[i];
-      if (o->takesevents() && Fl::event_inside(o)) {
-	if (o->contains(Fl::belowmouse())) {
+      if (o->takesevents() && fltk3::event_inside(o)) {
+	if (o->contains(fltk3::belowmouse())) {
 	  return send(o,FL_DND_DRAG);
 	} else if (send(o,FL_DND_ENTER)) {
-	  if (!o->contains(Fl::belowmouse())) Fl::belowmouse(o);
+	  if (!o->contains(fltk3::belowmouse())) fltk3::belowmouse(o);
 	  return 1;
 	}
       }
     }
-    Fl::belowmouse(this);
+    fltk3::belowmouse(this);
     return 0;
 
   case FL_PUSH:
     for (i = children(); i--;) {
       o = a[i];
-      if (o->takesevents() && Fl::event_inside(o)) {
+      if (o->takesevents() && fltk3::event_inside(o)) {
 	Fl_Widget_Tracker wp(o);
 	if (send(o,FL_PUSH)) {
-	  if (Fl::pushed() && wp.exists() && !o->contains(Fl::pushed())) Fl::pushed(o);
+	  if (fltk3::pushed() && wp.exists() && !o->contains(fltk3::pushed())) fltk3::pushed(o);
 	  return 1;
 	}
       }
@@ -238,13 +238,13 @@
 
   case FL_RELEASE:
   case FL_DRAG:
-    o = Fl::pushed();
+    o = fltk3::pushed();
     if (o == this) return 0;
     else if (o) send(o,event);
     else {
       for (i = children(); i--;) {
 	o = a[i];
-	if (o->takesevents() && Fl::event_inside(o)) {
+	if (o->takesevents() && fltk3::event_inside(o)) {
 	  if (send(o,event)) return 1;
 	}
       }
@@ -254,12 +254,12 @@
   case FL_MOUSEWHEEL:
     for (i = children(); i--;) {
       o = a[i];
-      if (o->takesevents() && Fl::event_inside(o) && send(o,FL_MOUSEWHEEL))
+      if (o->takesevents() && fltk3::event_inside(o) && send(o,FL_MOUSEWHEEL))
 	return 1;
     }
     for (i = children(); i--;) {
       o = a[i];
-      if (o->takesevents() && !Fl::event_inside(o) && send(o,FL_MOUSEWHEEL))
+      if (o->takesevents() && !fltk3::event_inside(o) && send(o,FL_MOUSEWHEEL))
 	return 1;
     }
     return 0;
@@ -276,12 +276,12 @@
   case FL_HIDE:
     for (i = children(); i--;) {
       o = *a++;
-      if (event == FL_HIDE && o == Fl::focus()) {
+      if (event == FL_HIDE && o == fltk3::focus()) {
         // Give up input focus...
-	int old_event = Fl::e_number;
-        o->handle(Fl::e_number = FL_UNFOCUS);
-	Fl::e_number = old_event;
-	Fl::focus(0);
+	int old_event = fltk3::e_number;
+        o->handle(fltk3::e_number = FL_UNFOCUS);
+	fltk3::e_number = old_event;
+	fltk3::focus(0);
       }
       if (o->visible()) o->handle(event);
     }
@@ -290,7 +290,7 @@
   default:
     // For all other events, try to give to each child, starting at focus:
     for (i = 0; i < children(); i ++)
-      if (Fl::focus_ == a[i]) break;
+      if (fltk3::focus_ == a[i]) break;
 
     if (i >= children()) i = 0;
 
@@ -307,7 +307,7 @@
   }
 }
 
-//void Fl_Group::focus(Fl_Widget *o) {Fl::focus(o); o->handle(FL_FOCUS);}
+//void Fl_Group::focus(Fl_Widget *o) {fltk3::focus(o); o->handle(FL_FOCUS);}
 
 #if 0
 const char *nameof(Fl_Widget *o) {
@@ -323,7 +323,7 @@
   int i;
   for (i = 0; ; i++) {
     if (i >= children_) return 0;
-    if (array_[i]->contains(Fl::focus())) break;
+    if (array_[i]->contains(fltk3::focus())) break;
   }
   Fl_Widget *previous = array_[i];
 
@@ -388,14 +388,14 @@
   resizable_ = this;
   init_sizes();
 
-  // we must change the Fl::pushed() widget, if it is one of
+  // we must change the fltk3::pushed() widget, if it is one of
   // the group's children. Otherwise fl_fix_focus() would send
   // lots of events to children that are about to be deleted
   // anyway.
 
-  Fl_Widget *pushed = Fl::pushed();	// save pushed() widget
+  Fl_Widget *pushed = fltk3::pushed();	// save pushed() widget
   if (contains(pushed)) pushed = this;	// set it to be the group, if it's a child
-  Fl::pushed(this);			// for fl_fix_focus etc.
+  fltk3::pushed(this);			// for fl_fix_focus etc.
 
   // okay, now it is safe to destroy the children:
 
@@ -430,7 +430,7 @@
     }
   }
 
-  if (pushed != this) Fl::pushed(pushed); // reset pushed() widget
+  if (pushed != this) fltk3::pushed(pushed); // reset pushed() widget
 
 }
 
@@ -719,10 +719,10 @@
   Fl_Widget*const* a = array();
 
   if (clip_children()) {
-    fl_push_clip(x() + Fl::box_dx(box()),
-                 y() + Fl::box_dy(box()),
-		 w() - Fl::box_dw(box()),
-		 h() - Fl::box_dh(box()));
+    fl_push_clip(x() + fltk3::box_dx(box()),
+                 y() + fltk3::box_dy(box()),
+		 w() - fltk3::box_dw(box()),
+		 h() - fltk3::box_dh(box()));
   }
 
   if (damage() & ~FL_DAMAGE_CHILD) { // redraw the entire thing:

Modified: branches/branch-3.0-2011/src/Fl_Help_Dialog.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Help_Dialog.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Help_Dialog.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -175,11 +175,11 @@
         larger_->callback((Fl_Callback*)cb_larger_);
       } // Fl_Button* larger_
       { Fl_Group* o = new Fl_Group(350, 10, 171, 25);
-        o->box(FL_DOWN_BOX);
+        o->box(fltk3::DOWN_BOX);
         o->color(FL_BACKGROUND2_COLOR);
         { find_ = new Fl_Input(375, 12, 143, 21, "@search");
           find_->tooltip("find text in document");
-          find_->box(FL_FLAT_BOX);
+          find_->box(fltk3::FLAT_BOX);
           find_->labelsize(13);
           find_->textfont(4);
           find_->callback((Fl_Callback*)cb_find_);
@@ -187,13 +187,13 @@
         } // Fl_Input* find_
         o->end();
       } // Fl_Group* o
-      { Fl_Box* o = new Fl_Box(150, 10, 190, 25);
+      { fltk3::Box* o = new fltk3::Box(150, 10, 190, 25);
         Fl_Group::current()->resizable(o);
-      } // Fl_Box* o
+      } // fltk3::Box* o
       o->end();
     } // Fl_Group* o
     { view_ = new Fl_Help_View(10, 45, 510, 330);
-      view_->box(FL_DOWN_BOX);
+      view_->box(fltk3::DOWN_BOX);
       view_->callback((Fl_Callback*)cb_view_);
       Fl_Group::current()->resizable(view_);
     } // Fl_Help_View* view_

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 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Help_Dialog_Dox.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -105,11 +105,11 @@
 
 /** \fn void Fl_Help_Dialog::show()
   Shows the main Help Dialog Window
-  Delegates call to encapsulated window_ void Fl_Window::show() method */
+  Delegates call to encapsulated window_ void fltk3::Window::show() method */
 
 /** \fn void Fl_Help_Dialog::show(int argc, char **argv)
   Shows the main Help Dialog Window
-  Delegates call to encapsulated window_ void Fl_Window::show(int argc, char **argv) instance method */
+  Delegates call to encapsulated window_ void fltk3::Window::show(int argc, char **argv) instance method */
 
 /** \fn void Fl_Help_Dialog::textsize(Fl_Fontsize s)
   Sets the internal Fl_Help_View instance text size.

Modified: branches/branch-3.0-2011/src/Fl_Help_View.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Help_View.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Help_View.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -56,7 +56,7 @@
 //
 
 #include <fltk3/Fl_Help_View.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/Window.h>
 #include <fltk3/Fl_Pixmap.H>
 #include <fltk3/x.H>
 #include <stdio.h>
@@ -451,7 +451,7 @@
   Fl_Color              fcolor;         // current font color 
   int			head, pre,	// Flags for text
 			needspace;	// Do we need whitespace?
-  Fl_Boxtype		b = box() ? box() : FL_DOWN_BOX;
+  fltk3::Boxtype		b = box() ? box() : fltk3::DOWN_BOX;
 					// Box to draw...
   int			underline,	// Underline text?
                         xtra_ww;        // Extra width for underlined space between words
@@ -464,12 +464,12 @@
   draw_box(b, x(), y(), ww, hh, bgcolor_);
 
   if ( hscrollbar_.visible() || scrollbar_.visible() ) {
-    int scrollsize = scrollbar_size_ ? scrollbar_size_ : Fl::scrollbar_size();
+    int scrollsize = scrollbar_size_ ? scrollbar_size_ : fltk3::scrollbar_size();
     int hor_vis = hscrollbar_.visible();
     int ver_vis = scrollbar_.visible();
     // Scrollbar corner
-    int scorn_x = x() + ww - (ver_vis?scrollsize:0) - Fl::box_dw(b) + Fl::box_dx(b);
-    int scorn_y = y() + hh - (hor_vis?scrollsize:0) - Fl::box_dh(b) + Fl::box_dy(b);
+    int scorn_x = x() + ww - (ver_vis?scrollsize:0) - fltk3::box_dw(b) + fltk3::box_dx(b);
+    int scorn_y = y() + hh - (hor_vis?scrollsize:0) - fltk3::box_dh(b) + fltk3::box_dy(b);
     if ( hor_vis ) {
       if ( hscrollbar_.h() != scrollsize ) {		// scrollsize changed?
 	hscrollbar_.resize(x(), scorn_y, scorn_x - x(), scrollsize);
@@ -503,8 +503,8 @@
   current_pos = 0;
 
   // Clip the drawing to the inside of the box...
-  fl_push_clip(x() + Fl::box_dx(b), y() + Fl::box_dy(b),
-               ww - Fl::box_dw(b), hh - Fl::box_dh(b));
+  fl_push_clip(x() + fltk3::box_dx(b), y() + fltk3::box_dy(b),
+               ww - fltk3::box_dw(b), hh - fltk3::box_dh(b));
   fl_color(textcolor_);
 
   // Draw all visible blocks...
@@ -699,7 +699,7 @@
 	    }
 	    else if (strcasecmp(buf, "DT") == 0)
 	    {
-	      font  = textfont_ | FL_ITALIC;
+	      font  = textfont_ | fltk3::ITALIC;
 	      fsize = textsize_;
 	    }
 	    else if (strcasecmp(buf, "PRE") == 0)
@@ -771,14 +771,14 @@
 	    underline = 0;
 	  else if (strcasecmp(buf, "B") == 0 ||
 	           strcasecmp(buf, "STRONG") == 0)
-	    pushfont(font |= FL_BOLD, fsize);
+	    pushfont(font |= fltk3::BOLD, fsize);
 	  else if (strcasecmp(buf, "TD") == 0 ||
 	           strcasecmp(buf, "TH") == 0)
           {
 	    int tx, ty, tw, th;
 
 	    if (tolower(buf[1]) == 'h')
-	      pushfont(font |= FL_BOLD, fsize);
+	      pushfont(font |= fltk3::BOLD, fsize);
 	    else
 	      pushfont(font = textfont_, fsize);
 
@@ -814,7 +814,7 @@
 	  }
 	  else if (strcasecmp(buf, "I") == 0 ||
                    strcasecmp(buf, "EM") == 0)
-	    pushfont(font |= FL_ITALIC, fsize);
+	    pushfont(font |= fltk3::ITALIC, fsize);
 	  else if (strcasecmp(buf, "CODE") == 0 ||
 	           strcasecmp(buf, "TT") == 0)
 	    pushfont(font = FL_COURIER, fsize);
@@ -1088,14 +1088,14 @@
 		columns[MAX_COLUMNS];
 				// Column widths
   Fl_Color	tc, rc;		// Table/row background color
-  Fl_Boxtype	b = box() ? box() : FL_DOWN_BOX;
+  fltk3::Boxtype	b = box() ? box() : fltk3::DOWN_BOX;
 				// Box to draw...
   fl_margins	margins;	// Left margin stack...
 
 
   // Reset document width...
-  int scrollsize = scrollbar_size_ ? scrollbar_size_ : Fl::scrollbar_size();
-  hsize_ = w() - scrollsize - Fl::box_dw(b);
+  int scrollsize = scrollbar_size_ ? scrollbar_size_ : fltk3::scrollbar_size();
+  hsize_ = w() - scrollsize - fltk3::box_dw(b);
 
   done = 0;
   while (!done)
@@ -1388,7 +1388,7 @@
 	  }
 	  else if (strcasecmp(buf, "DT") == 0)
 	  {
-	    font  = textfont_ | FL_ITALIC;
+	    font  = textfont_ | fltk3::ITALIC;
 	    fsize = textsize_;
 	  }
 	  else if (strcasecmp(buf, "PRE") == 0)
@@ -1575,7 +1575,7 @@
 	  block->h   += hh;
 
           if (strcasecmp(buf, "TH") == 0)
-	    font = textfont_ | FL_BOLD;
+	    font = textfont_ | fltk3::BOLD;
 	  else
 	    font = textfont_;
 
@@ -1654,10 +1654,10 @@
 	  popfont(font, fsize, fcolor);
 	else if (strcasecmp(buf, "B") == 0 ||
         	 strcasecmp(buf, "STRONG") == 0)
-	  pushfont(font |= FL_BOLD, fsize);
+	  pushfont(font |= fltk3::BOLD, fsize);
 	else if (strcasecmp(buf, "I") == 0 ||
         	 strcasecmp(buf, "EM") == 0)
-	  pushfont(font |= FL_ITALIC, fsize);
+	  pushfont(font |= fltk3::ITALIC, fsize);
 	else if (strcasecmp(buf, "CODE") == 0 ||
 	         strcasecmp(buf, "TT") == 0)
 	  pushfont(font = FL_COURIER, fsize);
@@ -1824,11 +1824,11 @@
     qsort(targets_, ntargets_, sizeof(Fl_Help_Target),
           (compare_func_t)compare_targets);
 
-  int dx = Fl::box_dw(b) - Fl::box_dx(b);
-  int dy = Fl::box_dh(b) - Fl::box_dy(b);
-  int ss = scrollbar_size_ ? scrollbar_size_ : Fl::scrollbar_size();
-  int dw = Fl::box_dw(b) + ss;
-  int dh = Fl::box_dh(b);
+  int dx = fltk3::box_dw(b) - fltk3::box_dx(b);
+  int dy = fltk3::box_dh(b) - fltk3::box_dy(b);
+  int ss = scrollbar_size_ ? scrollbar_size_ : fltk3::scrollbar_size();
+  int dw = fltk3::box_dw(b) + ss;
+  int dh = fltk3::box_dh(b);
 
   if (hsize_ > (w() - dw)) {
     hscrollbar_.show();
@@ -1837,36 +1837,36 @@
 
     if (size_ < (h() - dh)) {
       scrollbar_.hide();
-      hscrollbar_.resize(x() + Fl::box_dx(b), y() + h() - ss - dy,
-                         w() - Fl::box_dw(b), ss);
+      hscrollbar_.resize(x() + fltk3::box_dx(b), y() + h() - ss - dy,
+                         w() - fltk3::box_dw(b), ss);
     } else {
       scrollbar_.show();
-      scrollbar_.resize(x() + w() - ss - dx, y() + Fl::box_dy(b),
-                        ss, h() - ss - Fl::box_dh(b));
-      hscrollbar_.resize(x() + Fl::box_dx(b), y() + h() - ss - dy,
-                         w() - ss - Fl::box_dw(b), ss);
+      scrollbar_.resize(x() + w() - ss - dx, y() + fltk3::box_dy(b),
+                        ss, h() - ss - fltk3::box_dh(b));
+      hscrollbar_.resize(x() + fltk3::box_dx(b), y() + h() - ss - dy,
+                         w() - ss - fltk3::box_dw(b), ss);
     }
   } else {
     hscrollbar_.hide();
 
     if (size_ < (h() - dh)) scrollbar_.hide();
     else {
-      scrollbar_.resize(x() + w() - ss - dx, y() + Fl::box_dy(b),
-                        ss, h() - Fl::box_dh(b));
+      scrollbar_.resize(x() + w() - ss - dx, y() + fltk3::box_dy(b),
+                        ss, h() - fltk3::box_dh(b));
       scrollbar_.show();
     }
   }
 
   // Reset scrolling if it needs to be...
   if (scrollbar_.visible()) {
-    int temph = h() - Fl::box_dh(b);
+    int temph = h() - fltk3::box_dh(b);
     if (hscrollbar_.visible()) temph -= ss;
     if ((topline_ + temph) > size_) topline(size_ - temph);
     else topline(topline_);
   } else topline(0);
 
   if (hscrollbar_.visible()) {
-    int tempw = w() - ss - Fl::box_dw(b);
+    int tempw = w() - ss - fltk3::box_dw(b);
     if ((leftline_ + tempw) > hsize_) leftline(hsize_ - tempw);
     else leftline(leftline_);
   } else leftline(0);
@@ -1995,7 +1995,7 @@
 	}
 	else if (strcasecmp(buf, "DT") == 0)
 	{
-	  font  = textfont_ | FL_ITALIC;
+	  font  = textfont_ | fltk3::ITALIC;
 	  fsize = textsize_;
 	}
 	else if (strcasecmp(buf, "PRE") == 0)
@@ -2105,7 +2105,7 @@
 	incell    = 1;
 
         if (strcasecmp(buf, "TH") == 0)
-	  font = textfont_ | FL_BOLD;
+	  font = textfont_ | fltk3::BOLD;
 	else
 	  font = textfont_;
 
@@ -2128,10 +2128,10 @@
       }
       else if (strcasecmp(buf, "B") == 0 ||
                strcasecmp(buf, "STRONG") == 0)
-	pushfont(font |= FL_BOLD, fsize);
+	pushfont(font |= fltk3::BOLD, fsize);
       else if (strcasecmp(buf, "I") == 0 ||
                strcasecmp(buf, "EM") == 0)
-	pushfont(font |= FL_ITALIC, fsize);
+	pushfont(font |= fltk3::ITALIC, fsize);
       else if (strcasecmp(buf, "CODE") == 0 ||
                strcasecmp(buf, "TT") == 0)
 	pushfont(font = FL_COURIER, fsize);
@@ -2244,7 +2244,7 @@
   // Adjust the width if needed...
   int scale_width = *table_width;
 
-  int scrollsize = scrollbar_size_ ? scrollbar_size_ : Fl::scrollbar_size();
+  int scrollsize = scrollbar_size_ ? scrollbar_size_ : fltk3::scrollbar_size();
   if (scale_width == 0) {
     if (width > (hsize_ - scrollsize)) scale_width = hsize_ - scrollsize;
     else scale_width = width;
@@ -2671,7 +2671,7 @@
     if (val > 100) val = 100;
     else if (val < 0) val = 0;
 
-    int scrollsize = scrollbar_size_ ? scrollbar_size_ : Fl::scrollbar_size();
+    int scrollsize = scrollbar_size_ ? scrollbar_size_ : fltk3::scrollbar_size();
     val = val * (hsize_ - scrollsize) / 100;
   }
 
@@ -2780,8 +2780,8 @@
 
   if (!fl_help_view_buffer) fl_help_view_buffer = fl_create_offscreen(1, 1);
 
-  mouse_x = Fl::event_x();
-  mouse_y = Fl::event_y();
+  mouse_x = fltk3::event_x();
+  mouse_y = fltk3::event_y();
   draw_mode = 1;
 
     current_view = this;
@@ -2797,7 +2797,7 @@
 
 char Fl_Help_View::extend_selection()
 {
-  if (Fl::event_is_click())
+  if (fltk3::event_is_click())
     return 0;
 
 //  printf("old selection_first=%d, selection_last=%d\n",
@@ -2806,8 +2806,8 @@
   int sf = selection_first, sl = selection_last;
 
   selected = 1;
-  mouse_x = Fl::event_x();
-  mouse_y = Fl::event_y();
+  mouse_x = fltk3::event_x();
+  mouse_y = fltk3::event_y();
   draw_mode = 2;
 
     fl_begin_offscreen(fl_help_view_buffer);
@@ -2936,7 +2936,7 @@
     }
   }
   *d = 0;
-  Fl::copy(txt, strlen(txt), clipboard);
+  fltk3::copy(txt, strlen(txt), clipboard);
   free(txt);
 }
 
@@ -2948,8 +2948,8 @@
 {
   static Fl_Help_Link *linkp;   // currently clicked link
 
-  int xx = Fl::event_x() - x() + leftline_;
-  int yy = Fl::event_y() - y() + topline_;
+  int xx = fltk3::event_x() - x() + leftline_;
+  int yy = fltk3::event_y() - y() + topline_;
 
   switch (event)
   {
@@ -2985,7 +2985,7 @@
       return 1;
     case FL_DRAG:
       if (linkp) {
-        if (Fl::event_is_click()) {
+        if (fltk3::event_is_click()) {
           fl_cursor(FL_CURSOR_HAND);
         } else {
           fl_cursor(FL_CURSOR_DEFAULT); // should be "FL_CURSOR_CANCEL" if we had it
@@ -3001,7 +3001,7 @@
       return 1;
     case FL_RELEASE:
       if (linkp) {
-        if (Fl::event_is_click()) {
+        if (fltk3::event_is_click()) {
           follow_link(linkp);
         }
         fl_cursor(FL_CURSOR_DEFAULT);
@@ -3014,7 +3014,7 @@
       }
       return 1;
     case FL_SHORTCUT: {
-      char ascii = Fl::event_text()[0];
+      char ascii = fltk3::event_text()[0];
       switch (ascii) {
         case ctrl('A'): select_all(); redraw(); return 1;
         case ctrl('C'):
@@ -3035,10 +3035,10 @@
 			   int        hh,	// I - Height in pixels
 			   const char *l)
     : Fl_Group(xx, yy, ww, hh, l),
-      scrollbar_(xx + ww - Fl::scrollbar_size(), yy,
-                 Fl::scrollbar_size(), hh - Fl::scrollbar_size()),
-      hscrollbar_(xx, yy + hh - Fl::scrollbar_size(),
-                  ww - Fl::scrollbar_size(), Fl::scrollbar_size())
+      scrollbar_(xx + ww - fltk3::scrollbar_size(), yy,
+                 fltk3::scrollbar_size(), hh - fltk3::scrollbar_size()),
+      hscrollbar_(xx, yy + hh - fltk3::scrollbar_size(),
+                  ww - fltk3::scrollbar_size(), fltk3::scrollbar_size())
 {
   color(FL_BACKGROUND2_COLOR, FL_SELECTION_COLOR);
 
@@ -3236,18 +3236,18 @@
 		     int ww,	// I - New width
 		     int hh)	// I - New height
 {
-  Fl_Boxtype		b = box() ? box() : FL_DOWN_BOX;
+  fltk3::Boxtype		b = box() ? box() : fltk3::DOWN_BOX;
 					// Box to draw...
 
 
   Fl_Widget::resize(xx, yy, ww, hh);
 
-  int scrollsize = scrollbar_size_ ? scrollbar_size_ : Fl::scrollbar_size();
-  scrollbar_.resize(x() + w() - scrollsize - Fl::box_dw(b) + Fl::box_dx(b),
-                    y() + Fl::box_dy(b), scrollsize, h() - scrollsize - Fl::box_dh(b));
-  hscrollbar_.resize(x() + Fl::box_dx(b),
-                     y() + h() - scrollsize - Fl::box_dh(b) + Fl::box_dy(b),
-                     w() - scrollsize - Fl::box_dw(b), scrollsize);
+  int scrollsize = scrollbar_size_ ? scrollbar_size_ : fltk3::scrollbar_size();
+  scrollbar_.resize(x() + w() - scrollsize - fltk3::box_dw(b) + fltk3::box_dx(b),
+                    y() + fltk3::box_dy(b), scrollsize, h() - scrollsize - fltk3::box_dh(b));
+  hscrollbar_.resize(x() + fltk3::box_dx(b),
+                     y() + h() - scrollsize - fltk3::box_dh(b) + fltk3::box_dy(b),
+                     w() - scrollsize - fltk3::box_dw(b), scrollsize);
 
   format();
 }
@@ -3290,7 +3290,7 @@
   if (!value_)
     return;
 
-  int scrollsize = scrollbar_size_ ? scrollbar_size_ : Fl::scrollbar_size();
+  int scrollsize = scrollbar_size_ ? scrollbar_size_ : fltk3::scrollbar_size();
   if (size_ < (h() - scrollsize) || top < 0)
     top = 0;
   else if (top > size_)
@@ -3319,7 +3319,7 @@
   if (!value_)
     return;
 
-  int scrollsize = scrollbar_size_ ? scrollbar_size_ : Fl::scrollbar_size();
+  int scrollsize = scrollbar_size_ ? scrollbar_size_ : fltk3::scrollbar_size();
   if (hsize_ < (w() - scrollsize) || left < 0)
     left = 0;
   else if (left > hsize_)

Modified: branches/branch-3.0-2011/src/Fl_Image.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Image.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Image.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 #include <fltk3/x.H>
 #include <fltk3/Fl_Widget.H>
@@ -127,8 +127,8 @@
   instead.
 */
 void Fl_Image::label(Fl_Menu_Item* m) {
-  Fl::set_labeltype(_FL_IMAGE_LABEL, labeltype, measure);
-  m->label(_FL_IMAGE_LABEL, (const char*)this);
+  fltk3::set_labeltype(fltk3::IMAGE_LABEL, labeltype, measure);
+  m->label(fltk3::IMAGE_LABEL, (const char*)this);
 }
 
 void
@@ -295,7 +295,7 @@
   uchar		r, g, b;
   unsigned	ia, ir, ig, ib;
 
-  Fl::get_color(c, r, g, b);
+  fltk3::get_color(c, r, g, b);
   if (i < 0.0f) i = 0.0f;
   else if (i > 1.0f) i = 1.0f;
 
@@ -580,8 +580,8 @@
 }
 
 void Fl_RGB_Image::label(Fl_Menu_Item* m) {
-  Fl::set_labeltype(_FL_IMAGE_LABEL, labeltype, measure);
-  m->label(_FL_IMAGE_LABEL, (const char*)this);
+  fltk3::set_labeltype(fltk3::IMAGE_LABEL, labeltype, measure);
+  m->label(fltk3::IMAGE_LABEL, (const char*)this);
 }
 
 

Modified: branches/branch-3.0-2011/src/Fl_Input.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Input.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Input.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -33,8 +33,8 @@
 
 #include <stdio.h>
 #include <stdlib.h>
-#include <fltk3/Fl.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/run.h>
+#include <fltk3/Window.h>
 #include <fltk3/Fl_Input.H>
 #include <fltk3/fl_draw.H>
 #include <fltk3/fl_ask.H>
@@ -47,19 +47,19 @@
 
 void Fl_Input::draw() {
   if (input_type() == FL_HIDDEN_INPUT) return;
-  Fl_Boxtype b = box();
+  fltk3::Boxtype b = box();
   if (damage() & FL_DAMAGE_ALL) draw_box(b, color());
-  Fl_Input_::drawtext(x()+Fl::box_dx(b), y()+Fl::box_dy(b),
-		      w()-Fl::box_dw(b), h()-Fl::box_dh(b));
+  Fl_Input_::drawtext(x()+fltk3::box_dx(b), y()+fltk3::box_dy(b),
+		      w()-fltk3::box_dw(b), h()-fltk3::box_dh(b));
 }
 
 // kludge so shift causes selection to extend:
 int Fl_Input::shift_position(int p) {
-  return position(p, Fl::event_state(FL_SHIFT) ? mark() : p);
+  return position(p, fltk3::event_state(FL_SHIFT) ? mark() : p);
 }
 
 int Fl_Input::shift_up_down_position(int p) {
-  return up_down_position(p, Fl::event_state(FL_SHIFT));
+  return up_down_position(p, fltk3::event_state(FL_SHIFT));
 }
 
 // Old text from FLTK 1.1 for reference:
@@ -68,13 +68,13 @@
 // cursor into the next field:
 // define it as 1 to prevent cursor movement from going to next field:
 //
-// Note: this has been replaced by Fl::option(Fl::OPTION_ARROW_FOCUS)
+// Note: this has been replaced by fltk3::option(fltk3::OPTION_ARROW_FOCUS)
 // in FLTK 1.3.  This option has "inverted" values:
 //   1 = Arrow keys move focus (previously 0)
 //   0 = Arrow keys don't move focus (previously 1)
 // Hence we define ...
 //
-#define NORMAL_INPUT_MOVE (Fl::option(Fl::OPTION_ARROW_FOCUS) ? 0 : 1)
+#define NORMAL_INPUT_MOVE (fltk3::option(fltk3::OPTION_ARROW_FOCUS) ? 0 : 1)
 
 #define ctrl(x) ((x)^0x40)
 
@@ -96,7 +96,7 @@
 int Fl_Input::kf_lines_up(int repeat_num) {
   int i = position();
   if (!line_start(i)) {
-    //UNNEEDED if (input_type()==FL_MULTILINE_INPUT && !Fl::option(Fl::OPTION_ARROW_FOCUS)) return 1;
+    //UNNEEDED if (input_type()==FL_MULTILINE_INPUT && !fltk3::option(fltk3::OPTION_ARROW_FOCUS)) return 1;
     return NORMAL_INPUT_MOVE;
   }
   while(repeat_num--) {
@@ -114,7 +114,7 @@
 int Fl_Input::kf_lines_down(int repeat_num) {
   int i = position();
   if (line_end(i) >= size()) {
-    //UNNEEDED if (input_type()==FL_MULTILINE_INPUT && !Fl::option(Fl::OPTION_ARROW_FOCUS)) return 1;
+    //UNNEEDED if (input_type()==FL_MULTILINE_INPUT && !fltk3::option(fltk3::OPTION_ARROW_FOCUS)) return 1;
     return NORMAL_INPUT_MOVE;
   }
   while (repeat_num--) {  
@@ -212,7 +212,7 @@
 //
 int Fl_Input::kf_move_char_left() {
   int i = shift_position(position()-1) + NORMAL_INPUT_MOVE;
-  return Fl::option(Fl::OPTION_ARROW_FOCUS) ? i : 1;
+  return fltk3::option(fltk3::OPTION_ARROW_FOCUS) ? i : 1;
 }
 
 // Move cursor one character to the right
@@ -220,7 +220,7 @@
 //
 int Fl_Input::kf_move_char_right() {
   int i = shift_position(position()+1) + NORMAL_INPUT_MOVE;
-  return Fl::option(Fl::OPTION_ARROW_FOCUS) ? i : 1;
+  return fltk3::option(fltk3::OPTION_ARROW_FOCUS) ? i : 1;
 }
 
 // Move cursor word-left
@@ -289,7 +289,7 @@
 // Do a paste operation
 int Fl_Input::kf_paste() {
   if (readonly()) { fl_beep(); return 1; }
-  Fl::paste(*this, 1);
+  fltk3::paste(*this, 1);
   return 1;
 }
 
@@ -305,14 +305,14 @@
 //
 int Fl_Input::handle_key() {
   
-  char ascii = Fl::event_text()[0];
+  char ascii = fltk3::event_text()[0];
   
   int del;
-  if (Fl::compose(del)) {
+  if (fltk3::compose(del)) {
     
     // Insert characters into numeric fields after checking for legality:
     if (input_type() == FL_FLOAT_INPUT || input_type() == FL_INT_INPUT) {
-      Fl::compose_reset(); // ignore any foreign letters...
+      fltk3::compose_reset(); // ignore any foreign letters...
       
       // initialize the list of legal characters inside a floating point number
 #ifdef HAVE_LOCALECONV
@@ -355,16 +355,16 @@
       return 1;
     }
     
-    if (del || Fl::event_length()) {
+    if (del || fltk3::event_length()) {
       if (readonly()) fl_beep();
       else replace(position(), del ? position()-del : mark(),
-	           Fl::event_text(), Fl::event_length());
+	           fltk3::event_text(), fltk3::event_length());
     }
     return 1;
   }
   
-  unsigned int mods = Fl::event_state() & (FL_META|FL_CTRL|FL_ALT);
-  unsigned int shift = Fl::event_state() & FL_SHIFT;
+  unsigned int mods = fltk3::event_state() & (FL_META|FL_CTRL|FL_ALT);
+  unsigned int shift = fltk3::event_state() & FL_SHIFT;
   unsigned int multiline = (input_type() == FL_MULTILINE_INPUT) ? 1 : 0;
   //
   // The following lists apps that support these keypresses.
@@ -378,7 +378,7 @@
   //
   // Example: (NP,WP,!WO) means supported in notepad + wordpad, but NOT word.
   //
-  switch (Fl::event_key()) {
+  switch (fltk3::event_key()) {
 
     case FL_Insert:
       // Note: Mac has no "Insert" key; it's the "Help" key.
@@ -588,7 +588,7 @@
   static Fl_Widget *dnd_save_focus;
   switch (event) {
     case FL_FOCUS:
-      switch (Fl::event_key()) {
+      switch (fltk3::event_key()) {
         case FL_Right:
           position(0);
           break;
@@ -615,8 +615,8 @@
       // where tab is entered as a character: make sure user attempt to 'tab over'
       // widget doesn't destroy the field, replacing it with a tab character.
       //
-      if (Fl::event_key() == FL_Tab 			// Tab key?
-          && !Fl::event_state(FL_SHIFT)			// no shift?
+      if (fltk3::event_key() == FL_Tab 			// Tab key?
+          && !fltk3::event_state(FL_SHIFT)			// no shift?
           && !tab_nav()					// with tab navigation disabled?
 	  && input_type() == FL_MULTILINE_INPUT		// with a multiline input?
           && (mark()==0 && position()==size())) {	// while entire field selected?
@@ -627,21 +627,21 @@
           position(position());
         return (1);
       } else {
-        if (active_r() && window() && this == Fl::belowmouse()) 
+        if (active_r() && window() && this == fltk3::belowmouse()) 
           window()->cursor(FL_CURSOR_NONE);
         return handle_key();
       }
       //NOTREACHED
       
     case FL_PUSH:
-      if (Fl::dnd_text_ops()) {
+      if (fltk3::dnd_text_ops()) {
         int oldpos = position(), oldmark = mark();
-        Fl_Boxtype b = box();
-        Fl_Input_::handle_mouse(x()+Fl::box_dx(b), y()+Fl::box_dy(b),
-                                w()-Fl::box_dw(b), h()-Fl::box_dh(b), 0);
+        fltk3::Boxtype b = box();
+        Fl_Input_::handle_mouse(x()+fltk3::box_dx(b), y()+fltk3::box_dy(b),
+                                w()-fltk3::box_dw(b), h()-fltk3::box_dh(b), 0);
         newpos = position(); 
         position( oldpos, oldmark );
-        if (Fl::focus()==this && !Fl::event_state(FL_SHIFT) && input_type()!=FL_SECRET_INPUT &&
+        if (fltk3::focus()==this && !fltk3::event_state(FL_SHIFT) && input_type()!=FL_SECRET_INPUT &&
            ( (newpos >= mark() && newpos < position()) || 
              (newpos >= position() && newpos < mark()) ) ) {
           // user clicked in the selection, may be trying to drag
@@ -651,38 +651,38 @@
         drag_start = -1;
       }
       
-      if (Fl::focus() != this) {
-        Fl::focus(this);
+      if (fltk3::focus() != this) {
+        fltk3::focus(this);
         handle(FL_FOCUS);
       }
       break;
       
     case FL_DRAG:
-      if (Fl::dnd_text_ops()) {
+      if (fltk3::dnd_text_ops()) {
         if (drag_start >= 0) {
-          if (Fl::event_is_click()) return 1; // debounce the mouse
+          if (fltk3::event_is_click()) return 1; // debounce the mouse
                                               // save the position because sometimes we don't get DND_ENTER:
           dnd_save_position = position();
           dnd_save_mark = mark();
           // drag the data:
-          copy(0); Fl::dnd();
+          copy(0); fltk3::dnd();
           return 1;
         }
       }
       break;
       
     case FL_RELEASE:
-      if (Fl::event_button() == 2) {
-        Fl::event_is_click(0); // stop double click from picking a word
-        Fl::paste(*this, 0);
-      } else if (!Fl::event_is_click()) {
+      if (fltk3::event_button() == 2) {
+        fltk3::event_is_click(0); // stop double click from picking a word
+        fltk3::paste(*this, 0);
+      } else if (!fltk3::event_is_click()) {
         // copy drag-selected text to the clipboard.
         copy(0);
-      } else if (Fl::event_is_click() && drag_start >= 0) {
+      } else if (fltk3::event_is_click() && drag_start >= 0) {
         // user clicked in the field and wants to reset the cursor position...
         position(drag_start, drag_start);
         drag_start = -1;
-      } else if (Fl::event_clicks()) {
+      } else if (fltk3::event_clicks()) {
         // user double or triple clicked to select word or whole text
         copy(0);
       }
@@ -694,28 +694,28 @@
       return 1;
       
     case FL_DND_ENTER:
-      Fl::belowmouse(this); // send the leave events first
+      fltk3::belowmouse(this); // send the leave events first
       dnd_save_position = position();
       dnd_save_mark = mark();
-      dnd_save_focus = Fl::focus();
+      dnd_save_focus = fltk3::focus();
       if (dnd_save_focus != this) {
-        Fl::focus(this);
+        fltk3::focus(this);
         handle(FL_FOCUS);
       }
       // fall through:
     case FL_DND_DRAG: 
       //int p = mouse_position(X, Y, W, H);
 #if DND_OUT_XXXX
-      if (Fl::focus()==this && (p>=dnd_save_position && p<=dnd_save_mark ||
+      if (fltk3::focus()==this && (p>=dnd_save_position && p<=dnd_save_mark ||
                                 p>=dnd_save_mark && p<=dnd_save_position)) {
         position(dnd_save_position, dnd_save_mark);
         return 0;
       }
 #endif
       {
-        Fl_Boxtype b = box();
-        Fl_Input_::handle_mouse(x()+Fl::box_dx(b), y()+Fl::box_dy(b),
-                                w()-Fl::box_dw(b), h()-Fl::box_dh(b), 0);
+        fltk3::Boxtype b = box();
+        Fl_Input_::handle_mouse(x()+fltk3::box_dx(b), y()+fltk3::box_dy(b),
+                                w()-fltk3::box_dw(b), h()-fltk3::box_dh(b), 0);
       }
       return 1;
       
@@ -725,11 +725,11 @@
       if (!focused())
 #endif
         if (dnd_save_focus != this) {
-          Fl::focus(dnd_save_focus);
+          fltk3::focus(dnd_save_focus);
           handle(FL_UNFOCUS);
         }
 #if !(defined(__APPLE__) || defined(WIN32))
-      Fl::first_window()->cursor(FL_CURSOR_MOVE);
+      fltk3::first_window()->cursor(FL_CURSOR_MOVE);
 #endif
       return 1;
       
@@ -741,23 +741,23 @@
        That clipping happens in drawtext(). Do we change the clipping or should 
        we move the cursor (ouch)?
        case FL_MOUSEWHEEL:
-       if (Fl::e_dy > 0) {
-       yscroll( yscroll() - Fl::e_dy*15 );
-       } else if (Fl::e_dy < 0) {
-       yscroll( yscroll() - Fl::e_dy*15 );
+       if (fltk3::e_dy > 0) {
+       yscroll( yscroll() - fltk3::e_dy*15 );
+       } else if (fltk3::e_dy < 0) {
+       yscroll( yscroll() - fltk3::e_dy*15 );
        }
        return 1;
        */
   }
-  Fl_Boxtype b = box();
+  fltk3::Boxtype b = box();
   return Fl_Input_::handletext(event,
-                               x()+Fl::box_dx(b), y()+Fl::box_dy(b),
-                               w()-Fl::box_dw(b), h()-Fl::box_dh(b));
+                               x()+fltk3::box_dx(b), y()+fltk3::box_dy(b),
+                               w()-fltk3::box_dw(b), h()-fltk3::box_dh(b));
 }
 
 /**
  Creates a new Fl_Input widget using the given position, size,
- and label string. The default boxtype is FL_DOWN_BOX.
+ and label string. The default boxtype is fltk3::DOWN_BOX.
  */
 Fl_Input::Fl_Input(int X, int Y, int W, int H, const char *l)
 : Fl_Input_(X, Y, W, H, l) {

Modified: branches/branch-3.0-2011/src/Fl_Input_.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Input_.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Input_.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,9 +25,9 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Input_.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/Window.h>
 #include <fltk3/fl_draw.H>
 #include <fltk3/fl_ask.H>
 #include <math.h>
@@ -73,7 +73,7 @@
 
   } else while (o<e) {
     if (wrap() && (p >= value_+size_ || isspace(*p & 255))) {
-      word_wrap = w() - Fl::box_dw(box()) - 2;
+      word_wrap = w() - fltk3::box_dw(box()) - 2;
       width_to_lastspace += (int)fl_width(lastspace_out, o-lastspace_out);
       if (p > lastspace+1) {
 	if (word_count && width_to_lastspace > word_wrap) {
@@ -215,16 +215,16 @@
 void Fl_Input_::drawtext(int X, int Y, int W, int H) {
   int do_mu = !(damage()&FL_DAMAGE_ALL);
 
-  if (Fl::focus()!=this && !size()) {
+  if (fltk3::focus()!=this && !size()) {
     if (do_mu) { // we have to erase it if cursor was there
-      draw_box(box(), X-Fl::box_dx(box()), Y-Fl::box_dy(box()),
-               W+Fl::box_dw(box()), H+Fl::box_dh(box()), color());
+      draw_box(box(), X-fltk3::box_dx(box()), Y-fltk3::box_dy(box()),
+               W+fltk3::box_dw(box()), H+fltk3::box_dh(box()), color());
     }
     return;
   }
 
   int selstart, selend;
-  if (Fl::focus()!=this && /*Fl::selection_owner()!=this &&*/ Fl::pushed()!=this)
+  if (fltk3::focus()!=this && /*fltk3::selection_owner()!=this &&*/ fltk3::pushed()!=this)
     selstart = selend = 0;
   else if (position() <= mark()) {
     selstart = position(); selend = mark();
@@ -246,7 +246,7 @@
     e = expand(p, buf);
     if (position() >= p-value() && position() <= e-value()) {
       curx = int(expandpos(p, value()+position(), buf, 0)+.5);
-      if (Fl::focus()==this && !was_up_down) up_down_pos = curx;
+      if (fltk3::focus()==this && !was_up_down) up_down_pos = curx;
       cury = lines*height;
       int newscroll = xscroll_;
       if (curx > newscroll+W-threshold) {
@@ -315,8 +315,8 @@
       }
       // clip to and erase it:
       fl_push_clip((int)xx-1-height/8, Y+ypos, (int)(r-xx+2+height/4), height);
-      draw_box(box(), X-Fl::box_dx(box()), Y-Fl::box_dy(box()),
-               W+Fl::box_dw(box()), H+Fl::box_dh(box()), color());
+      draw_box(box(), X-fltk3::box_dx(box()), Y-fltk3::box_dy(box()),
+               W+fltk3::box_dw(box()), H+fltk3::box_dh(box()), color());
       // it now draws entire line over it
       // this should not draw letters to left of erased area, but
       // that is nyi.
@@ -355,7 +355,7 @@
 
   CONTINUE2:
     // draw the cursor:
-    if (Fl::focus() == this && selstart == selend &&
+    if (fltk3::focus() == this && selstart == selend &&
 	position() >= p-value() && position() <= e-value()) {
       fl_color(cursor_color());
       // cursor position may need to be recomputed (see STR #2486)
@@ -381,13 +381,13 @@
       && (!erase_cursor_only || p <= value()+mu_p)) {
     if (ypos < 0) ypos = 0;
     fl_push_clip(X, Y+ypos, W, H-ypos);
-    draw_box(box(), X-Fl::box_dx(box()), Y-Fl::box_dy(box()),
-             W+Fl::box_dw(box()), H+Fl::box_dh(box()), color());
+    draw_box(box(), X-fltk3::box_dx(box()), Y-fltk3::box_dy(box()),
+             W+fltk3::box_dw(box()), H+fltk3::box_dh(box()), color());
     fl_pop_clip();
   }
 
   fl_pop_clip();
-  if (Fl::focus() == this) {
+  if (fltk3::focus() == this) {
        fl_set_spot(textfont(), textsize(),
                (int)xpos+curx, Y+ypos-fl_descent(), W, H, window());
   }
@@ -506,7 +506,7 @@
   char buf[MAXBUF];
 
   int theline = (input_type()==FL_MULTILINE_INPUT) ?
-    (Fl::event_y()-Y+yscroll_)/fl_height() : 0;
+    (fltk3::event_y()-Y+yscroll_)/fl_height() : 0;
 
   int newpos = 0;
   for (p=value();; ) {
@@ -515,34 +515,34 @@
     if (e >= value_+size_) break;
     p = e+1;
   }
-  const char *l, *r, *t; double f0 = Fl::event_x()-X+xscroll_;
+  const char *l, *r, *t; double f0 = fltk3::event_x()-X+xscroll_;
   for (l = p, r = e; l<r; ) {
     double f;
     int cw = fl_utf8len((char)l[0]);
     if (cw < 1) cw = 1;
     t = l+cw;
     f = X-xscroll_+expandpos(p, t, buf, 0);
-    if (f <= Fl::event_x()) {l = t; f0 = Fl::event_x()-f;}
+    if (f <= fltk3::event_x()) {l = t; f0 = fltk3::event_x()-f;}
     else r = t-cw;
   }
   if (l < e) { // see if closer to character on right:
     double f1;
     int cw = fl_utf8len((char)l[0]);
     if (cw > 0) {
-      f1 = X-xscroll_+expandpos(p, l + cw, buf, 0) - Fl::event_x();
+      f1 = X-xscroll_+expandpos(p, l + cw, buf, 0) - fltk3::event_x();
       if (f1 < f0) l = l+cw;
     }
   }
   newpos = l-value();
 
   int newmark = drag ? mark() : newpos;
-  if (Fl::event_clicks()) {
+  if (fltk3::event_clicks()) {
     if (newpos >= newmark) {
       if (newpos == newmark) {
 	if (newpos < size()) newpos++;
 	else newmark--;
       }
-      if (Fl::event_clicks() > 1) {
+      if (fltk3::event_clicks() > 1) {
 	newpos = line_end(newpos);
 	newmark = line_start(newmark);
       } else {
@@ -550,7 +550,7 @@
 	newmark = word_start(newmark);
       }
     } else {
-      if (Fl::event_clicks() > 1) {
+      if (fltk3::event_clicks() > 1) {
 	newpos = line_start(newpos);
 	newmark = line_end(newmark);
       } else {
@@ -563,7 +563,7 @@
     if (!drag && (mark() > position() ?
                   (newmark >= position() && newpos <= mark()) :
                   (newmark >= mark() && newpos <= position()))) {
-      Fl::event_clicks(0);
+      fltk3::event_clicks(0);
       newmark = newpos = l-value();
     }
   }
@@ -615,7 +615,7 @@
   if (p == position_ && m == mark_) return 0;
 
 
-  //if (Fl::selection_owner() == this) Fl::selection_owner(0);
+  //if (fltk3::selection_owner() == this) fltk3::selection_owner(0);
   if (p != m) {
     if (p != position_) minimal_update(position_, p);
     if (m != mark_) minimal_update(mark_, m);
@@ -623,7 +623,7 @@
     // new position is a cursor
     if (position_ == mark_) {
       // old position was just a cursor
-      if (Fl::focus() == this && !(damage()&FL_DAMAGE_EXPOSE)) {
+      if (fltk3::focus() == this && !(damage()&FL_DAMAGE_EXPOSE)) {
 	minimal_update(position_); erase_cursor_only = 1;
       }
     } else { // old position was a selection
@@ -677,7 +677,7 @@
 
   \param clipboard the clipboard destination 0 or 1
   \return 0 if no text is selected, 1 if the selection was copied
-  \see Fl::copy(const char *, int, int)
+  \see fltk3::copy(const char *, int, int)
 */
 int Fl_Input_::copy(int clipboard) {
   int b = position();
@@ -685,7 +685,7 @@
   if (b != e) {
     if (b > e) {b = mark(); e = position();}
     if (input_type() == FL_SECRET_INPUT) e = b;
-    Fl::copy(value()+b, e-b, clipboard);
+    fltk3::copy(value()+b, e-b, clipboard);
     return 1;
   }
   return 0;
@@ -897,7 +897,7 @@
 int Fl_Input_::copy_cuts() {
   // put the yank buffer into the X clipboard
   if (!yankcut || input_type()==FL_SECRET_INPUT) return 0;
-  Fl::copy(undobuffer, yankcut, 1);
+  fltk3::copy(undobuffer, yankcut, 1);
   return 1;
 }
 
@@ -932,7 +932,7 @@
     fl_set_spot(textfont(), textsize(), x(), y(), w(), h(), window());
     if (mark_ == position_) {
       minimal_update(size()+1);
-    } else //if (Fl::selection_owner() != this)
+    } else //if (fltk3::selection_owner() != this)
       minimal_update(mark_, position_);
     return 1;
 
@@ -940,7 +940,7 @@
     if (active_r() && window()) window()->cursor(FL_CURSOR_DEFAULT);
     if (mark_ == position_) {
       if (!(damage()&FL_DAMAGE_EXPOSE)) {minimal_update(position_); erase_cursor_only = 1;}
-    } else //if (Fl::selection_owner() != this)
+    } else //if (fltk3::selection_owner() != this)
       minimal_update(mark_, position_);
   case FL_HIDE:
     fl_reset_spot();
@@ -951,10 +951,10 @@
   case FL_PUSH:
     if (active_r() && window()) window()->cursor(FL_CURSOR_INSERT);
 
-    handle_mouse(X, Y, W, H, Fl::event_state(FL_SHIFT));
+    handle_mouse(X, Y, W, H, fltk3::event_state(FL_SHIFT));
 
-    if (Fl::focus() != this) {
-      Fl::focus(this);
+    if (fltk3::focus() != this) {
+      fltk3::focus(this);
       handle(FL_FOCUS);
     }
     return 1;
@@ -975,11 +975,11 @@
     }
 
     // See if we have anything to paste...
-    if (!Fl::event_text() || !Fl::event_length()) return 1;
+    if (!fltk3::event_text() || !fltk3::event_length()) return 1;
 
     // strip trailing control characters and spaces before pasting:
-    const char* t = Fl::event_text();
-    const char* e = t+Fl::event_length();
+    const char* t = fltk3::event_text();
+    const char* e = t+fltk3::event_length();
     if (input_type() != FL_MULTILINE_INPUT) while (e > t && isspace(*(e-1) & 255)) e--;
     if (!t || e <= t) return 1; // Int/float stuff will crash without this test
     if (input_type() == FL_INT_INPUT) {
@@ -1018,10 +1018,10 @@
     return replace(position(), mark(), t, e-t);}
 
   case FL_SHORTCUT:
-    if (!(shortcut() ? Fl::test_shortcut(shortcut()) : test_shortcut())) 
+    if (!(shortcut() ? fltk3::test_shortcut(shortcut()) : test_shortcut())) 
       return 0;
-    if (Fl::visible_focus() && handle(FL_FOCUS)) {
-      Fl::focus(this);
+    if (fltk3::visible_focus() && handle(FL_FOCUS)) {
+      fltk3::focus(this);
       return 1;
     } // else fall through
 
@@ -1037,14 +1037,14 @@
 
   This function creates a new Fl_Input_ widget and adds it to the current
   Fl_Group. The value() is set to \c NULL.
-  The default boxtype is \c FL_DOWN_BOX.
+  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) {
-  box(FL_DOWN_BOX);
+  box(fltk3::DOWN_BOX);
   color(FL_BACKGROUND2_COLOR, FL_SELECTION_COLOR);
   align(FL_ALIGN_LEFT);
   textsize_ = FL_NORMAL_SIZE;

Modified: branches/branch-3.0-2011/src/Fl_Light_Button.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Light_Button.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Light_Button.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -32,34 +32,34 @@
 // The default down_box of zero draws a rectangle designed to look
 // just like Flame's buttons.
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Light_Button.H>
 #include <fltk3/fl_draw.H>
 #include "flstring.h"
 
 void Fl_Light_Button::draw() {
-  if (box()) draw_box(this==Fl::pushed() ? fl_down(box()) : box(), color());
+  if (box()) draw_box(this==fltk3::pushed() ? fl_down(box()) : box(), color());
   Fl_Color col = value() ? (active_r() ? selection_color() :
                             fl_inactive(selection_color())) : color();
   int W;
   int dx, dy;
 
   W  = labelsize();
-  dx = Fl::box_dx(box()) + 2;
+  dx = fltk3::box_dx(box()) + 2;
   dy = (h() - W) / 2;
   // if (dy < 0) dy = 0;         // neg. offset o.k. for vertical centering
 
   if (down_box()) {
     // draw other down_box() styles:
     switch (down_box()) {
-      case FL_DOWN_BOX :
-      case FL_UP_BOX :
-      case _FL_PLASTIC_DOWN_BOX :
-      case _FL_PLASTIC_UP_BOX :
+      case fltk3::DOWN_BOX :
+      case fltk3::UP_BOX :
+      case fltk3::PLASTIC_DOWN_BOX :
+      case fltk3::PLASTIC_UP_BOX :
         // Check box...
         draw_box(down_box(), x()+dx, y()+dy, W, W, FL_BACKGROUND2_COLOR);
 	if (value()) {
-	  if (Fl::scheme() && !strcmp(Fl::scheme(), "gtk+")) {
+	  if (fltk3::scheme() && !strcmp(fltk3::scheme(), "gtk+")) {
 	    fl_color(FL_SELECTION_COLOR);
 	  } else {
 	    fl_color(col);
@@ -75,17 +75,17 @@
 	  }
 	}
         break;
-      case _FL_ROUND_DOWN_BOX :
-      case _FL_ROUND_UP_BOX :
+      case fltk3::ROUND_DOWN_BOX :
+      case fltk3::ROUND_UP_BOX :
         // Radio button...
         draw_box(down_box(), x()+dx, y()+dy, W, W, FL_BACKGROUND2_COLOR);
 	if (value()) {
-	  int tW = (W - Fl::box_dw(down_box())) / 2 + 1;
+	  int tW = (W - fltk3::box_dw(down_box())) / 2 + 1;
 	  if ((W - tW) & 1) tW++; // Make sure difference is even to center
 	  int tdx = dx + (W - tW) / 2;
 	  int tdy = dy + (W - tW) / 2;
 
-	  if (Fl::scheme() && !strcmp(Fl::scheme(), "gtk+")) {
+	  if (fltk3::scheme() && !strcmp(fltk3::scheme(), "gtk+")) {
 	    fl_color(FL_SELECTION_COLOR);
 	    tW --;
 	    fl_pie(x() + tdx - 1, y() + tdy - 1, tW + 3, tW + 3, 0.0, 360.0);
@@ -119,7 +119,7 @@
 	      break;
 	  }
 
-	  if (Fl::scheme() && !strcmp(Fl::scheme(), "gtk+")) {
+	  if (fltk3::scheme() && !strcmp(fltk3::scheme(), "gtk+")) {
 	    fl_color(fl_color_average(FL_WHITE, FL_SELECTION_COLOR, 0.5));
 	    fl_arc(x() + tdx, y() + tdy, tW + 1, tW + 1, 60.0, 180.0);
 	  }
@@ -135,17 +135,17 @@
     int ww = W/2+1;
     int xx = dx;
     if (w()<ww+2*xx) xx = (w()-ww)/2;
-    if (Fl::scheme() && !strcmp(Fl::scheme(), "plastic")) {
+    if (fltk3::scheme() && !strcmp(fltk3::scheme(), "plastic")) {
       col = active_r() ? selection_color() : fl_inactive(selection_color());
       fl_color(value() ? col : fl_color_average(col, FL_BLACK, 0.5f));
       fl_pie(x()+xx, y()+dy+1, ww, hh, 0, 360);
     } else {
-      draw_box(FL_THIN_DOWN_BOX, x()+xx, y()+dy+1, ww, hh, col);
+      draw_box(fltk3::THIN_DOWN_BOX, x()+xx, y()+dy+1, ww, hh, col);
     }
     dx = (ww + 2 * dx - W) / 2;
   }
   draw_label(x()+W+2*dx, y(), w()-W-2*dx, h());
-  if (Fl::focus() == this) draw_focus();
+  if (fltk3::focus() == this) draw_focus();
 }
 
 int Fl_Light_Button::handle(int event) {

Modified: branches/branch-3.0-2011/src/Fl_Menu.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Menu.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Menu.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -31,7 +31,7 @@
 // methods for bringing up popup menu hierarchies without using the
 // Fl_Menu_ widget.
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Menu_Window.H>
 #include <fltk3/Fl_Menu_.H>
 #include <fltk3/fl_draw.H>
@@ -157,11 +157,11 @@
   Fl_Color color = m ? m->color() : FL_GRAY;
   if (selected) {
     Fl_Color r = m ? m->selection_color() : FL_SELECTION_COLOR;
-    Fl_Boxtype b = m && m->down_box() ? m->down_box() : FL_FLAT_BOX;
+    fltk3::Boxtype b = m && m->down_box() ? m->down_box() : fltk3::FLAT_BOX;
     if (fl_contrast(r,color)!=r) { // back compatibility boxtypes
       if (selected == 2) { // menu title
 	r = color;
-	b = m ? m->box() : FL_UP_BOX;
+	b = m ? m->box() : fltk3::UP_BOX;
       } else {
 	r = (Fl_Color)(FL_COLOR_CUBE-1); // white
 	l.color = fl_contrast((Fl_Color)labelcolor_, r);
@@ -183,16 +183,16 @@
     int W = h - 2 * d;
 
     if (flags & FL_MENU_RADIO) {
-      fl_draw_box(FL_ROUND_DOWN_BOX, x+2, y+d, W, W, FL_BACKGROUND2_COLOR);
+      fl_draw_box(fltk3::ROUND_DOWN_BOX, x+2, y+d, W, W, FL_BACKGROUND2_COLOR);
       if (value()) {
-	int tW = (W - Fl::box_dw(FL_ROUND_DOWN_BOX)) / 2 + 1;
+	int tW = (W - fltk3::box_dw(fltk3::ROUND_DOWN_BOX)) / 2 + 1;
 	if ((W - tW) & 1) tW++;	// Make sure difference is even to center
-	int td = Fl::box_dx(FL_ROUND_DOWN_BOX) + 1;
-        if (Fl::scheme()) {
+	int td = fltk3::box_dx(fltk3::ROUND_DOWN_BOX) + 1;
+        if (fltk3::scheme()) {
 	  // Offset the radio circle...
 	  td ++;
 
-	  if (!strcmp(Fl::scheme(), "gtk+")) {
+	  if (!strcmp(fltk3::scheme(), "gtk+")) {
 	    fl_color(FL_SELECTION_COLOR);
 	    tW --;
 	    fl_pie(x + td + 1, y + d + td - 1, tW + 3, tW + 3, 0.0, 360.0);
@@ -227,15 +227,15 @@
 	    break;
 	}
 
-	if (Fl::scheme() && !strcmp(Fl::scheme(), "gtk+")) {
+	if (fltk3::scheme() && !strcmp(fltk3::scheme(), "gtk+")) {
 	  fl_color(fl_color_average(FL_WHITE, FL_SELECTION_COLOR, 0.5));
 	  fl_arc(x + td + 2, y + d + td, tW + 1, tW + 1, 60.0, 180.0);
 	}
       }
     } else {
-      fl_draw_box(FL_DOWN_BOX, x+2, y+d, W, W, FL_BACKGROUND2_COLOR);
+      fl_draw_box(fltk3::DOWN_BOX, x+2, y+d, W, W, FL_BACKGROUND2_COLOR);
       if (value()) {
-	if (Fl::scheme() && !strcmp(Fl::scheme(), "gtk+")) {
+	if (fltk3::scheme() && !strcmp(fltk3::scheme(), "gtk+")) {
 	  fl_color(FL_SELECTION_COLOR);
 	} else {
 	  fl_color(labelcolor_);
@@ -267,7 +267,7 @@
   clear_border();
   set_menu_window();
   menu = L;
-  if (L->labelcolor_ || Fl::scheme() || L->labeltype_ > FL_NO_LABEL) clear_overlay();
+  if (L->labelcolor_ || fltk3::scheme() || L->labeltype_ > fltk3::NO_LABEL) clear_overlay();
 }
 
 menuwindow::menuwindow(const Fl_Menu_Item* m, int X, int Y, int Wp, int Hp,
@@ -278,7 +278,7 @@
   int scr_x, scr_y, scr_w, scr_h;
   int tx = X, ty = Y;
 
-  Fl::screen_xywh(scr_x, scr_y, scr_w, scr_h);
+  fltk3::screen_xywh(scr_x, scr_y, scr_w, scr_h);
   if (!right_edge || right_edge > scr_x+scr_w) right_edge = scr_x+scr_w;
 
   end();
@@ -290,11 +290,11 @@
   drawn_selected = -1;
   if (button) {
     box(button->box());
-    if (box() == FL_NO_BOX || box() == FL_FLAT_BOX) box(FL_UP_BOX);
+    if (box() == fltk3::NO_BOX || box() == fltk3::FLAT_BOX) box(fltk3::UP_BOX);
   } else {
-    box(FL_UP_BOX);
+    box(fltk3::UP_BOX);
   }
-  color(button && !Fl::scheme() ? button->color() : FL_GRAY);
+  color(button && !fltk3::scheme() ? button->color() : FL_GRAY);
   selected = -1;
   {
     int j = 0;
@@ -346,11 +346,11 @@
         }
       }
     }
-    if (m->labelcolor_ || Fl::scheme() || m->labeltype_ > FL_NO_LABEL) clear_overlay();
+    if (m->labelcolor_ || fltk3::scheme() || m->labeltype_ > fltk3::NO_LABEL) clear_overlay();
   }
   shortcutWidth = hotKeysw;
   if (selected >= 0 && !Wp) X -= W/2;
-  int BW = Fl::box_dx(box());
+  int BW = fltk3::box_dx(box());
   W += hotKeysw+hotModsw+2*BW+7;
   if (Wp > W) W = Wp;
   if (Wtitle > W) W = Wtitle;
@@ -372,10 +372,10 @@
       } else if (t) {
         // assume that the menubar item height relates to the first
         // menuitem as well
-        Y = Y-itemheight-h()-Fl::box_dh(box());
+        Y = Y-itemheight-h()-fltk3::box_dh(box());
       } else {
         // draw the menu to the right
-        Y = Y-h()+itemheight+Fl::box_dy(box());
+        Y = Y-h()+itemheight+fltk3::box_dy(box());
       }
     }
   }
@@ -383,7 +383,7 @@
 
   if (t) {
     if (menubar_title) {
-      int dy = Fl::box_dy(button->box())+1;
+      int dy = fltk3::box_dy(button->box())+1;
       int ht = button->h()-dy*2;
       title = new menutitle(tx, ty-ht-dy, Wtitle, ht, t);
     } else {
@@ -410,9 +410,9 @@
 // scroll so item i is visible on screen
 void menuwindow::autoscroll(int n) {
   int scr_x, scr_y, scr_w, scr_h;
-  int Y = y()+Fl::box_dx(box())+2+n*itemheight;
+  int Y = y()+fltk3::box_dx(box())+2+n*itemheight;
 
-  Fl::screen_xywh(scr_x, scr_y, scr_w, scr_h);
+  fltk3::screen_xywh(scr_x, scr_y, scr_w, scr_h);
   if (Y <= scr_y) Y = scr_y-Y+10;
   else {
     Y = Y+itemheight-scr_h-scr_y;
@@ -428,7 +428,7 @@
 void menuwindow::drawentry(const Fl_Menu_Item* m, int n, int eraseit) {
   if (!m) return; // this happens if -1 is selected item and redrawn
 
-  int BW = Fl::box_dx(box());
+  int BW = fltk3::box_dx(box());
   int xx = BW;
   int W = w();
   int ww = W-2*BW-1;
@@ -515,8 +515,8 @@
     }
     return n;
   }
-  if (mx < Fl::box_dx(box()) || mx >= w()) return -1;
-  int n = (my-Fl::box_dx(box())-1)/itemheight;
+  if (mx < fltk3::box_dx(box()) || mx >= w()) return -1;
+  int n = (my-fltk3::box_dx(box())-1)/itemheight;
   if (n < 0 || n>=numitems) return -1;
   return n;
 }
@@ -541,7 +541,7 @@
 ////////////////////////////////////////////////////////////////
 // Fl_Menu_Item::popup(...)
 
-// Because Fl::grab() is done, all events go to one of the menu windows.
+// Because fltk3::grab() is done, all events go to one of the menu windows.
 // But the handle method needs to look at all of them to find out
 // what item the user is pointing at.  And it needs a whole lot
 // of other state variables to determine what is going on with
@@ -655,7 +655,7 @@
   menustate &pp = *p;
   switch (e) {
   case FL_KEYBOARD:
-    switch (Fl::event_key()) {
+    switch (fltk3::event_key()) {
     case FL_BackSpace:
     BACKTAB:
       if (!backward(pp.menu_number)) {pp.item_number = -1;backward(pp.menu_number);}
@@ -670,10 +670,10 @@
       }
       return 1;
     case FL_Tab:
-      if (Fl::event_shift()) goto BACKTAB;
+      if (fltk3::event_shift()) goto BACKTAB;
     case FL_Down:
       if (pp.menu_number || !pp.menubar) {
-        if (!forward(pp.menu_number) && Fl::event_key()==FL_Tab) {
+        if (!forward(pp.menu_number) && fltk3::event_key()==FL_Tab) {
           pp.item_number = -1;
           forward(pp.menu_number);
         }
@@ -725,8 +725,8 @@
       // right after FL_RELEASE...
       if (pp.state == DONE_STATE) return 1;
 #endif // __QNX__
-      int mx = Fl::event_x_root();
-      int my = Fl::event_y_root();
+      int mx = fltk3::event_x_root();
+      int my = fltk3::event_y_root();
       int item=0; int mymenu = pp.nummenus-1;
       // Clicking or dragging outside menu cancels it...
       if ((!pp.menubar || mymenu) && !pp.is_inside(mx, my)) {
@@ -770,7 +770,7 @@
   case FL_RELEASE:
     // Mouse must either be held down/dragged some, or this must be
     // the second click (not the one that popped up the menu):
-    if (   !Fl::event_is_click() 
+    if (   !fltk3::event_is_click() 
         || pp.state == PUSH_STATE 
         || (pp.menubar && pp.current_item && !pp.current_item->submenu()) // button
 	) {
@@ -787,7 +787,7 @@
     }
     return 1;
   }
-  return Fl_Window::handle(e);
+  return fltk3::Window::handle(e);
 }
 
 /**
@@ -810,16 +810,16 @@
 
   button = pbutton;
   if (pbutton) {
-    for (Fl_Window* w = pbutton->window(); w; w = w->window()) {
+    for (fltk3::Window* w = pbutton->window(); w; w = w->window()) {
       X += w->x();
       Y += w->y();
     }
   } else {
-    X += Fl::event_x_root()-Fl::event_x();
-    Y += Fl::event_y_root()-Fl::event_y();
+    X += fltk3::event_x_root()-fltk3::event_x();
+    Y += fltk3::event_y_root()-fltk3::event_y();
   }
   menuwindow mw(this, X, Y, W, H, initial_item, t, menubar);
-  Fl::grab(mw);
+  fltk3::grab(mw);
   menustate pp; p = &pp;
   pp.p[0] = &mw;
   pp.nummenus = 1;
@@ -837,7 +837,7 @@
   if (menubar) {
     // find the initial menu
     if (!mw.handle(FL_DRAG)) {
-      Fl::grab(0);
+      fltk3::grab(0);
       return 0;
     }
   }
@@ -860,7 +860,7 @@
     // get events:
     {
       const Fl_Menu_Item* oldi = pp.current_item;
-      Fl::wait();
+      fltk3::wait();
       if (pp.state == DONE_STATE) break; // done.
       if (pp.current_item == oldi) continue;
     }
@@ -945,7 +945,7 @@
     }
   }
   const Fl_Menu_Item* m = pp.current_item;
-  Fl::grab(0);
+  fltk3::grab(0);
   delete pp.fakemenu;
   while (pp.nummenus>1) delete pp.p[--pp.nummenus];
   mw.hide();
@@ -961,7 +961,7 @@
 
   X,Y is the position of the mouse cursor, relative to the
   window that got the most recent event (usually you can pass 
-  Fl::event_x() and Fl::event_y() unchanged here).
+  fltk3::event_x() and fltk3::event_y() unchanged here).
 
   \p title is a character string title for the menu.  If
   non-zero a small box appears above the menu with the title in it.
@@ -1001,7 +1001,7 @@
   const Fl_Menu_Item* m = first();
   if (m) for (int ii = 0; m->text; m = m->next(), ii++) {
     if (m->activevisible()) {
-      if (Fl::test_shortcut(m->shortcut_)
+      if (fltk3::test_shortcut(m->shortcut_)
 	 || Fl_Widget::test_shortcut(m->text, require_alt)) {
 	if (ip) *ip=ii;
 	return m;
@@ -1027,7 +1027,7 @@
   if (m) for (; m->text; m = m->next()) {
     if (m->activevisible()) {
       // return immediately any match of an item in top level menu:
-      if (Fl::test_shortcut(m->shortcut_)) return m;
+      if (fltk3::test_shortcut(m->shortcut_)) return m;
       // if (Fl_Widget::test_shortcut(m->text)) return m;
       // only return matches from lower menu if nothing found in top menu:
       if (!ret && m->submenu()) {

Modified: branches/branch-3.0-2011/src/Fl_Menu_.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Menu_.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Menu_.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -31,7 +31,7 @@
 
 // More code in Fl_Menu_add.cxx
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Menu_.H>
 #include "flstring.h"
 #include <stdio.h>
@@ -307,7 +307,7 @@
 Fl_Menu_::Fl_Menu_(int X,int Y,int W,int H,const char* l)
 : Fl_Widget(X,Y,W,H,l) {
   set_flag(SHORTCUT_LABEL);
-  box(FL_UP_BOX);
+  box(fltk3::UP_BOX);
   when(FL_WHEN_RELEASE_ALWAYS);
   value_ = menu_ = 0;
   alloc = 0;
@@ -315,7 +315,7 @@
   textfont(FL_HELVETICA);
   textsize(FL_NORMAL_SIZE);
   textcolor(FL_FOREGROUND_COLOR);
-  down_box(FL_NO_BOX);
+  down_box(fltk3::NO_BOX);
 }
 
 /**

Modified: branches/branch-3.0-2011/src/Fl_Menu_Bar.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Menu_Bar.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Menu_Bar.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Menu_Bar.H>
 #include <fltk3/fl_draw.H>
 
@@ -39,8 +39,8 @@
     m->draw(X, y(), W, h(), this);
     X += W;
     if (m->flags & FL_MENU_DIVIDER) {
-      int y1 = y() + Fl::box_dy(box());
-      int y2 = y1 + h() - Fl::box_dh(box()) - 1;
+      int y1 = y() + fltk3::box_dy(box());
+      int y2 = y1 + h() - fltk3::box_dh(box()) - 1;
 
       // Draw a vertical divider between menus...
       fl_color(FL_DARK3);

Modified: branches/branch-3.0-2011/src/Fl_Menu_Button.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Menu_Button.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Menu_Button.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Menu_Button.H>
 #include <fltk3/fl_draw.H>
 
@@ -36,8 +36,8 @@
   if (!box() || type()) return;
   draw_box(pressed_menu_button_ == this ? fl_down(box()) : box(), color());
   draw_label();
-  if (Fl::focus() == this) draw_focus();
-  // ** if (box() == FL_FLAT_BOX) return; // for XForms compatibility
+  if (fltk3::focus() == this) draw_focus();
+  // ** if (box() == fltk3::FLAT_BOX) return; // for XForms compatibility
   int H = (labelsize()-3)&-2;
   int X = x()+w()-H*2;
   int Y = y()+(h()-H)/2;
@@ -60,7 +60,7 @@
   redraw();
   Fl_Widget_Tracker mb(this);
   if (!box() || type()) {
-    m = menu()->popup(Fl::event_x(), Fl::event_y(), label(), mvalue(), this);
+    m = menu()->popup(fltk3::event_x(), fltk3::event_y(), label(), mvalue(), this);
   } else {
     m = menu()->pulldown(x(), y(), w(), h(), 0, this);
   }
@@ -78,17 +78,17 @@
     return (box() && !type()) ? 1 : 0;
   case FL_PUSH:
     if (!box()) {
-      if (Fl::event_button() != 3) return 0;
+      if (fltk3::event_button() != 3) return 0;
     } else if (type()) {
-      if (!(type() & (1 << (Fl::event_button()-1)))) return 0;
+      if (!(type() & (1 << (fltk3::event_button()-1)))) return 0;
     }
-    if (Fl::visible_focus()) Fl::focus(this);
+    if (fltk3::visible_focus()) fltk3::focus(this);
     popup();
     return 1;
   case FL_KEYBOARD:
     if (!box()) return 0;
-    if (Fl::event_key() == ' ' &&
-        !(Fl::event_state() & (FL_SHIFT | FL_CTRL | FL_ALT | FL_META))) {
+    if (fltk3::event_key() == ' ' &&
+        !(fltk3::event_state() & (FL_SHIFT | FL_CTRL | FL_ALT | FL_META))) {
       popup();
       return 1;
     } else return 0;
@@ -97,7 +97,7 @@
     return test_shortcut() != 0;
   case FL_FOCUS: /* FALLTHROUGH */
   case FL_UNFOCUS:
-    if (box() && Fl::visible_focus()) {
+    if (box() && fltk3::visible_focus()) {
       redraw();
       return 1;
     }
@@ -108,13 +108,13 @@
 
 /**
   Creates a new Fl_Menu_Button widget using the given position,
-  size, and label string. The default boxtype is FL_UP_BOX.
+  size, and label string. The default boxtype is fltk3::UP_BOX.
   <P>The constructor sets menu() to NULL.  See 
   Fl_Menu_ for the methods to set or change the menu.
 */
 Fl_Menu_Button::Fl_Menu_Button(int X,int Y,int W,int H,const char *l)
 : Fl_Menu_(X,Y,W,H,l) {
-  down_box(FL_NO_BOX);
+  down_box(fltk3::NO_BOX);
 }
 
 //

Modified: branches/branch-3.0-2011/src/Fl_Menu_Window.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Menu_Window.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Menu_Window.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -33,7 +33,7 @@
 // can be used to dismiss the menus.
 
 #include <config.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
 #include <fltk3/fl_draw.H>
 #include <fltk3/Fl_Menu_Window.H>
@@ -70,7 +70,7 @@
   if (!gc) {
 	  gc = XCreateGC(fl_display, myi->xid, 0, 0);
 # if defined(FLTK_USE_CAIRO)
-	  if(Fl::autolink_context()) Fl::cairo_make_current(gc); // capture gc changes automatically to update the cairo context adequately
+	  if(fltk3::autolink_context()) fltk3::cairo_make_current(gc); // capture gc changes automatically to update the cairo context adequately
 # endif
   }
   fl_gc = gc;

Modified: branches/branch-3.0-2011/src/Fl_Menu_add.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Menu_add.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Menu_add.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -269,7 +269,7 @@
   or a string (eg. "^c" or "^97").
   \par
   Raw integer shortcuts can be a combination of keyboard chars (eg. 'A')
-  and optional keyboard modifiers (see Fl::event_state(), e.g. FL_SHIFT, etc).
+  and optional keyboard modifiers (see fltk3::event_state(), e.g. FL_SHIFT, etc).
   In addition, FL_COMMAND can be used to denote FL_META under Mac OS X and
   FL_CTRL under other platforms.
   \par

Modified: branches/branch-3.0-2011/src/Fl_Menu_global.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Menu_global.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Menu_global.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -29,21 +29,21 @@
 // Currently only one menu at a time and you cannot destruct the menu,
 // is this sufficient?
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Menu_.H>
 
 static Fl_Menu_* the_widget;
 
 static int handler(int e) {
-  if (e != FL_SHORTCUT || Fl::modal()) return 0;
-  Fl::first_window(the_widget->window());
+  if (e != FL_SHORTCUT || fltk3::modal()) return 0;
+  fltk3::first_window(the_widget->window());
   return the_widget->handle(e);
 }
 
 /**
   Make the shortcuts for this menu work no matter what window has the
   focus when you type it.  This is done by using 
-  Fl::add_handler().  This Fl_Menu_ widget does not
+  fltk3::add_handler().  This Fl_Menu_ widget does not
   have to be visible (ie the window it is in can be hidden, or it does
   not have to be put in a window at all).
   <P>Currently there can be only one global()menu.  Setting a new
@@ -51,7 +51,7 @@
   global() setting (so don't destroy the widget!)
 */
 void Fl_Menu_::global() {
-  if (!the_widget) Fl::add_handler(handler);
+  if (!the_widget) fltk3::add_handler(handler);
   the_widget = this;
 }
 

Modified: branches/branch-3.0-2011/src/Fl_Multi_Label.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Multi_Label.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Multi_Label.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -28,7 +28,7 @@
 // Allows two labels to be used on a widget (by having one of them
 // be one of these it allows an infinte number!)
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Widget.H>
 #include <fltk3/Fl_Menu_Item.H>
 #include <fltk3/Fl_Multi_Label.H>
@@ -66,13 +66,13 @@
 }
 
 void Fl_Multi_Label::label(Fl_Widget* o) {
-  Fl::set_labeltype(_FL_MULTI_LABEL, multi_labeltype, multi_measure);
-  o->label(_FL_MULTI_LABEL, (const char*)this);
+  fltk3::set_labeltype(fltk3::MULTI_LABEL, multi_labeltype, multi_measure);
+  o->label(fltk3::MULTI_LABEL, (const char*)this);
 }
 
 void Fl_Multi_Label::label(Fl_Menu_Item* o) {
-  Fl::set_labeltype(_FL_MULTI_LABEL, multi_labeltype, multi_measure);
-  o->label(_FL_MULTI_LABEL, (const char*)this);
+  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 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Native_File_Chooser_FLTK.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -67,7 +67,7 @@
 
   // Added by MG
   Fl_Button *b = _file_chooser->previewButton;
-  Fl_Window *w = b->window();
+  fltk3::Window *w = b->window();
   Fl_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);
@@ -206,7 +206,7 @@
       prev_filtervalue = _file_chooser->filter_value();
       if (!show_hidden->value() ) remove_hidden_files(my_fileList);
     }
-    Fl::wait();
+    fltk3::wait();
   }
 
   if ( _file_chooser->value() && _file_chooser->value()[0] ) {

Modified: branches/branch-3.0-2011/src/Fl_Native_File_Chooser_MAC.mm
===================================================================
--- branches/branch-3.0-2011/src/Fl_Native_File_Chooser_MAC.mm	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Native_File_Chooser_MAC.mm	2011-01-09 17:05:31 UTC (rev 8230)
@@ -38,7 +38,7 @@
 #include <sys/stat.h>		// stat(2)
 
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Native_File_Chooser.H>
 #include <fltk3/filename.H>
 
@@ -123,7 +123,7 @@
 int Fl_Native_File_Chooser::show() {
 
   // Make sure fltk interface updates before posting our dialog
-  Fl::flush();
+  fltk3::flush();
   
   // POST BROWSER
   int err = post();

Modified: branches/branch-3.0-2011/src/Fl_Overlay_Window.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Overlay_Window.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Overlay_Window.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -37,7 +37,7 @@
 // possible, otherwise it just draws in the front buffer.
 
 #include <config.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Overlay_Window.H>
 #include <fltk3/fl_draw.H>
 #include <fltk3/x.H>
@@ -93,7 +93,7 @@
 void Fl_Overlay_Window::redraw_overlay() {
   overlay_ = this;
   clear_damage((uchar)(damage()|FL_DAMAGE_OVERLAY));
-  Fl::damage(FL_DAMAGE_CHILD);
+  fltk3::damage(FL_DAMAGE_CHILD);
 }
 
 #else
@@ -105,13 +105,13 @@
 static GC gc;	// the GC used by all X windows
 extern uchar fl_overlay; // changes how fl_color(x) works
 
-class _Fl_Overlay : public Fl_Window {
+class _Fl_Overlay : public fltk3::Window {
   friend class Fl_Overlay_Window;
   void flush();
   void show();
 public:
   _Fl_Overlay(int x, int y, int w, int h) :
-    Fl_Window(x,y,w,h) {set_flag(INACTIVE);}
+    fltk3::Window(x,y,w,h) {set_flag(INACTIVE);}
 };
 
 int Fl_Overlay_Window::can_do_overlay() {
@@ -119,13 +119,13 @@
 }
 
 void _Fl_Overlay::show() {
-  if (shown()) {Fl_Window::show(); return;}
+  if (shown()) {fltk3::Window::show(); return;}
   fl_background_pixel = int(fl_transparent_pixel);
   Fl_X::make_xid(this, fl_overlay_visual, fl_overlay_colormap);
   fl_background_pixel = -1;
   // find the outermost window to tell wm about the colormap:
-  Fl_Window *w = window();
-  for (;;) {Fl_Window *w1 = w->window(); if (!w1) break; w = w1;}
+  fltk3::Window *w = window();
+  for (;;) {fltk3::Window *w1 = w->window(); if (!w1) break; w = w1;}
   XSetWMColormapWindows(fl_display, fl_xid(w), &(Fl_X::i(this)->xid), 1);
 }
 
@@ -136,7 +136,7 @@
   }
   fl_gc = gc;
 #if defined(FLTK_USE_CAIRO)
-      if (Fl::cairo_autolink_context()) Fl::cairo_make_current(this); // capture gc changes automatically to update the cairo context adequately
+      if (fltk3::cairo_autolink_context()) fltk3::cairo_make_current(this); // capture gc changes automatically to update the cairo context adequately
 #endif
   fl_overlay = 1;
   Fl_Overlay_Window *w = (Fl_Overlay_Window *)parent();
@@ -161,7 +161,7 @@
   if (shown()) {
     if (overlay_ == this) {
       clear_damage(damage()|FL_DAMAGE_OVERLAY);
-      Fl::damage(FL_DAMAGE_CHILD);
+      fltk3::damage(FL_DAMAGE_CHILD);
     } else if (!overlay_->shown())
       overlay_->show();
     else

Modified: branches/branch-3.0-2011/src/Fl_PNG_Image.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_PNG_Image.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_PNG_Image.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -35,7 +35,7 @@
 // Include necessary header files...
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_PNG_Image.H>
 #include <config.h>
 #include <stdio.h>
@@ -80,7 +80,7 @@
 
   if (setjmp(png_jmpbuf(pp)))
   {
-    Fl::warning("PNG file \"%s\" contains errors!\n", png);
+    fltk3::warning("PNG file \"%s\" contains errors!\n", png);
     return;
   }
 

Modified: branches/branch-3.0-2011/src/Fl_PNM_Image.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_PNM_Image.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_PNM_Image.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -34,7 +34,7 @@
 // Include necessary header files...
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_PNM_Image.H>
 #include <stdio.h>
 #include <stdlib.h>
@@ -83,7 +83,7 @@
   lineptr = fgets(line, sizeof(line), fp);
   if (!lineptr) {
     fclose(fp);
-    Fl::error("Early end-of-file in PNM file \"%s\"!", name);
+    fltk3::error("Early end-of-file in PNM file \"%s\"!", name);
     return;
   }
 

Modified: branches/branch-3.0-2011/src/Fl_Pack.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Pack.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Pack.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -30,13 +30,13 @@
 // them on each redraw (only if box() is zero)
 // Bugs: ?
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Pack.H>
 #include <fltk3/fl_draw.H>
 
 /**
   Creates a new Fl_Pack widget using the given position, size,
-  and label string. The default boxtype is FL_NO_BOX.
+  and label string. The default boxtype is fltk3::NO_BOX.
   <P>The destructor <I>also deletes all the children</I>. This allows a
   whole tree to be deleted at once, without having to keep a pointer to
   all the children in the user code. A kludge has been done so the 
@@ -52,10 +52,10 @@
 }
 
 void Fl_Pack::draw() {
-  int tx = x()+Fl::box_dx(box());
-  int ty = y()+Fl::box_dy(box());
-  int tw = w()-Fl::box_dw(box());
-  int th = h()-Fl::box_dh(box());
+  int tx = x()+fltk3::box_dx(box());
+  int ty = y()+fltk3::box_dy(box());
+  int tw = w()-fltk3::box_dw(box());
+  int th = h()-fltk3::box_dh(box());
   int rw, rh;
   int current_position = horizontal() ? tx : ty;
   int maximum_position = current_position;
@@ -140,8 +140,8 @@
     th = maximum_position-ty;
   }
   
-  tw += Fl::box_dw(box()); if (tw <= 0) tw = 1;
-  th += Fl::box_dh(box()); if (th <= 0) th = 1;
+  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);
     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 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Paged_Device.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -29,7 +29,7 @@
  */
 
 #include <fltk3/Fl_Paged_Device.H>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 
 const char *Fl_Paged_Device::class_id = "Fl_Paged_Device";
@@ -127,15 +127,15 @@
  @param delta_x Optional horizontal offset from current graphics origin where to print the captured rectangle.
  @param delta_y As above, vertically.
  */
-void Fl_Paged_Device::print_window_part(Fl_Window *win, int x, int y, int w, int h, int delta_x, int delta_y)
+void Fl_Paged_Device::print_window_part(fltk3::Window *win, int x, int y, int w, int h, int delta_x, int delta_y)
 {
   int slice, width, offset, count = 0;
   Fl_Surface_Device *current = Fl_Surface_Device::surface();
   Fl_Display_Device::display_device()->set_current();
-  Fl_Window *save_front = Fl::first_window();
+  fltk3::Window *save_front = fltk3::first_window();
   win->show();
   fl_gc = NULL;
-  Fl::check();
+  fltk3::check();
   win->make_current();
   uchar *image_data[20];
 #ifdef WIN32 // because of bug in StretchDIBits, vertically cut image in pieces of width slice

Modified: branches/branch-3.0-2011/src/Fl_Pixmap.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Pixmap.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Pixmap.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -41,7 +41,7 @@
 // Implemented without using the xpm library (which I can't use because
 // it interferes with the color cube used by fl_draw_image).
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 #include <fltk3/x.H>
 #include <fltk3/Fl_Widget.H>
@@ -259,8 +259,8 @@
 }
 
 void Fl_Pixmap::label(Fl_Menu_Item* m) {
-  Fl::set_labeltype(_FL_IMAGE_LABEL, labeltype, Fl_Image::measure);
-  m->label(_FL_IMAGE_LABEL, (const char*)this);
+  fltk3::set_labeltype(fltk3::IMAGE_LABEL, labeltype, Fl_Image::measure);
+  m->label(fltk3::IMAGE_LABEL, (const char*)this);
 }
 
 void Fl_Pixmap::copy_data() {
@@ -421,7 +421,7 @@
   uchar		r, g, b;
   unsigned	ia, ir, ig, ib;
 
-  Fl::get_color(c, r, g, b);
+  fltk3::get_color(c, r, g, b);
   if (i < 0.0f) i = 0.0f;
   else if (i > 1.0f) i = 1.0f;
 

Modified: branches/branch-3.0-2011/src/Fl_Positioner.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Positioner.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Positioner.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -29,7 +29,7 @@
 // The positioner widget from Forms, gives 2D input
 // Written by: Mark Overmars
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Positioner.H>
 #include <fltk3/fl_draw.H>
 
@@ -85,7 +85,7 @@
     double y1 = Y + 4;
     double w1 = W - 2 * 4;
     double h1 = H - 2 * 4;
-    double xx = flinear(Fl::event_x(), x1, x1+w1-1.0, xmin, xmax);
+    double xx = flinear(fltk3::event_x(), x1, x1+w1-1.0, xmin, xmax);
     if (xstep_) xx = int(xx/xstep_+0.5) * xstep_;
     if (xmin < xmax) {
       if (xx < xmin) xx = xmin;
@@ -94,7 +94,7 @@
       if (xx > xmin) xx = xmin;
       if (xx < xmax) xx = xmax;
     }
-    double yy = flinear(Fl::event_y(), y1, y1+h1-1.0, ymin, ymax);
+    double yy = flinear(fltk3::event_y(), y1, y1+h1-1.0, ymin, ymax);
     if (ystep_) yy = int(yy/ystep_+0.5) * ystep_;
     if (ymin < ymax) {
       if (yy < ymin) yy = ymin;
@@ -126,11 +126,11 @@
 
 /**
   Creates a new Fl_Positioner widget using the given position,
-  size, and label string. The default boxtype is FL_NO_BOX.
+  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) {
-  box(FL_DOWN_BOX);
+  box(fltk3::DOWN_BOX);
   selection_color(FL_RED);
   align(FL_ALIGN_BOTTOM);
   when(FL_WHEN_CHANGED);

Modified: branches/branch-3.0-2011/src/Fl_PostScript.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_PostScript.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_PostScript.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_ask.H>
 #include <fltk3/fl_draw.H>
 #include <stdio.h>
@@ -936,7 +936,7 @@
 }
 
 void Fl_PostScript_Graphics_Driver::color(Fl_Color c) {
-  Fl::get_color(c, cr_, cg_, cb_);
+  fltk3::get_color(c, cr_, cg_, cb_);
   color(cr_, cg_, cb_);
 }
 
@@ -968,7 +968,7 @@
 {
   uchar red, green, blue, r, g, b;
   uchar bit, byte, *q;
-  Fl::get_color(bg, red, green, blue);
+  fltk3::get_color(bg, red, green, blue);
   int W = (w+7)/8; // width of mask
   uchar* mask = new uchar[W * h];
   q = mask;
@@ -1484,7 +1484,7 @@
   print_from->value("1");
   { char tmp[10]; snprintf(tmp, sizeof(tmp), "%d", pages); print_to->value(tmp); }
   print_panel->show(); // this is modal
-  while (print_panel->shown()) Fl::wait();
+  while (print_panel->shown()) fltk3::wait();
   
   if (!print_start) // user clicked cancel
     return 1;

Modified: branches/branch-3.0-2011/src/Fl_Preferences.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Preferences.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Preferences.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Preferences.H>
 #include <fltk3/Fl_Plugin.H>
 #include <fltk3/filename.H>

Modified: branches/branch-3.0-2011/src/Fl_Progress.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Progress.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Progress.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -35,7 +35,7 @@
 // Include necessary header files...
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Progress.H>
 #include <fltk3/fl_draw.H>
 
@@ -59,10 +59,10 @@
 
 
   // Get the box borders...
-  bx = Fl::box_dx(box());
-  by = Fl::box_dy(box());
-  bw = Fl::box_dw(box());
-  bh = Fl::box_dh(box());
+  bx = fltk3::box_dx(box());
+  by = fltk3::box_dy(box());
+  bw = fltk3::box_dw(box());
+  bh = fltk3::box_dh(box());
 
   tx = x() + bx;
   tw = w() - bw;
@@ -110,7 +110,7 @@
 Fl_Progress::Fl_Progress(int X, int Y, int W, int H, const char* L)
 : Fl_Widget(X, Y, W, H, L) {
   align(FL_ALIGN_INSIDE);
-  box(FL_DOWN_BOX);
+  box(fltk3::DOWN_BOX);
   color(FL_BACKGROUND2_COLOR, FL_YELLOW);
   minimum(0.0f);
   maximum(100.0f);

Modified: branches/branch-3.0-2011/src/Fl_Quartz_Printer.mm
===================================================================
--- branches/branch-3.0-2011/src/Fl_Quartz_Printer.mm	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Quartz_Printer.mm	2011-01-09 17:05:31 UTC (rev 8230)
@@ -28,7 +28,7 @@
 #ifdef __APPLE__
 #include <fltk3/Fl_Printer.H>
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_ask.H>
 #include <fltk3/fl_draw.H>
 #import <Cocoa/Cocoa.h>
@@ -66,7 +66,7 @@
       retval = (NSInteger)[panel runModalWithPrintInfo:info];//from 10.5 only
     }
     if(retval != NSOKButton) {
-      Fl::first_window()->show();
+      fltk3::first_window()->show();
       [localPool release];
       return 1;
     }
@@ -98,7 +98,7 @@
     if (!f) f = (dialog_f)Fl_X::get_carbon_function("PMSessionPageSetupDialog");
     status = (*f)(printSession, pageFormat, &accepted);
     if (status != noErr || !accepted) {
-      Fl::first_window()->show();
+      fltk3::first_window()->show();
       return 1;
     }
     status = PMCreatePrintSettings(&printSettings);
@@ -113,7 +113,7 @@
     status = (*f2)(printSession, printSettings, pageFormat, &accepted);
     if (!accepted) status = kPMCancel;
     if (status != noErr) {
-      Fl::first_window()->show();
+      fltk3::first_window()->show();
       return 1;
     }
     UInt32 from32, to32;
@@ -300,7 +300,7 @@
   PMSessionEndDocumentNoDialog(printSession);
   Fl_Display_Device::display_device()->set_current();
   fl_gc = 0;
-  Fl::first_window()->show();
+  fltk3::first_window()->show();
 }
 
 #endif // __APPLE__

Modified: branches/branch-3.0-2011/src/Fl_Repeat_Button.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Repeat_Button.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Repeat_Button.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Repeat_Button.H>
 
 #define INITIALREPEAT .5
@@ -33,7 +33,7 @@
 
 void Fl_Repeat_Button::repeat_callback(void *v) {
   Fl_Button *b = (Fl_Button*)v;
-  Fl::add_timeout(REPEAT,repeat_callback,b);
+  fltk3::add_timeout(REPEAT,repeat_callback,b);
   b->do_callback();
 }
 
@@ -46,17 +46,17 @@
     newval = 0; goto J1;
   case FL_PUSH:
   case FL_DRAG:
-    if (Fl::visible_focus()) Fl::focus(this);
-    newval = Fl::event_inside(this);
+    if (fltk3::visible_focus()) fltk3::focus(this);
+    newval = fltk3::event_inside(this);
   J1:
     if (!active()) 
       newval = 0;
     if (value(newval)) {
       if (newval) {
-	Fl::add_timeout(INITIALREPEAT,repeat_callback,this);
+	fltk3::add_timeout(INITIALREPEAT,repeat_callback,this);
 	do_callback();
       } else {
-	Fl::remove_timeout(repeat_callback,this);
+	fltk3::remove_timeout(repeat_callback,this);
       }
     }
     return 1;

Modified: branches/branch-3.0-2011/src/Fl_Return_Button.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Return_Button.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Return_Button.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Return_Button.H>
 #include <fltk3/fl_draw.H>
 
@@ -55,12 +55,12 @@
   if (w()/3 < W) W = w()/3;
   fl_return_arrow(x()+w()-W-4, y(), W, h());
   draw_label(x(), y(), w()-W+4, h());
-  if (Fl::focus() == this) draw_focus();
+  if (fltk3::focus() == this) draw_focus();
 }
 
 int Fl_Return_Button::handle(int event) {
   if (event == FL_SHORTCUT &&
-      (Fl::event_key() == FL_Enter || Fl::event_key() == FL_KP_Enter)) {
+      (fltk3::event_key() == FL_Enter || fltk3::event_key() == FL_KP_Enter)) {
     simulate_key_action();
     do_callback();
     return 1;

Modified: branches/branch-3.0-2011/src/Fl_Roller.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Roller.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Roller.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -27,18 +27,18 @@
 
 // Rapid-App style knob
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Roller.H>
 #include <fltk3/fl_draw.H>
 #include <math.h>
 
 int Fl_Roller::handle(int event) {
   static int ipos;
-  int newpos = horizontal() ? Fl::event_x() : Fl::event_y();
+  int newpos = horizontal() ? fltk3::event_x() : fltk3::event_y();
   switch (event) {
   case FL_PUSH:
-    if (Fl::visible_focus()) {
-      Fl::focus(this);
+    if (fltk3::visible_focus()) {
+      fltk3::focus(this);
       redraw();
     }
     handle_push();
@@ -51,7 +51,7 @@
     handle_release();
     return 1;
   case FL_KEYBOARD :
-    switch (Fl::event_key()) {
+    switch (fltk3::event_key()) {
       case FL_Up:
         if (horizontal()) return 0;
 	handle_drag(clamp(increment(value(),-1)));
@@ -74,7 +74,7 @@
     // break not required because of switch...
   case FL_FOCUS :
   case FL_UNFOCUS :
-    if (Fl::visible_focus()) {
+    if (fltk3::visible_focus()) {
       redraw();
       return 1;
     } else return 0;
@@ -88,10 +88,10 @@
 
 void Fl_Roller::draw() {
   if (damage()&FL_DAMAGE_ALL) draw_box();
-  int X = x()+Fl::box_dx(box());
-  int Y = y()+Fl::box_dy(box());
-  int W = w()-Fl::box_dw(box())-1;
-  int H = h()-Fl::box_dh(box())-1;
+  int X = x()+fltk3::box_dx(box());
+  int Y = y()+fltk3::box_dy(box());
+  int W = w()-fltk3::box_dw(box())-1;
+  int H = h()-fltk3::box_dh(box())-1;
   if (W<=0 || H <=0) return;
   int offset = step() ? int(value()/step()) : 0;
   const double ARC = 1.5; // 1/2 the number of radians visible
@@ -166,17 +166,17 @@
     }
   }
 
-  if (Fl::focus() == this) draw_focus(FL_THIN_UP_FRAME, x(), y(), w(), h());
+  if (fltk3::focus() == this) draw_focus(fltk3::THIN_UP_FRAME, x(), y(), w(), h());
 }
 
 /**
   Creates a new Fl_Roller widget using the given position,
-  size, and label string. The default boxtype is FL_NO_BOX.
+  size, and label string. The default boxtype is fltk3::NO_BOX.
   <P>Inherited destructor destroys the valuator.
 */
 Fl_Roller::Fl_Roller(int X,int Y,int W,int H,const char* L)
   : Fl_Valuator(X,Y,W,H,L) {
-  box(FL_UP_BOX);
+  box(fltk3::UP_BOX);
   step(1,1000);
 }
 

Modified: branches/branch-3.0-2011/src/Fl_Round_Button.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Round_Button.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Round_Button.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -29,7 +29,7 @@
 // circle is smaller than the widget size and can be surrounded by
 // another box type, for compatibility with Forms.
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Round_Button.H>
 
 /**
@@ -38,8 +38,8 @@
 */
 Fl_Round_Button::Fl_Round_Button(int X,int Y,int W,int H, const char *l)
 : Fl_Light_Button(X,Y,W,H,l) {
-  box(FL_NO_BOX);
-  down_box(FL_ROUND_DOWN_BOX);
+  box(fltk3::NO_BOX);
+  down_box(fltk3::ROUND_DOWN_BOX);
   selection_color(FL_FOREGROUND_COLOR);
 }
 

Modified: branches/branch-3.0-2011/src/Fl_Scroll.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Scroll.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Scroll.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Tiled_Image.H>
 #include <fltk3/Fl_Scroll.H>
 #include <fltk3/fl_draw.H>
@@ -63,24 +63,24 @@
   Fl_Scroll* s = (Fl_Scroll*)v;
   // erase background as needed...
   switch (s->box()) {
-    case FL_NO_BOX :
-    case FL_UP_FRAME :
-    case FL_DOWN_FRAME :
-    case FL_THIN_UP_FRAME :
-    case FL_THIN_DOWN_FRAME :
-    case FL_ENGRAVED_FRAME :
-    case FL_EMBOSSED_FRAME :
-    case FL_BORDER_FRAME :
-    case _FL_SHADOW_FRAME :
-    case _FL_ROUNDED_FRAME :
-    case _FL_OVAL_FRAME :
-    case _FL_PLASTIC_UP_FRAME :
-    case _FL_PLASTIC_DOWN_FRAME :
-        if (s->parent() == (Fl_Group *)s->window() && Fl::scheme_bg_) {
-	  Fl::scheme_bg_->draw(X-(X%((Fl_Tiled_Image *)Fl::scheme_bg_)->image()->w()),
-	                       Y-(Y%((Fl_Tiled_Image *)Fl::scheme_bg_)->image()->h()),
-	                       W+((Fl_Tiled_Image *)Fl::scheme_bg_)->image()->w(),
-			       H+((Fl_Tiled_Image *)Fl::scheme_bg_)->image()->h());
+    case fltk3::NO_BOX :
+    case fltk3::UP_FRAME :
+    case fltk3::DOWN_FRAME :
+    case fltk3::THIN_UP_FRAME :
+    case fltk3::THIN_DOWN_FRAME :
+    case fltk3::ENGRAVED_FRAME :
+    case fltk3::EMBOSSED_FRAME :
+    case fltk3::BORDER_FRAME :
+    case fltk3::SHADOW_FRAME :
+    case fltk3::ROUNDED_FRAME :
+    case fltk3::OVAL_FRAME :
+    case fltk3::PLASTIC_UP_FRAME :
+    case fltk3::PLASTIC_DOWN_FRAME :
+        if (s->parent() == (Fl_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(),
+			       H+((Fl_Tiled_Image *)fltk3::scheme_bg_)->image()->h());
 	  break;
         }
 
@@ -109,10 +109,10 @@
 void Fl_Scroll::recalc_scrollbars(ScrollInfo &si) {
 
   // inner box of widget (excluding scrollbars)
-  si.innerbox_x = x()+Fl::box_dx(box());
-  si.innerbox_y = y()+Fl::box_dy(box());
-  si.innerbox_w = w()-Fl::box_dw(box());
-  si.innerbox_h = h()-Fl::box_dh(box());
+  si.innerbox_x = x()+fltk3::box_dx(box());
+  si.innerbox_y = y()+fltk3::box_dy(box());
+  si.innerbox_w = w()-fltk3::box_dw(box());
+  si.innerbox_h = h()-fltk3::box_dh(box());
 
   // accumulate a bounding box for all the children
   si.child_l = si.innerbox_x;
@@ -145,7 +145,7 @@
     int W = si.innerbox_w;
     int H = si.innerbox_h;
 
-    si.scrollsize = scrollbar_size_ ? scrollbar_size_ : Fl::scrollbar_size();
+    si.scrollsize = scrollbar_size_ ? scrollbar_size_ : fltk3::scrollbar_size();
     si.vneeded = 0;
     si.hneeded = 0;
     if (type() & VERTICAL) {
@@ -229,10 +229,10 @@
   outside of the draw() method (STR #1895).
 */
 void Fl_Scroll::bbox(int& X, int& Y, int& W, int& H) {
-  X = x()+Fl::box_dx(box());
-  Y = y()+Fl::box_dy(box());
-  W = w()-Fl::box_dw(box());
-  H = h()-Fl::box_dh(box());
+  X = x()+fltk3::box_dx(box());
+  Y = y()+fltk3::box_dy(box());
+  W = w()-fltk3::box_dw(box());
+  H = h()-fltk3::box_dh(box());
   if (scrollbar.visible()) {
     W -= scrollbar.w();
     if (scrollbar.align() & FL_ALIGN_LEFT) X += scrollbar.w();
@@ -372,7 +372,7 @@
     if (o == &hscrollbar || o == &scrollbar) continue;
     o->position(o->x()+dx, o->y()+dy);
   }
-  if (parent() == (Fl_Group *)window() && Fl::scheme_bg_) damage(FL_DAMAGE_ALL);
+  if (parent() == (Fl_Group *)window() && fltk3::scheme_bg_) damage(FL_DAMAGE_ALL);
   else damage(FL_DAMAGE_SCROLL);
 }
 
@@ -387,7 +387,7 @@
 }
 /**
   Creates a new Fl_Scroll widget using the given position,
-  size, and label string. The default boxtype is FL_NO_BOX.
+  size, and label string. The default boxtype is fltk3::NO_BOX.
   <P>The destructor <I>also deletes all the children</I>. This allows a
   whole tree to be deleted at once, without having to keep a pointer to
   all the children in the user code. A kludge has been done so the 
@@ -397,10 +397,10 @@
 */
 Fl_Scroll::Fl_Scroll(int X,int Y,int W,int H,const char* L)
   : Fl_Group(X,Y,W,H,L), 
-    scrollbar(X+W-Fl::scrollbar_size(),Y,
-              Fl::scrollbar_size(),H-Fl::scrollbar_size()),
-    hscrollbar(X,Y+H-Fl::scrollbar_size(),
-               W-Fl::scrollbar_size(),Fl::scrollbar_size()) {
+    scrollbar(X+W-fltk3::scrollbar_size(),Y,
+              fltk3::scrollbar_size(),H-fltk3::scrollbar_size()),
+    hscrollbar(X,Y+H-fltk3::scrollbar_size(),
+               W-fltk3::scrollbar_size(),fltk3::scrollbar_size()) {
   type(BOTH);
   xposition_ = oldx = 0;
   yposition_ = oldy = 0;

Modified: branches/branch-3.0-2011/src/Fl_Scrollbar.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Scrollbar.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Scrollbar.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -26,7 +26,7 @@
 //
 
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Scrollbar.H>
 #include <fltk3/fl_draw.H>
 #include <math.h>
@@ -69,7 +69,7 @@
 void Fl_Scrollbar::timeout_cb(void* v) {
   Fl_Scrollbar* s = (Fl_Scrollbar*)v;
   s->increment_cb();
-  Fl::add_timeout(REPEAT, timeout_cb, s);
+  fltk3::add_timeout(REPEAT, timeout_cb, s);
 }
 
 int Fl_Scrollbar::handle(int event) {
@@ -88,10 +88,10 @@
   int relx;
   int ww;
   if (horizontal()) {
-    relx = Fl::event_x()-X;
+    relx = fltk3::event_x()-X;
     ww = W;
   } else {
-    relx = Fl::event_y()-Y;
+    relx = fltk3::event_y()-Y;
     ww = H;
   }
   if (relx < 0) area = 1;
@@ -107,7 +107,7 @@
     if (val >= 1.0) sliderx = ww-S;
     else if (val <= 0.0) sliderx = 0;
     else sliderx = int(val*(ww-S)+.5);
-    if (Fl::event_button() == FL_MIDDLE_MOUSE) area = 8;
+    if (fltk3::event_button() == FL_MIDDLE_MOUSE) area = 8;
     else if (relx < sliderx) area = 5;
     else if (relx >= sliderx+S) area = 6;
     else area = 8;
@@ -120,7 +120,7 @@
   case FL_RELEASE:
       damage(FL_DAMAGE_ALL);
     if (pushed_) {
-      Fl::remove_timeout(timeout_cb, this);
+      fltk3::remove_timeout(timeout_cb, this);
       pushed_ = 0;
     }
     handle_release();
@@ -130,7 +130,7 @@
     if (area != 8) pushed_ = area;
     if (pushed_) {
       handle_push();
-      Fl::add_timeout(INITIALREPEAT, timeout_cb, this);
+      fltk3::add_timeout(INITIALREPEAT, timeout_cb, this);
       increment_cb();
       damage(FL_DAMAGE_ALL);
       return 1;
@@ -141,14 +141,14 @@
     return Fl_Slider::handle(event, X,Y,W,H);
   case FL_MOUSEWHEEL :
     if (horizontal()) {
-      if (Fl::e_dx==0) return 0;
+      if (fltk3::e_dx==0) return 0;
       int ls = maximum()>=minimum() ? linesize_ : -linesize_;
-      handle_drag(clamp(value() + ls * Fl::e_dx));
+      handle_drag(clamp(value() + ls * fltk3::e_dx));
       return 1;
     } else {
-      if (Fl::e_dy==0) return 0;
+      if (fltk3::e_dy==0) return 0;
       int ls = maximum()>=minimum() ? linesize_ : -linesize_;
-      handle_drag(clamp(value() + ls * Fl::e_dy));
+      handle_drag(clamp(value() + ls * fltk3::e_dy));
       return 1;
     }
   case FL_SHORTCUT:
@@ -156,7 +156,7 @@
     int v = value();
     int ls = maximum()>=minimum() ? linesize_ : -linesize_;
     if (horizontal()) {
-      switch (Fl::event_key()) {
+      switch (fltk3::event_key()) {
       case FL_Left:
 	v -= ls;
 	break;
@@ -167,7 +167,7 @@
 	return 0;
       }
     } else { // vertical
-      switch (Fl::event_key()) {
+      switch (fltk3::event_key()) {
       case FL_Up:
 	v -= ls;
 	break;
@@ -208,10 +208,10 @@
 
 void Fl_Scrollbar::draw() {
   if (damage()&FL_DAMAGE_ALL) draw_box();
-  int X = x()+Fl::box_dx(box());
-  int Y = y()+Fl::box_dy(box());
-  int W = w()-Fl::box_dw(box());
-  int H = h()-Fl::box_dh(box());
+  int X = x()+fltk3::box_dx(box());
+  int Y = y()+fltk3::box_dy(box());
+  int W = w()-fltk3::box_dw(box());
+  int H = h()-fltk3::box_dh(box());
   if (horizontal()) {
     if (W < 3*H) {Fl_Slider::draw(X,Y,W,H); return;}
     Fl_Slider::draw(X+H,Y,W-2*H,H);
@@ -227,7 +227,7 @@
       int w1 = (H-4)/3; if (w1 < 1) w1 = 1;
       int x1 = X+(H-w1-1)/2;
       int yy1 = Y+(H-2*w1-1)/2;
-      if (Fl::scheme_ && !strcmp(Fl::scheme_, "gtk+")) {
+      if (fltk3::scheme_ && !strcmp(fltk3::scheme_, "gtk+")) {
 	fl_polygon(x1, yy1+w1, x1+w1, yy1+2*w1, x1+w1-1, yy1+w1, x1+w1, yy1);
 	x1 += (W-H);
 	fl_polygon(x1, yy1, x1+1, yy1+w1, x1, yy1+2*w1, x1+w1, yy1+w1);
@@ -252,7 +252,7 @@
       int w1 = (W-4)/3; if (w1 < 1) w1 = 1;
       int x1 = X+(W-2*w1-1)/2;
       int yy1 = Y+(W-w1-1)/2;
-      if (Fl::scheme_ && !strcmp(Fl::scheme_, "gtk+")) {
+      if (fltk3::scheme_ && !strcmp(fltk3::scheme_, "gtk+")) {
 	fl_polygon(x1, yy1+w1, x1+w1, yy1+w1-1, x1+2*w1, yy1+w1, x1+w1, yy1);
 	yy1 += H-W;
 	fl_polygon(x1, yy1, x1+w1, yy1+1, x1+w1, yy1+w1);
@@ -272,9 +272,9 @@
 */
 Fl_Scrollbar::Fl_Scrollbar(int X, int Y, int W, int H, const char* L)
   : Fl_Slider(X, Y, W, H, L) {
-  box(FL_FLAT_BOX);
+  box(fltk3::FLAT_BOX);
   color(FL_DARK2);
-  slider(FL_UP_BOX);
+  slider(fltk3::UP_BOX);
   linesize_ = 16;
   pushed_ = 0;
   step(1);
@@ -283,7 +283,7 @@
 /**  Destroys the Scrollbar. */
 Fl_Scrollbar::~Fl_Scrollbar() {
   if (pushed_)
-    Fl::remove_timeout(timeout_cb, this);
+    fltk3::remove_timeout(timeout_cb, this);
 }
 
 

Modified: branches/branch-3.0-2011/src/Fl_Shared_Image.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Shared_Image.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Shared_Image.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -30,7 +30,7 @@
 #include <fltk3/fl_utf8.h>
 #include "flstring.h"
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Shared_Image.H>
 #include <fltk3/Fl_XBM_Image.H>
 #include <fltk3/Fl_XPM_Image.H>

Modified: branches/branch-3.0-2011/src/Fl_Single_Window.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Single_Window.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Single_Window.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -33,8 +33,8 @@
 
 #include <fltk3/Fl_Single_Window.H>
 
-void Fl_Single_Window::show() {Fl_Window::show();}
-void Fl_Single_Window::flush() {Fl_Window::flush();}
+void Fl_Single_Window::show() {fltk3::Window::show();}
+void Fl_Single_Window::flush() {fltk3::Window::flush();}
 
 //
 // End of "$Id$".

Modified: branches/branch-3.0-2011/src/Fl_Slider.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Slider.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Slider.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Slider.H>
 #include <fltk3/fl_draw.H>
 #include <math.h>
@@ -33,16 +33,16 @@
 
 void Fl_Slider::_Fl_Slider() {
   slider_size_ = 0;
-  slider_ = 0; // FL_UP_BOX;
+  slider_ = 0; // fltk3::UP_BOX;
 }
 
 /**
   Creates a new Fl_Slider widget using the given position,
-  size, and label string. The default boxtype is FL_DOWN_BOX.
+  size, and label string. The default boxtype is fltk3::DOWN_BOX.
 */
 Fl_Slider::Fl_Slider(int X, int Y, int W, int H, const char* L)
 : Fl_Valuator(X, Y, W, H, L) {
-  box(FL_DOWN_BOX);
+  box(fltk3::DOWN_BOX);
   _Fl_Slider();
 }
 
@@ -54,7 +54,7 @@
   : Fl_Valuator(X, Y, W, H, L) {
   type(t);
   box(t==FL_HOR_NICE_SLIDER || t==FL_VERT_NICE_SLIDER ?
-      FL_FLAT_BOX : FL_DOWN_BOX);
+      fltk3::FLAT_BOX : fltk3::DOWN_BOX);
   _Fl_Slider();
 }
 
@@ -108,9 +108,9 @@
 
   Fl_Color black = active_r() ? FL_FOREGROUND_COLOR : FL_INACTIVE_COLOR;
   if (type() == FL_VERT_NICE_SLIDER) {
-    draw_box(FL_THIN_DOWN_BOX, X+W/2-2, Y, 4, H, black);
+    draw_box(fltk3::THIN_DOWN_BOX, X+W/2-2, Y, 4, H, black);
   } else if (type() == FL_HOR_NICE_SLIDER) {
-    draw_box(FL_THIN_DOWN_BOX, X, Y+H/2-2, W, 4, black);
+    draw_box(fltk3::THIN_DOWN_BOX, X, Y+H/2-2, W, 4, black);
   }
 }
 
@@ -153,21 +153,21 @@
 
   draw_bg(X, Y, W, H);
 
-  Fl_Boxtype box1 = slider();
-  if (!box1) {box1 = (Fl_Boxtype)(box()&-2); if (!box1) box1 = FL_UP_BOX;}
+  fltk3::Boxtype box1 = slider();
+  if (!box1) {box1 = (fltk3::Boxtype)(box()&-2); if (!box1) box1 = fltk3::UP_BOX;}
   if (type() == FL_VERT_NICE_SLIDER) {
     draw_box(box1, xsl, ysl, wsl, hsl, FL_GRAY);
     int d = (hsl-4)/2;
-    draw_box(FL_THIN_DOWN_BOX, xsl+2, ysl+d, wsl-4, hsl-2*d,selection_color());
+    draw_box(fltk3::THIN_DOWN_BOX, xsl+2, ysl+d, wsl-4, hsl-2*d,selection_color());
   } else if (type() == FL_HOR_NICE_SLIDER) {
     draw_box(box1, xsl, ysl, wsl, hsl, FL_GRAY);
     int d = (wsl-4)/2;
-    draw_box(FL_THIN_DOWN_BOX, xsl+d, ysl+2, wsl-2*d, hsl-4,selection_color());
+    draw_box(fltk3::THIN_DOWN_BOX, xsl+d, ysl+2, wsl-2*d, hsl-4,selection_color());
   } else {
     if (wsl>0 && hsl>0) draw_box(box1, xsl, ysl, wsl, hsl, selection_color());
 
     if (type()!=FL_HOR_FILL_SLIDER && type() != FL_VERT_FILL_SLIDER &&
-        Fl::scheme_ && !strcmp(Fl::scheme_, "gtk+")) {
+        fltk3::scheme_ && !strcmp(fltk3::scheme_, "gtk+")) {
       if (W>H && wsl>(hsl+8)) {
         // Draw horizontal grippers
 	int yy, hh;
@@ -207,7 +207,7 @@
   }
 
   draw_label(xsl, ysl, wsl, hsl);
-  if (Fl::focus() == this) {
+  if (fltk3::focus() == this) {
     if (type() == FL_HOR_FILL_SLIDER || type() == FL_VERT_FILL_SLIDER) draw_focus();
     else draw_focus(box1, xsl, ysl, wsl, hsl);
   }
@@ -215,10 +215,10 @@
 
 void Fl_Slider::draw() {
   if (damage()&FL_DAMAGE_ALL) draw_box();
-  draw(x()+Fl::box_dx(box()),
-       y()+Fl::box_dy(box()),
-       w()-Fl::box_dw(box()),
-       h()-Fl::box_dh(box()));
+  draw(x()+fltk3::box_dx(box()),
+       y()+fltk3::box_dy(box()),
+       w()-fltk3::box_dw(box()),
+       h()-fltk3::box_dh(box()));
 }
 
 int Fl_Slider::handle(int event, int X, int Y, int W, int H) {
@@ -226,7 +226,7 @@
   switch (event) {
   case FL_PUSH: {
     Fl_Widget_Tracker wp(this);
-    if (!Fl::event_inside(X, Y, W, H)) return 0;
+    if (!fltk3::event_inside(X, Y, W, H)) return 0;
     handle_push();
     if (wp.deleted()) return 1; }
     // fall through ...
@@ -242,7 +242,7 @@
     }
 
     int ww = (horizontal() ? W : H);
-    int mx = (horizontal() ? Fl::event_x()-X : Fl::event_y()-Y);
+    int mx = (horizontal() ? fltk3::event_x()-X : fltk3::event_y()-Y);
     int S;
     static int offcenter;
 
@@ -299,7 +299,7 @@
     return 1;
   case FL_KEYBOARD:
     { Fl_Widget_Tracker wp(this);
-      switch (Fl::event_key()) {
+      switch (fltk3::event_key()) {
 	case FL_Up:
 	  if (horizontal()) return 0;
 	  handle_push();
@@ -339,7 +339,7 @@
     // break not required because of switch...
   case FL_FOCUS :
   case FL_UNFOCUS :
-    if (Fl::visible_focus()) {
+    if (fltk3::visible_focus()) {
       redraw();
       return 1;
     } else return 0;
@@ -352,16 +352,16 @@
 }
 
 int Fl_Slider::handle(int event) {
-  if (event == FL_PUSH && Fl::visible_focus()) {
-    Fl::focus(this);
+  if (event == FL_PUSH && fltk3::visible_focus()) {
+    fltk3::focus(this);
     redraw();
   }
 
   return handle(event,
-		x()+Fl::box_dx(box()),
-		y()+Fl::box_dy(box()),
-		w()-Fl::box_dw(box()),
-		h()-Fl::box_dh(box()));
+		x()+fltk3::box_dx(box()),
+		y()+fltk3::box_dy(box()),
+		w()-fltk3::box_dw(box()),
+		h()-fltk3::box_dh(box()));
 }
 
 //

Modified: branches/branch-3.0-2011/src/Fl_Sys_Menu_Bar.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Sys_Menu_Bar.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Sys_Menu_Bar.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -55,7 +55,7 @@
 #if defined(__APPLE__) || defined(FL_DOXYGEN)
 
 #include <fltk3/x.H>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Sys_Menu_Bar.H>
 
 #include "flstring.h"

Modified: branches/branch-3.0-2011/src/Fl_Table.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Table.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Table.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -136,7 +136,7 @@
   select_row        = -1;
   select_col        = -1;
   
-  box(FL_THIN_DOWN_FRAME);
+  box(fltk3::THIN_DOWN_FRAME);
   
   vscrollbar = new Fl_Scrollbar(x()+w()-SCROLLBAR_SIZE, y(),
                                 SCROLLBAR_SIZE, h()-SCROLLBAR_SIZE);
@@ -149,7 +149,7 @@
   hscrollbar->callback(scroll_cb, (void*)this);
   
   table = new Fl_Scroll(x(), y(), w(), h());
-  table->box(FL_NO_BOX);
+  table->box(fltk3::NO_BOX);
   table->type(0);		// don't show Fl_Scroll's scrollbars -- use our own
   table->hide();		// hide unless children are present
   table->end();
@@ -289,18 +289,18 @@
   if ( row_header() ) {
     // Inside a row heading?
     get_bounds(CONTEXT_ROW_HEADER, X, Y, W, H);
-    if ( Fl::event_inside(X, Y, W, H) ) {
+    if ( fltk3::event_inside(X, Y, W, H) ) {
       // Scan visible rows until found
       for ( R = toprow; R <= botrow; R++ ) {
         find_cell(CONTEXT_ROW_HEADER, R, 0, X, Y, W, H);
-        if ( Fl::event_y() >= Y && Fl::event_y() < (Y+H) ) {
+        if ( fltk3::event_y() >= Y && fltk3::event_y() < (Y+H) ) {
           // Found row?
           //     If cursor over resize boundary, and resize enabled,
           //     enable the appropriate resize flag.
           //
           if ( row_resize() ) {
-            if ( Fl::event_y() <= (Y+3-0) ) { resizeflag = RESIZE_ROW_ABOVE; }
-            if ( Fl::event_y() >= (Y+H-3) ) { resizeflag = RESIZE_ROW_BELOW; }
+            if ( fltk3::event_y() <= (Y+3-0) ) { resizeflag = RESIZE_ROW_ABOVE; }
+            if ( fltk3::event_y() >= (Y+H-3) ) { resizeflag = RESIZE_ROW_BELOW; }
           }
           return(CONTEXT_ROW_HEADER);
         }
@@ -313,18 +313,18 @@
   if ( col_header() ) {
     // Inside a column heading?
     get_bounds(CONTEXT_COL_HEADER, X, Y, W, H);
-    if ( Fl::event_inside(X, Y, W, H) ) {
+    if ( fltk3::event_inside(X, Y, W, H) ) {
       // Scan visible columns until found
       for ( C = leftcol; C <= rightcol; C++ ) {
         find_cell(CONTEXT_COL_HEADER, 0, C, X, Y, W, H);
-        if ( Fl::event_x() >= X && Fl::event_x() < (X+W) ) {
+        if ( fltk3::event_x() >= X && fltk3::event_x() < (X+W) ) {
           // Found column?
           //     If cursor over resize boundary, and resize enabled,
           //     enable the appropriate resize flag.
           //
           if ( col_resize() ) {
-            if ( Fl::event_x() <= (X+3-0) ) { resizeflag = RESIZE_COL_LEFT; }
-            if ( Fl::event_x() >= (X+W-3) ) { resizeflag = RESIZE_COL_RIGHT; }
+            if ( fltk3::event_x() <= (X+3-0) ) { resizeflag = RESIZE_COL_LEFT; }
+            if ( fltk3::event_x() >= (X+W-3) ) { resizeflag = RESIZE_COL_RIGHT; }
           }
           return(CONTEXT_COL_HEADER);
         }
@@ -336,14 +336,14 @@
   // Mouse somewhere in table?
   //     Scan visible r/c's until we find it.
   //
-  if ( Fl::event_inside(tox, toy, tow, toh) ) {
+  if ( fltk3::event_inside(tox, toy, tow, toh) ) {
     for ( R = toprow; R <= botrow; R++ ) {
       find_cell(CONTEXT_CELL, R, C, X, Y, W, H);
-      if ( Fl::event_y() < Y ) break;		// OPT: thanks lars
-      if ( Fl::event_y() >= (Y+H) ) continue;	// OPT: " "
+      if ( fltk3::event_y() < Y ) break;		// OPT: thanks lars
+      if ( fltk3::event_y() >= (Y+H) ) continue;	// OPT: " "
       for ( C = leftcol; C <= rightcol; C++ ) {
         find_cell(CONTEXT_CELL, R, C, X, Y, W, H);
-        if ( Fl::event_inside(X, Y, W, H) ) {
+        if ( fltk3::event_inside(X, Y, W, H) ) {
           return(CONTEXT_CELL);			// found it
         }
       }
@@ -399,13 +399,13 @@
 void Fl_Table::_start_auto_drag() {
   if (_auto_drag) return;
   _auto_drag = 1;
-  Fl::add_timeout(0.3, _auto_drag_cb2, this);
+  fltk3::add_timeout(0.3, _auto_drag_cb2, this);
 }
 
 // Disable automatic scroll-selection
 void Fl_Table::_stop_auto_drag() {
   if (!_auto_drag) return;
-  Fl::remove_timeout(_auto_drag_cb2, this);
+  fltk3::remove_timeout(_auto_drag_cb2, this);
   _auto_drag = 0;
 }
 
@@ -415,62 +415,62 @@
 
 // Handle automatic scroll-selection if mouse selection dragged off table edge
 void Fl_Table::_auto_drag_cb() {
-  int lx = Fl::e_x;
-  int ly = Fl::e_y;
+  int lx = fltk3::e_x;
+  int ly = fltk3::e_y;
   if (_selecting == CONTEXT_COL_HEADER)
   { ly = y() + col_header_height(); }
   else if (_selecting == CONTEXT_ROW_HEADER)
   { lx = x() + row_header_width(); }
   if (lx > x() + w() - 20) {
-    Fl::e_x = x() + w() - 20;
+    fltk3::e_x = x() + w() - 20;
     if (hscrollbar->visible())
       ((Fl_Slider*)hscrollbar)->value(hscrollbar->clamp(hscrollbar->value() + 30));
     hscrollbar->do_callback();
-    _dragging_x = Fl::e_x - 30;
+    _dragging_x = fltk3::e_x - 30;
   }
   else if (lx < (x() + row_header_width())) {
-    Fl::e_x = x() + row_header_width() + 1;
+    fltk3::e_x = x() + row_header_width() + 1;
     if (hscrollbar->visible()) {
       ((Fl_Slider*)hscrollbar)->value(hscrollbar->clamp(hscrollbar->value() - 30));
     }
     hscrollbar->do_callback();
-    _dragging_x = Fl::e_x + 30;
+    _dragging_x = fltk3::e_x + 30;
   }
   if (ly > y() + h() - 20) {
-    Fl::e_y = y() + h() - 20;
+    fltk3::e_y = y() + h() - 20;
     if (vscrollbar->visible()) {
       ((Fl_Slider*)vscrollbar)->value(vscrollbar->clamp(vscrollbar->value() + 30));
     }
     vscrollbar->do_callback();
-    _dragging_y = Fl::e_y - 30;
+    _dragging_y = fltk3::e_y - 30;
   }
   else if (ly < (y() + col_header_height())) {
-    Fl::e_y = y() + col_header_height() + 1;
+    fltk3::e_y = y() + col_header_height() + 1;
     if (vscrollbar->visible()) {
       ((Fl_Slider*)vscrollbar)->value(vscrollbar->clamp(vscrollbar->value() - 30));
     }
     vscrollbar->do_callback();
-    _dragging_y = Fl::e_y + 30;
+    _dragging_y = fltk3::e_y + 30;
   }
   _auto_drag = 2;
   handle(FL_DRAG);
   _auto_drag = 1;
-  Fl::e_x = lx;
-  Fl::e_y = ly;
-  Fl::check();
-  Fl::flush();
-  if (Fl::event_buttons() && _auto_drag) {
-    Fl::add_timeout(0.05, _auto_drag_cb2, this);
+  fltk3::e_x = lx;
+  fltk3::e_y = ly;
+  fltk3::check();
+  fltk3::flush();
+  if (fltk3::event_buttons() && _auto_drag) {
+    fltk3::add_timeout(0.05, _auto_drag_cb2, this);
   }
 }
 
 // Recalculate the window dimensions
 void Fl_Table::recalc_dimensions() {
   // Recalc to* (Table Outer), ti* (Table Inner), wi* ( Widget Inner)
-  wix = ( x() + Fl::box_dx(box())); tox = wix; tix = tox + Fl::box_dx(table->box());
-  wiy = ( y() + Fl::box_dy(box())); toy = wiy; tiy = toy + Fl::box_dy(table->box());
-  wiw = ( w() - Fl::box_dw(box())); tow = wiw; tiw = tow - Fl::box_dw(table->box());
-  wih = ( h() - Fl::box_dh(box())); toh = wih; tih = toh - Fl::box_dh(table->box());
+  wix = ( x() + fltk3::box_dx(box())); tox = wix; tix = tox + fltk3::box_dx(table->box());
+  wiy = ( y() + fltk3::box_dy(box())); toy = wiy; tiy = toy + fltk3::box_dy(table->box());
+  wiw = ( w() - fltk3::box_dw(box())); tow = wiw; tiw = tow - fltk3::box_dw(table->box());
+  wih = ( h() - fltk3::box_dh(box())); toh = wih; tih = toh - fltk3::box_dh(table->box());
   // Trim window if headers enabled
   if ( col_header() ) {
     tiy += col_header_height(); toy += col_header_height();
@@ -678,7 +678,7 @@
   damage_zone(current_row, current_col, select_row, select_col, R, C);
   select_row = R;
   select_col = C;
-  if (!Fl::event_state(FL_SHIFT)) {
+  if (!fltk3::event_state(FL_SHIFT)) {
     current_row = R;
     current_col = C;
   }
@@ -701,8 +701,8 @@
   PRINTEVENT;
   int ret = Fl_Group::handle(event);	// let FLTK group handle events first
   if (ret) {
-    if (Fl::event_inside(hscrollbar) || Fl::event_inside(vscrollbar)) return 1;
-    if (Fl::focus() != this && contains(Fl::focus())) return 1;
+    if (fltk3::event_inside(hscrollbar) || fltk3::event_inside(vscrollbar)) return 1;
+    if (fltk3::focus() != this && contains(fltk3::focus())) return 1;
   }
   // Which row/column are we over?
   int R, C;  				// row/column being worked on
@@ -710,8 +710,8 @@
   TableContext context = cursor2rowcol(R, C, resizeflag);
   switch ( event ) {
     case FL_PUSH:
-      if (Fl::event_button() == 1 && !Fl::event_clicks()) {
-        if (Fl::focus() != this) {
+      if (fltk3::event_button() == 1 && !fltk3::event_clicks()) {
+        if (fltk3::focus() != this) {
           take_focus();
           do_callback(CONTEXT_TABLE, -1, -1);
           ret = 1;
@@ -739,8 +739,8 @@
           
         case CONTEXT_NONE:
           // FL_PUSH on table corner?
-          if ( Fl::event_button() == 1 && 
-              Fl::event_x() < x() + row_header_width()) {
+          if ( fltk3::event_button() == 1 && 
+              fltk3::event_x() < x() + row_header_width()) {
             current_col = 0;
             select_col = cols() - 1;
             current_row = 0;
@@ -752,7 +752,7 @@
           
         case CONTEXT_COL_HEADER:
           // FL_PUSH on a column header?
-          if ( Fl::event_button() == 1) {
+          if ( fltk3::event_button() == 1) {
             // Resizing? Handle it
             if ( resizeflag ) {
               // Start resize if left click on column border.
@@ -762,7 +762,7 @@
               //
               _resizing_col = ( resizeflag & RESIZE_COL_LEFT ) ? C-1 : C; 
               _resizing_row = -1;
-              _dragging_x = Fl::event_x(); 
+              _dragging_x = fltk3::event_x(); 
               ret = 1;
             } else {
               // Not resizing? Select the column
@@ -778,7 +778,7 @@
           
         case CONTEXT_ROW_HEADER:
           // FL_PUSH on a row header?
-          if ( Fl::event_button() == 1 ) {
+          if ( fltk3::event_button() == 1 ) {
             // Resizing? Handle it
             if ( resizeflag ) {
               // Start resize if left mouse clicked on row border.
@@ -788,7 +788,7 @@
               //
               _resizing_row = ( resizeflag & RESIZE_ROW_ABOVE ) ? R-1 : R; 
               _resizing_col = -1;
-              _dragging_y = Fl::event_y(); 
+              _dragging_y = fltk3::event_y(); 
               ret = 1;
             } else {
               // Not resizing? Select the row
@@ -821,11 +821,11 @@
         //    Don't allow column width smaller than 1.
         //    Continue to show FL_CURSOR_WE at all times during drag.
         //
-        int offset = _dragging_x - Fl::event_x();
+        int offset = _dragging_x - fltk3::event_x();
         int new_w = col_width(_resizing_col) - offset;
         if ( new_w < _col_resize_min ) new_w = _col_resize_min;
         col_width(_resizing_col, new_w);
-        _dragging_x = Fl::event_x();
+        _dragging_x = fltk3::event_x();
         table_resized();
         redraw();
         change_cursor(FL_CURSOR_WE);
@@ -841,11 +841,11 @@
         //    Don't allow row width smaller than 1.
         //    Continue to show FL_CURSOR_NS at all times during drag.
         //
-        int offset = _dragging_y - Fl::event_y();
+        int offset = _dragging_y - fltk3::event_y();
         int new_h = row_height(_resizing_row) - offset;
         if ( new_h < _row_resize_min ) new_h = _row_resize_min;
         row_height(_resizing_row, new_h);
-        _dragging_y = Fl::event_y();
+        _dragging_y = fltk3::event_y();
         table_resized();
         redraw();
         change_cursor(FL_CURSOR_NS);
@@ -854,7 +854,7 @@
           do_callback(CONTEXT_RC_RESIZE, R, C);
         }
       } else {
-        if (Fl::event_button() == 1 && 
+        if (fltk3::event_button() == 1 && 
             _selecting == CONTEXT_CELL &&
             context == CONTEXT_CELL) {
           if (select_row != R || select_col != C) {
@@ -864,7 +864,7 @@
           select_col = C;
           ret = 1;
         }
-        else if (Fl::event_button() == 1 && 
+        else if (fltk3::event_button() == 1 && 
                  _selecting == CONTEXT_ROW_HEADER && 
                  context & (CONTEXT_ROW_HEADER|CONTEXT_COL_HEADER|CONTEXT_CELL)) {
           if (select_row != R) {
@@ -873,7 +873,7 @@
           select_row = R;
           ret = 1;
         }
-        else if (Fl::event_button() == 1 && 
+        else if (fltk3::event_button() == 1 && 
                  _selecting == CONTEXT_COL_HEADER 
                  && context & (CONTEXT_ROW_HEADER|CONTEXT_COL_HEADER|CONTEXT_CELL)) {
           if (select_col != C) {
@@ -885,10 +885,10 @@
       }
       // Enable autodrag if not resizing, and mouse has moved off table edge
       if ( _resizing_row < 0 && _resizing_col < 0 && _auto_drag == 0 && 
-          ( Fl::event_x() > x() + w() - 20 ||
-           Fl::event_x() < x() + row_header_width() || 
-           Fl::event_y() > y() + h() - 20 ||
-           Fl::event_y() < y() + col_header_height()
+          ( fltk3::event_x() > x() + w() - 20 ||
+           fltk3::event_x() < x() + row_header_width() || 
+           fltk3::event_y() > y() + h() - 20 ||
+           fltk3::event_y() < y() + col_header_height()
            ) ) {
             _start_auto_drag();
           }
@@ -914,7 +914,7 @@
         default:
           break;
       }
-      if ( Fl::event_button() == 1 ) {
+      if ( fltk3::event_button() == 1 ) {
         change_cursor(FL_CURSOR_DEFAULT);
         _resizing_col = -1;
         _resizing_row = -1;
@@ -952,7 +952,7 @@
       break;
       
     case FL_FOCUS:
-      Fl::focus(this);
+      fltk3::focus(this);
       //FALLTHROUGH
       
     case FL_UNFOCUS:
@@ -964,7 +964,7 @@
       ret = 0;
       int is_row = select_row;
       int is_col = select_col;
-      switch(Fl::event_key()) {
+      switch(fltk3::event_key()) {
         case FL_Home:
           ret = move_cursor(0, -1000000);
           break;
@@ -990,14 +990,14 @@
           ret = move_cursor(1, 0);
           break;
 	case FL_Tab:
-	  if ( Fl::event_state() & FL_SHIFT ) {
+	  if ( fltk3::event_state() & FL_SHIFT ) {
             ret = move_cursor(0, -1);		// shift-tab -> left
 	  } else {
 	    ret = move_cursor(0, 1);		// tab -> right
 	  }
           break;
       }
-      if (ret && Fl::focus() != this) {
+      if (ret && fltk3::focus() != this) {
         do_callback(CONTEXT_TABLE, -1, -1);
         take_focus();
       }
@@ -1198,10 +1198,10 @@
       // Table has a boxtype? Close those few dead pixels
       if ( table->box() ) {
         if ( col_header() ) {
-          fl_rectf(tox, wiy, Fl::box_dx(table->box()), col_header_height(), color());
+          fl_rectf(tox, wiy, fltk3::box_dx(table->box()), col_header_height(), color());
         }
         if ( row_header() ) {
-          fl_rectf(wix, toy, row_header_width(), Fl::box_dx(table->box()), color());
+          fl_rectf(wix, toy, row_header_width(), fltk3::box_dx(table->box()), color());
         }
       }
       
@@ -1213,8 +1213,8 @@
           fl_rectf(tix + table_w, 
                    wiy, 
                    // get that corner just right..
-                   (tiw - table_w + Fl::box_dw(table->box()) - 
-                    Fl::box_dx(table->box())),
+                   (tiw - table_w + fltk3::box_dw(table->box()) - 
+                    fltk3::box_dx(table->box())),
                    col_header_height(),
                    color());
         }

Modified: branches/branch-3.0-2011/src/Fl_Table_Row.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Table_Row.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Table_Row.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -31,7 +31,7 @@
 //
 
 #include <stdio.h>		// for debugging
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 #include <fltk3/Fl_Table_Row.H>
 
@@ -168,16 +168,16 @@
 int Fl_Table_Row::handle(int event) {
   
   //  fprintf(stderr, "** EVENT: %s: EVENT XY=%d,%d\n", 
-  //      eventnames[event], Fl::event_x(), Fl::event_y());	// debugging
+  //      eventnames[event], fltk3::event_x(), fltk3::event_y());	// debugging
   
   // Let base class handle event
   int ret = Fl_Table::handle(event);
   
   // The following code disables cell selection.. why was it added? -erco 05/18/03
-  // if ( ret ) { _last_y = Fl::event_y(); return(1); }	// base class 'handled' it (eg. column resize)
+  // if ( ret ) { _last_y = fltk3::event_y(); return(1); }	// base class 'handled' it (eg. column resize)
   
-  int shiftstate = (Fl::event_state() & FL_CTRL) ? FL_CTRL :
-  (Fl::event_state() & FL_SHIFT) ? FL_SHIFT : 0;
+  int shiftstate = (fltk3::event_state() & FL_CTRL) ? FL_CTRL :
+  (fltk3::event_state() & FL_SHIFT) ? FL_SHIFT : 0;
   
   // Which row/column are we over?
   int R, C;  				// row/column being worked on
@@ -185,9 +185,9 @@
   TableContext context = cursor2rowcol(R, C, resizeflag);
   switch ( event ) {
     case FL_PUSH:
-      if ( Fl::event_button() == 1 ) {
-        _last_push_x = Fl::event_x();	// save regardless of context
-        _last_push_y = Fl::event_y();	// " "
+      if ( fltk3::event_button() == 1 ) {
+        _last_push_x = fltk3::event_x();	// save regardless of context
+        _last_push_y = fltk3::event_y();	// " "
         
         // Handle selection in table.
         //     Select cell under cursor, and enable drag selection mode.
@@ -236,7 +236,7 @@
         
         if ( offtop > 0 && row_position() > 0 ) {
           // Only scroll in upward direction
-          int diff = _last_y - Fl::event_y();
+          int diff = _last_y - fltk3::event_y();
           if ( diff < 1 ) {
             ret = 1;
             break;
@@ -247,7 +247,7 @@
         }
         else if ( offbot > 0 && botrow < rows() ) {
           // Only scroll in downward direction
-          int diff = Fl::event_y() - _last_y;
+          int diff = fltk3::event_y() - _last_y;
           if ( diff < 1 ) {
             ret = 1;
             break;
@@ -287,7 +287,7 @@
     }
       
     case FL_RELEASE:
-      if ( Fl::event_button() == 1 ) {
+      if ( fltk3::event_button() == 1 ) {
         _dragging_select = 0;
         ret = 1;			// release handled
         // Clicked off edges of data table? 
@@ -296,8 +296,8 @@
         int databot = tiy + table_h,
         dataright = tix + table_w;
         if ( 
-            ( _last_push_x > dataright && Fl::event_x() > dataright ) ||
-            ( _last_push_y > databot && Fl::event_y() > databot )
+            ( _last_push_x > dataright && fltk3::event_x() > dataright ) ||
+            ( _last_push_y > databot && fltk3::event_y() > databot )
             ) {
           select_all_rows(0);			// clear previous selections
         }
@@ -307,7 +307,7 @@
     default:
       break;
   }
-  _last_y = Fl::event_y();
+  _last_y = fltk3::event_y();
   return(ret);
 }
 

Modified: branches/branch-3.0-2011/src/Fl_Tabs.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Tabs.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Tabs.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -33,7 +33,7 @@
 // Clicking the tab makes that card visible.
 
 #include <stdio.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Tabs.H>
 #include <fltk3/fl_draw.H>
 #include <fltk3/Fl_Tooltip.H>
@@ -67,7 +67,7 @@
   char prev_draw_shortcut = fl_draw_shortcut;
   fl_draw_shortcut = 1;
 
-  tab_pos[0] = Fl::box_dx(box());
+  tab_pos[0] = fltk3::box_dx(box());
   for (i=0; i<nc; i++) {
     Fl_Widget* o = *a++;
     if (o->visible()) selected = i;
@@ -150,10 +150,10 @@
 {
   int H = tab_height();
   if (H >= 0) {
-    H += Fl::box_dy(box());
+    H += fltk3::box_dy(box());
     damage(FL_DAMAGE_SCROLL, x(), y(), w(), H);
   } else {
-    H = Fl::box_dy(box()) - H;
+    H = fltk3::box_dy(box()) - H;
     damage(FL_DAMAGE_SCROLL, x(), y() + h() - H, w(), H);
   }
 }
@@ -168,18 +168,18 @@
   case FL_PUSH: {
     int H = tab_height();
     if (H >= 0) {
-      if (Fl::event_y() > y()+H) return Fl_Group::handle(event);
+      if (fltk3::event_y() > y()+H) return Fl_Group::handle(event);
     } else {
-      if (Fl::event_y() < y()+h()+H) return Fl_Group::handle(event);
+      if (fltk3::event_y() < y()+h()+H) return Fl_Group::handle(event);
     }}
     /* FALLTHROUGH */
   case FL_DRAG:
   case FL_RELEASE:
-    o = which(Fl::event_x(), Fl::event_y());
+    o = which(fltk3::event_x(), fltk3::event_y());
     if (event == FL_RELEASE) {
       push(0);
-      if (o && Fl::visible_focus() && Fl::focus()!=this) { 
-        Fl::focus(this);
+      if (o && fltk3::visible_focus() && fltk3::focus()!=this) { 
+        fltk3::focus(this);
         redraw_tabs();
       }
       if (o && value(o)) {
@@ -197,12 +197,12 @@
     int ret = Fl_Group::handle(event);
     Fl_Widget *o = Fl_Tooltip::current(), *n = o;
     int H = tab_height();
-    if ( (H>=0) && (Fl::event_y()>y()+H) )
+    if ( (H>=0) && (fltk3::event_y()>y()+H) )
       return ret;
-    else if ( (H<0) && (Fl::event_y() < y()+h()+H) )
+    else if ( (H<0) && (fltk3::event_y() < y()+h()+H) )
       return ret;
     else { 
-      n = which(Fl::event_x(), Fl::event_y());
+      n = which(fltk3::event_x(), fltk3::event_y());
       if (!n) n = this;
     }
     if (n!=o)
@@ -210,18 +210,18 @@
     return ret; }
   case FL_FOCUS:
   case FL_UNFOCUS:
-    if (!Fl::visible_focus()) return Fl_Group::handle(event);
-    if (Fl::event() == FL_RELEASE ||
-	Fl::event() == FL_SHORTCUT ||
-	Fl::event() == FL_KEYBOARD ||
-	Fl::event() == FL_FOCUS ||
-	Fl::event() == FL_UNFOCUS) {
+    if (!fltk3::visible_focus()) return Fl_Group::handle(event);
+    if (fltk3::event() == FL_RELEASE ||
+	fltk3::event() == FL_SHORTCUT ||
+	fltk3::event() == FL_KEYBOARD ||
+	fltk3::event() == FL_FOCUS ||
+	fltk3::event() == FL_UNFOCUS) {
       redraw_tabs();
-      if (Fl::event() == FL_FOCUS || Fl::event() == FL_UNFOCUS) return 0;
+      if (fltk3::event() == FL_FOCUS || fltk3::event() == FL_UNFOCUS) return 0;
       else return 1;
     } else return Fl_Group::handle(event);
   case FL_KEYBOARD:
-    switch (Fl::event_key()) {
+    switch (fltk3::event_key()) {
       case FL_Left:
         if (child(0)->visible()) return 0;
 	for (i = 1; i < children(); i ++)
@@ -356,12 +356,12 @@
 
 void Fl_Tabs::draw_tab(int x1, int x2, int W, int H, Fl_Widget* o, int what) {
   int sel = (what == SELECTED);
-  int dh = Fl::box_dh(box());
-  int dy = Fl::box_dy(box());
+  int dh = fltk3::box_dh(box());
+  int dy = fltk3::box_dy(box());
   char prev_draw_shortcut = fl_draw_shortcut;
   fl_draw_shortcut = 1;
 
-  Fl_Boxtype bt = (o==push_ &&!sel) ? fl_down(box()) : box();
+  fltk3::Boxtype bt = (o==push_ &&!sel) ? fl_down(box()) : box();
 
   // compute offsets to make selected tab look bigger
   int yofs = sel ? 0 : BORDER;
@@ -388,7 +388,7 @@
     // Restore the original label color...
     o->labelcolor(oc);
 
-    if (Fl::focus() == this && o->visible())
+    if (fltk3::focus() == this && o->visible())
       draw_focus(box(), x1, y(), W, H);
 
     fl_pop_clip();
@@ -414,7 +414,7 @@
     // Restore the original label color...
     o->labelcolor(oc);
 
-    if (Fl::focus() == this && o->visible())
+    if (fltk3::focus() == this && o->visible())
       draw_focus(box(), x1, y() + h() - H, W, H);
 
     fl_pop_clip();
@@ -446,7 +446,7 @@
 Fl_Tabs::Fl_Tabs(int X,int Y,int W, int H, const char *l) :
   Fl_Group(X,Y,W,H,l)
 {
-  box(FL_THIN_UP_BOX);
+  box(fltk3::THIN_UP_BOX);
   push_ = 0;
   tab_pos = 0;
   tab_width = 0;

Modified: branches/branch-3.0-2011/src/Fl_Text_Buffer.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Text_Buffer.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Text_Buffer.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -30,7 +30,7 @@
 #include <fltk3/fl_utf8.h>
 #include "flstring.h"
 #include <ctype.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Text_Buffer.H>
 #include <fltk3/fl_ask.H>
 
@@ -692,7 +692,7 @@
     }
   }
   if (toRemove == -1) {
-    Fl::error
+    fltk3::error
     ("Fl_Text_Buffer::remove_modify_callback(): Can't find modify CB to remove");
     return;
   }
@@ -767,7 +767,7 @@
     }
   }
   if (toRemove == -1) {
-    Fl::error
+    fltk3::error
     ("Fl_Text_Buffer::remove_predelete_callback(): Can't find pre-delete CB to remove");
     return;
   }

Modified: branches/branch-3.0-2011/src/Fl_Text_Display.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Text_Display.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Text_Display.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -34,10 +34,10 @@
 #include "flstring.h"
 #include <limits.h>
 #include <ctype.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Text_Buffer.H>
 #include <fltk3/Fl_Text_Display.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/Window.h>
 
 #undef min
 #undef max
@@ -101,7 +101,7 @@
   shortcut_ = 0;
   
   color(FL_BACKGROUND2_COLOR, FL_SELECTION_COLOR);
-  box(FL_DOWN_FRAME);
+  box(fltk3::DOWN_FRAME);
   textsize(FL_NORMAL_SIZE);
   textcolor(FL_FOREGROUND_COLOR);
   textfont(FL_HELVETICA);
@@ -120,7 +120,7 @@
   
   end();
   
-  scrollbar_width(Fl::scrollbar_size());
+  scrollbar_width(fltk3::scrollbar_size());
   scrollbar_align(FL_ALIGN_BOTTOM_RIGHT);
   
   mCursorOn = 0;
@@ -172,7 +172,7 @@
  */
 Fl_Text_Display::~Fl_Text_Display() {
   if (scroll_direction) {
-    Fl::remove_timeout(scroll_timer_cb, this);
+    fltk3::remove_timeout(scroll_timer_cb, this);
     scroll_direction = 0;
   }
   if (mBuffer) {
@@ -294,10 +294,10 @@
 #endif // DEBUG
   Fl_Widget::resize(X,Y,W,H);
   if (!buffer()) return;
-  X += Fl::box_dx(box());
-  Y += Fl::box_dy(box());
-  W -= Fl::box_dw(box());
-  H -= Fl::box_dh(box());
+  X += fltk3::box_dx(box());
+  Y += fltk3::box_dy(box());
+  W -= fltk3::box_dw(box());
+  H -= fltk3::box_dh(box());
   
   text_area.x = X+LEFT_MARGIN;
   text_area.y = Y+TOP_MARGIN;
@@ -1642,7 +1642,7 @@
     if ( empty_vlines() ) {
       if ( mLastChar < mBuffer->length() ) {
         if ( !position_to_line( mLastChar, lineNum ) ) {
-          Fl::error("Fl_Text_Display::position_to_line(): Consistency check ptvl failed");
+          fltk3::error("Fl_Text_Display::position_to_line(): Consistency check ptvl failed");
           return 0;
         }
         return ++( *lineNum ) <= mNVisibleLines - 1;
@@ -1938,19 +1938,19 @@
     fsize = styleRec->size;
     
     if (style & PRIMARY_MASK) {
-      if (Fl::focus() == this) background = selection_color();
+      if (fltk3::focus() == this) background = selection_color();
       else background = fl_color_average(color(), selection_color(), 0.4f);
     } else if (style & HIGHLIGHT_MASK) {
-      if (Fl::focus() == this) background = fl_color_average(color(), selection_color(), 0.5f);
+      if (fltk3::focus() == this) background = fl_color_average(color(), selection_color(), 0.5f);
       else background = fl_color_average(color(), selection_color(), 0.6f);
     } else background = color();
     foreground = fl_contrast(styleRec->color, background);
   } else if (style & PRIMARY_MASK) {
-    if (Fl::focus() == this) background = selection_color();
+    if (fltk3::focus() == this) background = selection_color();
     else background = fl_color_average(color(), selection_color(), 0.4f);
     foreground = fl_contrast(textcolor(), background);
   } else if (style & HIGHLIGHT_MASK) {
-    if (Fl::focus() == this) background = fl_color_average(color(), selection_color(), 0.5f);
+    if (fltk3::focus() == this) background = fl_color_average(color(), selection_color(), 0.5f);
     else background = fl_color_average(color(), selection_color(), 0.6f);
     foreground = fl_contrast(textcolor(), background);
   } else {
@@ -2011,13 +2011,13 @@
     return;
   
   if (style & PRIMARY_MASK) {
-    if (Fl::focus()==this) {
+    if (fltk3::focus()==this) {
       fl_color(selection_color());
     } else {
       fl_color(fl_color_average(color(), selection_color(), 0.4f));
     }
   } else if (style & HIGHLIGHT_MASK) {
-    if (Fl::focus()==this) {
+    if (fltk3::focus()==this) {
       fl_color(fl_color_average(color(), selection_color(), 0.5f));
     } else {
       fl_color(fl_color_average(color(), selection_color(), 0.6f));
@@ -3448,7 +3448,7 @@
   // draw the text cursor
   if (damage() & (FL_DAMAGE_ALL | FL_DAMAGE_SCROLL | FL_DAMAGE_EXPOSE)
       && !buffer()->primary_selection()->selected() &&
-      mCursorOn && Fl::focus() == this ) {
+      mCursorOn && fltk3::focus() == this ) {
     fl_push_clip(text_area.x-LEFT_MARGIN,
                  text_area.y,
                  text_area.w+LEFT_MARGIN+RIGHT_MARGIN,
@@ -3531,7 +3531,7 @@
       return;
   }
   fl_text_drag_me(pos, w);
-  Fl::repeat_timeout(.1, scroll_timer_cb, user_data);
+  fltk3::repeat_timeout(.1, scroll_timer_cb, user_data);
 }
 
 
@@ -3542,7 +3542,7 @@
 int Fl_Text_Display::handle(int event) {
   if (!buffer()) return 0;
   // This isn't very elegant!
-  if (!Fl::event_inside(text_area.x, text_area.y, text_area.w, text_area.h) &&
+  if (!fltk3::event_inside(text_area.x, text_area.y, text_area.w, text_area.h) &&
       !dragging && event != FL_LEAVE && event != FL_ENTER &&
       event != FL_MOVE && event != FL_FOCUS && event != FL_UNFOCUS &&
       event != FL_KEYBOARD && event != FL_KEYUP) {
@@ -3553,7 +3553,7 @@
     case FL_ENTER:
     case FL_MOVE:
       if (active_r()) {
-        if (Fl::event_inside(text_area.x, text_area.y, text_area.w,
+        if (fltk3::event_inside(text_area.x, text_area.y, text_area.w,
 	                     text_area.h)) window()->cursor(FL_CURSOR_INSERT);
 	else window()->cursor(FL_CURSOR_DEFAULT);
 	return 1;
@@ -3573,28 +3573,28 @@
       
     case FL_PUSH: {
       if (active_r() && window()) {
-        if (Fl::event_inside(text_area.x, text_area.y, text_area.w,
+        if (fltk3::event_inside(text_area.x, text_area.y, text_area.w,
                              text_area.h)) window()->cursor(FL_CURSOR_INSERT);
         else window()->cursor(FL_CURSOR_DEFAULT);
       }
       
-      if (Fl::focus() != this) {
-        Fl::focus(this);
+      if (fltk3::focus() != this) {
+        fltk3::focus(this);
         handle(FL_FOCUS);
       }
       if (Fl_Group::handle(event)) return 1;
-      if (Fl::event_state()&FL_SHIFT) return handle(FL_DRAG);
+      if (fltk3::event_state()&FL_SHIFT) return handle(FL_DRAG);
       dragging = 1;
-      int pos = xy_to_position(Fl::event_x(), Fl::event_y(), CURSOR_POS);
+      int pos = xy_to_position(fltk3::event_x(), fltk3::event_y(), CURSOR_POS);
       dragPos = pos;
       if (buffer()->primary_selection()->includes(pos)) {
         dragType = DRAG_START_DND;
         return 1;
       }
-      dragType = Fl::event_clicks();
+      dragType = fltk3::event_clicks();
       if (dragType == DRAG_CHAR) {
         buffer()->unselect();
-	Fl::copy("", 0, 0);
+	fltk3::copy("", 0, 0);
       }
       else if (dragType == DRAG_WORD) {
         buffer()->select(word_start(pos), word_end(pos));
@@ -3613,47 +3613,47 @@
       if (dragType==DRAG_NONE)
         return 1;
       if (dragType==DRAG_START_DND) {
-        if (!Fl::event_is_click() && Fl::dnd_text_ops()) {
+        if (!fltk3::event_is_click() && fltk3::dnd_text_ops()) {
           const char* copy = buffer()->selection_text();
-          Fl::dnd();
+          fltk3::dnd();
           free((void*)copy);
         }
         return 1;
       }
-      int X = Fl::event_x(), Y = Fl::event_y(), pos = insert_position();
+      int X = fltk3::event_x(), Y = fltk3::event_y(), pos = insert_position();
       // if we leave the text_area, we start a timer event
       // that will take care of scrolling and selecting
       if (Y < text_area.y) {
         scroll_x = X;
         scroll_amount = (Y - text_area.y) / 5 - 1;
         if (!scroll_direction) {
-          Fl::add_timeout(.01, scroll_timer_cb, this);
+          fltk3::add_timeout(.01, scroll_timer_cb, this);
         }
         scroll_direction = 3;
       } else if (Y >= text_area.y+text_area.h) {
         scroll_x = X;
         scroll_amount = (Y - text_area.y - text_area.h) / 5 + 1;
         if (!scroll_direction) {
-          Fl::add_timeout(.01, scroll_timer_cb, this);
+          fltk3::add_timeout(.01, scroll_timer_cb, this);
         }
         scroll_direction = 4;
       } else if (X < text_area.x) {
         scroll_y = Y;
         scroll_amount = (X - text_area.x) / 2 - 1;
         if (!scroll_direction) {
-          Fl::add_timeout(.01, scroll_timer_cb, this);
+          fltk3::add_timeout(.01, scroll_timer_cb, this);
         }
         scroll_direction = 2;
       } else if (X >= text_area.x+text_area.w) {
         scroll_y = Y;
         scroll_amount = (X - text_area.x - text_area.w) / 2 + 1;
         if (!scroll_direction) {
-          Fl::add_timeout(.01, scroll_timer_cb, this);
+          fltk3::add_timeout(.01, scroll_timer_cb, this);
         }
         scroll_direction = 1;
       } else {
         if (scroll_direction) {
-          Fl::remove_timeout(scroll_timer_cb, this);
+          fltk3::remove_timeout(scroll_timer_cb, this);
           scroll_direction = 0;
         }
         pos = xy_to_position(X, Y, CURSOR_POS);
@@ -3664,19 +3664,19 @@
     }
       
     case FL_RELEASE: {
-      if (Fl::event_is_click() && (! Fl::event_clicks()) && 
-	  buffer()->primary_selection()->includes(dragPos) && !(Fl::event_state()&FL_SHIFT) ) {
+      if (fltk3::event_is_click() && (! fltk3::event_clicks()) && 
+	  buffer()->primary_selection()->includes(dragPos) && !(fltk3::event_state()&FL_SHIFT) ) {
 	buffer()->unselect(); // clicking in the selection: unselect and move cursor
 	insert_position(dragPos);
 	return 1;
-      } else if (Fl::event_clicks() == DRAG_LINE && Fl::event_button() == FL_LEFT_MOUSE) {
+      } else if (fltk3::event_clicks() == DRAG_LINE && fltk3::event_button() == FL_LEFT_MOUSE) {
         buffer()->select(buffer()->line_start(dragPos), buffer()->next_char(buffer()->line_end(dragPos)));
 	dragPos = line_start(dragPos);
 	dragType = DRAG_CHAR;
       } else {
 	dragging = 0;
 	if (scroll_direction) {
-	  Fl::remove_timeout(scroll_timer_cb, this);
+	  fltk3::remove_timeout(scroll_timer_cb, this);
 	  scroll_direction = 0;
 	}
 	
@@ -3689,13 +3689,13 @@
       }
       
       const char* copy = buffer()->selection_text();
-      if (*copy) Fl::copy(copy, strlen(copy), 0);
+      if (*copy) fltk3::copy(copy, strlen(copy), 0);
       free((void*)copy);
       return 1;
     }
       
     case FL_MOUSEWHEEL:
-      if (Fl::event_dy()) return mVScrollBar->handle(event);
+      if (fltk3::event_dy()) return mVScrollBar->handle(event);
       else return mHScrollBar->handle(event);
       
     case FL_UNFOCUS:
@@ -3720,19 +3720,19 @@
       
     case FL_KEYBOARD:
       // Copy?
-      if ((Fl::event_state()&(FL_CTRL|FL_COMMAND)) && Fl::event_key()=='c') {
+      if ((fltk3::event_state()&(FL_CTRL|FL_COMMAND)) && fltk3::event_key()=='c') {
         if (!buffer()->selected()) return 1;
         const char *copy = buffer()->selection_text();
-        if (*copy) Fl::copy(copy, strlen(copy), 1);
+        if (*copy) fltk3::copy(copy, strlen(copy), 1);
         free((void*)copy);
         return 1;
       }
       
       // Select all ?
-      if ((Fl::event_state()&(FL_CTRL|FL_COMMAND)) && Fl::event_key()=='a') {
+      if ((fltk3::event_state()&(FL_CTRL|FL_COMMAND)) && fltk3::event_key()=='a') {
         buffer()->select(0,buffer()->length());
         const char *copy = buffer()->selection_text();
-        if (*copy) Fl::copy(copy, strlen(copy), 0);
+        if (*copy) fltk3::copy(copy, strlen(copy), 0);
         free((void*)copy);
         return 1;
       }
@@ -3743,10 +3743,10 @@
       break;
       
     case FL_SHORTCUT:
-      if (!(shortcut() ? Fl::test_shortcut(shortcut()) : test_shortcut()))
+      if (!(shortcut() ? fltk3::test_shortcut(shortcut()) : test_shortcut()))
         return 0;
-      if (Fl::visible_focus() && handle(FL_FOCUS)) {
-        Fl::focus(this);
+      if (fltk3::visible_focus() && handle(FL_FOCUS)) {
+        fltk3::focus(this);
         return 1;
       }
       break;

Modified: branches/branch-3.0-2011/src/Fl_Text_Editor.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Text_Editor.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Text_Editor.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -29,8 +29,8 @@
 #include <stdlib.h>
 #include "flstring.h"
 #include <ctype.h>
-#include <fltk3/Fl.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/run.h>
+#include <fltk3/Window.h>
 #include <fltk3/Fl_Text_Editor.H>
 #include <fltk3/fl_ask.H>
 
@@ -281,7 +281,7 @@
   if (!selected)
     e->dragPos = e->insert_position();
   e->buffer()->unselect();
-  Fl::copy("", 0, 0);
+  fltk3::copy("", 0, 0);
   switch (c) {
   case FL_Home:
       e->insert_position(e->buffer()->line_start(e->insert_position()));
@@ -318,7 +318,7 @@
   fl_text_drag_me(e->insert_position(), e);
   char *copy = e->buffer()->selection_text();
   if (copy) {
-    Fl::copy(copy, strlen(copy), 0);
+    fltk3::copy(copy, strlen(copy), 0);
     free(copy);
     }
   return 1;
@@ -329,7 +329,7 @@
     e->dragPos = e->insert_position();
   if (c != FL_Up && c != FL_Down) {
     e->buffer()->unselect();
-    Fl::copy("", 0, 0);
+    fltk3::copy("", 0, 0);
     e->show_insert_position();
   }
   switch (c) {
@@ -369,7 +369,7 @@
     e->dragPos = e->insert_position();
   if (c != FL_Up && c != FL_Down) {
     e->buffer()->unselect();
-    Fl::copy("", 0, 0);
+    fltk3::copy("", 0, 0);
     e->show_insert_position();
   }
   switch (c) {
@@ -468,7 +468,7 @@
 int Fl_Text_Editor::kf_copy(int, Fl_Text_Editor* e) {
   if (!e->buffer()->selected()) return 1;
   const char *copy = e->buffer()->selection_text();
-  if (*copy) Fl::copy(copy, strlen(copy), 1);
+  if (*copy) fltk3::copy(copy, strlen(copy), 1);
   free((void*)copy);
   e->show_insert_position();
   return 1;
@@ -486,7 +486,7 @@
 /**  Does a paste of selected text in the current buffer.*/
 int Fl_Text_Editor::kf_paste(int, Fl_Text_Editor* e) {
   kill_selection(e);
-  Fl::paste(*e, 1);
+  fltk3::paste(*e, 1);
   e->show_insert_position();
   e->set_changed();
   if (e->when()&FL_WHEN_CHANGED) e->do_callback();
@@ -497,14 +497,14 @@
 int Fl_Text_Editor::kf_select_all(int, Fl_Text_Editor* e) {
   e->buffer()->select(0, e->buffer()->length());
   const char *copy = e->buffer()->selection_text();
-  if (*copy) Fl::copy(copy, strlen(copy), 0);
+  if (*copy) fltk3::copy(copy, strlen(copy), 0);
   free((void*)copy);
   return 1;
 }
 /**  Undo last edit in the current buffer. Also deselect previous selection. */
 int Fl_Text_Editor::kf_undo(int , Fl_Text_Editor* e) {
   e->buffer()->unselect();
-  Fl::copy("", 0, 0);
+  fltk3::copy("", 0, 0);
   int crsr;
   int ret = e->buffer()->undo(&crsr);
   e->insert_position(crsr);
@@ -521,16 +521,16 @@
   // the changes that should be made to the text, as a number of
   // bytes to delete and a string to insert:
   int del = 0;
-  if (Fl::compose(del)) {
+  if (fltk3::compose(del)) {
     if (del) {
       int dp = insert_position(), di = del;
       while (di--) dp = buffer()->prev_char_clipped(dp);
       buffer()->select(dp, insert_position());
     }
     kill_selection(this);
-    if (Fl::event_length()) {
-      if (insert_mode()) insert(Fl::event_text());
-      else overstrike(Fl::event_text());
+    if (fltk3::event_length()) {
+      if (insert_mode()) insert(fltk3::event_text());
+      else overstrike(fltk3::event_text());
     }
     show_insert_position();
     set_changed();
@@ -538,7 +538,7 @@
     return 1;
   }
 
-  int key = Fl::event_key(), state = Fl::event_state(), c = Fl::event_text()[0];
+  int key = fltk3::event_key(), state = fltk3::event_state(), c = fltk3::event_text()[0];
   state &= FL_SHIFT|FL_CTRL|FL_ALT|FL_META; // only care about these states
   Key_Func f;
   f = bound_key_function(key, state, global_key_bindings);
@@ -564,7 +564,7 @@
     case FL_FOCUS:
       show_cursor(mCursorOn); // redraws the cursor
       if (buffer()->selected()) redraw(); // Redraw selections...
-      Fl::focus(this);
+      fltk3::focus(this);
       return 1;
 
     case FL_UNFOCUS:
@@ -575,18 +575,18 @@
       return 1;
 
     case FL_KEYBOARD:
-      if (active_r() && window() && this == Fl::belowmouse()) 
+      if (active_r() && window() && this == fltk3::belowmouse()) 
         window()->cursor(FL_CURSOR_NONE);
       return handle_key();
 
     case FL_PASTE:
-      if (!Fl::event_text()) {
+      if (!fltk3::event_text()) {
         fl_beep();
 	return 1;
       }
       buffer()->remove_selection();
-      if (insert_mode()) insert(Fl::event_text());
-      else overstrike(Fl::event_text());
+      if (insert_mode()) insert(fltk3::event_text());
+      else overstrike(fltk3::event_text());
       show_insert_position();
       set_changed();
       if (when()&FL_WHEN_CHANGED) do_callback();
@@ -599,17 +599,17 @@
       return 1;
 
     case FL_PUSH:
-      if (Fl::event_button() == 2) {
+      if (fltk3::event_button() == 2) {
         // don't let the text_display see this event
         if (Fl_Group::handle(event)) return 1;
         dragType = DRAG_NONE;
 	if(buffer()->selected()) {
 	  buffer()->unselect();
 	  }
-	int pos = xy_to_position(Fl::event_x(), Fl::event_y(), CURSOR_POS);
+	int pos = xy_to_position(fltk3::event_x(), fltk3::event_y(), CURSOR_POS);
         insert_position(pos);
-        Fl::paste(*this, 0);
-        Fl::focus(this);
+        fltk3::paste(*this, 0);
+        fltk3::focus(this);
         set_changed();
         if (when()&FL_WHEN_CHANGED) do_callback();
         return 1;
@@ -617,10 +617,10 @@
       break;
 
     case FL_SHORTCUT:
-      if (!(shortcut() ? Fl::test_shortcut(shortcut()) : test_shortcut()))
+      if (!(shortcut() ? fltk3::test_shortcut(shortcut()) : test_shortcut()))
         return 0;
-      if (Fl::visible_focus() && handle(FL_FOCUS)) {
-        Fl::focus(this);
+      if (fltk3::visible_focus() && handle(FL_FOCUS)) {
+        fltk3::focus(this);
         return 1;
       }
       break;
@@ -628,13 +628,13 @@
       // Handle drag'n'drop attempt by the user. This is a simplified 
       // implementation which allows dnd operations onto the scroll bars.
     case FL_DND_ENTER: // save the current cursor position
-      if (Fl::visible_focus() && handle(FL_FOCUS))
-        Fl::focus(this);
+      if (fltk3::visible_focus() && handle(FL_FOCUS))
+        fltk3::focus(this);
       show_cursor(mCursorOn);
       dndCursorPos = insert_position();
       /* fall through */
     case FL_DND_DRAG: // show a temporary insertion cursor
-      insert_position(xy_to_position(Fl::event_x(), Fl::event_y(), CURSOR_POS));
+      insert_position(xy_to_position(fltk3::event_x(), fltk3::event_y(), CURSOR_POS));
       return 1;      
     case FL_DND_LEAVE: // restore original cursor
       insert_position(dndCursorPos);

Modified: branches/branch-3.0-2011/src/Fl_Tile.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Tile.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Tile.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -30,9 +30,9 @@
 // The size of the first child determines where the resize border is.
 // The resizebox is used to limit where the border can be dragged to.
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Tile.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/Window.h>
 #include <stdlib.h>
 
 // Drag the edges that were initially at oldx,oldy to newx,newy:
@@ -129,8 +129,8 @@
 #define DRAGV 2
 #define GRABAREA 4
 
-  int mx = Fl::event_x();
-  int my = Fl::event_y();
+  int mx = fltk3::event_x();
+  int my = fltk3::event_y();
 
   switch (event) {
 
@@ -187,14 +187,14 @@
     Fl_Widget* r = resizable(); if (!r) r = this;
     int newx;
     if (sdrag&DRAGH) {
-      newx = Fl::event_x()-sdx;
+      newx = fltk3::event_x()-sdx;
       if (newx < r->x()) newx = r->x();
       else if (newx > r->x()+r->w()) newx = r->x()+r->w();
     } else
       newx = sx;
     int newy;
     if (sdrag&DRAGV) {
-      newy = Fl::event_y()-sdy;
+      newy = fltk3::event_y()-sdy;
       if (newy < r->y()) newy = r->y();
       else if (newy > r->y()+r->h()) newy = r->y()+r->h();
     } else

Modified: branches/branch-3.0-2011/src/Fl_Tiled_Image.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Tiled_Image.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Tiled_Image.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -26,7 +26,7 @@
 //
 
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Tiled_Image.H>
 #include <fltk3/fl_draw.H>
 
@@ -41,8 +41,8 @@
   image_       = i;
   alloc_image_ = 0;
 
-  if (W == 0) w(Fl::w());
-  if (H == 0) h(Fl::h());
+  if (W == 0) w(fltk3::w());
+  if (H == 0) h(fltk3::h());
 }
 /**
   The destructor frees all memory and server resources that are used by
@@ -108,8 +108,8 @@
 		     int cx,	// I - "Source" X position
 		     int cy) {	// I - "Source" Y position
   if (!image_->w() || !image_->h()) return;
-  if (W == 0) W = Fl::w();
-  if (H == 0) H = Fl::h();
+  if (W == 0) W = fltk3::w();
+  if (H == 0) H = fltk3::h();
 
   fl_push_clip(X, Y, W, H);
 

Modified: branches/branch-3.0-2011/src/Fl_Tooltip.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Tooltip.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Tooltip.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -69,9 +69,9 @@
 
 #ifdef __APPLE__
 // returns the unique tooltip window
-Fl_Window *Fl_Tooltip::current_window(void)
+fltk3::Window *Fl_Tooltip::current_window(void)
 {
-  return (Fl_Window*)window;
+  return (fltk3::Window*)window;
 }
 #endif
 
@@ -83,17 +83,17 @@
   ww += 6; hh += 6;
 
   // find position on the screen of the widget:
-  int ox = Fl::event_x_root();
+  int ox = fltk3::event_x_root();
   int oy = Y + H+2;
   for (Fl_Widget* p = Fl_Tooltip::current(); p; p = p->window()) {
     oy += p->y();
   }
   int scr_x, scr_y, scr_w, scr_h;
-  Fl::screen_xywh(scr_x, scr_y, scr_w, scr_h);
+  fltk3::screen_xywh(scr_x, scr_y, scr_w, scr_h);
   if (ox+ww > scr_x+scr_w) ox = scr_x+scr_w - ww;
   if (ox < scr_x) ox = scr_x;
   if (H > 30) {
-    oy = Fl::event_y_root()+13;
+    oy = fltk3::event_y_root()+13;
     if (oy+hh > scr_y+scr_h) oy -= 23+hh;
   } else {
     if (oy+hh > scr_y+scr_h) oy -= (4+hh+H);
@@ -104,7 +104,7 @@
 }
 
 void Fl_TooltipBox::draw() {
-  draw_box(FL_BORDER_BOX, 0, 0, w(), h(), Fl_Tooltip::color());
+  draw_box(fltk3::BORDER_BOX, 0, 0, w(), h(), Fl_Tooltip::color());
   fl_color(Fl_Tooltip::textcolor());
   fl_font(Fl_Tooltip::font(), Fl_Tooltip::size());
   fl_draw(tip, 3, 3, w()-6, h()-6, Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_WRAP));
@@ -132,9 +132,9 @@
   if (!tip || !*tip) {
     if (window) window->hide();
   } else {
-    //if (Fl::grab()) return;
+    //if (fltk3::grab()) return;
     if (!window) window = new Fl_TooltipBox;
-    // this cast bypasses the normal Fl_Window label() code:
+    // this cast bypasses the normal fltk3::Window label() code:
     ((Fl_Widget*)window)->label(tip);
     window->layout();
     window->redraw();
@@ -143,7 +143,7 @@
     window->show();
   }
 
-  Fl::remove_timeout(recent_timeout);
+  fltk3::remove_timeout(recent_timeout);
   recent_tooltip = 1;
   recursion = 0;
 }
@@ -207,12 +207,12 @@
 
   if (!widget_ || (w && w == window)) return;
   widget_ = 0;
-  Fl::remove_timeout(tooltip_timeout);
-  Fl::remove_timeout(recent_timeout);
+  fltk3::remove_timeout(tooltip_timeout);
+  fltk3::remove_timeout(recent_timeout);
   if (window && window->visible()) window->hide();
   if (recent_tooltip) {
-    if (Fl::event_state() & FL_BUTTONS) recent_tooltip = 0;
-    else Fl::add_timeout(Fl_Tooltip::hoverdelay(), recent_timeout);
+    if (fltk3::event_state() & FL_BUTTONS) recent_tooltip = 0;
+    else fltk3::add_timeout(Fl_Tooltip::hoverdelay(), recent_timeout);
   }
 }
 
@@ -222,7 +222,7 @@
 // inside or near the box).
 /**
   You may be able to use this to provide tooltips for internal pieces
-  of your widget. Call this after setting Fl::belowmouse() to
+  of your widget. Call this after setting fltk3::belowmouse() to
   your widget (because that calls the above enter() method). Then figure
   out what thing the mouse is pointing at, and call this with the widget
   (this pointer is used to remove the tooltip if the widget is deleted
@@ -249,14 +249,14 @@
   }
   // do nothing if it is the same:
   if (wid==widget_ /*&& x==X && y==Y && w==W && h==H*/ && t==tip) return;
-  Fl::remove_timeout(tooltip_timeout);
-  Fl::remove_timeout(recent_timeout);
+  fltk3::remove_timeout(tooltip_timeout);
+  fltk3::remove_timeout(recent_timeout);
   // remember it:
   widget_ = wid; Y = y; H = h; tip = t;
   // popup the tooltip immediately if it was recently up:
   if (recent_tooltip) {
     if (window) window->hide();
-    Fl::add_timeout(Fl_Tooltip::hoverdelay(), tooltip_timeout);
+    fltk3::add_timeout(Fl_Tooltip::hoverdelay(), tooltip_timeout);
   } else if (Fl_Tooltip::delay() < .1) {
 #ifdef WIN32
     // possible fix for the Windows titlebar, it seems to want the
@@ -266,7 +266,7 @@
     tooltip_timeout(0);
   } else {
     if (window && window->visible()) window->hide();
-    Fl::add_timeout(Fl_Tooltip::delay(), tooltip_timeout);
+    fltk3::add_timeout(Fl_Tooltip::delay(), tooltip_timeout);
   }
 
 #ifdef DEBUG

Modified: branches/branch-3.0-2011/src/Fl_Tree.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Tree.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Tree.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -91,8 +91,8 @@
   _item_focus      = 0;
   _callback_item   = 0;
   _callback_reason = FL_TREE_REASON_NONE;
-  _scrollbar_size  = 0;				// 0: uses Fl::scrollbar_size()
-  box(FL_DOWN_BOX);
+  _scrollbar_size  = 0;				// 0: uses fltk3::scrollbar_size()
+  box(fltk3::DOWN_BOX);
   color(FL_WHITE);
   when(FL_WHEN_CHANGED);
   _vscroll = new Fl_Scrollbar(0,0,0,0);		// will be resized by draw()
@@ -235,10 +235,10 @@
   Fl_Group::draw_label();
   // Handle tree
   if ( ! _root ) return;
-  int cx = x() + Fl::box_dx(box());
-  int cy = y() + Fl::box_dy(box());
-  int cw = w() - Fl::box_dw(box());
-  int ch = h() - Fl::box_dh(box());
+  int cx = x() + fltk3::box_dx(box());
+  int cy = y() + fltk3::box_dy(box());
+  int cw = w() - fltk3::box_dw(box());
+  int ch = h() - fltk3::box_dh(box());
   // These values are changed during drawing
   // 'Y' will be the lowest point on the tree
   int X = cx + _prefs.marginleft();
@@ -249,7 +249,7 @@
   {
     fl_font(_prefs.labelfont(), _prefs.labelsize());
     _root->draw(X, Y, W, this,
-                (Fl::focus()==this)?_item_focus:0,	// show focus item ONLY if Fl_Tree has focus
+                (fltk3::focus()==this)?_item_focus:0,	// show focus item ONLY if Fl_Tree has focus
 		_prefs);
   }
   fl_pop_clip();
@@ -265,11 +265,11 @@
   if ( Ysave<cy || ydiff > ch || int(_vscroll->value()) > 1 ) {
     _vscroll->visible();
 
-    int scrollsize = _scrollbar_size ? _scrollbar_size : Fl::scrollbar_size();
-    int sx = x()+w()-Fl::box_dx(box())-scrollsize;
-    int sy = y()+Fl::box_dy(box());
+    int scrollsize = _scrollbar_size ? _scrollbar_size : fltk3::scrollbar_size();
+    int sx = x()+w()-fltk3::box_dx(box())-scrollsize;
+    int sy = y()+fltk3::box_dy(box());
     int sw = scrollsize;
-    int sh = h()-Fl::box_dh(box());
+    int sh = h()-fltk3::box_dh(box());
     _vscroll->show();
     _vscroll->range(0.0,ydiff-ch);
     _vscroll->resize(sx,sy,sw,sh);
@@ -321,7 +321,7 @@
 /// and is meant to be used within a callback to determine the item clicked.
 ///
 /// This method walks the entire tree looking for the first item that is
-/// under the mouse (ie. at Fl::event_x()/Fl:event_y().
+/// under the mouse (ie. at fltk3::event_x()/Fl:event_y().
 ///
 /// Use this method /only/ if you've subclassed Fl_Tree, and are receiving
 /// events before Fl_Tree has been able to process and update callback_item().
@@ -478,9 +478,9 @@
       //     focus widget, determine which item gets focus depending on nav key.
       //
       if ( ! _item_focus ) {					// no focus established yet?
-	switch (Fl::event_key()) {				// determine if focus was navigated..
+	switch (fltk3::event_key()) {				// determine if focus was navigated..
 	  case FL_Tab: {					// received focus via TAB?
-	    if ( Fl::event_state(FL_SHIFT) ) {			// SHIFT-TAB similar to FL_Up
+	    if ( fltk3::event_state(FL_SHIFT) ) {			// SHIFT-TAB similar to FL_Up
 	      set_item_focus(next_visible_item(0, FL_Up));
 	    } else {						// TAB similar to FL_Down
 	      set_item_focus(next_visible_item(0, FL_Down));
@@ -514,7 +514,7 @@
 	  set_item_focus(first());
 	}
 	if ( _item_focus ) {
-	  int ekey = Fl::event_key();
+	  int ekey = fltk3::event_key();
 	  switch (ekey) {
 	    case FL_Enter:	// ENTER: selects current item only
 	    case FL_KP_Enter:
@@ -568,7 +568,7 @@
 		if ( itembot > y()+h() ) { show_item_bottom(_item_focus); }
 		// Extend selection
 		if ( _prefs.selectmode() == FL_TREE_SELECT_MULTI &&	// multiselect on?
-		     (Fl::event_state() & FL_SHIFT) &&			// shift key?
+		     (fltk3::event_state() & FL_SHIFT) &&			// shift key?
 		     ! _item_focus->is_selected() ) {			// not already selected?
 		    select(_item_focus);				// extend selection..
 		}
@@ -595,8 +595,8 @@
   if ( ! _root ) return(ret);
   switch ( e ) {
     case FL_PUSH: {					// clicked on a tree item?
-      if (Fl::visible_focus() && handle(FL_FOCUS)) {
-        Fl::focus(this);
+      if (fltk3::visible_focus() && handle(FL_FOCUS)) {
+        fltk3::focus(this);
       }
       lastselect = 0;
       Fl_Tree_Item *o = _root->find_clicked(_prefs);
@@ -604,12 +604,12 @@
       set_item_focus(o);				// becomes new focus widget
       redraw();
       ret |= 1;						// handled
-      if ( Fl::event_button() == FL_LEFT_MOUSE ) {
+      if ( fltk3::event_button() == FL_LEFT_MOUSE ) {
 	if ( o->event_on_collapse_icon(_prefs) ) {	// collapse icon clicked?
 	  open_toggle(o);
 	} else if ( o->event_on_label(_prefs) && 	// label clicked?
-		 (!o->widget() || !Fl::event_inside(o->widget())) &&		// not inside widget
-		 (!_vscroll->visible() || !Fl::event_inside(_vscroll)) ) {	// not on scroller
+		 (!o->widget() || !fltk3::event_inside(o->widget())) &&		// not inside widget
+		 (!_vscroll->visible() || !fltk3::event_inside(_vscroll)) ) {	// not on scroller
 	  switch ( _prefs.selectmode() ) {
 	    case FL_TREE_SELECT_NONE:
 	      break;
@@ -617,9 +617,9 @@
 	      select_only(o);
 	      break;
 	    case FL_TREE_SELECT_MULTI: {
-	      if ( Fl::event_state() & FL_SHIFT ) {		// SHIFT+PUSH?
+	      if ( fltk3::event_state() & FL_SHIFT ) {		// SHIFT+PUSH?
 	        select(o);					// add to selection
-	      } else if ( Fl::event_state() & FL_CTRL ) {	// CTRL+PUSH?
+	      } else if ( fltk3::event_state() & FL_CTRL ) {	// CTRL+PUSH?
 		select_toggle(o);				// toggle selection state
 		lastselect = o;					// save toggled item (prevent oscillation)
 	      } else {
@@ -634,7 +634,7 @@
     }
     case FL_DRAG: {
       // do the scrolling first:
-      int my = Fl::event_y();
+      int my = fltk3::event_y();
       if ( my < y() ) {				// above top?
         int p = vposition()-(y()-my);
 	if ( p < 0 ) p = 0;
@@ -644,7 +644,7 @@
 	if ( p > (int)_vscroll->maximum() ) p = (int)_vscroll->maximum();
         vposition(p);
       }
-      if ( Fl::event_button() != FL_LEFT_MOUSE ) break;
+      if ( fltk3::event_button() != FL_LEFT_MOUSE ) break;
       Fl_Tree_Item *o = _root->find_clicked(_prefs);
       if ( ! o ) break;
       set_item_focus(o);			// becomes new focus widget
@@ -652,8 +652,8 @@
       ret |= 1;
       // Item's label clicked?
       if ( o->event_on_label(_prefs) && 
-	   (!o->widget() || !Fl::event_inside(o->widget())) &&
-	   (!_vscroll->visible() || !Fl::event_inside(_vscroll)) ) {
+	   (!o->widget() || !fltk3::event_inside(o->widget())) &&
+	   (!_vscroll->visible() || !fltk3::event_inside(_vscroll)) ) {
 	// Handle selection behavior
 	switch ( _prefs.selectmode() ) {
 	  case FL_TREE_SELECT_NONE: break;	// no selection changes
@@ -661,7 +661,7 @@
 	    select_only(o);
 	    break;
 	  case FL_TREE_SELECT_MULTI:
-	    if ( Fl::event_state() & FL_CTRL &&	// CTRL-DRAG: toggle?
+	    if ( fltk3::event_state() & FL_CTRL &&	// CTRL-DRAG: toggle?
 	         lastselect != o ) {		// not already toggled from last microdrag?
 	      select_toggle(o);			// toggle selection
 	      lastselect = o;			// save we toggled it (prevents oscillation)

Modified: branches/branch-3.0-2011/src/Fl_Tree_Item.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Tree_Item.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Tree_Item.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -34,7 +34,7 @@
 
 // Was the last event inside the specified xywh?
 static int event_inside(const int xywh[4]) {
-  return(Fl::event_inside(xywh[0],xywh[1],xywh[2],xywh[3]));
+  return(fltk3::event_inside(xywh[0],xywh[1],xywh[2],xywh[3]));
 }
 
 /// Constructor.
@@ -507,13 +507,13 @@
   return(0);
 }
 
-static void draw_item_focus(Fl_Boxtype B, Fl_Color C, int X, int Y, int W, int H) {
-  if (!Fl::visible_focus()) return;
+static void draw_item_focus(fltk3::Boxtype B, Fl_Color C, int X, int Y, int W, int H) {
+  if (!fltk3::visible_focus()) return;
   switch (B) {
-    case FL_DOWN_BOX:
-    case FL_DOWN_FRAME:
-    case FL_THIN_DOWN_BOX:
-    case FL_THIN_DOWN_FRAME:
+    case fltk3::DOWN_BOX:
+    case fltk3::DOWN_FRAME:
+    case fltk3::THIN_DOWN_BOX:
+    case fltk3::THIN_DOWN_FRAME:
       X ++;
       Y ++;
     default:
@@ -523,8 +523,8 @@
 
 #if defined(USE_X11) || defined(__APPLE_QUARTZ__)
   fl_line_style(FL_DOT);
-  fl_rect(X + Fl::box_dx(B), Y + Fl::box_dy(B),
-          W - Fl::box_dw(B) - 1, H - Fl::box_dh(B) - 1);
+  fl_rect(X + fltk3::box_dx(B), Y + fltk3::box_dy(B),
+          W - fltk3::box_dw(B) - 1, H - fltk3::box_dh(B) - 1);
   fl_line_style(FL_SOLID);
 #else
   // Some platforms don't implement dotted line style, so draw
@@ -535,10 +535,10 @@
   // on odd-numbered rows...
   int i, xx, yy;
 
-  X += Fl::box_dx(B);
-  Y += Fl::box_dy(B);
-  W -= Fl::box_dw(B) + 2;
-  H -= Fl::box_dh(B) + 2;
+  X += fltk3::box_dx(B);
+  Y += fltk3::box_dy(B);
+  W -= fltk3::box_dw(B) + 2;
+  H -= fltk3::box_dh(B) + 2;
 
   for (xx = 0, i = 1; xx < W; xx ++, i ++) if (i & 1) fl_point(X + xx, Y);
   for (yy = 0; yy < H; yy ++, i ++) if (i & 1) fl_point(X + W, Y + yy);
@@ -673,9 +673,9 @@
         fl_draw(_label, X+useroff, Y+H-fl_descent()-1);
       }
     }
-    if ( this == itemfocus && Fl::visible_focus() && Fl::focus() == tree) {
+    if ( this == itemfocus && fltk3::visible_focus() && fltk3::focus() == tree) {
       // Draw focus box around this item
-      draw_item_focus(FL_NO_BOX,bg,bx+1,by+1,bw-1,bh-1);
+      draw_item_focus(fltk3::NO_BOX,bg,bx+1,by+1,bw-1,bh-1);
     }
     Y += H;
   }			// end drawthis

Modified: branches/branch-3.0-2011/src/Fl_Tree_Prefs.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Tree_Prefs.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Tree_Prefs.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -2,7 +2,7 @@
 // "$Id$"
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Pixmap.H>
 #include <fltk3/Fl_Tree_Prefs.H>
 #include <string.h>
@@ -153,14 +153,14 @@
   _showroot               = 1;
   _connectorwidth         = 17;
   _sortorder              = FL_TREE_SORT_NONE;
-  _selectbox              = FL_FLAT_BOX;
+  _selectbox              = fltk3::FLAT_BOX;
   _selectmode             = FL_TREE_SELECT_SINGLE;
   // Let fltk's current 'scheme' affect defaults
-  if ( Fl::scheme() ) {
-    if ( strcmp(Fl::scheme(), "gtk+") == 0 ) {
-      _selectbox = _FL_GTK_THIN_UP_BOX;
-    } else if ( strcmp(Fl::scheme(), "plastic") == 0 ) {
-      _selectbox = _FL_PLASTIC_THIN_UP_BOX;
+  if ( fltk3::scheme() ) {
+    if ( strcmp(fltk3::scheme(), "gtk+") == 0 ) {
+      _selectbox = fltk3::GTK_THIN_UP_BOX;
+    } else if ( strcmp(fltk3::scheme(), "plastic") == 0 ) {
+      _selectbox = fltk3::PLASTIC_THIN_UP_BOX;
     }
   }
 }

Modified: branches/branch-3.0-2011/src/Fl_Valuator.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Valuator.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Valuator.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -28,7 +28,7 @@
 
 // Base class for sliders and all other one-value "knobs"
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Valuator.H>
 #include <fltk3/math.h>
 #include <stdio.h>
@@ -37,7 +37,7 @@
 Fl_Valuator::Fl_Valuator(int X, int Y, int W, int H, const char* L)
 /**
   Creates a new Fl_Valuator widget using the given position,
-  size, and label string. The default boxtype is FL_NO_BOX.
+  size, and label string. The default boxtype is fltk3::NO_BOX.
 */
 : Fl_Widget(X,Y,W,H,L) {
   align(FL_ALIGN_BOTTOM);

Modified: branches/branch-3.0-2011/src/Fl_Value_Input.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Value_Input.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Value_Input.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -29,7 +29,7 @@
 // Warning: this works by making a child Fl_Input object, even
 // though this object is *not* an Fl_Group.  May be a kludge?
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Value_Input.H>
 #include <fltk3/Fl_Group.H>
 #include <stdlib.h>
@@ -71,14 +71,14 @@
 int Fl_Value_Input::handle(int event) {
   double v;
   int delta;
-  int mx = Fl::event_x_root();
+  int mx = fltk3::event_x_root();
   static int ix, drag;
   input.when(when());
   switch (event) {
   case FL_PUSH:
     if (!step()) goto DEFAULT;
     ix = mx;
-    drag = Fl::event_button();
+    drag = fltk3::event_button();
     handle_push();
     return 1;
   case FL_DRAG:
@@ -97,7 +97,7 @@
     return 1;
   case FL_RELEASE:
     if (!step()) goto DEFAULT;
-    if (value() != previous_value() || !Fl::event_is_click())
+    if (value() != previous_value() || !fltk3::event_is_click())
       handle_release();
     else {
       Fl_Widget_Tracker wp(&input);
@@ -120,7 +120,7 @@
 /**
   Creates a new Fl_Value_Input widget using the given
   position, size, and label string. The default boxtype is
-  FL_DOWN_BOX.
+  fltk3::DOWN_BOX.
 */
 Fl_Value_Input::Fl_Value_Input(int X, int Y, int W, int H, const char* l)
 : Fl_Valuator(X, Y, W, H, l), input(X, Y, W, H, 0) {

Modified: branches/branch-3.0-2011/src/Fl_Value_Output.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Value_Output.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Value_Output.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -29,16 +29,16 @@
 // This is much lighter than Fl_Value_Input because it has no text editor
 // If step() is zero then it can be used to display a floating-point value
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Value_Output.H>
 #include <fltk3/fl_draw.H>
 
 void Fl_Value_Output::draw() {
-  Fl_Boxtype b = box() ? box() : FL_DOWN_BOX;
-  int X = x()+Fl::box_dx(b);
-  int Y = y()+Fl::box_dy(b);
-  int W = w()-Fl::box_dw(b);
-  int H = h()-Fl::box_dh(b);
+  fltk3::Boxtype b = box() ? box() : fltk3::DOWN_BOX;
+  int X = x()+fltk3::box_dx(b);
+  int Y = y()+fltk3::box_dy(b);
+  int W = w()-fltk3::box_dw(b);
+  int H = h()-fltk3::box_dh(b);
   if (damage()&~FL_DAMAGE_CHILD)
     draw_box(b, color());
   else {
@@ -56,16 +56,16 @@
   if (!step()) return 0;
   double v;
   int delta;
-  int mx = Fl::event_x();
+  int mx = fltk3::event_x();
   static int ix, drag;
   switch (event) {
   case FL_PUSH:
     ix = mx;
-    drag = Fl::event_button();
+    drag = fltk3::event_button();
     handle_push();
     return 1;
   case FL_DRAG:
-    delta = Fl::event_x()-ix;
+    delta = fltk3::event_x()-ix;
     if (delta > 5) delta -= 5;
     else if (delta < -5) delta += 5;
     else delta = 0;
@@ -90,12 +90,12 @@
 
 /**
   Creates a new Fl_Value_Output widget using the given
-  position, size, and label string. The default boxtype is FL_NO_BOX.
+  position, size, and label string. The default boxtype is fltk3::NO_BOX.
   <P> Inherited destructor destroys the Valuator.
 */
 Fl_Value_Output::Fl_Value_Output(int X, int Y, int W, int H,const char *l)
 : Fl_Valuator(X,Y,W,H,l) {
-  box(FL_NO_BOX);
+  box(fltk3::NO_BOX);
   align(FL_ALIGN_LEFT);
   textfont_ = FL_HELVETICA;
   textsize_ = FL_NORMAL_SIZE;

Modified: branches/branch-3.0-2011/src/Fl_Value_Slider.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Value_Slider.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Value_Slider.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,14 +25,14 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Value_Slider.H>
 #include <fltk3/fl_draw.H>
 #include <math.h>
 
 /**
   Creates a new Fl_Value_Slider widget using the given
-  position, size, and label string. The default boxtype is FL_DOWN_BOX.
+  position, size, and label string. The default boxtype is fltk3::DOWN_BOX.
 */
 Fl_Value_Slider::Fl_Value_Slider(int X, int Y, int W, int H, const char*l)
 : Fl_Slider(X,Y,W,H,l) {
@@ -51,10 +51,10 @@
     syy += 25; bhh = 25; shh -= 25;
   }
   if (damage()&FL_DAMAGE_ALL) draw_box(box(),sxx,syy,sww,shh,color());
-  Fl_Slider::draw(sxx+Fl::box_dx(box()),
-		  syy+Fl::box_dy(box()),
-		  sww-Fl::box_dw(box()),
-		  shh-Fl::box_dh(box()));
+  Fl_Slider::draw(sxx+fltk3::box_dx(box()),
+		  syy+fltk3::box_dy(box()),
+		  sww-fltk3::box_dw(box()),
+		  shh-fltk3::box_dh(box()));
   draw_box(box(),bxx,byy,bww,bhh,color());
   char buf[128];
   format(buf);
@@ -64,8 +64,8 @@
 }
 
 int Fl_Value_Slider::handle(int event) {
-  if (event == FL_PUSH && Fl::visible_focus()) {
-    Fl::focus(this);
+  if (event == FL_PUSH && fltk3::visible_focus()) {
+    fltk3::focus(this);
     redraw();
   }
   int sxx = x(), syy = y(), sww = w(), shh = h();
@@ -75,10 +75,10 @@
     syy += 25; shh -= 25;
   }
   return Fl_Slider::handle(event,
-			   sxx+Fl::box_dx(box()),
-			   syy+Fl::box_dy(box()),
-			   sww-Fl::box_dw(box()),
-			   shh-Fl::box_dh(box()));
+			   sxx+fltk3::box_dx(box()),
+			   syy+fltk3::box_dy(box()),
+			   sww-fltk3::box_dw(box()),
+			   shh-fltk3::box_dh(box()));
 }
 
 //

Modified: branches/branch-3.0-2011/src/Fl_Widget.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Widget.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Widget.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Widget.H>
 #include <fltk3/Fl_Group.H>
 #include <fltk3/Fl_Tooltip.H>
@@ -67,7 +67,7 @@
     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 *Fl::readqueue() {
+Fl_Widget *fltk3::readqueue() {
   if (obj_tail==obj_head) return 0;
   Fl_Widget *o = obj_queue[obj_tail++];
   if (obj_tail >= QUEUE_SIZE) obj_tail = 0;
@@ -75,10 +75,10 @@
 }
 /*
     This static internal function removes all pending callbacks for a
-    specific widget from the default callback queue (Fl::readqueue()).
+    specific widget from the default callback queue (fltk3::readqueue()).
     It is only called from Fl_Widget's destructor if the widget
     doesn't have an own callback.
-    Note: There's no need to have this in the Fl:: namespace.
+    Note: There's no need to have this in the fltk3:: namespace.
 */
 static void cleanup_readqueue(Fl_Widget *w) {
 
@@ -117,7 +117,7 @@
   label_.value	 = L;
   label_.image   = 0;
   label_.deimage = 0;
-  label_.type	 = FL_NORMAL_LABEL;
+  label_.type	 = fltk3::NORMAL_LABEL;
   label_.font	 = FL_HELVETICA;
   label_.size	 = FL_NORMAL_SIZE;
   label_.color	 = FL_FOREGROUND_COLOR;
@@ -128,7 +128,7 @@
   type_		 = 0;
   flags_	 = VISIBLE_FOCUS;
   damage_	 = 0;
-  box_		 = FL_NO_BOX;
+  box_		 = fltk3::NO_BOX;
   color_	 = FL_GRAY;
   color2_	 = FL_GRAY;
   when_		 = FL_WHEN_RELEASE;
@@ -153,8 +153,8 @@
   if (!takesevents()) return 0;
   if (!visible_focus()) return 0;
   if (!handle(FL_FOCUS)) return 0; // see if it wants it
-  if (contains(Fl::focus())) return 1; // it called Fl::focus for us
-  Fl::focus(this);
+  if (contains(fltk3::focus())) return 1; // it called fltk3::focus for us
+  fltk3::focus(this);
   return 1;
 }
 
@@ -166,7 +166,7 @@
    destroyed destroy all their children. This is convenient and fast.
 */
 Fl_Widget::~Fl_Widget() {
-  Fl::clear_widget_pointer(this);
+  fltk3::clear_widget_pointer(this);
   if (flags() & COPIED_LABEL) free((void *)(label_.value));
   if (flags() & COPIED_TOOLTIP) free((void *)(tooltip_));
   // remove from parent group
@@ -178,19 +178,19 @@
 #endif // DEBUG_DELETE
   parent_ = 0; // Don't throw focus to a parent widget.
   fl_throw_focus(this);
-  // remove stale entries from default callback queue (Fl::readqueue())
+  // remove stale entries from default callback queue (fltk3::readqueue())
   if (callback_ == default_callback) cleanup_readqueue(this);
 }
 
 /** Draws a focus box for the widget at the given position and size */
 void
-Fl_Widget::draw_focus(Fl_Boxtype B, int X, int Y, int W, int H) const {
-  if (!Fl::visible_focus()) return;
+Fl_Widget::draw_focus(fltk3::Boxtype B, int X, int Y, int W, int H) const {
+  if (!fltk3::visible_focus()) return;
   switch (B) {
-    case FL_DOWN_BOX:
-    case FL_DOWN_FRAME:
-    case FL_THIN_DOWN_BOX:
-    case FL_THIN_DOWN_FRAME:
+    case fltk3::DOWN_BOX:
+    case fltk3::DOWN_FRAME:
+    case fltk3::THIN_DOWN_BOX:
+    case fltk3::THIN_DOWN_FRAME:
       X ++;
       Y ++;
     default:
@@ -201,8 +201,8 @@
 
 #if defined(USE_X11) || defined(__APPLE_QUARTZ__)
   fl_line_style(FL_DOT);
-  fl_rect(X + Fl::box_dx(B), Y + Fl::box_dy(B),
-          W - Fl::box_dw(B) - 1, H - Fl::box_dh(B) - 1);
+  fl_rect(X + fltk3::box_dx(B), Y + fltk3::box_dy(B),
+          W - fltk3::box_dw(B) - 1, H - fltk3::box_dh(B) - 1);
   fl_line_style(FL_SOLID);
 #elif defined(WIN32) 
   // Windows 95/98/ME do not implement the dotted line style, so draw
@@ -213,10 +213,10 @@
   // on odd-numbered rows...
   int i, xx, yy;
 
-  X += Fl::box_dx(B);
-  Y += Fl::box_dy(B);
-  W -= Fl::box_dw(B) + 2;
-  H -= Fl::box_dh(B) + 2;
+  X += fltk3::box_dx(B);
+  Y += fltk3::box_dy(B);
+  W -= fltk3::box_dw(B) + 2;
+  H -= fltk3::box_dh(B) + 2;
 
   for (xx = 0, i = 1; xx < W; xx ++, i ++) if (i & 1) fl_point(X + xx, Y);
   for (yy = 0; yy < H; yy ++, i ++) if (i & 1) fl_point(X + W, Y + yy);
@@ -235,7 +235,7 @@
       redraw();
       redraw_label();
       handle(FL_ACTIVATE);
-      if (inside(Fl::focus())) Fl::focus()->take_focus();
+      if (inside(fltk3::focus())) fltk3::focus()->take_focus();
     }
   }
 }
@@ -265,7 +265,7 @@
       redraw();
       redraw_label();
       handle(FL_SHOW);
-      if (inside(Fl::focus())) Fl::focus()->take_focus();
+      if (inside(fltk3::focus())) fltk3::focus()->take_focus();
     }
   }
 }

Modified: branches/branch-3.0-2011/src/Fl_Window.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Window.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Window.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,14 +25,14 @@
 //     http://www.fltk.org/str.php
 //
 
-// The Fl_Window is a window in the fltk library.
+// The fltk3::Window is a window in the fltk library.
 // This is the system-independent portions.  The huge amount of 
 // crap you need to do to communicate with X is in Fl_x.cxx, the
 // equivalent (but totally different) crap for MSWindows is in Fl_win32.cxx
 #include <config.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/Window.h>
 #include <stdlib.h>
 #include "flstring.h"
 
@@ -40,17 +40,17 @@
 #include <fltk3/fl_draw.H>
 #endif
 
-char *Fl_Window::default_xclass_ = 0L;
+char *fltk3::Window::default_xclass_ = 0L;
 
-void Fl_Window::_Fl_Window() {
+void fltk3::Window::_Window() {
   type(FL_WINDOW);
-  box(FL_FLAT_BOX);
-  if (Fl::scheme_bg_) {
-    labeltype(FL_NORMAL_LABEL);
+  box(fltk3::FLAT_BOX);
+  if (fltk3::scheme_bg_) {
+    labeltype(fltk3::NORMAL_LABEL);
     align(FL_ALIGN_CENTER | FL_ALIGN_INSIDE | FL_ALIGN_CLIP);
-    image(Fl::scheme_bg_);
+    image(fltk3::scheme_bg_);
   } else {
-    labeltype(FL_NO_LABEL);
+    labeltype(fltk3::NO_LABEL);
   }
   i = 0;
   xclass_ = 0;
@@ -62,46 +62,46 @@
   callback((Fl_Callback*)default_callback);
 }
 
-Fl_Window::Fl_Window(int X,int Y,int W, int H, const char *l)
+fltk3::Window::Window(int X,int Y,int W, int H, const char *l)
 : Fl_Group(X, Y, W, H, l) {
   cursor_default = FL_CURSOR_DEFAULT;
   cursor_fg      = FL_BLACK;
   cursor_bg      = FL_WHITE;
 
-  _Fl_Window();
+  _Window();
   set_flag(FORCE_POSITION);
 }
 
-Fl_Window::Fl_Window(int W, int H, const char *l)
+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) {
   cursor_default = FL_CURSOR_DEFAULT;
   cursor_fg      = FL_BLACK;
   cursor_bg      = FL_WHITE;
 
-  _Fl_Window();
+  _Window();
   clear_visible();
 }
 
-Fl_Window *Fl_Widget::window() const {
+fltk3::Window *Fl_Widget::window() const {
   for (Fl_Widget *o = parent(); o; o = o->parent())
-    if (o->type() >= FL_WINDOW) return (Fl_Window*)o;
+    if (o->type() >= FL_WINDOW) return (fltk3::Window*)o;
   return 0;
 }
 /** Gets the x position of the window on the screen */
-int Fl_Window::x_root() const {
-  Fl_Window *p = window();
+int fltk3::Window::x_root() const {
+  fltk3::Window *p = window();
   if (p) return p->x_root() + x();
   return x();
 }
 /** Gets the y position of the window on the screen */
-int Fl_Window::y_root() const {
-  Fl_Window *p = window();
+int fltk3::Window::y_root() const {
+  fltk3::Window *p = window();
   if (p) return p->y_root() + y();
   return y();
 }
 
-void Fl_Window::draw() {
+void fltk3::Window::draw() {
 
   // The following is similar to Fl_Group::draw(), but ...
   //  - we draw the box with x=0 and y=0 instead of x() and y()
@@ -117,8 +117,8 @@
   // corner. This code draws a little ribbed triangle for dragging.
   extern CGContextRef fl_gc;
   if (fl_gc && !parent() && resizable() && (!size_range_set || minh!=maxh || minw!=maxw)) {
-    int dx = Fl::box_dw(box())-Fl::box_dx(box());
-    int dy = Fl::box_dh(box())-Fl::box_dy(box());
+    int dx = fltk3::box_dw(box())-fltk3::box_dx(box());
+    int dy = fltk3::box_dh(box())-fltk3::box_dy(box());
     if (dx<=0) dx = 1;
     if (dy<=0) dy = 1;
     int x1 = w()-dx-1, x2 = x1, y1 = h()-dx-1, y2 = y1;
@@ -137,15 +137,15 @@
 #endif
 
 # if defined(FLTK_USE_CAIRO)
-  Fl::cairo_make_current(this); // checkout if an update is necessary
+  fltk3::cairo_make_current(this); // checkout if an update is necessary
 # endif
 }
 
-void Fl_Window::label(const char *name) {
+void fltk3::Window::label(const char *name) {
   label(name, iconlabel());
 }
 
-void Fl_Window::copy_label(const char *a) {
+void fltk3::Window::copy_label(const char *a) {
   if (flags() & COPIED_LABEL) {
     free((void *)label());
     clear_flag(COPIED_LABEL);
@@ -156,36 +156,36 @@
 }
 
 
-void Fl_Window::iconlabel(const char *iname) {
+void fltk3::Window::iconlabel(const char *iname) {
   label(label(), iname);
 }
 
-// the Fl::atclose pointer is provided for back compatibility.  You
+// the fltk3::atclose pointer is provided for back compatibility.  You
 // can now just change the callback for the window instead.
 
 /** Default callback for window widgets. It hides the window and then calls the default widget callback. */
-void Fl::default_atclose(Fl_Window* window, void* v) {
+void fltk3::default_atclose(fltk3::Window* window, void* v) {
   window->hide();
-  Fl_Widget::default_callback(window, v); // put on Fl::read_queue()
+  Fl_Widget::default_callback(window, v); // put on fltk3::read_queue()
 }
-/** Back compatibility: default window callback handler \see Fl::set_atclose() */
-void (*Fl::atclose)(Fl_Window*, void*) = default_atclose;
+/** Back compatibility: default window callback handler \see fltk3::set_atclose() */
+void (*fltk3::atclose)(fltk3::Window*, void*) = default_atclose;
 /** Back compatibility: Sets the default callback v for win to call on close event */
-void Fl_Window::default_callback(Fl_Window* win, void* v) {
-  Fl::atclose(win, v);
+void fltk3::Window::default_callback(fltk3::Window* win, void* v) {
+  fltk3::atclose(win, v);
 }
 
-/**  Returns the last window that was made current. \see Fl_Window::make_current() */
-Fl_Window *Fl_Window::current() {
+/**  Returns the last window that was made current. \see fltk3::Window::make_current() */
+fltk3::Window *fltk3::Window::current() {
   return current_;
 }
 
 /** Returns the default xclass.
 
-  \see Fl_Window::default_xclass(const char *)
+  \see fltk3::Window::default_xclass(const char *)
 
  */
-const char *Fl_Window::default_xclass()
+const char *fltk3::Window::default_xclass()
 {
   if (default_xclass_) {
     return default_xclass_;
@@ -207,14 +207,14 @@
   If you don't call this, the default xclass for all windows will be "FLTK".
   You can reset the default xclass by specifying NULL for \p xc.
 
-  If you call Fl_Window::xclass(const char *) for any window, then
+  If you call fltk3::Window::xclass(const char *) for any window, then
   this also sets the default xclass, unless it has been set before.
 
   \param[in] xc default xclass for all windows subsequently created
 
-  \see Fl_Window::xclass(const char *)
+  \see fltk3::Window::xclass(const char *)
 */
-void Fl_Window::default_xclass(const char *xc)
+void fltk3::Window::default_xclass(const char *xc)
 {
   if (default_xclass_) {
     free(default_xclass_);
@@ -247,9 +247,9 @@
   If the default xclass has not yet been set, this also sets the
   default xclass for all windows created subsequently.
 
-  \see Fl_Window::default_xclass(const char *)
+  \see fltk3::Window::default_xclass(const char *)
 */
-void Fl_Window::xclass(const char *xc) 
+void fltk3::Window::xclass(const char *xc) 
 {
   if (xclass_) {
     free(xclass_);
@@ -265,10 +265,10 @@
 
 /** Returns the xclass for this window, or a default.
 
-  \see Fl_Window::default_xclass(const char *)
-  \see Fl_Window::xclass(const char *)
+  \see fltk3::Window::default_xclass(const char *)
+  \see fltk3::Window::xclass(const char *)
 */
-const char *Fl_Window::xclass() const
+const char *fltk3::Window::xclass() const
 {
   if (xclass_) {
     return xclass_;

Modified: branches/branch-3.0-2011/src/Fl_Window_fullscreen.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Window_fullscreen.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Window_fullscreen.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -35,12 +35,12 @@
 // the window full screen will lose the size of the border off the
 // bottom and right.
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
 
 #include <config.h>
 
-void Fl_Window::border(int b) {
+void fltk3::Window::border(int b) {
   if (b) {
     if (border()) return;
     clear_flag(NOBORDER);
@@ -60,7 +60,7 @@
 #endif
 }
 
-void Fl_Window::fullscreen() {
+void fltk3::Window::fullscreen() {
 #ifndef WIN32
   //this would clobber the fake wm, since it relies on the border flags to
   //determine its thickness
@@ -68,21 +68,21 @@
 #endif
 #if defined(__APPLE__) || defined(WIN32)
   int sx, sy, sw, sh;
-  Fl::screen_xywh(sx, sy, sw, sh, x()+w()/2, y()+h()/2);
+  fltk3::screen_xywh(sx, sy, sw, sh, x()+w()/2, y()+h()/2);
   // if we are on the main screen, we will leave the system menu bar unobstructed
-  if (Fl::x()>=sx && Fl::y()>=sy && Fl::x()+Fl::w()<=sx+sw && Fl::y()+Fl::h()<=sy+sh) {
-    sx = Fl::x(); sy = Fl::y(); 
-    sw = Fl::w(); sh = Fl::h();
+  if (fltk3::x()>=sx && fltk3::y()>=sy && fltk3::x()+fltk3::w()<=sx+sw && fltk3::y()+fltk3::h()<=sy+sh) {
+    sx = fltk3::x(); sy = fltk3::y(); 
+    sw = fltk3::w(); sh = fltk3::h();
   }
   if (x()==sx) x(sx+1); // make sure that we actually execute the resize
   resize(sx, sy, sw, sh);
 #else
   if (!x()) x(1); // force it to call XResizeWindow()
-  resize(0,0,Fl::w(),Fl::h());
+  resize(0,0,fltk3::w(),fltk3::h());
 #endif
 }
 
-void Fl_Window::fullscreen_off(int X,int Y,int W,int H) {
+void fltk3::Window::fullscreen_off(int X,int Y,int W,int H) {
   // this order produces less blinking on IRIX:
   resize(X,Y,W,H);
 #ifndef WIN32

Modified: branches/branch-3.0-2011/src/Fl_Window_hotspot.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Window_hotspot.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Window_hotspot.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,23 +25,23 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/run.h>
+#include <fltk3/Window.h>
 #include <fltk3/x.H>
 #include <stdio.h>
 
-void Fl_Window::hotspot(int X, int Y, int offscreen) {
+void fltk3::Window::hotspot(int X, int Y, int offscreen) {
   int mx,my;
 
   // Update the screen position based on the mouse position.
-  Fl::get_mouse(mx,my);
+  fltk3::get_mouse(mx,my);
   X = mx-X; Y = my-Y;
 
   // If offscreen is 0 (the default), make sure that the window
   // stays on the screen, if possible.
   if (!offscreen) {
     int scr_x, scr_y, scr_w, scr_h;
-    Fl::screen_xywh(scr_x, scr_y, scr_w, scr_h);
+    fltk3::screen_xywh(scr_x, scr_y, scr_w, scr_h);
 
     int top = 0;
     int left = 0;
@@ -84,7 +84,7 @@
   position(X,Y);
 }
 
-void Fl_Window::hotspot(const Fl_Widget *o, int offscreen) {
+void fltk3::Window::hotspot(const Fl_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_Window_iconize.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Window_iconize.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Window_iconize.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -29,7 +29,7 @@
 
 extern char fl_show_iconic; // in Fl_x.cxx
 
-void Fl_Window::iconize() {
+void fltk3::Window::iconize() {
   if (!shown()) {
     fl_show_iconic = 1;
     show();

Modified: branches/branch-3.0-2011/src/Fl_Wizard.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_Wizard.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_Wizard.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -40,7 +40,7 @@
 //
 
 #include <fltk3/Fl_Wizard.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/Window.h>
 #include <fltk3/fl_draw.H>
 
 
@@ -60,7 +60,7 @@
 		     const char *l) :	// I - Label
     Fl_Group(xx, yy, ww, hh, l)
 {
-  box(FL_THIN_UP_BOX);
+  box(fltk3::THIN_UP_BOX);
 
   value_ = (Fl_Widget *)0;
 }

Modified: branches/branch-3.0-2011/src/Fl_XBM_Image.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_XBM_Image.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_XBM_Image.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -33,7 +33,7 @@
 // Include necessary header files...
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_XBM_Image.H>
 #include <stdio.h>
 #include <stdlib.h>

Modified: branches/branch-3.0-2011/src/Fl_XPM_Image.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_XPM_Image.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_XPM_Image.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -32,7 +32,7 @@
 // Include necessary header files...
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_XPM_Image.H>
 #include <stdio.h>
 #include <stdlib.h>

Modified: branches/branch-3.0-2011/src/Fl_abort.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_abort.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_abort.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -29,7 +29,7 @@
 // do not need to be included in Fl.cxx:
 // You can also override this by redefining all of these.
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdarg.h>
@@ -93,9 +93,9 @@
 
 #endif
 
-void (*Fl::warning)(const char* format, ...) = ::warning;
-void (*Fl::error)(const char* format, ...) = ::error;
-void (*Fl::fatal)(const char* format, ...) = ::fatal;
+void (*fltk3::warning)(const char* format, ...) = ::warning;
+void (*fltk3::error)(const char* format, ...) = ::error;
+void (*fltk3::fatal)(const char* format, ...) = ::fatal;
 
 //
 // End of "$Id$".

Modified: branches/branch-3.0-2011/src/Fl_add_idle.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_add_idle.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_add_idle.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -28,7 +28,7 @@
 // Allows you to manage an arbitrary set of idle() callbacks.
 // Replaces the older set_idle() call (which is used to implement this)
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 
 struct idle_cb {
   void (*cb)(void*);
@@ -50,23 +50,23 @@
 }
 
 /**
-  Adds a callback function that is called every time by Fl::wait() and also
-  makes it act as though the timeout is zero (this makes Fl::wait() return
+  Adds a callback function that is called every time by fltk3::wait() and also
+  makes it act as though the timeout is zero (this makes fltk3::wait() return
   immediately, so if it is in a loop it is called repeatedly, and thus the
   idle fucntion is called repeatedly).  The idle function can be used to get
   background processing done.
     
   You can have multiple idle callbacks. To remove an idle callback use
-  Fl::remove_idle().
+  fltk3::remove_idle().
     
-  Fl::wait() and Fl::check() call idle callbacks, but Fl::ready() does not.
+  fltk3::wait() and fltk3::check() call idle callbacks, but fltk3::ready() does not.
     
-  The idle callback can call any FLTK functions, including Fl::wait(),
-  Fl::check(), and Fl::ready().
+  The idle callback can call any FLTK functions, including fltk3::wait(),
+  fltk3::check(), and fltk3::ready().
 
   FLTK will not recursively call the idle callback.
 */
-void Fl::add_idle(Fl_Idle_Handler cb, void* data) {
+void fltk3::add_idle(Fl_Idle_Handler cb, void* data) {
   idle_cb* p = freelist;
   if (p) freelist = p->next;
   else p = new idle_cb;
@@ -86,7 +86,7 @@
 /**
   Returns true if the specified idle callback is currently installed.
 */
-int Fl::has_idle(Fl_Idle_Handler cb, void* data) {
+int fltk3::has_idle(Fl_Idle_Handler cb, void* data) {
   idle_cb* p = first;
   if (!p) return 0;
   for (;; p = p->next) {
@@ -98,7 +98,7 @@
 /**
   Removes the specified idle callback, if it is installed.
 */
-void Fl::remove_idle(Fl_Idle_Handler cb, void* data) {
+void fltk3::remove_idle(Fl_Idle_Handler cb, void* data) {
   idle_cb* p = first;
   if (!p) return;
   idle_cb* l = last;

Modified: branches/branch-3.0-2011/src/Fl_arg.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_arg.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_arg.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -28,9 +28,9 @@
 // OPTIONAL initialization code for a program using fltk.
 // You do not need to call this!  Feel free to make up your own switches.
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/Window.h>
 #include <fltk3/Fl_Tooltip.H>
 #include <fltk3/filename.H>
 #include <fltk3/fl_draw.H>
@@ -72,7 +72,7 @@
   Returns the number of words eaten (1 or 2, or 0 if it is not
   recognized) and adds the same value to \p i. 
   
-  This is the default argument handler used internally by Fl::args(...),
+  This is the default argument handler used internally by fltk3::args(...),
   but you can use this function if you prefer to step through the
   standard FLTK switches yourself.
   
@@ -81,11 +81,11 @@
   
   \li -bg color or -background color
   <br>
-  Sets the background color using Fl::background().
+  Sets the background color using fltk3::background().
   
   \li -bg2 color or -background2 color
   <br>
-  Sets the secondary background color using Fl::background2().
+  Sets the secondary background color using fltk3::background2().
   
   \li -display host:n.n
   <br>
@@ -95,11 +95,11 @@
   \li -dnd and -nodnd
   <br>
   Enables or disables drag and drop text operations
-  using Fl::dnd_text_ops().
+  using fltk3::dnd_text_ops().
   
   \li -fg color or -foreground color
   <br>
-  Sets the foreground color using Fl::foreground().
+  Sets the foreground color using fltk3::foreground().
   
   \li -geometry WxH+X+Y
   <br>
@@ -108,24 +108,24 @@
   
   \li -iconic
   <br>
-  Iconifies the window using Fl_Window::iconize().
+  Iconifies the window using fltk3::Window::iconize().
   
   \li -kbd and -nokbd
   <br>
   Enables or disables visible keyboard focus for
-  non-text widgets using Fl::visible_focus().
+  non-text widgets using fltk3::visible_focus().
   
   \li -name string
   <br>
-  Sets the window class using Fl_Window::xclass().
+  Sets the window class using fltk3::Window::xclass().
   
   \li -scheme string
   <br>
-  Sets the widget scheme using Fl::scheme().
+  Sets the widget scheme using fltk3::scheme().
   
   \li -title string
   <br>
-  Sets the window title using Fl_Window::label().
+  Sets the window title using fltk3::Window::label().
   
   \li -tooltips and -notooltips
   <br>
@@ -134,9 +134,9 @@
   
   If your program requires other switches in addition to the standard
   FLTK options, you will need to pass your own argument handler to
-  Fl::args(int,char**,int&,Fl_Args_Handler) explicitly.
+  fltk3::args(int,char**,int&,Fl_Args_Handler) explicitly.
 */
-int Fl::arg(int argc, char **argv, int &i) {
+int fltk3::arg(int argc, char **argv, int &i) {
   arg_called = 1;
   const char *s = argv[i];
 
@@ -155,19 +155,19 @@
     i++;
     return 1;
   } else if (fl_match(s, "kbd")) {
-    Fl::visible_focus(1);
+    fltk3::visible_focus(1);
     i++;
     return 1;
   } else if (fl_match(s, "nokbd", 3)) {
-    Fl::visible_focus(0);
+    fltk3::visible_focus(0);
     i++;
     return 1;
   } else if (fl_match(s, "dnd", 2)) {
-    Fl::dnd_text_ops(1);
+    fltk3::dnd_text_ops(1);
     i++;
     return 1;
   } else if (fl_match(s, "nodnd", 3)) {
-    Fl::dnd_text_ops(0);
+    fltk3::dnd_text_ops(0);
     i++;
     return 1;
   } else if (fl_match(s, "tooltips", 2)) {
@@ -201,7 +201,7 @@
 
 #if !defined(WIN32) && !defined(__APPLE__)
   } else if (fl_match(s, "display", 2)) {
-    Fl::display(v);
+    fltk3::display(v);
 #endif
 
   } else if (fl_match(s, "title", 2)) {
@@ -220,7 +220,7 @@
     fl_fg = v;
 
   } else if (fl_match(s, "scheme", 1)) {
-    Fl::scheme(v);
+    fltk3::scheme(v);
 
   } else return 0; // unrecognized
 
@@ -238,7 +238,7 @@
   switch parser. You don't have to call it if you don't want to.
   Everything it can do can be done with other calls to FLTK.
   
-  To use the switch parser, call Fl::args(...) near the start
+  To use the switch parser, call fltk3::args(...) near the start
   of your program.  This does \b not open the display, instead
   switches that need the display open are stashed into static
   variables. Then you \b must display your first window by calling
@@ -258,7 +258,7 @@
   <i>you can also override any standard FLTK switch</i>
   (this is why FLTK can use very short switches instead of
   the long ones all other toolkits force you to use).
-  See Fl::arg() for descriptions of the standard switches.
+  See fltk3::arg() for descriptions of the standard switches.
  
   On return \p i is set to the index of the first non-switch.
   This is either:
@@ -274,17 +274,17 @@
   than \p argc.
   
   
-  A usage string is displayed if Fl::args() detects an invalid argument
+  A usage string is displayed if fltk3::args() detects an invalid argument
   on the command-line. You can change the message by setting the
-  Fl::help pointer.
+  fltk3::help pointer.
   
   A very simple command line parser can be found in <tt>examples/howto-parse-args.cxx</tt>
   
-  The simpler Fl::args(int argc, char **argv) form is useful if your program
+  The simpler fltk3::args(int argc, char **argv) form is useful if your program
   does not have command line switches of its own.
 */
 
-int Fl::args(int argc, char** argv, int& i, Fl_Args_Handler cb) {
+int fltk3::args(int argc, char** argv, int& i, Fl_Args_Handler cb) {
   arg_called = 1;
   i = 1; // skip argv[0]
   while (i < argc) {
@@ -295,20 +295,20 @@
 }
 
 // show a main window, use any parsed arguments
-void Fl_Window::show(int argc, char **argv) {
-  if (argc && !arg_called) Fl::args(argc,argv);
+void fltk3::Window::show(int argc, char **argv) {
+  if (argc && !arg_called) fltk3::args(argc,argv);
 
-  Fl::get_system_colors();
+  fltk3::get_system_colors();
 
 #if !defined(WIN32) && !defined(__APPLE__)
   // Get defaults for drag-n-drop and focus...
   const char *key = 0, *val;
 
-  if (Fl::first_window()) key = Fl::first_window()->xclass();
+  if (fltk3::first_window()) key = fltk3::first_window()->xclass();
   if (!key) key = "fltk";
 
   val = XGetDefault(fl_display, key, "dndTextOps");
-  if (val) Fl::dnd_text_ops(strcasecmp(val, "true") == 0 ||
+  if (val) fltk3::dnd_text_ops(strcasecmp(val, "true") == 0 ||
                             strcasecmp(val, "on") == 0 ||
                             strcasecmp(val, "yes") == 0);
 
@@ -318,7 +318,7 @@
                               strcasecmp(val, "yes") == 0);
 
   val = XGetDefault(fl_display, key, "visibleFocus");
-  if (val) Fl::visible_focus(strcasecmp(val, "true") == 0 ||
+  if (val) fltk3::visible_focus(strcasecmp(val, "true") == 0 ||
                              strcasecmp(val, "on") == 0 ||
                              strcasecmp(val, "yes") == 0);
 #endif // !WIN32 && !__APPLE__
@@ -329,8 +329,8 @@
     if (geometry) {
       int fl = 0, gx = x(), gy = y(); unsigned int gw = w(), gh = h();
       fl = XParseGeometry(geometry, &gx, &gy, &gw, &gh);
-      if (fl & XNegative) gx = Fl::w()-w()+gx;
-      if (fl & YNegative) gy = Fl::h()-h()+gy;
+      if (fl & XNegative) gx = fltk3::w()-w()+gx;
+      if (fl & YNegative) gy = fltk3::h()-h()+gy;
       //  int mw,mh; minsize(mw,mh);
       //  if (mw > gw) gw = mw;
       //  if (mh > gh) gh = mh;
@@ -354,7 +354,7 @@
 
   if (!beenhere) {
     beenhere = 1;
-    Fl::scheme(Fl::scheme()); // opens display!  May call Fl::fatal()
+    fltk3::scheme(fltk3::scheme()); // opens display!  May call fltk3::fatal()
   }
 
   // Show the window AFTER we have set the colors and scheme.
@@ -393,18 +393,18 @@
 " -ti[tle] windowtitle\n"
 " -to[oltips]";
 
-const char * const Fl::help = helpmsg+13;
+const char * const fltk3::help = helpmsg+13;
 
 /**
  Parse all command line switches matching standard FLTK options only.
  
  It parses all the switches, and if any are not recognized it calls
- Fl::abort(Fl::help), i.e. unlike the long form, an unrecognized
+ fltk3::abort(fltk3::help), i.e. unlike the long form, an unrecognized
  switch generates an error message and causes the program to exit.
  
  */
-void Fl::args(int argc, char **argv) {
-  int i; if (Fl::args(argc,argv,i) < argc) Fl::error(helpmsg);
+void fltk3::args(int argc, char **argv) {
+  int i; if (fltk3::args(argc,argv,i) < argc) fltk3::error(helpmsg);
 }
 
 #if defined(WIN32) || defined(__APPLE__)

Modified: branches/branch-3.0-2011/src/Fl_cocoa.mm
===================================================================
--- branches/branch-3.0-2011/src/Fl_cocoa.mm	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_cocoa.mm	2011-01-09 17:05:31 UTC (rev 8230)
@@ -46,9 +46,9 @@
 }
 
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/Window.h>
 #include <fltk3/Fl_Tooltip.H>
 #include <fltk3/Fl_Sys_Menu_Bar.H>
 #include <fltk3/Fl_Printer.H>
@@ -112,16 +112,16 @@
 bool fl_show_iconic;                    // true if called from iconize() - shows the next created window in collapsed state
 //int fl_disable_transient_for;           // secret method of removing TRANSIENT_FOR
 Window fl_window;
-Fl_Window *Fl_Window::current_;
+fltk3::Window *fltk3::Window::current_;
 int fl_mac_os_version = 0;		// the version number of the running Mac OS X (e.g., 0x1064 for 10.6.4)
 
 // forward declarations of variables in this file
 static int got_events = 0;
-static Fl_Window* resize_from_system;
+static fltk3::Window* resize_from_system;
 
 #if CONSOLIDATE_MOTION
-static Fl_Window* send_motion;
-extern Fl_Window* fl_xmousewin;
+static fltk3::Window* send_motion;
+extern fltk3::Window* fl_xmousewin;
 #endif
 
 enum { FLTKTimerEvent = 1, FLTKDataReadyEvent };
@@ -132,7 +132,7 @@
 {
 }
 
-void fl_set_spot(int font, int size, int X, int Y, int W, int H, Fl_Window *win)
+void fl_set_spot(int font, int size, int X, int Y, int W, int H, fltk3::Window *win)
 {
 }
 
@@ -184,9 +184,9 @@
   if ( mods & NSControlKeyMask ) state |= FL_CTRL;
   if ( mods & NSShiftKeyMask ) state |= FL_SHIFT;
   if ( mods & NSAlphaShiftKeyMask ) state |= FL_CAPS_LOCK;
-  unsigned int ret = ( Fl::e_state & 0xff000000 ) | state;
-  Fl::e_state = ret;
-  //printf( "State 0x%08x (%04x)\n", Fl::e_state, mods );
+  unsigned int ret = ( fltk3::e_state & 0xff000000 ) | state;
+  fltk3::e_state = ret;
+  //printf( "State 0x%08x (%04x)\n", fltk3::e_state, mods );
   return ret;
 }
 
@@ -197,17 +197,17 @@
 
  static void mods_to_e_keysym( NSUInteger mods )
  {
- if ( mods & NSCommandKeyMask ) Fl::e_keysym = FL_Meta_L;
- else if ( mods & NSNumericPadKeyMask ) Fl::e_keysym = FL_Num_Lock;
- else if ( mods & NSAlternateKeyMask ) Fl::e_keysym = FL_Alt_L;
- else if ( mods & NSControlKeyMask ) Fl::e_keysym = FL_Control_L;
- else if ( mods & NSShiftKeyMask ) Fl::e_keysym = FL_Shift_L;
- else if ( mods & NSAlphaShiftKeyMask ) Fl::e_keysym = FL_Caps_Lock;
- else Fl::e_keysym = 0;
- //printf( "to sym 0x%08x (%04x)\n", Fl::e_keysym, mods );
+ if ( mods & NSCommandKeyMask ) fltk3::e_keysym = FL_Meta_L;
+ else if ( mods & NSNumericPadKeyMask ) fltk3::e_keysym = FL_Num_Lock;
+ else if ( mods & NSAlternateKeyMask ) fltk3::e_keysym = FL_Alt_L;
+ else if ( mods & NSControlKeyMask ) fltk3::e_keysym = FL_Control_L;
+ else if ( mods & NSShiftKeyMask ) fltk3::e_keysym = FL_Shift_L;
+ else if ( mods & NSAlphaShiftKeyMask ) fltk3::e_keysym = FL_Caps_Lock;
+ else fltk3::e_keysym = 0;
+ //printf( "to sym 0x%08x (%04x)\n", fltk3::e_keysym, mods );
  }
 
-// these pointers are set by the Fl::lock() function:
+// these pointers are set by the fltk3::lock() function:
 static void nothing() {}
 void (*fl_lock_function)() = nothing;
 void (*fl_unlock_function)() = nothing;
@@ -215,7 +215,7 @@
 //
 // Select interface -- how it's implemented:
 //     When the user app configures one or more file descriptors to monitor
-//     with Fl::add_fd(), we start a separate thread to select() the  data,
+//     with fltk3::add_fd(), we start a separate thread to select() the  data,
 //     sending a custom OSX 'FLTK data ready event' to the parent  thread's
 //     RunApplicationLoop(), so that it triggers the data  ready  callbacks
 //     in the parent thread.                               -erco 04/04/04
@@ -457,22 +457,22 @@
   DataUnlock();
 }
 
-void Fl::add_fd( int n, int events, void (*cb)(int, void*), void *v )
+void fltk3::add_fd( int n, int events, void (*cb)(int, void*), void *v )
 {
   dataready.AddFD(n, events, cb, v);
 }
 
-void Fl::add_fd(int fd, void (*cb)(int, void*), void* v)
+void fltk3::add_fd(int fd, void (*cb)(int, void*), void* v)
 {
   dataready.AddFD(fd, POLLIN, cb, v);
 }
 
-void Fl::remove_fd(int n, int events)
+void fltk3::remove_fd(int n, int events)
 {
   dataready.RemoveFD(n, events);
 }
 
-void Fl::remove_fd(int n)
+void fltk3::remove_fd(int n)
 {
   dataready.RemoveFD(n, -1);
 }
@@ -580,22 +580,22 @@
 }
 
 @interface FLWindow : NSWindow {
-  Fl_Window *w;
+  fltk3::Window *w;
   BOOL containsGLsubwindow;
 }
-- (FLWindow*)initWithFl_W:(Fl_Window *)flw 
+- (FLWindow*)initWithFl_W:(fltk3::Window *)flw 
 	      contentRect:(NSRect)rect 
 		styleMask:(NSUInteger)windowStyle 
 		  backing:(NSBackingStoreType)bufferingType 
 		    defer:(BOOL)deferCreation;
-- (Fl_Window *)getFl_Window;
+- (fltk3::Window *)getFLTK3Window;
 - (BOOL)windowShouldClose:(FLWindow *)w;
 - (BOOL)containsGLsubwindow;
 - (void)setContainsGLsubwindow:(BOOL)contains;
 @end
 
 @implementation FLWindow
-- (FLWindow*)initWithFl_W:(Fl_Window *)flw 
+- (FLWindow*)initWithFl_W:(fltk3::Window *)flw 
 	      contentRect:(NSRect)rect 
 		styleMask:(NSUInteger)windowStyle 
 		  backing:(NSBackingStoreType)bufferingType 
@@ -608,16 +608,16 @@
   }
   return self;
 }
-- (Fl_Window *)getFl_Window;
+- (fltk3::Window *)getFLTK3Window;
 {
   return w;
 }
 - (BOOL)windowShouldClose:(FLWindow *)fl
 {
-  Fl::handle( FL_CLOSE, [fl getFl_Window] ); // this might or might not close the window
+  fltk3::handle( FL_CLOSE, [fl getFLTK3Window] ); // this might or might not close the window
   if (!Fl_X::first) return YES;
-  Fl_Window *l = Fl::first_window();
-  while( l != NULL && l != [fl getFl_Window]) l = Fl::next_window(l);
+  fltk3::Window *l = fltk3::first_window();
+  while( l != NULL && l != [fl getFLTK3Window]) l = fltk3::next_window(l);
   return (l == NULL ? YES : NO);
 }
 - (BOOL)containsGLsubwindow
@@ -661,7 +661,7 @@
 #if CONSOLIDATE_MOTION
   if (send_motion && send_motion == fl_xmousewin) {
     send_motion = 0;
-    Fl::handle(FL_MOVE, fl_xmousewin);
+    fltk3::handle(FL_MOVE, fl_xmousewin);
   }
 #endif
   
@@ -683,24 +683,24 @@
 
 double fl_mac_flush_and_wait(double time_to_wait, char in_idle) {
   NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-  Fl::flush();
-  if (Fl::idle && !in_idle) // 'idle' may have been set within flush()
+  fltk3::flush();
+  if (fltk3::idle && !in_idle) // 'idle' may have been set within flush()
     time_to_wait = 0.0;
   double retval = fl_wait(time_to_wait);
   [pool release];
   return retval;
 }
 
-// updates Fl::e_x, Fl::e_y, Fl::e_x_root, and Fl::e_y_root
+// updates fltk3::e_x, fltk3::e_y, fltk3::e_x_root, and fltk3::e_y_root
 static void update_e_xy_and_e_xy_root(NSWindow *nsw)
 {
   NSPoint pt;
   pt = [nsw mouseLocationOutsideOfEventStream];
-  Fl::e_x = int(pt.x);
-  Fl::e_y = int([[nsw contentView] frame].size.height - pt.y);
+  fltk3::e_x = int(pt.x);
+  fltk3::e_y = int([[nsw contentView] frame].size.height - pt.y);
   pt = [NSEvent mouseLocation];
-  Fl::e_x_root = int(pt.x);
-  Fl::e_y_root = int([[nsw screen] frame].size.height - pt.y);
+  fltk3::e_x_root = int(pt.x);
+  fltk3::e_y_root = int([[nsw screen] frame].size.height - pt.y);
 }
 
 /*
@@ -713,12 +713,12 @@
   // supports two wheels just fine. Matthias,
   fl_lock_function();
   
-  Fl_Window *window = (Fl_Window*)[(FLWindow*)[theEvent window] getFl_Window];
+  fltk3::Window *window = (fltk3::Window*)[(FLWindow*)[theEvent window] getFLTK3Window];
   if ( !window->shown() ) {
     fl_unlock_function();
     return;
   }
-  Fl::first_window(window);
+  fltk3::first_window(window);
   
   // Under OSX, single mousewheel increments are 0.1,
   // so make sure they show up as at least 1..
@@ -726,13 +726,13 @@
   float dx = [theEvent deltaX]; if ( fabs(dx) < 1.0 ) dx = (dx > 0) ? 1.0 : -1.0;
   float dy = [theEvent deltaY]; if ( fabs(dy) < 1.0 ) dy = (dy > 0) ? 1.0 : -1.0;
   if ([theEvent deltaX] != 0) {
-    Fl::e_dx = (int)-dx;
-    Fl::e_dy = 0;
-    if ( Fl::e_dx) Fl::handle( FL_MOUSEWHEEL, window );
+    fltk3::e_dx = (int)-dx;
+    fltk3::e_dy = 0;
+    if ( fltk3::e_dx) fltk3::handle( FL_MOUSEWHEEL, window );
   } else if ([theEvent deltaY] != 0) {
-    Fl::e_dx = 0;
-    Fl::e_dy = (int)-dy;
-    if ( Fl::e_dy) Fl::handle( FL_MOUSEWHEEL, window );
+    fltk3::e_dx = 0;
+    fltk3::e_dy = (int)-dy;
+    if ( fltk3::e_dy) fltk3::handle( FL_MOUSEWHEEL, window );
   } else {
     fl_unlock_function();
     return;
@@ -754,13 +754,13 @@
   
   fl_lock_function();
   
-  Fl_Window *window = (Fl_Window*)[(FLWindow*)[theEvent window] getFl_Window];
+  fltk3::Window *window = (fltk3::Window*)[(FLWindow*)[theEvent window] getFLTK3Window];
   if ( !window->shown() ) {
     fl_unlock_function();
     return;
   }
-  Fl_Window *first = Fl::first_window();
-  if (first != window && !(first->modal() || first->non_modal())) Fl::first_window(window);
+  fltk3::Window *first = fltk3::first_window();
+  if (first != window && !(first->modal() || first->non_modal())) fltk3::first_window(window);
   NSPoint pos = [theEvent locationInWindow];
   pos.y = window->h() - pos.y;
   NSInteger btn = [theEvent buttonNumber]  + 1;
@@ -769,14 +769,14 @@
   
   NSEventType etype = [theEvent type];
   if (etype == NSLeftMouseDown || etype == NSRightMouseDown || etype == NSOtherMouseDown) {
-    if (btn == 1) Fl::e_state |= FL_BUTTON1;
-    else if (btn == 3) Fl::e_state |= FL_BUTTON2;
-    else if (btn == 2) Fl::e_state |= FL_BUTTON3;
+    if (btn == 1) fltk3::e_state |= FL_BUTTON1;
+    else if (btn == 3) fltk3::e_state |= FL_BUTTON2;
+    else if (btn == 2) fltk3::e_state |= FL_BUTTON3;
   }
   else if (etype == NSLeftMouseUp || etype == NSRightMouseUp || etype == NSOtherMouseUp) {
-    if (btn == 1) Fl::e_state &= ~FL_BUTTON1;
-    else if (btn == 3) Fl::e_state &= ~FL_BUTTON2;
-    else if (btn == 2) Fl::e_state &= ~FL_BUTTON3;
+    if (btn == 1) fltk3::e_state &= ~FL_BUTTON1;
+    else if (btn == 3) fltk3::e_state &= ~FL_BUTTON2;
+    else if (btn == 2) fltk3::e_state &= ~FL_BUTTON3;
     }
     
   switch ( etype ) {
@@ -785,12 +785,12 @@
     case NSOtherMouseDown:
       suppressed = 0;
       sendEvent = FL_PUSH;
-      Fl::e_is_click = 1; 
+      fltk3::e_is_click = 1; 
       px = (int)pos.x; py = (int)pos.y;
       if ([theEvent clickCount] > 1) 
-        Fl::e_clicks++;
+        fltk3::e_clicks++;
       else
-        Fl::e_clicks = 0;
+        fltk3::e_clicks = 0;
       // fall through
     case NSLeftMouseUp:
     case NSRightMouseUp:
@@ -803,7 +803,7 @@
       if ( !sendEvent ) {
         sendEvent = FL_RELEASE; 
       }
-      Fl::e_keysym = keysym[ btn ];
+      fltk3::e_keysym = keysym[ btn ];
       // fall through
     case NSMouseMoved:
       suppressed = 0;
@@ -816,13 +816,13 @@
     case NSOtherMouseDragged: {
       if (suppressed) break;
       if ( !sendEvent ) {
-        sendEvent = FL_MOVE; // Fl::handle will convert into FL_DRAG
+        sendEvent = FL_MOVE; // fltk3::handle will convert into FL_DRAG
         if (fabs(pos.x-px)>5 || fabs(pos.y-py)>5) 
-          Fl::e_is_click = 0;
+          fltk3::e_is_click = 0;
       }
       mods_to_e_state( mods );
       update_e_xy_and_e_xy_root([theEvent window]);
-      Fl::handle( sendEvent, window );
+      fltk3::handle( sendEvent, window );
       }
       break;
     default:
@@ -892,8 +892,8 @@
 {
   static char buffer[32];
   int sendEvent = 0, retval = 0;
-  Fl_Window *window = (Fl_Window*)[(FLWindow*)[theEvent window] getFl_Window];
-  Fl::first_window(window);
+  fltk3::Window *window = (fltk3::Window*)[(FLWindow*)[theEvent window] getFLTK3Window];
+  fltk3::first_window(window);
   NSUInteger mods;
   
   fl_lock_function();
@@ -919,7 +919,7 @@
     case NSKeyUp:
       if ( !sendEvent ) {
         sendEvent = FL_KEYUP;
-        Fl::e_state &= 0xbfffffff; // clear the deadkey flag
+        fltk3::e_state &= 0xbfffffff; // clear the deadkey flag
       }
       mods_to_e_state( mods ); // process modifier keys
       sym = macKeyLookUp[maskedKeyCode];
@@ -932,17 +932,17 @@
 	if(one >= 'A' && one <= 'Z') one += 32;
 	if (one > 0 && one <= 0x7f && (sym<'0' || sym>'9') ) sym = one;
       }
-      Fl::e_keysym = Fl::e_original_keysym = sym;
+      fltk3::e_keysym = fltk3::e_original_keysym = sym;
       // Handle FL_KP_Enter on regular keyboards and on Powerbooks
       if ( maskedKeyCode==0x4c || maskedKeyCode==0x34) s = @"\r";    
       calc_e_text((CFStringRef)s, buffer, sizeof(buffer), sym);
-      Fl::e_length = strlen(buffer);
-      Fl::e_text = buffer;
+      fltk3::e_length = strlen(buffer);
+      fltk3::e_text = buffer;
     default:			// prevent 'not handled in switch' warnings
       break;
   }
   if (sendEvent) {
-    retval = Fl::handle(sendEvent,window);
+    retval = fltk3::handle(sendEvent,window);
   }
   fl_unlock_function();  
   return retval;
@@ -1046,7 +1046,7 @@
 - (void)windowDidMove:(NSNotification *)notif
 {
   FLWindow *nsw = (FLWindow*)[notif object];
-  Fl_Window *window = [nsw getFl_Window];
+  fltk3::Window *window = [nsw getFLTK3Window];
   NSPoint pt, pt2; 
   pt.x = 0;
   pt.y = [[nsw contentView] frame].size.height;
@@ -1060,7 +1060,7 @@
 - (void)windowDidResize:(NSNotification *)notif
 {
   FLWindow *nsw = (FLWindow*)[notif object];
-  Fl_Window *window = [nsw getFl_Window];
+  fltk3::Window *window = [nsw getFLTK3Window];
   NSRect r = [[nsw contentView] frame];
   NSPoint pt, pt2; 
   pt.x = 0;
@@ -1076,39 +1076,39 @@
 - (void)windowDidBecomeKey:(NSNotification *)notif
 {
   FLWindow *nsw = (FLWindow*)[notif object];
-  Fl_Window *window = [nsw getFl_Window];
-  Fl::handle( FL_FOCUS, window);
+  fltk3::Window *window = [nsw getFLTK3Window];
+  fltk3::handle( FL_FOCUS, window);
 }
 - (void)windowDidBecomeMain:(NSNotification *)notif
 {
   FLWindow *nsw = (FLWindow*)[notif object];
-  Fl_Window *window = [nsw getFl_Window];
-  Fl::first_window(window);
+  fltk3::Window *window = [nsw getFLTK3Window];
+  fltk3::first_window(window);
   update_e_xy_and_e_xy_root(nsw);
 }
 - (void)windowDidDeminiaturize:(NSNotification *)notif
 {
   FLWindow *nsw = (FLWindow*)[notif object];
-  Fl_Window *window = [nsw getFl_Window];
+  fltk3::Window *window = [nsw getFLTK3Window];
   window->set_visible();
   update_e_xy_and_e_xy_root(nsw);
 }
 - (void)windowDidMiniaturize:(NSNotification *)notif
 {
   FLWindow *nsw = (FLWindow*)[notif object];
-  Fl_Window *window = [nsw getFl_Window];
+  fltk3::Window *window = [nsw getFLTK3Window];
   window->clear_visible();
 }
 - (void)windowWillClose:(NSNotification *)notif
 {
-  Fl_Window *w = Fl::first_window();
+  fltk3::Window *w = fltk3::first_window();
   if (!w) return;
   NSWindow *cw = (NSWindow*)Fl_X::i(w)->xid;
   if ( ![cw isMiniaturized] && ([cw styleMask] & NSTitledWindowMask) ) {
-    if (![cw isKeyWindow]) {	// always make Fl::first_window() the key widow
+    if (![cw isKeyWindow]) {	// always make fltk3::first_window() the key widow
       [cw makeKeyAndOrderFront:nil];
     }
-    if (![cw isMainWindow]) {	// always make Fl::first_window() the main widow
+    if (![cw isMainWindow]) {	// always make fltk3::first_window() the main widow
       [cw makeMainWindow];
     }
   }
@@ -1131,7 +1131,7 @@
   NSApplicationTerminateReply reply = NSTerminateNow;
   while ( Fl_X::first ) {
     Fl_X *x = Fl_X::first;
-    Fl::handle( FL_CLOSE, x->w );
+    fltk3::handle( FL_CLOSE, x->w );
     if ( Fl_X::first == x ) {
       reply = NSTerminateCancel; // FLTK has not closed all windows, so we return to the main program now
       break;
@@ -1151,7 +1151,7 @@
   FLWindow *top = 0, *topModal = 0, *topNonModal = 0;
   for (x = Fl_X::first;x;x = x->next) {
     FLWindow *cw = (FLWindow*)x->xid;
-    Fl_Window *win = x->w;
+    fltk3::Window *win = x->w;
     if (win && cw) {
       if (win->modal()) {
         [cw setLevel:NSModalPanelWindowLevel];
@@ -1181,7 +1181,7 @@
   // sort in all regular windows
   for (x = Fl_X::first;x;x = x->next) {
     FLWindow *cw = (FLWindow*)x->xid;
-    Fl_Window *win = x->w;
+    fltk3::Window *win = x->w;
     if (win && cw) {
       if (win->modal()) {
       } else if (win->non_modal()) {
@@ -1193,7 +1193,7 @@
   // now sort in all modals
   for (x = Fl_X::first;x;x = x->next) {
     FLWindow *cw = (FLWindow*)x->xid;
-    Fl_Window *win = x->w;
+    fltk3::Window *win = x->w;
     if (win && cw) {
       if (win->modal()) {
         [cw setLevel:NSNormalWindowLevel];
@@ -1206,7 +1206,7 @@
   // finally all non-modals
   for (x = Fl_X::first;x;x = x->next) {
     FLWindow *cw = (FLWindow*)x->xid;
-    Fl_Window *win = x->w;
+    fltk3::Window *win = x->w;
     if (win && cw) {
       if (win->modal()) {
       } else if (win->non_modal()) {
@@ -1238,8 +1238,8 @@
 {
   NSEventType type = [theEvent type];  
   if (type == NSLeftMouseDown) {
-    Fl_Window *grab = Fl::grab();
-    if (grab && grab != [(FLWindow *)[theEvent window] getFl_Window]) {
+    fltk3::Window *grab = fltk3::grab();
+    if (grab && grab != [(FLWindow *)[theEvent window] getFLTK3Window]) {
       // a click event out of a menu window, so we should close this menu
       // done here to catch also clicks on window title bar/resize box 
       cocoaMouseHandler(theEvent);
@@ -1365,7 +1365,7 @@
 /*
  * smallest x ccordinate in screen space
  */
-int Fl::x() {
+int fltk3::x() {
   return int([[NSScreen mainScreen] visibleFrame].origin.x);
 }
 
@@ -1373,7 +1373,7 @@
 /*
  * smallest y coordinate in screen space
  */
-int Fl::y() {
+int fltk3::y() {
   NSRect all = [[NSScreen mainScreen] frame];
   NSRect visible = [[NSScreen mainScreen] visibleFrame];
   return int(all.size.height - (visible.origin.y + visible.size.height));
@@ -1383,7 +1383,7 @@
 /*
  * screen width
  */
-int Fl::w() {
+int fltk3::w() {
   return int([[NSScreen mainScreen] visibleFrame].size.width);
 }
 
@@ -1391,7 +1391,7 @@
 /*
  * screen height
  */
-int Fl::h() {
+int fltk3::h() {
   return int([[NSScreen mainScreen] visibleFrame].size.height);
 }
 
@@ -1399,7 +1399,7 @@
 /*
  * get the current mouse pointer world coordinates
  */
-void Fl::get_mouse(int &x, int &y) 
+void fltk3::get_mouse(int &x, int &y) 
 {
   fl_open_display();
   NSPoint pt = [NSEvent mouseLocation];
@@ -1420,7 +1420,7 @@
 /*
  * Gets called when a window is created, resized, or deminiaturized
  */    
-static void handleUpdateEvent( Fl_Window *window ) 
+static void handleUpdateEvent( fltk3::Window *window ) 
 {
   if ( !window ) return;
   Fl_X *i = Fl_X::i( window );
@@ -1446,7 +1446,7 @@
 }     
 
 
-int Fl_X::fake_X_wm(const Fl_Window* w,int &X,int &Y, int &bt,int &bx, int &by) {
+int Fl_X::fake_X_wm(const fltk3::Window* w,int &X,int &Y, int &bt,int &bx, int &by) {
   int W, H, xoff, yoff, dx, dy;
   int ret = bx = by = bt = 0;
   if (w->border() && !w->parent()) {
@@ -1550,7 +1550,7 @@
 }
 
 
-Fl_Window *fl_dnd_target_window = 0;
+fltk3::Window *fl_dnd_target_window = 0;
 
 static void  q_set_window_title(NSWindow *nsw, const char * name ) {
   CFStringRef utf8_title = CFStringCreateWithCString(NULL, (name ? name : ""), kCFStringEncodingUTF8);
@@ -1590,7 +1590,7 @@
 - (void)drawRect:(NSRect)rect
 {
   FLWindow *cw = (FLWindow*)[self window];
-  Fl_Window *w = [cw getFl_Window];
+  fltk3::Window *w = [cw getFLTK3Window];
   handleUpdateEvent(w);
 }
 
@@ -1605,8 +1605,8 @@
 }
 - (BOOL)acceptsFirstMouse:(NSEvent*)theEvent
 {   
-  Fl_Window *w = [(FLWindow*)[theEvent window] getFl_Window];
-  Fl_Window *first = Fl::first_window();
+  fltk3::Window *w = [(FLWindow*)[theEvent window] getFLTK3Window];
+  fltk3::Window *first = fltk3::first_window();
   return (first == w || !first->modal());
 }
 - (void)mouseUp:(NSEvent *)theEvent {
@@ -1653,46 +1653,46 @@
   fl_lock_function();
   static UInt32 prevMods = 0;
   NSUInteger mods = [theEvent modifierFlags];
-  Fl_Window *window = (Fl_Window*)[(FLWindow*)[theEvent window] getFl_Window];
+  fltk3::Window *window = (fltk3::Window*)[(FLWindow*)[theEvent window] getFLTK3Window];
   UInt32 tMods = prevMods ^ mods;
   int sendEvent = 0;
   if ( tMods )
   {
     mods_to_e_keysym( tMods );
-    if ( Fl::e_keysym ) 
+    if ( fltk3::e_keysym ) 
       sendEvent = ( prevMods<mods ) ? FL_KEYBOARD : FL_KEYUP;
-    Fl::e_length = 0;
-    Fl::e_text = (char*)"";
+    fltk3::e_length = 0;
+    fltk3::e_text = (char*)"";
     prevMods = mods;
   }
   mods_to_e_state( mods );
   while (window->parent()) window = window->window();
-  if (sendEvent) Fl::handle(sendEvent,window);
+  if (sendEvent) fltk3::handle(sendEvent,window);
   fl_unlock_function();
 }
 - (NSDragOperation)draggingEntered:(id < NSDraggingInfo >)sender
 {
-  Fl_Window *target = [(FLWindow*)[self window] getFl_Window];
+  fltk3::Window *target = [(FLWindow*)[self window] getFLTK3Window];
   update_e_xy_and_e_xy_root([self window]);
   fl_dnd_target_window = target;
-  int ret = Fl::handle( FL_DND_ENTER, target );
+  int ret = fltk3::handle( FL_DND_ENTER, target );
   breakMacEventLoop();
   return ret ? NSDragOperationCopy : NSDragOperationNone;
 }
 - (NSDragOperation)draggingUpdated:(id < NSDraggingInfo >)sender
 {
-  Fl_Window *target = [(FLWindow*)[self window] getFl_Window];
+  fltk3::Window *target = [(FLWindow*)[self window] getFLTK3Window];
   update_e_xy_and_e_xy_root([self window]);
   fl_dnd_target_window = target;
-  int ret = Fl::handle( FL_DND_DRAG, target );
+  int ret = fltk3::handle( FL_DND_DRAG, target );
   breakMacEventLoop();
   return ret ? NSDragOperationCopy : NSDragOperationNone;
 }
 - (BOOL)performDragOperation:(id <NSDraggingInfo>)sender 
 {
   static char *DragData = NULL;
-  Fl_Window *target = [(FLWindow*)[self window] getFl_Window];
-  if ( !Fl::handle( FL_DND_RELEASE, target ) ) { 
+  fltk3::Window *target = [(FLWindow*)[self window] getFLTK3Window];
+  if ( !fltk3::handle( FL_DND_RELEASE, target ) ) { 
     breakMacEventLoop();
     return NO;
   }
@@ -1721,14 +1721,14 @@
     breakMacEventLoop();
     return NO;
   }
-  Fl::e_text = DragData;
-  Fl::e_length = strlen(DragData);
-  int old_event = Fl::e_number;
-  Fl::belowmouse()->handle(Fl::e_number = FL_PASTE);
-  Fl::e_number = old_event;
+  fltk3::e_text = DragData;
+  fltk3::e_length = strlen(DragData);
+  int old_event = fltk3::e_number;
+  fltk3::belowmouse()->handle(fltk3::e_number = FL_PASTE);
+  fltk3::e_number = old_event;
   if (DragData) { free(DragData); DragData = NULL; }
-  Fl::e_text = NULL;
-  Fl::e_length = 0;
+  fltk3::e_text = NULL;
+  fltk3::e_length = 0;
   fl_dnd_target_window = NULL;
   breakMacEventLoop();
   return YES;
@@ -1736,7 +1736,7 @@
 - (void)draggingExited:(id < NSDraggingInfo >)sender
 {
   if ( fl_dnd_target_window ) {
-    Fl::handle( FL_DND_LEAVE, fl_dnd_target_window );
+    fltk3::handle( FL_DND_LEAVE, fl_dnd_target_window );
     fl_dnd_target_window = 0;
   }
 }
@@ -1770,27 +1770,27 @@
     if (type == NSKeyDown ) cocoaKeyboardHandler(event);
   } else {
     fl_lock_function();
-    Fl_Window *window = [(FLWindow*)[NSApp keyWindow] getFl_Window];
-    Fl::e_text = (char*)[received UTF8String];
-    Fl::e_length = strlen(Fl::e_text);
-    Fl::handle(FL_KEYBOARD, window);
-    Fl::handle(FL_KEYUP, window);
+    fltk3::Window *window = [(FLWindow*)[NSApp keyWindow] getFLTK3Window];
+    fltk3::e_text = (char*)[received UTF8String];
+    fltk3::e_length = strlen(fltk3::e_text);
+    fltk3::handle(FL_KEYBOARD, window);
+    fltk3::handle(FL_KEYUP, window);
     fl_unlock_function();
     // for some reason, the window does not redraw until the next mouse move or button push
     // sending a 'redraw()' or 'awake()' does not solve the issue!
-    Fl::flush();
+    fltk3::flush();
   }
 }
 
 - (void)setMarkedText:(id)aString selectedRange:(NSRange)newSelection  {
-  // NSLog(@"setMarkedText: %@ %d %d Fl::compose_state=%d",
+  // NSLog(@"setMarkedText: %@ %d %d fltk3::compose_state=%d",
   //  aString,newSelection.location,newSelection.length,newSelection.location);
   [self insertText:aString];
-  Fl::compose_state = newSelection.location;
+  fltk3::compose_state = newSelection.location;
 }
 
 - (void)unmarkText {
-  Fl::compose_state = 0;
+  fltk3::compose_state = 0;
   //NSLog(@"unmarkText");
 }
 
@@ -1800,12 +1800,12 @@
 
 - (NSRange)markedRange {
   //NSLog(@"markedRange ?");
-  return NSMakeRange(NSNotFound, Fl::compose_state);
+  return NSMakeRange(NSNotFound, fltk3::compose_state);
 }
 
 - (BOOL)hasMarkedText {
-  //NSLog(@"hasMarkedText %s", Fl::compose_state > 0?"YES":"NO");
-  return (Fl::compose_state > 0);
+  //NSLog(@"hasMarkedText %s", fltk3::compose_state > 0?"YES":"NO");
+  return (fltk3::compose_state > 0);
 }
 
 - (NSAttributedString *)attributedSubstringFromRange:(NSRange)aRange {
@@ -1843,7 +1843,7 @@
 /*
  * go ahead, create that (sub)window
  */
-void Fl_X::make(Fl_Window* w)
+void Fl_X::make(fltk3::Window* w)
 {
   static int xyPos = 100;
   if ( w->parent() ) {		// create a subwindow
@@ -1855,7 +1855,7 @@
     x->subRegion = 0;
     x->cursor = fl_default_cursor;
     x->gc = 0;			// stay 0 for Quickdraw; fill with CGContext for Quartz
-    Fl_Window *win = w->window();
+    fltk3::Window *win = w->window();
     Fl_X *xo = Fl_X::i(win);
     if (xo) {
       x->xidNext = xo->xidChildren;
@@ -1869,9 +1869,9 @@
 	xo->next = x;
 	x->next = z;
       }
-      int old_event = Fl::e_number;
-      w->handle(Fl::e_number = FL_SHOW);
-      Fl::e_number = old_event;
+      int old_event = fltk3::e_number;
+      w->handle(fltk3::e_number = FL_SHOW);
+      fltk3::e_number = old_event;
       w->redraw();		// force draw to happen
     }
     fl_show_iconic = 0;
@@ -1927,14 +1927,14 @@
       wp += 2*bx;
       hp += 2*by+bt;
     }
-    if (!(w->flags() & Fl_Window::FORCE_POSITION)) {
+    if (!(w->flags() & fltk3::Window::FORCE_POSITION)) {
       // use the Carbon functions below for default window positioning
-      w->x(xyPos+Fl::x());
-      w->y(xyPos+Fl::y());
+      w->x(xyPos+fltk3::x());
+      w->y(xyPos+fltk3::y());
       xyPos += 25;
       if (xyPos>200) xyPos = 100;
     } else {
-      if (!Fl::grab()) {
+      if (!fltk3::grab()) {
         xp = xwm; yp = ywm;
         w->x(xp);w->y(yp);
       }
@@ -1944,7 +1944,7 @@
     
     if (w->non_modal() && Fl_X::first /*&& !fl_disable_transient_for*/) {
       // find some other window to be "transient for":
-      Fl_Window* w = Fl_X::first->w;
+      fltk3::Window* w = Fl_X::first->w;
       while (w->parent()) w = w->window(); // todo: this code does not make any sense! (w!=w??)
     }
     
@@ -1978,7 +1978,7 @@
     [cw setLevel:winlevel];
     
     q_set_window_title(cw, name);
-    if (!(w->flags() & Fl_Window::FORCE_POSITION)) {
+    if (!(w->flags() & fltk3::Window::FORCE_POSITION)) {
       if (w->modal()) {
         [cw center];
       } else if (w->non_modal()) {
@@ -2010,7 +2010,7 @@
       Fl_Tooltip::enter(0);
     }
     [cw makeKeyAndOrderFront:nil];
-    Fl::first_window(w);
+    fltk3::first_window(w);
     [cw setDelegate:mydelegate];
     if (fl_show_iconic) { 
       fl_show_iconic = 0;
@@ -2027,11 +2027,11 @@
     srect = [[cw screen] frame];
     w->y(int(srect.size.height - (crect.origin.y + w->h())));
     
-    int old_event = Fl::e_number;
-    w->handle(Fl::e_number = FL_SHOW);
-    Fl::e_number = old_event;
+    int old_event = fltk3::e_number;
+    w->handle(fltk3::e_number = FL_SHOW);
+    fltk3::e_number = old_event;
     
-    if (w->modal()) { Fl::modal_ = w; fl_fix_focus(); }
+    if (w->modal()) { fltk3::modal_ = w; fl_fix_focus(); }
     [localPool release];
   }
 }
@@ -2040,7 +2040,7 @@
 /*
  * Tell the OS what window sizes we want to allow
  */
-void Fl_Window::size_range_() {
+void fltk3::Window::size_range_() {
   int bx, by, bt;
   get_window_frame_sizes(bx, by, bt);
   size_range_set = 1;
@@ -2078,7 +2078,7 @@
  * set the window title bar
  * \todo make the titlebar icon work!
  */
-void Fl_Window::label(const char *name,const char */*iname*/) {
+void fltk3::Window::label(const char *name,const char */*iname*/) {
   Fl_Widget::label(name);
   if (shown() || i) {
     q_set_window_title((NSWindow*)i->xid, name);
@@ -2089,13 +2089,13 @@
 /*
  * make a window visible
  */
-void Fl_Window::show() {
-  image(Fl::scheme_bg_);
-  if (Fl::scheme_bg_) {
-    labeltype(FL_NORMAL_LABEL);
+void fltk3::Window::show() {
+  image(fltk3::scheme_bg_);
+  if (fltk3::scheme_bg_) {
+    labeltype(fltk3::NORMAL_LABEL);
     align(FL_ALIGN_CENTER | FL_ALIGN_INSIDE | FL_ALIGN_CLIP);
   } else {
-    labeltype(FL_NO_LABEL);
+    labeltype(fltk3::NO_LABEL);
   }
   Fl_Tooltip::exit(this);
   if (!shown() || !i) {
@@ -2117,14 +2117,14 @@
 /*
  * resize a window
  */
-void Fl_Window::resize(int X,int Y,int W,int H) {
+void fltk3::Window::resize(int X,int Y,int W,int H) {
   int bx, by, bt;
   if ( ! this->border() ) bt = 0;
   else get_window_frame_sizes(bx, by, bt);
   if (W<=0) W = 1; // OS X does not like zero width windows
   if (H<=0) H = 1;
   int is_a_resize = (W != w() || H != h());
-  //  printf("Fl_Window::resize(X=%d, Y=%d, W=%d, H=%d), is_a_resize=%d, resize_from_system=%p, this=%p\n",
+  //  printf("fltk3::Window::resize(X=%d, Y=%d, W=%d, H=%d), is_a_resize=%d, resize_from_system=%p, this=%p\n",
   //         X, Y, W, H, is_a_resize, resize_from_system, this);
   if (X != x() || Y != y()) set_flag(FORCE_POSITION);
   else if (!is_a_resize) return;
@@ -2167,20 +2167,20 @@
 /*
  * make all drawing go into this window (called by subclass flush() impl.)
  */
-void Fl_Window::make_current() 
+void fltk3::Window::make_current() 
 {
   Fl_X::q_release_context();
   fl_window = i->xid;
   current_ = this;
   
   int xp = 0, yp = 0;
-  Fl_Window *win = this;
+  fltk3::Window *win = this;
   while ( win ) {
     if ( !win->window() )
       break;
     xp += win->x();
     yp += win->y();
-    win = (Fl_Window*)win->window();
+    win = (fltk3::Window*)win->window();
   }
   
   NSView *current_focus = [NSView focusView]; 
@@ -2192,7 +2192,7 @@
   Fl_Region fl_window_region = XRectangleRegion(0,0,w(),h());
   if ( ! this->window() ) {
     for ( Fl_X *cx = i->xidChildren; cx; cx = cx->xidNext ) {	// clip-out all sub-windows
-      Fl_Window *cw = cx->w;
+      fltk3::Window *cw = cx->w;
       Fl_Region from = fl_window_region;
       fl_window_region = MacRegionMinusRect(from, cw->x(), cw->y(), cw->w(), cw->h() );
       XDestroyRegion(from);
@@ -2217,13 +2217,13 @@
 // this is the context with origin at top left of (sub)window clipped out of its subwindows if any
   CGContextSaveGState(fl_gc); 
 #if defined(FLTK_USE_CAIRO)
-  if (Fl::cairo_autolink_context()) Fl::cairo_make_current(this); // capture gc changes automatically to update the cairo context adequately
+  if (fltk3::cairo_autolink_context()) fltk3::cairo_make_current(this); // capture gc changes automatically to update the cairo context adequately
 #endif
   fl_clip_region( 0 );
   
 #if defined(FLTK_USE_CAIRO)
   // update the cairo_t context
-  if (Fl::cairo_autolink_context()) Fl::cairo_make_current(this);
+  if (fltk3::cairo_autolink_context()) fltk3::cairo_make_current(this);
 #endif
 }
 
@@ -2262,7 +2262,7 @@
   CGContextRestoreGState(fl_gc); // matches the CGContextSaveGState of make_current
   fl_gc = 0;
 #if defined(FLTK_USE_CAIRO)
-  if (Fl::cairo_autolink_context()) Fl::cairo_make_current((Fl_Window*) 0); // capture gc changes automatically to update the cairo context adequately
+  if (fltk3::cairo_autolink_context()) fltk3::cairo_make_current((fltk3::Window*) 0); // capture gc changes automatically to update the cairo context adequately
 #endif
 }
 
@@ -2324,7 +2324,7 @@
  * stuff: pointer to selected data
  * size of selected data
  */
-void Fl::copy(const char *stuff, int len, int clipboard) {
+void fltk3::copy(const char *stuff, int len, int clipboard) {
   if (!stuff || len<0) return;
   if (len+1 > fl_selection_buffer_length[clipboard]) {
     delete[] fl_selection_buffer[clipboard];
@@ -2347,7 +2347,7 @@
 }
 
 // Call this when a "paste" operation happens:
-void Fl::paste(Fl_Widget &receiver, int clipboard) {
+void fltk3::paste(Fl_Widget &receiver, int clipboard) {
   if (clipboard) {
     // see if we own the selection, if not go get it:
     fl_selection_length[1] = 0;
@@ -2407,13 +2407,13 @@
       }
     }
   }
-  Fl::e_text = fl_selection_buffer[clipboard];
-  Fl::e_length = fl_selection_length[clipboard];
-  if (!Fl::e_text) Fl::e_text = (char *)"";
+  fltk3::e_text = fl_selection_buffer[clipboard];
+  fltk3::e_length = fl_selection_length[clipboard];
+  if (!fltk3::e_text) fltk3::e_text = (char *)"";
   receiver.handle(FL_PASTE);
 }
 
-void Fl::add_timeout(double time, Fl_Timeout_Handler cb, void* data)
+void fltk3::add_timeout(double time, Fl_Timeout_Handler cb, void* data)
 {
   // check, if this timer slot exists already
   for (int i = 0; i < mac_timer_used; ++i) {
@@ -2464,13 +2464,13 @@
   }
 }
 
-void Fl::repeat_timeout(double time, Fl_Timeout_Handler cb, void* data)
+void fltk3::repeat_timeout(double time, Fl_Timeout_Handler cb, void* data)
 {
   // currently, repeat_timeout does not subtract the trigger time of the previous timer event as it should.
   add_timeout(time, cb, data);
 }
 
-int Fl::has_timeout(Fl_Timeout_Handler cb, void* data)
+int fltk3::has_timeout(Fl_Timeout_Handler cb, void* data)
 {
   for (int i = 0; i < mac_timer_used; ++i) {
     MacTimeout& t = mac_timers[i];
@@ -2481,7 +2481,7 @@
   return 0;
 }
 
-void Fl::remove_timeout(Fl_Timeout_Handler cb, void* data)
+void fltk3::remove_timeout(Fl_Timeout_Handler cb, void* data)
 {
   for (int i = 0; i < mac_timer_used; ++i) {
     MacTimeout& t = mac_timers[i];
@@ -2518,7 +2518,7 @@
   return 0;
 }
 
-void Fl_X::relink(Fl_Window *w, Fl_Window *wp) {
+void Fl_X::relink(fltk3::Window *w, fltk3::Window *wp) {
   Fl_X *x = Fl_X::i(w);
   Fl_X *p = Fl_X::i(wp);
   if (!x || !p) return;
@@ -2767,7 +2767,7 @@
   Fl_Printer printer;
   //Fl_PostScript_File_Device printer;
   int w, h;
-  Fl_Window *win = Fl::first_window();
+  fltk3::Window *win = fltk3::first_window();
   if(!win) return;
   if( printer.start_job(1) ) return;
   if( printer.start_page() ) return;
@@ -3152,7 +3152,7 @@
   return image;
 }
 
-int Fl::dnd(void)
+int fltk3::dnd(void)
 {
   CFDataRef text = CFDataCreate(kCFAllocatorDefault, (UInt8*)fl_selection_buffer[0], fl_selection_length[0]);
   if (text==NULL) return false;
@@ -3162,10 +3162,10 @@
   [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 = Fl::pushed();
-  Fl_Window *win = w->window();
+  Fl_Widget *w = fltk3::pushed();
+  fltk3::Window *win = w->window();
   if (win == NULL) {
-    win = (Fl_Window*)w;
+    win = (fltk3::Window*)w;
   } else { 
     while(win->window()) win = win->window();
   }
@@ -3189,16 +3189,16 @@
               event:theEvent  pasteboard:mypasteboard  
              source:myview  slideBack:YES];
   if ( w ) {
-    int old_event = Fl::e_number;
-    w->handle(Fl::e_number = FL_RELEASE);
-    Fl::e_number = old_event;
-    Fl::pushed( 0 );
+    int old_event = fltk3::e_number;
+    w->handle(fltk3::e_number = FL_RELEASE);
+    fltk3::e_number = old_event;
+    fltk3::pushed( 0 );
   }
   [localPool release];
   return true;
 }
 
-unsigned char *Fl_X::bitmap_from_window_rect(Fl_Window *win, int x, int y, int w, int h, int *bytesPerPixel)
+unsigned char *Fl_X::bitmap_from_window_rect(fltk3::Window *win, int x, int y, int w, int h, int *bytesPerPixel)
 // delete the returned pointer after use
 {
   while(win->window()) {
@@ -3239,7 +3239,7 @@
   delete (unsigned char *)data;
 }
 
-CGImageRef Fl_X::CGImage_from_window_rect(Fl_Window *win, int x, int y, int w, int h)
+CGImageRef Fl_X::CGImage_from_window_rect(fltk3::Window *win, int x, int y, int w, int h)
 // CFRelease the returned CGImageRef after use
 {
   int bpp;
@@ -3271,7 +3271,7 @@
   return CGRectMake(x, y, w > 0 ? w - 0.9 : 0, h > 0 ? h - 0.9 : 0);
 }
 
-Window fl_xid(const Fl_Window* w)
+Window fl_xid(const fltk3::Window* w)
 {
   return Fl_X::i(w)->xid;
 }
@@ -3280,7 +3280,7 @@
 
 /* Returns the address of a Carbon function after dynamically loading the Carbon library if needed.
  Supports old Mac OS X versions that may use a couple of Carbon calls:
- GetKeys used by OS X 10.3 or before (in Fl::get_key())
+ GetKeys used by OS X 10.3 or before (in fltk3::get_key())
  PMSessionPageSetupDialog and PMSessionPrintDialog used by 10.4 or before (in Fl_Printer::start_job())
  GetWindowPort used by 10.4 or before (in Fl_Gl_Choice.cxx)
  */

Modified: branches/branch-3.0-2011/src/Fl_compose.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_compose.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_compose.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,23 +25,23 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
 
 #ifndef FL_DOXYGEN
 // at present, this is effectively used by Mac OS X only
-int Fl::compose_state = 0;
+int fltk3::compose_state = 0;
 #endif
 
 /** Any text editing widget should call this for each FL_KEYBOARD event.
  Use of this function is very simple.
  
  <p>If <i>true</i> is returned, then it has modified the
- Fl::event_text() and Fl::event_length() to a set of <i>bytes</i> to
+ fltk3::event_text() and fltk3::event_length() to a set of <i>bytes</i> to
  insert (it may be of zero length!).  In will also set the "del"
  parameter to the number of <i>bytes</i> to the left of the cursor to
  delete, this is used to delete the results of the previous call to
- Fl::compose().
+ fltk3::compose().
  
  <p>If <i>false</i> is returned, the keys should be treated as function
  keys, and del is set to zero. You could insert the text anyways, if
@@ -51,22 +51,22 @@
  versions may take quite awhile, as they may pop up a window or do
  other user-interface things to allow characters to be selected.
  */
-int Fl::compose(int& del) {
+int fltk3::compose(int& del) {
   // character composition is now handled by the OS
   del = 0;
 #if defined(__APPLE__)
   // this stuff is to be treated as a function key
-  if(Fl::e_length == 0 || Fl::e_keysym == FL_Enter || Fl::e_keysym == FL_KP_Enter || 
-     Fl::e_keysym == FL_Tab || Fl::e_keysym == FL_Escape || Fl::e_state&(FL_META | FL_CTRL) ) {
+  if(fltk3::e_length == 0 || fltk3::e_keysym == FL_Enter || fltk3::e_keysym == FL_KP_Enter || 
+     fltk3::e_keysym == FL_Tab || fltk3::e_keysym == FL_Escape || fltk3::e_state&(FL_META | FL_CTRL) ) {
     return 0;
   }
 #else
   unsigned char ascii = (unsigned)e_text[0];
   if ((e_state & (FL_ALT | FL_META)) && !(ascii & 128)) return 0;
 #endif
-  if(Fl::compose_state) {
-    del = Fl::compose_state;
-    Fl::compose_state = 0;
+  if(fltk3::compose_state) {
+    del = fltk3::compose_state;
+    fltk3::compose_state = 0;
   } else {
 #ifndef __APPLE__
     // Only insert non-control characters:

Modified: branches/branch-3.0-2011/src/Fl_display.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_display.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_display.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -28,7 +28,7 @@
 // Startup method to set what display to use.
 // Using setenv makes programs that are exec'd use the same display.
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <stdlib.h>
 #include "flstring.h"
 
@@ -38,7 +38,7 @@
     works before you show() the first window or otherwise open the display,
     and does nothing useful under WIN32.
 */
-void Fl::display(const char *d) {
+void fltk3::display(const char *d) {
 #if defined(__APPLE__) || defined(WIN32)
   (void)d;
 #else

Modified: branches/branch-3.0-2011/src/Fl_get_key.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_get_key.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_get_key.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -35,14 +35,14 @@
 // keys (mostly) by the X keysym.  So this turns the keysym into a keycode
 // and looks it up in the X key bit vector, which Fl_x.cxx keeps track of.
 
-#  include <fltk3/Fl.H>
+#  include <fltk3/run.h>
 #  include <fltk3/x.H>
 
 extern char fl_key_vector[32]; // in Fl_x.cxx
 
-int Fl::event_key(int k) {
+int fltk3::event_key(int k) {
   if (k > FL_Button && k <= FL_Button+8)
-    return Fl::event_state(8<<(k-FL_Button));
+    return fltk3::event_state(8<<(k-FL_Button));
   int i;
 #  ifdef __sgi
   // get some missing PC keyboard keys:
@@ -56,7 +56,7 @@
   return fl_key_vector[i/8] & (1 << (i%8));
 }
 
-int Fl::get_key(int k) {
+int fltk3::get_key(int k) {
   fl_open_display();
   XQueryKeymap(fl_display, fl_key_vector);
   return event_key(k);

Modified: branches/branch-3.0-2011/src/Fl_get_key_mac.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_get_key_mac.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_get_key_mac.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -29,7 +29,7 @@
 // which are actually X keysyms.  So this has to translate to macOS
 // symbols.
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
 #include <config.h>
 
@@ -79,12 +79,12 @@
 }
 
 //: returns true, if that key was pressed during the last event
-int Fl::event_key(int k) {
+int fltk3::event_key(int k) {
   return get_key(k);
 }
 
 //: returns true, if that key is pressed right now
-int Fl::get_key(int k) {
+int fltk3::get_key(int k) {
 #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
   if(CGEventSourceKeyState != NULL) {
     return (int)CGEventSourceKeyState(kCGEventSourceStateCombinedSessionState, fltk2mac(k) );

Modified: branches/branch-3.0-2011/src/Fl_get_key_win32.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_get_key_win32.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_get_key_win32.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -29,7 +29,7 @@
 // which are actually X keysyms.  So this has to translate to MSWindows
 // VK_x symbols.
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
 
 // convert an Fltk (X) keysym to a MSWindows VK symbol:
@@ -123,11 +123,11 @@
   return 0;
 }
 
-int Fl::event_key(int k) {
+int fltk3::event_key(int k) {
   return GetKeyState(fltk2ms(k))&~1;
 }
 
-int Fl::get_key(int k) {
+int fltk3::get_key(int k) {
   uchar foo[256];
   GetKeyboardState(foo);
   return foo[fltk2ms(k)]&~1;

Modified: branches/branch-3.0-2011/src/Fl_get_system_colors.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_get_system_colors.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_get_system_colors.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 #include <fltk3/x.H>
 #include <fltk3/math.h>
@@ -53,7 +53,7 @@
     the colors used as backgrounds by almost all widgets and used to draw 
     the edges of all the boxtypes.
 */
-void Fl::background(uchar r, uchar g, uchar b) {
+void fltk3::background(uchar r, uchar g, uchar b) {
   fl_bg_set = 1;
 
   // replace the gray ramp so that FL_GRAY is this color
@@ -65,17 +65,17 @@
   double powb = log(b/255.0)/log((FL_GRAY-FL_GRAY_RAMP)/(FL_NUM_GRAY-1.0));
   for (int i = 0; i < FL_NUM_GRAY; i++) {
     double gray = i/(FL_NUM_GRAY-1.0);
-    Fl::set_color(fl_gray_ramp(i),
+    fltk3::set_color(fl_gray_ramp(i),
 		  uchar(pow(gray,powr)*255+.5),
 		  uchar(pow(gray,powg)*255+.5),
 		  uchar(pow(gray,powb)*255+.5));
   }
 }
 /** Changes fl_color(FL_FOREGROUND_COLOR). */
-void Fl::foreground(uchar r, uchar g, uchar b) {
+void fltk3::foreground(uchar r, uchar g, uchar b) {
   fl_fg_set = 1;
 
-  Fl::set_color(FL_FOREGROUND_COLOR,r,g,b);
+  fltk3::set_color(FL_FOREGROUND_COLOR,r,g,b);
 }
 
 /**
@@ -84,21 +84,21 @@
     <P>This call may change fl_color(FL_FOREGROUND_COLOR) if it 
     does not provide sufficient contrast to FL_BACKGROUND2_COLOR.
 */
-void Fl::background2(uchar r, uchar g, uchar b) {
+void fltk3::background2(uchar r, uchar g, uchar b) {
   fl_bg2_set = 1;
 
-  Fl::set_color(FL_BACKGROUND2_COLOR,r,g,b);
-  Fl::set_color(FL_FOREGROUND_COLOR,
+  fltk3::set_color(FL_BACKGROUND2_COLOR,r,g,b);
+  fltk3::set_color(FL_FOREGROUND_COLOR,
                 get_color(fl_contrast(FL_FOREGROUND_COLOR,FL_BACKGROUND2_COLOR)));
 }
 
-// these are set by Fl::args() and override any system colors:
+// these are set by fltk3::args() and override any system colors:
 const char *fl_fg = NULL;
 const char *fl_bg = NULL;
 const char *fl_bg2 = NULL;
 
 static void set_selection_color(uchar r, uchar g, uchar b) {
-  Fl::set_color(FL_SELECTION_COLOR,r,g,b);
+  fltk3::set_color(FL_SELECTION_COLOR,r,g,b);
 }
 
 #if defined(WIN32) || defined(__APPLE__)
@@ -139,11 +139,11 @@
   } else return 0;
 }
 #endif // WIN32 || __APPLE__
-/** \fn Fl::get_system_colors()
+/** \fn fltk3::get_system_colors()
     Read the user preference colors from the system and use them to call
-    Fl::foreground(), Fl::background(), and 
-    Fl::background2().  This is done by
-    Fl_Window::show(argc,argv) before applying the -fg and -bg
+    fltk3::foreground(), fltk3::background(), and 
+    fltk3::background2().  This is done by
+    fltk3::Window::show(argc,argv) before applying the -fg and -bg
     switches.
     
     <P>On X this reads some common values from the Xdefaults database.
@@ -158,7 +158,7 @@
   if (arg) {
     uchar r,g,b;
     if (!fl_parse_color(arg, r,g,b))
-      Fl::error("Unknown color: %s", arg);
+      fltk3::error("Unknown color: %s", arg);
     else
       func(r,g,b);
   } else {
@@ -167,10 +167,10 @@
   }
 }
 
-void Fl::get_system_colors() {
-  if (!fl_bg2_set) getsyscolor(COLOR_WINDOW,	fl_bg2,Fl::background2);
-  if (!fl_fg_set) getsyscolor(COLOR_WINDOWTEXT,	fl_fg, Fl::foreground);
-  if (!fl_bg_set) getsyscolor(COLOR_BTNFACE,	fl_bg, Fl::background);
+void fltk3::get_system_colors() {
+  if (!fl_bg2_set) getsyscolor(COLOR_WINDOW,	fl_bg2,fltk3::background2);
+  if (!fl_fg_set) getsyscolor(COLOR_WINDOWTEXT,	fl_fg, fltk3::foreground);
+  if (!fl_bg_set) getsyscolor(COLOR_BTNFACE,	fl_bg, fltk3::background);
   getsyscolor(COLOR_HIGHLIGHT,	0,     set_selection_color);
 }
 
@@ -178,9 +178,9 @@
 // MacOS X currently supports two color schemes - Blue and Graphite.
 // Since we aren't emulating the Aqua interface (even if Apple would
 // let us), we use some defaults that are similar to both.  The
-// Fl::scheme("plastic") color/box scheme provides a usable Aqua-like
+// fltk3::scheme("plastic") color/box scheme provides a usable Aqua-like
 // look-n-feel...
-void Fl::get_system_colors()
+void fltk3::get_system_colors()
 {
   fl_open_display();
 
@@ -223,27 +223,27 @@
   }
   XColor x;
   if (!XParseColor(fl_display, fl_colormap, arg, &x))
-    Fl::error("Unknown color: %s", arg);
+    fltk3::error("Unknown color: %s", arg);
   else
     func(x.red>>8, x.green>>8, x.blue>>8);
 }
 
-void Fl::get_system_colors()
+void fltk3::get_system_colors()
 {
   fl_open_display();
   const char* key1 = 0;
-  if (Fl::first_window()) key1 = Fl::first_window()->xclass();
+  if (fltk3::first_window()) key1 = fltk3::first_window()->xclass();
   if (!key1) key1 = "fltk";
-  if (!fl_bg2_set) getsyscolor("Text","background",	fl_bg2,	"#ffffff", Fl::background2);
-  if (!fl_fg_set) getsyscolor(key1,  "foreground",	fl_fg,	"#000000", Fl::foreground);
-  if (!fl_bg_set) getsyscolor(key1,  "background",	fl_bg,	"#c0c0c0", Fl::background);
+  if (!fl_bg2_set) getsyscolor("Text","background",	fl_bg2,	"#ffffff", fltk3::background2);
+  if (!fl_fg_set) getsyscolor(key1,  "foreground",	fl_fg,	"#000000", fltk3::foreground);
+  if (!fl_bg_set) getsyscolor(key1,  "background",	fl_bg,	"#c0c0c0", fltk3::background);
   getsyscolor("Text", "selectBackground", 0, "#000080", set_selection_color);
 }
 
 #endif
 
 
-//// Simple implementation of 2.0 Fl::scheme() interface...
+//// Simple implementation of 2.0 fltk3::scheme() interface...
 #define D1 BORDER_WIDTH
 #define D2 (BORDER_WIDTH+BORDER_WIDTH)
 
@@ -260,8 +260,8 @@
 extern void	fl_thin_down_frame(int, int, int, int, Fl_Color);
 
 #ifndef FL_DOXYGEN
-const char	*Fl::scheme_ = (const char *)0;	    // current scheme 
-Fl_Image	*Fl::scheme_bg_ = (Fl_Image *)0;    // current background image for the scheme
+const char	*fltk3::scheme_ = (const char *)0;	    // current scheme 
+Fl_Image	*fltk3::scheme_bg_ = (Fl_Image *)0;    // current background image for the scheme
 #endif
 
 static Fl_Pixmap	tile(tile_xpm);
@@ -285,12 +285,12 @@
     
     </ul>
 */
-int Fl::scheme(const char *s) {
+int fltk3::scheme(const char *s) {
   if (!s) {
     if ((s = getenv("FLTK_SCHEME")) == NULL) {
 #if !defined(WIN32) && !defined(__APPLE__)
       const char* key = 0;
-      if (Fl::first_window()) key = Fl::first_window()->xclass();
+      if (fltk3::first_window()) key = fltk3::first_window()->xclass();
       if (!key) key = "fltk";
       fl_open_display();
       s = XGetDefault(fl_display, key, "scheme");
@@ -316,8 +316,8 @@
   return reload_scheme();
 }
 
-int Fl::reload_scheme() {
-  Fl_Window *win;
+int fltk3::reload_scheme() {
+  fltk3::Window *win;
 
   if (scheme_ && !strcasecmp(scheme_, "plastic")) {
     // Update the tile image to match the background color...
@@ -351,20 +351,20 @@
     if (!scheme_bg_) scheme_bg_ = new Fl_Tiled_Image(&tile, w(), h());
 
     // Load plastic buttons, etc...
-    set_boxtype(FL_UP_FRAME,        FL_PLASTIC_UP_FRAME);
-    set_boxtype(FL_DOWN_FRAME,      FL_PLASTIC_DOWN_FRAME);
-    set_boxtype(FL_THIN_UP_FRAME,   FL_PLASTIC_UP_FRAME);
-    set_boxtype(FL_THIN_DOWN_FRAME, FL_PLASTIC_DOWN_FRAME);
+    set_boxtype(fltk3::UP_FRAME,        fltk3::PLASTIC_UP_FRAME);
+    set_boxtype(fltk3::DOWN_FRAME,      fltk3::PLASTIC_DOWN_FRAME);
+    set_boxtype(fltk3::THIN_UP_FRAME,   fltk3::PLASTIC_UP_FRAME);
+    set_boxtype(fltk3::THIN_DOWN_FRAME, fltk3::PLASTIC_DOWN_FRAME);
 
-    set_boxtype(FL_UP_BOX,          FL_PLASTIC_UP_BOX);
-    set_boxtype(FL_DOWN_BOX,        FL_PLASTIC_DOWN_BOX);
-    set_boxtype(FL_THIN_UP_BOX,     FL_PLASTIC_THIN_UP_BOX);
-    set_boxtype(FL_THIN_DOWN_BOX,   FL_PLASTIC_THIN_DOWN_BOX);
-    set_boxtype(_FL_ROUND_UP_BOX,   FL_PLASTIC_ROUND_UP_BOX);
-    set_boxtype(_FL_ROUND_DOWN_BOX, FL_PLASTIC_ROUND_DOWN_BOX);
+    set_boxtype(fltk3::UP_BOX,          fltk3::PLASTIC_UP_BOX);
+    set_boxtype(fltk3::DOWN_BOX,        fltk3::PLASTIC_DOWN_BOX);
+    set_boxtype(fltk3::THIN_UP_BOX,     fltk3::PLASTIC_THIN_UP_BOX);
+    set_boxtype(fltk3::THIN_DOWN_BOX,   fltk3::PLASTIC_THIN_DOWN_BOX);
+    set_boxtype(fltk3::ROUND_UP_BOX,   fltk3::PLASTIC_ROUND_UP_BOX);
+    set_boxtype(fltk3::ROUND_DOWN_BOX, fltk3::PLASTIC_ROUND_DOWN_BOX);
 
     // Use standard size scrollbars...
-    Fl::scrollbar_size(16);
+    fltk3::scrollbar_size(16);
   } else if (scheme_ && !strcasecmp(scheme_, "gtk+")) {
     // Use a GTK+ inspired look-n-feel...
     if (scheme_bg_) {
@@ -372,20 +372,20 @@
       scheme_bg_ = (Fl_Image *)0;
     }
 
-    set_boxtype(FL_UP_FRAME,        FL_GTK_UP_FRAME);
-    set_boxtype(FL_DOWN_FRAME,      FL_GTK_DOWN_FRAME);
-    set_boxtype(FL_THIN_UP_FRAME,   FL_GTK_THIN_UP_FRAME);
-    set_boxtype(FL_THIN_DOWN_FRAME, FL_GTK_THIN_DOWN_FRAME);
+    set_boxtype(fltk3::UP_FRAME,        fltk3::GTK_UP_FRAME);
+    set_boxtype(fltk3::DOWN_FRAME,      fltk3::GTK_DOWN_FRAME);
+    set_boxtype(fltk3::THIN_UP_FRAME,   fltk3::GTK_THIN_UP_FRAME);
+    set_boxtype(fltk3::THIN_DOWN_FRAME, fltk3::GTK_THIN_DOWN_FRAME);
 
-    set_boxtype(FL_UP_BOX,          FL_GTK_UP_BOX);
-    set_boxtype(FL_DOWN_BOX,        FL_GTK_DOWN_BOX);
-    set_boxtype(FL_THIN_UP_BOX,     FL_GTK_THIN_UP_BOX);
-    set_boxtype(FL_THIN_DOWN_BOX,   FL_GTK_THIN_DOWN_BOX);
-    set_boxtype(_FL_ROUND_UP_BOX,   FL_GTK_ROUND_UP_BOX);
-    set_boxtype(_FL_ROUND_DOWN_BOX, FL_GTK_ROUND_DOWN_BOX);
+    set_boxtype(fltk3::UP_BOX,          fltk3::GTK_UP_BOX);
+    set_boxtype(fltk3::DOWN_BOX,        fltk3::GTK_DOWN_BOX);
+    set_boxtype(fltk3::THIN_UP_BOX,     fltk3::GTK_THIN_UP_BOX);
+    set_boxtype(fltk3::THIN_DOWN_BOX,   fltk3::GTK_THIN_DOWN_BOX);
+    set_boxtype(fltk3::ROUND_UP_BOX,   fltk3::GTK_ROUND_UP_BOX);
+    set_boxtype(fltk3::ROUND_DOWN_BOX, fltk3::GTK_ROUND_DOWN_BOX);
 
     // Use slightly thinner scrollbars...
-    Fl::scrollbar_size(15);
+    fltk3::scrollbar_size(15);
   } else {
     // Use the standard FLTK look-n-feel...
     if (scheme_bg_) {
@@ -393,25 +393,25 @@
       scheme_bg_ = (Fl_Image *)0;
     }
 
-    set_boxtype(FL_UP_FRAME,        fl_up_frame, D1, D1, D2, D2);
-    set_boxtype(FL_DOWN_FRAME,      fl_down_frame, D1, D1, D2, D2);
-    set_boxtype(FL_THIN_UP_FRAME,   fl_thin_up_frame, 1, 1, 2, 2);
-    set_boxtype(FL_THIN_DOWN_FRAME, fl_thin_down_frame, 1, 1, 2, 2);
+    set_boxtype(fltk3::UP_FRAME,        fl_up_frame, D1, D1, D2, D2);
+    set_boxtype(fltk3::DOWN_FRAME,      fl_down_frame, D1, D1, D2, D2);
+    set_boxtype(fltk3::THIN_UP_FRAME,   fl_thin_up_frame, 1, 1, 2, 2);
+    set_boxtype(fltk3::THIN_DOWN_FRAME, fl_thin_down_frame, 1, 1, 2, 2);
 
-    set_boxtype(FL_UP_BOX,          fl_up_box, D1, D1, D2, D2);
-    set_boxtype(FL_DOWN_BOX,        fl_down_box, D1, D1, D2, D2);
-    set_boxtype(FL_THIN_UP_BOX,     fl_thin_up_box, 1, 1, 2, 2);
-    set_boxtype(FL_THIN_DOWN_BOX,   fl_thin_down_box, 1, 1, 2, 2);
-    set_boxtype(_FL_ROUND_UP_BOX,   fl_round_up_box, 3, 3, 6, 6);
-    set_boxtype(_FL_ROUND_DOWN_BOX, fl_round_down_box, 3, 3, 6, 6);
+    set_boxtype(fltk3::UP_BOX,          fl_up_box, D1, D1, D2, D2);
+    set_boxtype(fltk3::DOWN_BOX,        fl_down_box, D1, D1, D2, D2);
+    set_boxtype(fltk3::THIN_UP_BOX,     fl_thin_up_box, 1, 1, 2, 2);
+    set_boxtype(fltk3::THIN_DOWN_BOX,   fl_thin_down_box, 1, 1, 2, 2);
+    set_boxtype(fltk3::ROUND_UP_BOX,   fl_round_up_box, 3, 3, 6, 6);
+    set_boxtype(fltk3::ROUND_DOWN_BOX, fl_round_down_box, 3, 3, 6, 6);
 
     // Use standard size scrollbars...
-    Fl::scrollbar_size(16);
+    fltk3::scrollbar_size(16);
   }
 
   // Set (or clear) the background tile for all windows...
   for (win = first_window(); win; win = next_window(win)) {
-    win->labeltype(scheme_bg_ ? FL_NORMAL_LABEL : FL_NO_LABEL);
+    win->labeltype(scheme_bg_ ? fltk3::NORMAL_LABEL : fltk3::NO_LABEL);
     win->align(FL_ALIGN_CENTER | FL_ALIGN_INSIDE | FL_ALIGN_CLIP);
     win->image(scheme_bg_);
     win->redraw();

Modified: branches/branch-3.0-2011/src/Fl_grab.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_grab.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_grab.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -26,7 +26,7 @@
 //
 
 #include <config.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
 
 ////////////////////////////////////////////////////////////////
@@ -34,7 +34,7 @@
 // Events are all sent to the "grab window", which does not even
 // have to be displayed (and in the case of Fl_Menu.cxx it isn't).
 // The system is also told to "grab" events and send them to this app.
-// This also modifies how Fl_Window::show() works, on X it turns on
+// This also modifies how fltk3::Window::show() works, on X it turns on
 // override_redirect, it does similar things on WIN32.
 
 extern void fl_fix_focus(); // in Fl.cxx
@@ -50,7 +50,7 @@
 extern void *fl_capture;
 #endif
 
-void Fl::grab(Fl_Window* win) {
+void fltk3::grab(fltk3::Window* win) {
   if (win) {
     if (!grab_) {
 #ifdef WIN32

Modified: branches/branch-3.0-2011/src/Fl_lock.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_lock.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_lock.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -26,7 +26,7 @@
 //
 
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <config.h>
 
 #include <stdlib.h>
@@ -48,31 +48,31 @@
 
    The API:
 
-   Fl::lock() - recursive lock.  You must call this before the
-   first call to Fl::wait()/run() to initialize the thread
+   fltk3::lock() - recursive lock.  You must call this before the
+   first call to fltk3::wait()/run() to initialize the thread
    system. The lock is locked all the time except when
-   Fl::wait() is waiting for events.
+   fltk3::wait() is waiting for events.
 
-   Fl::unlock() - release the recursive lock.
+   fltk3::unlock() - release the recursive lock.
 
-   Fl::awake(void*) - Causes Fl::wait() to return (with the lock
+   fltk3::awake(void*) - Causes fltk3::wait() to return (with the lock
    locked) even if there are no events ready.
 
-   Fl::awake(void (*cb)(void *), void*) - Call a function
+   fltk3::awake(void (*cb)(void *), void*) - Call a function
    in the main thread from within another thread of execution.
 
-   Fl::thread_message() - returns an argument sent to an
-   Fl::awake() call, or returns NULL if none.  WARNING: the
+   fltk3::thread_message() - returns an argument sent to an
+   fltk3::awake() call, or returns NULL if none.  WARNING: the
    current implementation only has a one-entry queue and only
    returns the most recent value!
 */
 
 #ifndef FL_DOXYGEN
-Fl_Awake_Handler *Fl::awake_ring_;
-void **Fl::awake_data_;
-int Fl::awake_ring_size_;
-int Fl::awake_ring_head_;
-int Fl::awake_ring_tail_;
+Fl_Awake_Handler *fltk3::awake_ring_;
+void **fltk3::awake_data_;
+int fltk3::awake_ring_size_;
+int fltk3::awake_ring_head_;
+int fltk3::awake_ring_tail_;
 #endif
 
 static const int AWAKE_RING_SIZE = 1024;
@@ -81,7 +81,7 @@
 
 
 /** Adds an awake handler for use in awake(). */
-int Fl::add_awake_handler_(Fl_Awake_Handler func, void *data)
+int fltk3::add_awake_handler_(Fl_Awake_Handler func, void *data)
 {
   int ret = 0;
   lock_ring();
@@ -104,7 +104,7 @@
   return ret;
 }
 /** Gets the last stored awake handler for use in awake(). */
-int Fl::get_awake_handler_(Fl_Awake_Handler &func, void *&data)
+int fltk3::get_awake_handler_(Fl_Awake_Handler &func, void *&data)
 {
   int ret = 0;
   lock_ring();
@@ -127,15 +127,15 @@
   and have it call a specific function
   See void awake(void* message=0). 
 */
-int Fl::awake(Fl_Awake_Handler func, void *data) {
+int fltk3::awake(Fl_Awake_Handler func, void *data) {
   int ret = add_awake_handler_(func, data);
-  Fl::awake();
+  fltk3::awake();
   return ret;
 }
 
 ////////////////////////////////////////////////////////////////
 // Windows threading...
-/** \fn void Fl::lock()
+/** \fn void fltk3::lock()
     The lock() method blocks the current thread until it
     can safely access FLTK widgets and data. Child threads should
     call this method prior to updating any widgets or accessing
@@ -153,7 +153,7 @@
     
     See also: \ref advanced_multithreading
 */
-/** \fn void Fl::unlock()
+/** \fn void fltk3::unlock()
     The unlock() method releases the lock that was set
     using the lock() method. Child
     threads should call this method as soon as they are finished
@@ -161,17 +161,17 @@
     
     See also: \ref advanced_multithreading
 */
-/** \fn void Fl::awake(void* msg)
+/** \fn void fltk3::awake(void* msg)
     The awake() method sends a message pointer to the main thread, 
-    causing any pending Fl::wait() call to 
+    causing any pending fltk3::wait() call to 
     terminate so that the main thread can retrieve the message and any pending 
     redraws can be processed.
     
-    Multiple calls to Fl::awake() will queue multiple pointers 
+    Multiple calls to fltk3::awake() will queue multiple pointers 
     for the main thread to process, up to a system-defined (typically several 
     thousand) depth. The default message handler saves the last message which 
     can be accessed using the 
-    Fl::thread_message() function.
+    fltk3::thread_message() function.
     
     The second form of awake() registers a function that will be 
     called by the main thread during the next message handling cycle. 
@@ -179,10 +179,10 @@
     and -1 if registration failed. Over a thousand awake callbacks can be
     registered simultaneously.
 
-    In the context of a threaded application, a call to Fl::awake() with no
+    In the context of a threaded application, a call to fltk3::awake() with no
     argument will trigger event loop handling in the main thread. Since
-    it is not possible to call Fl::flush() from a subsidiary thread,
-    Fl::awake() is the best (and only, really) substitute.
+    it is not possible to call fltk3::flush() from a subsidiary thread,
+    fltk3::awake() is the best (and only, really) substitute.
     
     See also: \ref advanced_multithreading
 */
@@ -230,7 +230,7 @@
   EnterCriticalSection(&cs);
 }
 
-void Fl::lock() {
+void fltk3::lock() {
   if (!main_thread) InitializeCriticalSection(&cs);
 
   lock_function();
@@ -242,11 +242,11 @@
   }
 }
 
-void Fl::unlock() {
+void fltk3::unlock() {
   unlock_function();
 }
 
-void Fl::awake(void* msg) {
+void fltk3::awake(void* msg) {
   PostThreadMessage( main_thread, fl_wake_msg, (WPARAM)msg, 0);
 }
 
@@ -257,10 +257,10 @@
 #  include <fcntl.h>
 #  include <pthread.h>
 
-// Pipe for thread messaging via Fl::awake()...
+// Pipe for thread messaging via fltk3::awake()...
 static int thread_filedes[2];
 
-// Mutex and state information for Fl::lock() and Fl::unlock()...
+// Mutex and state information for fltk3::lock() and fltk3::unlock()...
 static pthread_mutex_t fltk_mutex;
 static pthread_t owner;
 static int counter;
@@ -303,12 +303,12 @@
 }
 #  endif // PTHREAD_MUTEX_RECURSIVE
 
-void Fl::awake(void* msg) {
+void fltk3::awake(void* msg) {
   if (write(thread_filedes[1], &msg, sizeof(void*))==0) { /* ignore */ }
 }
 
 static void* thread_message_;
-void* Fl::thread_message() {
+void* fltk3::thread_message() {
   void* r = thread_message_;
   thread_message_ = 0;
   return r;
@@ -320,7 +320,7 @@
   }
   Fl_Awake_Handler func;
   void *data;
-  while (Fl::get_awake_handler_(func, data)==0) {
+  while (fltk3::get_awake_handler_(func, data)==0) {
     (*func)(data);
   }
 }
@@ -329,10 +329,10 @@
 extern void (*fl_lock_function)();
 extern void (*fl_unlock_function)();
 
-void Fl::lock() {
+void fltk3::lock() {
   if (!thread_filedes[1]) {
     // Initialize thread communication pipe to let threads awake FLTK
-    // from Fl::wait()
+    // from fltk3::wait()
     if (pipe(thread_filedes)==-1) {
       /* this should not happen */
     }
@@ -343,9 +343,9 @@
           fcntl(thread_filedes[1], F_GETFL) | O_NONBLOCK);
 
     // Monitor the read side of the pipe so that messages sent via
-    // Fl::awake() from a thread will "wake up" the main thread in
-    // Fl::wait().
-    Fl::add_fd(thread_filedes[0], FL_READ, thread_awake_cb);
+    // fltk3::awake() from a thread will "wake up" the main thread in
+    // fltk3::wait().
+    fltk3::add_fd(thread_filedes[0], FL_READ, thread_awake_cb);
 
     // Set lock/unlock functions for this system, using a system-supplied
     // recursive mutex if supported...
@@ -366,7 +366,7 @@
   fl_lock_function();
 }
 
-void Fl::unlock() {
+void fltk3::unlock() {
   fl_unlock_function();
 }
 
@@ -393,7 +393,7 @@
 void lock_ring() {
 }
 
-void Fl::awake(void*) {
+void fltk3::awake(void*) {
 }
 
 #endif // WIN32

Modified: branches/branch-3.0-2011/src/Fl_mac.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_mac.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_mac.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -59,9 +59,9 @@
 }
 
 #include <config.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/Window.h>
 #include <fltk3/Fl_Tooltip.H>
 #include <fltk3/Fl_Sys_Menu_Bar.H>
 #include <stdio.h>
@@ -82,7 +82,7 @@
 #endif /*DEBUG_SELECT*/
 
 // external functions
-extern Fl_Window* fl_find(Window);
+extern fltk3::Window* fl_find(Window);
 extern void fl_fix_focus();
 
 // forward definition of functions in this file
@@ -100,25 +100,25 @@
 CursHandle fl_default_cursor;
 WindowRef fl_capture = 0;            // we need this to compensate for a missing(?) mouse capture
 ulong fl_event_time;                 // the last timestamp from an x event
-char fl_key_vector[32];              // used by Fl::get_key()
+char fl_key_vector[32];              // used by fltk3::get_key()
 bool fl_show_iconic;                 // true if called from iconize() - shows the next created window in collapsed state
 int fl_disable_transient_for;        // secret method of removing TRANSIENT_FOR
-const Fl_Window* fl_modal_for;       // parent of modal() window
+const fltk3::Window* fl_modal_for;       // parent of modal() window
 Fl_Region fl_window_region = 0;
 Window fl_window;
-Fl_Window *Fl_Window::current_;
+fltk3::Window *fltk3::Window::current_;
 EventRef fl_os_event;		// last (mouse) event
 
 // forward declarations of variables in this file
 static int got_events = 0;
-static Fl_Window* resize_from_system;
+static fltk3::Window* resize_from_system;
 static CursPtr default_cursor_ptr;
 static Cursor default_cursor;
 static WindowRef fl_os_capture = 0; // the dispatch handler will redirect mose move and drag events to these windows
 
 #if CONSOLIDATE_MOTION
-static Fl_Window* send_motion;
-extern Fl_Window* fl_xmousewin;
+static fltk3::Window* send_motion;
+extern fltk3::Window* fl_xmousewin;
 #endif
 
 enum { kEventClassFLTK = 'fltk' };
@@ -129,7 +129,7 @@
 {
 }
 
-void fl_set_spot(int font, int size, int X, int Y, int W, int H, Fl_Window *win)
+void fl_set_spot(int font, int size, int X, int Y, int W, int H, fltk3::Window *win)
 {
 }
 
@@ -181,9 +181,9 @@
   if ( mods & (controlKey|rightControlKey) ) state |= FL_CTRL;
   if ( mods & (shiftKey|rightShiftKey) ) state |= FL_SHIFT;
   if ( mods & alphaLock ) state |= FL_CAPS_LOCK;
-  unsigned int ret = ( Fl::e_state & 0xff000000 ) | state;
-  Fl::e_state = ret;
-  //printf( "State 0x%08x (%04x)\n", Fl::e_state, mods );
+  unsigned int ret = ( fltk3::e_state & 0xff000000 ) | state;
+  fltk3::e_state = ret;
+  //printf( "State 0x%08x (%04x)\n", fltk3::e_state, mods );
   return ret;
 }
 
@@ -193,19 +193,19 @@
  */
 static void mods_to_e_keysym( UInt32 mods )
 {
-  if ( mods & cmdKey ) Fl::e_keysym = FL_Meta_L;
-  else if ( mods & kEventKeyModifierNumLockMask ) Fl::e_keysym = FL_Num_Lock;
-  else if ( mods & optionKey ) Fl::e_keysym = FL_Alt_L;
-  else if ( mods & rightOptionKey ) Fl::e_keysym = FL_Alt_R;
-  else if ( mods & controlKey ) Fl::e_keysym = FL_Control_L;
-  else if ( mods & rightControlKey ) Fl::e_keysym = FL_Control_R;
-  else if ( mods & shiftKey ) Fl::e_keysym = FL_Shift_L;
-  else if ( mods & rightShiftKey ) Fl::e_keysym = FL_Shift_R;
-  else if ( mods & alphaLock ) Fl::e_keysym = FL_Caps_Lock;
-  else Fl::e_keysym = 0;
-  //printf( "to sym 0x%08x (%04x)\n", Fl::e_keysym, mods );
+  if ( mods & cmdKey ) fltk3::e_keysym = FL_Meta_L;
+  else if ( mods & kEventKeyModifierNumLockMask ) fltk3::e_keysym = FL_Num_Lock;
+  else if ( mods & optionKey ) fltk3::e_keysym = FL_Alt_L;
+  else if ( mods & rightOptionKey ) fltk3::e_keysym = FL_Alt_R;
+  else if ( mods & controlKey ) fltk3::e_keysym = FL_Control_L;
+  else if ( mods & rightControlKey ) fltk3::e_keysym = FL_Control_R;
+  else if ( mods & shiftKey ) fltk3::e_keysym = FL_Shift_L;
+  else if ( mods & rightShiftKey ) fltk3::e_keysym = FL_Shift_R;
+  else if ( mods & alphaLock ) fltk3::e_keysym = FL_Caps_Lock;
+  else fltk3::e_keysym = 0;
+  //printf( "to sym 0x%08x (%04x)\n", fltk3::e_keysym, mods );
 }
-// these pointers are set by the Fl::lock() function:
+// these pointers are set by the fltk3::lock() function:
 static void nothing() {}
 void (*fl_lock_function)() = nothing;
 void (*fl_unlock_function)() = nothing;
@@ -213,7 +213,7 @@
 //
 // Select interface -- how it's implemented:
 //     When the user app configures one or more file descriptors to monitor
-//     with Fl::add_fd(), we start a separate thread to select() the  data,
+//     with fltk3::add_fd(), we start a separate thread to select() the  data,
 //     sending a custom OSX 'FLTK data ready event' to the parent  thread's
 //     RunApplicationLoop(), so that it triggers the data  ready  callbacks
 //     in the parent thread.                               -erco 04/04/04
@@ -462,16 +462,16 @@
   DataUnlock();
 }
 
-void Fl::add_fd( int n, int events, void (*cb)(int, void*), void *v )
+void fltk3::add_fd( int n, int events, void (*cb)(int, void*), void *v )
     { dataready.AddFD(n, events, cb, v); }
 
-void Fl::add_fd(int fd, void (*cb)(int, void*), void* v)
+void fltk3::add_fd(int fd, void (*cb)(int, void*), void* v)
     { dataready.AddFD(fd, POLLIN, cb, v); }
 
-void Fl::remove_fd(int n, int events)
+void fltk3::remove_fd(int n, int events)
     { dataready.RemoveFD(n, events); }
 
-void Fl::remove_fd(int n)
+void fltk3::remove_fd(int n)
     { dataready.RemoveFD(n, -1); }
 
 /**
@@ -775,7 +775,7 @@
 #if CONSOLIDATE_MOTION
   if (send_motion && send_motion == fl_xmousewin) {
     send_motion = 0;
-    Fl::handle(FL_MOVE, fl_xmousewin);
+    fltk3::handle(FL_MOVE, fl_xmousewin);
   }
 #endif
 
@@ -807,7 +807,7 @@
 
   while ( Fl_X::first ) {
     Fl_X *x = Fl_X::first;
-    Fl::handle( FL_CLOSE, x->w );
+    fltk3::handle( FL_CLOSE, x->w );
     if ( Fl_X::first == x ) {
       fl_unlock_function();
       return noErr; // FLTK has not close all windows, so we return to the main program now
@@ -828,12 +828,12 @@
 {
   UInt32 kind = GetEventKind( event );
   OSStatus ret = eventNotHandledErr;
-  Fl_Window *window = (Fl_Window*)userData;
-  Fl::first_window(window);
+  fltk3::Window *window = (fltk3::Window*)userData;
+  fltk3::first_window(window);
 
   Rect currentBounds, originalBounds;
   WindowClass winClass;
-  static Fl_Window *activeWindow = 0;
+  static fltk3::Window *activeWindow = 0;
   
   fl_lock_function();
   
@@ -866,22 +866,22 @@
     {
       GetWindowClass( fl_xid( window ), &winClass );
       if ( winClass != kHelpWindowClass ) {	// help windows can't get the focus!
-        Fl::handle( FL_FOCUS, window);
+        fltk3::handle( FL_FOCUS, window);
         activeWindow = window;
       }
-      Fl::handle( FL_SHOW, window);
+      fltk3::handle( FL_SHOW, window);
       mods_to_e_state(GetCurrentKeyModifiers());
     }
     break;
   case kEventWindowHidden:
-    if ( !window->parent() ) Fl::handle( FL_HIDE, window);
+    if ( !window->parent() ) fltk3::handle( FL_HIDE, window);
     break;
   case kEventWindowActivated:
     if ( window->shown() && window!=activeWindow )
     {
       GetWindowClass( fl_xid( window ), &winClass );
       if ( winClass != kHelpWindowClass ) {	// help windows can't get the focus!
-        Fl::handle( FL_FOCUS, window);
+        fltk3::handle( FL_FOCUS, window);
         activeWindow = window;
       }
     }
@@ -889,12 +889,12 @@
   case kEventWindowDeactivated:
     if ( window==activeWindow ) 
     {
-      Fl::handle( FL_UNFOCUS, window);
+      fltk3::handle( FL_UNFOCUS, window);
       activeWindow = 0;
     }
     break;
   case kEventWindowClose:
-    Fl::handle( FL_CLOSE, window ); // this might or might not close the window
+    fltk3::handle( FL_CLOSE, window ); // this might or might not close the window
     // if there are no more windows, send a high-level quit event
     if (!Fl_X::first) QuitAppleEventHandler( 0, 0, 0 );
     ret = noErr; // returning noErr tells Carbon to stop following up on this event
@@ -925,13 +925,13 @@
   fl_lock_function();
 
   fl_os_event = event;
-  Fl_Window *window = (Fl_Window*)userData;
+  fltk3::Window *window = (fltk3::Window*)userData;
   if ( !window->shown() )
   {
     fl_unlock_function();
     return noErr;
   }
-  Fl::first_window(window);
+  fltk3::first_window(window);
 
   EventMouseWheelAxis axis;
   GetEventParameter( event, kEventParamMouseWheelAxis, typeMouseWheelAxis, NULL, sizeof(EventMouseWheelAxis), NULL, &axis );
@@ -939,13 +939,13 @@
   GetEventParameter( event, kEventParamMouseWheelDelta, typeLongInteger, NULL, sizeof(long), NULL, &delta );
 //  fprintf(stderr, "axis=%d, delta=%d\n", axis, delta);
   if ( axis == kEventMouseWheelAxisX ) {
-    Fl::e_dx = -delta;
-    Fl::e_dy = 0;
-    if ( Fl::e_dx) Fl::handle( FL_MOUSEWHEEL, window );
+    fltk3::e_dx = -delta;
+    fltk3::e_dy = 0;
+    if ( fltk3::e_dx) fltk3::handle( FL_MOUSEWHEEL, window );
   } else if ( axis == kEventMouseWheelAxisY ) {
-    Fl::e_dx = 0;
-    Fl::e_dy = -delta;
-    if ( Fl::e_dy) Fl::handle( FL_MOUSEWHEEL, window );
+    fltk3::e_dx = 0;
+    fltk3::e_dy = -delta;
+    if ( fltk3::e_dy) fltk3::handle( FL_MOUSEWHEEL, window );
   } else {
     fl_unlock_function();
 
@@ -969,7 +969,7 @@
     FL_BUTTON2|FL_BUTTON1, FL_BUTTON2|FL_BUTTON3, 
     FL_BUTTON2|FL_BUTTON1|FL_BUTTON3
   };
-  Fl::e_state = ( Fl::e_state & 0xff0000 ) | state[ chord & 0x07 ];
+  fltk3::e_state = ( fltk3::e_state & 0xff0000 ) | state[ chord & 0x07 ];
 }
 
 
@@ -985,13 +985,13 @@
   fl_lock_function();
   
   fl_os_event = event;
-  Fl_Window *window = (Fl_Window*)userData;
+  fltk3::Window *window = (fltk3::Window*)userData;
   if ( !window->shown() )
   {
     fl_unlock_function();
     return noErr;
   }
-  Fl::first_window(window);
+  fltk3::first_window(window);
   Point pos;
   GetEventParameter( event, kEventParamMouseLocation, typeQDPoint, NULL, sizeof(Point), NULL, &pos );
   EventMouseButton btn;
@@ -1006,7 +1006,7 @@
   {
   case kEventMouseDown:
     part = FindWindow( pos, &tempXid );
-    if (!(Fl::grab() && window!=Fl::grab())) {
+    if (!(fltk3::grab() && window!=fltk3::grab())) {
       if ( part == inGrow ) {
         fl_unlock_function();
         suppressed = 1;
@@ -1028,11 +1028,11 @@
     // normal handling of mouse-down follows
     fl_os_capture = xid;
     sendEvent = FL_PUSH;
-    Fl::e_is_click = 1; px = pos.h; py = pos.v;
+    fltk3::e_is_click = 1; px = pos.h; py = pos.v;
     if (clickCount>1) 
-      Fl::e_clicks++;
+      fltk3::e_clicks++;
     else
-      Fl::e_clicks = 0;
+      fltk3::e_clicks = 0;
     // fall through
   case kEventMouseUp:
     if (suppressed) {
@@ -1043,7 +1043,7 @@
     if ( !sendEvent ) {
       sendEvent = FL_RELEASE; 
     }
-    Fl::e_keysym = keysym[ btn ];
+    fltk3::e_keysym = keysym[ btn ];
     // fall through
   case kEventMouseMoved:
     suppressed = 0;
@@ -1054,28 +1054,28 @@
   case kEventMouseDragged:
     if (suppressed) break;
     if ( !sendEvent ) {
-      sendEvent = FL_MOVE; // Fl::handle will convert into FL_DRAG
+      sendEvent = FL_MOVE; // fltk3::handle will convert into FL_DRAG
       if (abs(pos.h-px)>5 || abs(pos.v-py)>5) 
-        Fl::e_is_click = 0;
+        fltk3::e_is_click = 0;
     }
     chord_to_e_state( chord );
     GrafPtr oldPort;
     GetPort( &oldPort );
     SetPort( GetWindowPort(xid) ); // \todo replace this! There must be some GlobalToLocal call that has a port as an argument
     SetOrigin(0, 0);
-    Fl::e_x_root = pos.h;
-    Fl::e_y_root = pos.v;
+    fltk3::e_x_root = pos.h;
+    fltk3::e_y_root = pos.v;
     GlobalToLocal( &pos );
-    Fl::e_x = pos.h;
-    Fl::e_y = pos.v;
+    fltk3::e_x = pos.h;
+    fltk3::e_y = pos.v;
     SetPort( oldPort );
     if (GetEventKind(event)==kEventMouseDown && part!=inContent) {
-      int used = Fl::handle( sendEvent, window );
+      int used = fltk3::handle( sendEvent, window );
       CallNextEventHandler( nextHandler, event ); // let the OS handle this for us
       if (!used) 
         suppressed = 1;
     } else {
-      Fl::handle( sendEvent, window );
+      fltk3::handle( sendEvent, window );
     }
     break;
   }
@@ -1241,8 +1241,8 @@
 pascal OSStatus carbonTextHandler( 
   EventHandlerCallRef nextHandler, EventRef event, void *userData )
 {
-  Fl_Window *window = (Fl_Window*)userData;
-  Fl::first_window(window);
+  fltk3::Window *window = (fltk3::Window*)userData;
+  fltk3::first_window(window);
   fl_lock_function();
   //int kind = GetEventKind(event);
   unsigned short buf[200];
@@ -1254,17 +1254,17 @@
   unsigned ucs = buf[0];
   char utf8buf[20];
   int len = fl_utf8encode(ucs, utf8buf);
-  Fl::e_length = len;
-  Fl::e_text = utf8buf;
+  fltk3::e_length = len;
+  fltk3::e_text = utf8buf;
   while (window->parent()) window = window->window();
-  Fl::handle(FL_KEYBOARD, window);
+  fltk3::handle(FL_KEYBOARD, window);
   fl_unlock_function();
   fl_lock_function();
-  Fl::handle(FL_KEYUP, window);
+  fltk3::handle(FL_KEYUP, window);
   fl_unlock_function();
   // for some reason, the window does not redraw until the next mouse move or button push
   // sending a 'redraw()' or 'awake()' does not solve the issue!
-  Fl::flush();
+  fltk3::flush();
   return noErr;
 }  
 
@@ -1276,8 +1276,8 @@
 {
   static char buffer[32];
   int sendEvent = 0;
-  Fl_Window *window = (Fl_Window*)userData;
-  Fl::first_window(window);
+  fltk3::Window *window = (fltk3::Window*)userData;
+  fltk3::first_window(window);
   UInt32 mods;
   static UInt32 prevMods = mods_to_e_state( GetCurrentKeyModifiers() );
 
@@ -1331,9 +1331,9 @@
       const void *kchar = 0; KLGetKeyboardLayoutProperty(klr, kKLKCHRData, &kchar);
       KeyTranslate(kchar, (mods&0xff00) | keyCode, &ktState); // send the dead key
       key = KeyTranslate(kchar, 0x31, &ktState); // fake a space key press
-      Fl::e_state |= 0x40000000; // mark this as a dead key
+      fltk3::e_state |= 0x40000000; // mark this as a dead key
     } else {
-      Fl::e_state &= 0xbfffffff; // clear the deadkey flag
+      fltk3::e_state &= 0xbfffffff; // clear the deadkey flag
     }
 */
     sendEvent = FL_KEYBOARD;
@@ -1341,18 +1341,18 @@
   case kEventRawKeyUp:
     if ( !sendEvent ) {
       sendEvent = FL_KEYUP;
-      Fl::e_state &= 0xbfffffff; // clear the deadkey flag
+      fltk3::e_state &= 0xbfffffff; // clear the deadkey flag
     }
     // if the user pressed alt/option, event_key should have the keycap, 
     // but event_text should generate the international symbol
     sym = macKeyLookUp[maskedKeyCode];
     if ( isalpha(key) )
       sym = tolower(key);
-    else if ( Fl::e_state&FL_CTRL && key<32 && sym<0xff00)
+    else if ( fltk3::e_state&FL_CTRL && key<32 && sym<0xff00)
       sym = key+96;
-    else if ( Fl::e_state&FL_ALT && sym<0xff00) // find the keycap of this key
+    else if ( fltk3::e_state&FL_ALT && sym<0xff00) // find the keycap of this key
       sym = keycode_to_sym( maskedKeyCode, 0, macKeyLookUp[ maskedKeyCode ] );
-    Fl::e_keysym = Fl::e_original_keysym = sym;
+    fltk3::e_keysym = fltk3::e_original_keysym = sym;
     // Handle FL_KP_Enter on regular keyboards and on Powerbooks
     if ( maskedKeyCode==0x4c || maskedKeyCode==0x34) key=0x0d;    
     // Handle the Delete key on the keypad
@@ -1365,18 +1365,18 @@
     // imm:  keycode_function function pointer added to allow us to use different functions
     // imm:  depending on which OS version we are running on (tested and set in fl_open_display)
     static UInt32 deadKeyState = 0; // must be cleared when losing focus
-    Fl::e_length = (*keycode_function)(buffer, 31, kind, keyCode, mods, &deadKeyState, key, sym);
-    Fl::e_text = buffer;
-    buffer[Fl::e_length] = 0; // just in case...
+    fltk3::e_length = (*keycode_function)(buffer, 31, kind, keyCode, mods, &deadKeyState, key, sym);
+    fltk3::e_text = buffer;
+    buffer[fltk3::e_length] = 0; // just in case...
     break;
   case kEventRawKeyModifiersChanged: {
     UInt32 tMods = prevMods ^ mods;
     if ( tMods )
     {
       mods_to_e_keysym( tMods );
-      if ( Fl::e_keysym ) 
+      if ( fltk3::e_keysym ) 
         sendEvent = ( prevMods<mods ) ? FL_KEYBOARD : FL_KEYUP;
-      Fl::e_length = 0;
+      fltk3::e_length = 0;
       buffer[0] = 0;
       prevMods = mods;
     }
@@ -1384,7 +1384,7 @@
     break; }
   }
   while (window->parent()) window = window->window();
-  if (sendEvent && Fl::handle(sendEvent,window)) {
+  if (sendEvent && fltk3::handle(sendEvent,window)) {
     fl_unlock_function();  
     return noErr; // return noErr if FLTK handled the event
   } else {
@@ -1577,7 +1577,7 @@
 /**
  * smallest x ccordinate in screen space
  */
-int Fl::x() {
+int fltk3::x() {
   BitMap r;
   GetQDGlobalsScreenBits(&r);
   return r.bounds.left;
@@ -1587,7 +1587,7 @@
 /**
  * smallest y ccordinate in screen space
  */
-int Fl::y() {
+int fltk3::y() {
   BitMap r;
   GetQDGlobalsScreenBits(&r);
   return r.bounds.top + 20; // \todo 20 pixel menu bar?
@@ -1597,7 +1597,7 @@
 /**
  * screen width (single monitor!?)
  */
-int Fl::w() {
+int fltk3::w() {
   BitMap r;
   GetQDGlobalsScreenBits(&r);
   return r.bounds.right - r.bounds.left;
@@ -1607,7 +1607,7 @@
 /**
  * screen height (single monitor!?)
  */
-int Fl::h() {
+int fltk3::h() {
   BitMap r;
   GetQDGlobalsScreenBits(&r);
   return r.bounds.bottom - r.bounds.top - 20;
@@ -1617,7 +1617,7 @@
 /**
  * get the current mouse pointer world coordinates
  */
-void Fl::get_mouse(int &x, int &y) 
+void fltk3::get_mouse(int &x, int &y) 
 {
   fl_open_display();
   Point loc; 
@@ -1655,11 +1655,11 @@
  * Handle all clipping and redraw for the given port
  * There are two different callers for this event:
  * 1: the OS can request a redraw and provides all clipping itself
- * 2: Fl::flush() wants all redraws now
+ * 2: fltk3::flush() wants all redraws now
  */    
 void handleUpdateEvent( WindowPtr xid ) 
 {
-  Fl_Window *window = fl_find( xid );
+  fltk3::Window *window = fl_find( xid );
   if ( !window ) return;
   GrafPtr oldPort;
   GetPort( &oldPort );
@@ -1731,7 +1731,7 @@
 /**
  * \todo this is a leftover from OS9 times. Please check how much applies to Carbon!
  */
-int Fl_X::fake_X_wm(const Fl_Window* w,int &X,int &Y, int &bt,int &bx, int &by) {
+int Fl_X::fake_X_wm(const fltk3::Window* w,int &X,int &Y, int &bt,int &bx, int &by) {
   int W, H, xoff, yoff, dx, dy;
   int ret = bx = by = bt = 0;
   if (w->border() && !w->parent()) {
@@ -1854,7 +1854,7 @@
 static char *currDragData = 0L;
 static int currDragSize = 0; 
 static OSErr currDragErr = noErr;
-Fl_Window *fl_dnd_target_window = 0;
+fltk3::Window *fl_dnd_target_window = 0;
 #include <fltk3/fl_draw.H>
 
 /**
@@ -1979,26 +1979,26 @@
  */
 static pascal OSErr dndTrackingHandler( DragTrackingMessage msg, WindowPtr w, void *userData, DragReference dragRef )
 {
-  Fl_Window *target = (Fl_Window*)userData;
-  Fl::first_window(target);
+  fltk3::Window *target = (fltk3::Window*)userData;
+  fltk3::first_window(target);
   Point mp;
   static int px, py;
   
   fillCurrentDragData(dragRef);
-  Fl::e_length = currDragSize;
-  Fl::e_text = currDragData;
+  fltk3::e_length = currDragSize;
+  fltk3::e_text = currDragData;
   
   switch ( msg )
   {
   case kDragTrackingEnterWindow:
     // check if 'TEXT' is available
     GetDragMouse( dragRef, &mp, 0 );
-    Fl::e_x_root = px = mp.h;
-    Fl::e_y_root = py = mp.v;
-    Fl::e_x = px - target->x();
-    Fl::e_y = py - target->y();
+    fltk3::e_x_root = px = mp.h;
+    fltk3::e_y_root = py = mp.v;
+    fltk3::e_x = px - target->x();
+    fltk3::e_y = py - target->y();
     fl_dnd_target_window = target;
-    if ( Fl::handle( FL_DND_ENTER, target ) )
+    if ( fltk3::handle( FL_DND_ENTER, target ) )
       fl_cursor( FL_CURSOR_HAND ); //ShowDragHilite( ); // modify the mouse cursor?!
     else
       fl_cursor( FL_CURSOR_DEFAULT ); //HideDragHilite( dragRef );
@@ -2008,12 +2008,12 @@
     GetDragMouse( dragRef, &mp, 0 );
     if ( mp.h==px && mp.v==py )
       break;	//+ return previous condition for dnd hiliting
-    Fl::e_x_root = px = mp.h;
-    Fl::e_y_root = py = mp.v;
-    Fl::e_x = px - target->x();
-    Fl::e_y = py - target->y();
+    fltk3::e_x_root = px = mp.h;
+    fltk3::e_y_root = py = mp.v;
+    fltk3::e_x = px - target->x();
+    fltk3::e_y = py - target->y();
     fl_dnd_target_window = target;
-    if ( Fl::handle( FL_DND_DRAG, target ) )
+    if ( fltk3::handle( FL_DND_DRAG, target ) )
       fl_cursor( FL_CURSOR_HAND ); //ShowDragHilite( ); // modify the mouse cursor?!
     else
       fl_cursor( FL_CURSOR_DEFAULT ); //HideDragHilite( dragRef );
@@ -2025,7 +2025,7 @@
     fl_cursor( FL_CURSOR_DEFAULT ); //HideDragHilite( dragRef );
     if ( fl_dnd_target_window )
     {
-      Fl::handle( FL_DND_LEAVE, fl_dnd_target_window );
+      fltk3::handle( FL_DND_LEAVE, fl_dnd_target_window );
       fl_dnd_target_window = 0;
     }
     breakMacEventLoop();
@@ -2043,34 +2043,34 @@
   Point mp;
   OSErr ret;
   
-  Fl_Window *target = fl_dnd_target_window = (Fl_Window*)userData;
-  Fl::first_window(target);
+  fltk3::Window *target = fl_dnd_target_window = (fltk3::Window*)userData;
+  fltk3::first_window(target);
   GetDragMouse( dragRef, &mp, 0 );
-  Fl::e_x_root = mp.h;
-  Fl::e_y_root = mp.v;
-  Fl::e_x = Fl::e_x_root - target->x();
-  Fl::e_y = Fl::e_y_root - target->y();
-  if ( !Fl::handle( FL_DND_RELEASE, target ) )
+  fltk3::e_x_root = mp.h;
+  fltk3::e_y_root = mp.v;
+  fltk3::e_x = fltk3::e_x_root - target->x();
+  fltk3::e_y = fltk3::e_y_root - target->y();
+  if ( !fltk3::handle( FL_DND_RELEASE, target ) )
     return userCanceledErr;
 
   ret = fillCurrentDragData(dragRef);
   if (ret==userCanceledErr)
     return userCanceledErr;
   
-  Fl::e_length = currDragSize;
-  Fl::e_text = currDragData;
-//  printf("Sending following text to widget %p:\n%s\n", Fl::belowmouse(), Fl::e_text);
-  int old_event = Fl::e_number;
-  Fl::belowmouse()->handle(Fl::e_number = FL_PASTE);
-  Fl::e_number = old_event;
+  fltk3::e_length = currDragSize;
+  fltk3::e_text = currDragData;
+//  printf("Sending following text to widget %p:\n%s\n", fltk3::belowmouse(), fltk3::e_text);
+  int old_event = fltk3::e_number;
+  fltk3::belowmouse()->handle(fltk3::e_number = FL_PASTE);
+  fltk3::e_number = old_event;
   
   if (currDragData) {
     free(currDragData);
   }
   currDragData = 0L;
   currDragRef = 0;
-  Fl::e_text = 0L;
-  Fl::e_length = 0;
+  fltk3::e_text = 0L;
+  fltk3::e_length = 0;
   fl_dnd_target_window = 0L;
   
   breakMacEventLoop();
@@ -2099,7 +2099,7 @@
  * go ahead, create that (sub)window
  * \todo we should make menu windows slightly transparent for the new Mac look
  */
-void Fl_X::make(Fl_Window* w)
+void Fl_X::make(fltk3::Window* w)
 {
   static int xyPos = 100;
   if ( w->parent() ) // create a subwindow
@@ -2117,7 +2117,7 @@
     x->subRegion = 0;
     x->cursor = fl_default_cursor;
     x->gc = 0; // stay 0 for Quickdraw; fill with CGContext for Quartz
-    Fl_Window *win = w->window();
+    fltk3::Window *win = w->window();
     Fl_X *xo = Fl_X::i(win);
     if (xo) {
       x->xidNext = xo->xidChildren;
@@ -2128,9 +2128,9 @@
       x->wait_for_expose = 0;
       x->next = Fl_X::first; // must be in the list for ::flush()
       Fl_X::first = x;
-      int old_event = Fl::e_number;
-      w->handle(Fl::e_number = FL_SHOW);
-      Fl::e_number = old_event;
+      int old_event = fltk3::e_number;
+      w->handle(fltk3::e_number = FL_SHOW);
+      fltk3::e_number = old_event;
       w->redraw(); // force draw to happen
     }
     fl_show_iconic = 0;
@@ -2179,12 +2179,12 @@
     }
     if (!(w->flags() & Fl_Widget::FORCE_POSITION)) {
       // use the Carbon functions below for default window positioning
-      w->x(xyPos+Fl::x());
-      w->y(xyPos+Fl::y());
+      w->x(xyPos+fltk3::x());
+      w->y(xyPos+fltk3::y());
       xyPos += 25;
       if (xyPos>200) xyPos = 100;
     } else {
-      if (!Fl::grab()) {
+      if (!fltk3::grab()) {
         xp = xwm; yp = ywm;
         w->x(xp);w->y(yp);
       }
@@ -2194,7 +2194,7 @@
 
     if (w->non_modal() && Fl_X::first && !fl_disable_transient_for) {
       // find some other window to be "transient for":
-      Fl_Window* w = Fl_X::first->w;
+      fltk3::Window* w = Fl_X::first->w;
       while (w->parent()) w = w->window(); // todo: this code does not make any sense! (w!=w??)
     }
 
@@ -2311,12 +2311,12 @@
     w->x(rect.left); w->y(rect.top);
     w->w(rect.right-rect.left); w->h(rect.bottom-rect.top);
 
-    int old_event = Fl::e_number;
-    w->handle(Fl::e_number = FL_SHOW);
-    Fl::e_number = old_event;
+    int old_event = fltk3::e_number;
+    w->handle(fltk3::e_number = FL_SHOW);
+    fltk3::e_number = old_event;
     w->redraw(); // force draw to happen
     
-    if (w->modal()) { Fl::modal_ = w; fl_fix_focus(); }
+    if (w->modal()) { fltk3::modal_ = w; fl_fix_focus(); }
   }
 }
 
@@ -2324,7 +2324,7 @@
 /**
  * Tell the OS what window sizes we want to allow
  */
-void Fl_Window::size_range_() {
+void fltk3::Window::size_range_() {
   size_range_set = 1;
   HISize minSize = { minw, minh };
   HISize maxSize = { maxw?maxw:32000, maxh?maxh:32000 };
@@ -2359,7 +2359,7 @@
  * set the window title bar
  * \todo make the titlebar icon work!
  */
-void Fl_Window::label(const char *name,const char */*iname*/) {
+void fltk3::Window::label(const char *name,const char */*iname*/) {
   Fl_Widget::label(name);
 
   if (shown() || i) {
@@ -2371,9 +2371,9 @@
 /**
  * make a window visible
  */
-void Fl_Window::show() {
-  image(Fl::scheme_bg_);
-  if (Fl::scheme_bg_) {
+void fltk3::Window::show() {
+  image(fltk3::scheme_bg_);
+  if (fltk3::scheme_bg_) {
     labeltype(FL_NORMAL_LABEL);
     align(FL_ALIGN_CENTER | FL_ALIGN_INSIDE | FL_ALIGN_CLIP);
   } else {
@@ -2398,7 +2398,7 @@
 /**
  * resize a window
  */
-void Fl_Window::resize(int X,int Y,int W,int H) {
+void fltk3::Window::resize(int X,int Y,int W,int H) {
   if (W<=0) W = 1; // OS X does not like zero width windows
   if (H<=0) H = 1;
   int is_a_resize = (W != w() || H != h());
@@ -2440,7 +2440,7 @@
 /**
  * make all drawing go into this window (called by subclass flush() impl.)
  */
-void Fl_Window::make_current() 
+void fltk3::Window::make_current() 
 {
   OSStatus err;
   Fl_X::q_release_context();
@@ -2452,14 +2452,14 @@
   SetPort( GetWindowPort(i->xid) ); // \todo check for the handling of doublebuffered windows
 
   int xp = 0, yp = 0;
-  Fl_Window *win = this;
+  fltk3::Window *win = this;
   while ( win ) 
   {
     if ( !win->window() )
       break;
     xp += win->x();
     yp += win->y();
-    win = (Fl_Window*)win->window();
+    win = (fltk3::Window*)win->window();
   }
   SetOrigin( -xp, -yp );
   
@@ -2468,7 +2468,7 @@
   // \todo for performance reasons: we don't have to create this unless the child windows moved
   for ( Fl_X *cx = i->xidChildren; cx; cx = cx->xidNext )
   {
-    Fl_Window *cw = cx->w;
+    fltk3::Window *cw = cx->w;
     if (!cw->visible_r()) continue;
     Fl_Region r = NewRgn();
     SetRectRgn( r, cw->x() - xp, cw->y() - yp, 
@@ -2484,7 +2484,7 @@
   CGContextSaveGState(fl_gc);
   Fl_X::q_fill_context();
 #if defined(USE_CAIRO)
-   if (Fl::cairo_autolink_context()) Fl::cairo_make_current(this); // capture gc changes automatically to update the cairo context adequately
+   if (fltk3::cairo_autolink_context()) fltk3::cairo_make_current(this); // capture gc changes automatically to update the cairo context adequately
 #endif
 
   fl_clip_region( 0 );
@@ -2492,7 +2492,7 @@
 
 #if defined(USE_CAIRO)
   // update the cairo_t context
-  if (Fl::cairo_autolink_context()) Fl::cairo_make_current(this);
+  if (fltk3::cairo_autolink_context()) fltk3::cairo_make_current(this);
 #endif
 }
 
@@ -2541,7 +2541,7 @@
   }
   fl_gc = 0;
 #if defined(USE_CAIRO)
-  if (Fl::cairo_autolink_context()) Fl::cairo_make_current((Fl_Window*) 0); // capture gc changes automatically to update the cairo context adequately
+  if (fltk3::cairo_autolink_context()) fltk3::cairo_make_current((fltk3::Window*) 0); // capture gc changes automatically to update the cairo context adequately
 #endif
 }
 
@@ -2604,7 +2604,7 @@
  * stuff: pointer to selected data
  * size of selected data
  */
-void Fl::copy(const char *stuff, int len, int clipboard) {
+void fltk3::copy(const char *stuff, int len, int clipboard) {
   if (!stuff || len<0) return;
   if (len+1 > fl_selection_buffer_length[clipboard]) {
     delete[] fl_selection_buffer[clipboard];
@@ -2643,7 +2643,7 @@
 }
 
 // Call this when a "paste" operation happens:
-void Fl::paste(Fl_Widget &receiver, int clipboard) {
+void fltk3::paste(Fl_Widget &receiver, int clipboard) {
     if (clipboard) {
 	// see if we own the selection, if not go get it:
 	fl_selection_length[1] = 0;
@@ -2720,13 +2720,13 @@
 	}
 #endif
     }
-    Fl::e_text = fl_selection_buffer[clipboard];
-    Fl::e_length = fl_selection_length[clipboard];
-    if (!Fl::e_text) Fl::e_text = (char *)"";
+    fltk3::e_text = fl_selection_buffer[clipboard];
+    fltk3::e_length = fl_selection_length[clipboard];
+    if (!fltk3::e_text) fltk3::e_text = (char *)"";
     receiver.handle(FL_PASTE);
 }
 
-void Fl::add_timeout(double time, Fl_Timeout_Handler cb, void* data)
+void fltk3::add_timeout(double time, Fl_Timeout_Handler cb, void* data)
 {
    // check, if this timer slot exists already
    for (int i = 0;  i < mac_timer_used;  ++i) {
@@ -2775,13 +2775,13 @@
     }
 }
 
-void Fl::repeat_timeout(double time, Fl_Timeout_Handler cb, void* data)
+void fltk3::repeat_timeout(double time, Fl_Timeout_Handler cb, void* data)
 {
     // currently, repeat_timeout does not subtract the trigger time of the previous timer event as it should.
     add_timeout(time, cb, data);
 }
 
-int Fl::has_timeout(Fl_Timeout_Handler cb, void* data)
+int fltk3::has_timeout(Fl_Timeout_Handler cb, void* data)
 {
    for (int i = 0;  i < mac_timer_used;  ++i) {
         MacTimeout& t = mac_timers[i];
@@ -2792,7 +2792,7 @@
     return 0;
 }
 
-void Fl::remove_timeout(Fl_Timeout_Handler cb, void* data)
+void fltk3::remove_timeout(Fl_Timeout_Handler cb, void* data)
 {
    for (int i = 0;  i < mac_timer_used;  ++i) {
         MacTimeout& t = mac_timers[i];
@@ -2841,13 +2841,13 @@
   p->xidChildren = x;
 }
 
-void MacDestroyWindow(Fl_Window *w, WindowPtr p) {
+void MacDestroyWindow(fltk3::Window *w, WindowPtr p) {
   MacUnmapWindow(w, p);
   if (w && !w->parent() && p)
     DisposeWindow(p);
 }
 
-void MacMapWindow(Fl_Window *w, WindowPtr p) {
+void MacMapWindow(fltk3::Window *w, WindowPtr p) {
   if (w && p)
     ShowWindow(p);
   //+ link to window list
@@ -2857,7 +2857,7 @@
   }
 }
 
-void MacUnmapWindow(Fl_Window *w, WindowPtr p) {
+void MacUnmapWindow(fltk3::Window *w, WindowPtr p) {
   if (w && !w->parent() && p) 
     HideWindow(p);
   if (w && Fl_X::i(w)) 

Modified: branches/branch-3.0-2011/src/Fl_own_colormap.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_own_colormap.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_own_colormap.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -34,10 +34,10 @@
 // get huge color changes when switching windows.
 
 #include <config.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
 
-/** \fn Fl::own_colormap()
+/** \fn fltk3::own_colormap()
     Makes FLTK use its own colormap.  This may make FLTK display better
     and will reduce conflicts with other programs that want lots of colors.
     However the colors may flash as you move the cursor between windows.
@@ -48,16 +48,16 @@
 // There is probably something relevant to do on MSWindows 8-bit displays
 // but I don't know what it is
 
-void Fl::own_colormap() {}
+void fltk3::own_colormap() {}
 
 #elif defined(__APPLE__)
 // MacOS X always provides a TrueColor interface...
 
-void Fl::own_colormap() {}
+void fltk3::own_colormap() {}
 #else
 // X version
 
-void Fl::own_colormap() {
+void fltk3::own_colormap() {
   fl_open_display();
 #if USE_COLORMAP
   switch (fl_visual->c_class) {

Modified: branches/branch-3.0-2011/src/Fl_visual.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_visual.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_visual.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -28,10 +28,10 @@
 // Set the default visual according to passed switches:
 
 #include <config.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
 
-/** \fn  Fl::visual(int flags)
+/** \fn  fltk3::visual(int flags)
     Selects a visual so that your graphics are drawn correctly.  This is
     only allowed before you call show() on any windows.  This does nothing
     if the default visual satisfies the capabilities, or if no visual
@@ -41,23 +41,23 @@
     <P>Only the following combinations do anything useful:
     
     <UL>
-    <LI>Fl::visual(FL_RGB)
+    <LI>fltk3::visual(FL_RGB)
     <BR>Full/true color (if there are several depths FLTK chooses  the
     largest).  Do this if you use fl_draw_image
     for much better (non-dithered)  output.
     <BR>&nbsp; </LI>
-    <LI>Fl::visual(FL_RGB8)
+    <LI>fltk3::visual(FL_RGB8)
     <BR>Full color with at least 24 bits of color. FL_RGB will
     always  pick this if available, but if not it will happily return a
     less-than-24 bit deep visual.  This call fails if 24 bits are not
     available.
     <BR>&nbsp; </LI>
-    <LI>Fl::visual(FL_DOUBLE|FL_INDEX)
+    <LI>fltk3::visual(FL_DOUBLE|FL_INDEX)
     <BR>Hardware double buffering.  Call this if you are going to use 
     Fl_Double_Window.
     <BR>&nbsp; </LI>
-    <LI>Fl::visual(FL_DOUBLE|FL_RGB)</LI>
-    <LI>Fl::visual(FL_DOUBLE|FL_RGB8)
+    <LI>fltk3::visual(FL_DOUBLE|FL_RGB)</LI>
+    <LI>fltk3::visual(FL_DOUBLE|FL_RGB8)
     <BR>Hardware double buffering and full color.
     </UL>
     
@@ -66,7 +66,7 @@
     this returns false (it just won't look as good).
 */
 #ifdef WIN32
-int Fl::visual(int flags) {
+int fltk3::visual(int flags) {
   fl_GetDC(0);
   if (flags & FL_DOUBLE) return 0;
   if (!(flags & FL_INDEX) &&
@@ -77,7 +77,7 @@
 #elif defined(__APPLE__)
 
 // \todo Mac : need to implement Visual flags
-int Fl::visual(int flags) {
+int fltk3::visual(int flags) {
   (void)flags;
   return 1;
 }
@@ -124,7 +124,7 @@
   return 1;
 }
 
-int Fl::visual(int flags) {
+int fltk3::visual(int flags) {
 #if USE_XDBE == 0
   if (flags & FL_DOUBLE) return 0;
 #endif

Modified: branches/branch-3.0-2011/src/Fl_win32.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_win32.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_win32.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -32,9 +32,9 @@
 // This file must be #include'd in Fl.cxx and not compiled separately.
 
 #ifndef FL_DOXYGEN
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_utf8.h>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/Window.h>
 #include <fltk3/fl_draw.H>
 #include <fltk3/Enumerations.H>
 #include <fltk3/Fl_Tooltip.H>
@@ -109,7 +109,7 @@
   if (!s_wsock_mod) {
     s_wsock_mod = LoadLibrary(WSCK_DLL_NAME);
     if (s_wsock_mod==NULL)
-      Fl::fatal("FLTK Lib Error: %s file not found! Please check your winsock dll accessibility.\n",WSCK_DLL_NAME);
+      fltk3::fatal("FLTK Lib Error: %s file not found! Please check your winsock dll accessibility.\n",WSCK_DLL_NAME);
     s_wsock_select = (fl_wsk_select_f) GetProcAddress(s_wsock_mod, "select");
     fl_wsk_fd_is_set = (fl_wsk_fd_is_set_f) GetProcAddress(s_wsock_mod, "__WSAFDIsSet");
   }
@@ -136,7 +136,7 @@
   if (!s_imm_module) {
     s_imm_module = LoadLibrary("IMM32.DLL");
     if (!s_imm_module)
-      Fl::fatal("FLTK Lib Error: IMM32.DLL file not found!\n\n"
+      fltk3::fatal("FLTK Lib Error: IMM32.DLL file not found!\n\n"
         "Please check your input method manager library accessibility.");
     flImmGetContext = (flTypeImmGetContext)GetProcAddress(s_imm_module, "ImmGetContext");
     flImmSetCompositionWindow = (flTypeImmSetCompositionWindow)GetProcAddress(s_imm_module, "ImmSetCompositionWindow");
@@ -173,7 +173,7 @@
 # define USE_TRACK_MOUSE
 #endif // NO_TRACK_MOUSE
 
-static Fl_Window *track_mouse_win=0;	// current TrackMouseEvent() window
+static fltk3::Window *track_mouse_win=0;	// current TrackMouseEvent() window
 
 // USE_CAPTURE_MOUSE_WIN - this must be defined for TrackMouseEvent to work
 // correctly with subwindows - otherwise a single mouse click and release
@@ -233,7 +233,7 @@
 // POLLIN, POLLOUT, and POLLERR with conflicting values WRT what we
 // used before (STR #2301).  Therefore we must not use these values
 // for our internal purposes, but use FL_READ, FL_WRITE, and
-// FL_EXCEPT, as defined for use in Fl::add_fd().
+// FL_EXCEPT, as defined for use in fltk3::add_fd().
 //
 static int maxfd = 0;
 static fd_set fdsets[3];
@@ -255,10 +255,10 @@
 {
 }
 
-void fl_set_spot(int font, int size, int X, int Y, int W, int H, Fl_Window *win)
+void fl_set_spot(int font, int size, int X, int Y, int W, int H, fltk3::Window *win)
 {
   if (!win) return;
-  Fl_Window* tw = win;
+  fltk3::Window* tw = win;
   while (tw->parent()) tw = tw->window(); // find top level window
 
   get_imm_module();
@@ -279,7 +279,7 @@
 {
 }
 
-void Fl::add_fd(int n, int events, void (*cb)(int, void*), void *v) {
+void fltk3::add_fd(int n, int events, void (*cb)(int, void*), void *v) {
   remove_fd(n,events);
   int i = nfds++;
   if (i >= fd_array_size) {
@@ -297,11 +297,11 @@
   if (n > maxfd) maxfd = n;
 }
 
-void Fl::add_fd(int fd, void (*cb)(int, void*), void* v) {
-  Fl::add_fd(fd, FL_READ, cb, v);
+void fltk3::add_fd(int fd, void (*cb)(int, void*), void* v) {
+  fltk3::add_fd(fd, FL_READ, cb, v);
 }
 
-void Fl::remove_fd(int n, int events) {
+void fltk3::remove_fd(int n, int events) {
   int i,j;
   for (i=j=0; i<nfds; i++) {
     if (fd[i].fd == n) {
@@ -322,17 +322,17 @@
   if (events & FL_EXCEPT) FD_CLR(unsigned(n), &fdsets[2]);
 }
 
-void Fl::remove_fd(int n) {
+void fltk3::remove_fd(int n) {
   remove_fd(n, -1);
 }
 
-// these pointers are set by the Fl::lock() function:
+// these pointers are set by the fltk3::lock() function:
 static void nothing() {}
 void (*fl_lock_function)() = nothing;
 void (*fl_unlock_function)() = nothing;
 
 static void* thread_message_;
-void* Fl::thread_message() {
+void* fltk3::thread_message() {
   void* r = thread_message_;
   thread_message_ = 0;
   return r;
@@ -353,9 +353,9 @@
 
   // idle processing
   static char in_idle;
-  if (Fl::idle && !in_idle) {
+  if (fltk3::idle && !in_idle) {
     in_idle = 1;
-    Fl::idle();
+    fltk3::idle();
     in_idle = 0;
   }
   
@@ -385,12 +385,12 @@
     }
   }
 
-  if (Fl::idle || Fl::damage()) 
+  if (fltk3::idle || fltk3::damage()) 
     time_to_wait = 0.0;
 
   // if there are no more windows and this timer is set
   // to FOREVER, continue through or look up indefinitely
-  if (!Fl::first_window() && time_to_wait==1e20)
+  if (!fltk3::first_window() && time_to_wait==1e20)
     time_to_wait = 0.0;
 
   fl_unlock_function();
@@ -411,7 +411,7 @@
 	thread_message_ = (void*)fl_msg.wParam;
         Fl_Awake_Handler func;
         void *data;
-        while (Fl::get_awake_handler_(func, data)==0) {
+        while (fltk3::get_awake_handler_(func, data)==0) {
           func(data);
         }
       }
@@ -421,7 +421,7 @@
       have_message = PeekMessageW(&fl_msg, NULL, 0, 0, PM_REMOVE);
     }
   }
-  Fl::flush();
+  fltk3::flush();
 
   // This should return 0 if only timer events were handled:
   return 1;
@@ -441,7 +441,7 @@
 
 ////////////////////////////////////////////////////////////////
 
-int Fl::x()
+int fltk3::x()
 {
   RECT r;
 
@@ -449,7 +449,7 @@
   return r.left;
 }
 
-int Fl::y()
+int fltk3::y()
 {
   RECT r;
 
@@ -457,7 +457,7 @@
   return r.top;
 }
 
-int Fl::h()
+int fltk3::h()
 {
   RECT r;
 
@@ -465,7 +465,7 @@
   return r.bottom - r.top;
 }
 
-int Fl::w()
+int fltk3::w()
 {
   RECT r;
 
@@ -473,7 +473,7 @@
   return r.right - r.left;
 }
 
-void Fl::get_mouse(int &x, int &y) {
+void fltk3::get_mouse(int &x, int &y) {
   POINT p;
   GetCursorPos(&p);
   x = p.x;
@@ -535,7 +535,7 @@
 };
 
 // call this when you create a selection:
-void Fl::copy(const char *stuff, int len, int clipboard) {
+void fltk3::copy(const char *stuff, int len, int clipboard) {
   if (!stuff || len<0) return;
 
   // Convert \n -> \r\n (for old apps like Notepad, DOS)
@@ -573,7 +573,7 @@
 }
 
 // Call this when a "paste" operation happens:
-void Fl::paste(Fl_Widget &receiver, int clipboard) {
+void fltk3::paste(Fl_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
@@ -582,41 +582,41 @@
     // Convert \r\n -> \n
     char *i = fl_selection_buffer[clipboard];
     if (i==0L) {
-      Fl::e_text = 0; 
+      fltk3::e_text = 0; 
       return;
     }
-    Fl::e_text = new char[fl_selection_length[clipboard]+1];
-    char *o = Fl::e_text;
+    fltk3::e_text = new char[fl_selection_length[clipboard]+1];
+    char *o = fltk3::e_text;
     while (*i) {
       if ( *i == '\r' && *(i+1) == '\n') i++;
       else *o++ = *i++;
     }
     *o = 0;
-    Fl::e_length = o - Fl::e_text;
+    fltk3::e_length = o - fltk3::e_text;
     receiver.handle(FL_PASTE);
-    delete [] Fl::e_text;
-    Fl::e_text = 0;
+    delete [] fltk3::e_text;
+    fltk3::e_text = 0;
   } else {
     if (!OpenClipboard(NULL)) return;
     HANDLE h = GetClipboardData(CF_UNICODETEXT);
     if (h) {
       wchar_t *memLock = (wchar_t*) GlobalLock(h);
       int utf16_len = wcslen(memLock);
-      Fl::e_text = (char*) malloc (utf16_len * 4 + 1);
-      int utf8_len = fl_utf8fromwc(Fl::e_text, utf16_len * 4, memLock, utf16_len);
-      *(Fl::e_text + utf8_len) = 0;
+      fltk3::e_text = (char*) malloc (utf16_len * 4 + 1);
+      int utf8_len = fl_utf8fromwc(fltk3::e_text, utf16_len * 4, memLock, utf16_len);
+      *(fltk3::e_text + utf8_len) = 0;
       LPSTR a,b;
-      a = b = Fl::e_text;
+      a = b = fltk3::e_text;
       while (*a) { // strip the CRLF pairs ($%$#@^)
         if (*a == '\r' && a[1] == '\n') a++;
         else *b++ = *a++;
       }
       *b = 0;
-      Fl::e_length = b - Fl::e_text;
+      fltk3::e_length = b - fltk3::e_text;
       receiver.handle(FL_PASTE);
       GlobalUnlock(h);
-      free(Fl::e_text);
-      Fl::e_text = 0;
+      free(fltk3::e_text);
+      fltk3::e_text = 0;
     }
     CloseClipboard();
   }
@@ -643,26 +643,26 @@
 
 HWND fl_capture;
 
-static int mouse_event(Fl_Window *window, int what, int button,
+static int mouse_event(fltk3::Window *window, int what, int button,
 		       WPARAM wParam, LPARAM lParam)
 {
   static int px, py, pmx, pmy;
   POINT pt;
-  Fl::e_x = pt.x = (signed short)LOWORD(lParam);
-  Fl::e_y = pt.y = (signed short)HIWORD(lParam);
+  fltk3::e_x = pt.x = (signed short)LOWORD(lParam);
+  fltk3::e_y = pt.y = (signed short)HIWORD(lParam);
   ClientToScreen(fl_xid(window), &pt);
-  Fl::e_x_root = pt.x;
-  Fl::e_y_root = pt.y;
+  fltk3::e_x_root = pt.x;
+  fltk3::e_y_root = pt.y;
 #ifdef USE_CAPTURE_MOUSE_WIN
-  Fl_Window *mouse_window = window;	// save "mouse window"
+  fltk3::Window *mouse_window = window;	// save "mouse window"
 #endif
   while (window->parent()) {
-    Fl::e_x += window->x();
-    Fl::e_y += window->y();
+    fltk3::e_x += window->x();
+    fltk3::e_y += window->y();
     window = window->window();
   }
 
-  ulong state = Fl::e_state & 0xff0000; // keep shift key states
+  ulong state = fltk3::e_state & 0xff0000; // keep shift key states
 #if 0
   // mouse event reports some shift flags, perhaps save them?
   if (wParam & MK_SHIFT) state |= FL_SHIFT;
@@ -671,36 +671,36 @@
   if (wParam & MK_LBUTTON) state |= FL_BUTTON1;
   if (wParam & MK_MBUTTON) state |= FL_BUTTON2;
   if (wParam & MK_RBUTTON) state |= FL_BUTTON3;
-  Fl::e_state = state;
+  fltk3::e_state = state;
 
   switch (what) {
   case 1: // double-click
-    if (Fl::e_is_click) {Fl::e_clicks++; goto J1;}
+    if (fltk3::e_is_click) {fltk3::e_clicks++; goto J1;}
   case 0: // single-click
-    Fl::e_clicks = 0;
+    fltk3::e_clicks = 0;
   J1:
 #ifdef USE_CAPTURE_MOUSE_WIN
     if (!fl_capture) SetCapture(fl_xid(mouse_window));  // use mouse window
 #else
     if (!fl_capture) SetCapture(fl_xid(window));	// use main window
 #endif
-    Fl::e_keysym = FL_Button + button;
-    Fl::e_is_click = 1;
-    px = pmx = Fl::e_x_root; py = pmy = Fl::e_y_root;
-    return Fl::handle(FL_PUSH,window);
+    fltk3::e_keysym = FL_Button + button;
+    fltk3::e_is_click = 1;
+    px = pmx = fltk3::e_x_root; py = pmy = fltk3::e_y_root;
+    return fltk3::handle(FL_PUSH,window);
 
   case 2: // release:
     if (!fl_capture) ReleaseCapture();
-    Fl::e_keysym = FL_Button + button;
-    return Fl::handle(FL_RELEASE,window);
+    fltk3::e_keysym = FL_Button + button;
+    return fltk3::handle(FL_RELEASE,window);
 
   case 3: // move:
   default: // avoid compiler warning
     // MSWindows produces extra events even if mouse does not move, ignore em:
-    if (Fl::e_x_root == pmx && Fl::e_y_root == pmy) return 1;
-    pmx = Fl::e_x_root; pmy = Fl::e_y_root;
-    if (abs(Fl::e_x_root-px)>5 || abs(Fl::e_y_root-py)>5) Fl::e_is_click = 0;
-    return Fl::handle(FL_MOVE,window);
+    if (fltk3::e_x_root == pmx && fltk3::e_y_root == pmy) return 1;
+    pmx = fltk3::e_x_root; pmy = fltk3::e_y_root;
+    if (abs(fltk3::e_x_root-px)>5 || abs(fltk3::e_y_root-py)>5) fltk3::e_is_click = 0;
+    return fltk3::handle(FL_MOVE,window);
 
   }
 }
@@ -813,7 +813,7 @@
 /// END TIMERS
 /////////////////////////////////////////////////////////////////////////////
 
-static Fl_Window* resize_bug_fix;
+static fltk3::Window* resize_bug_fix;
 
 extern void fl_save_pen(void);
 extern void fl_restore_pen(void);
@@ -831,15 +831,15 @@
   //fl_msg.pt = ???
   //fl_msg.lPrivate = ???
 
-  Fl_Window *window = fl_find(hWnd);
+  fltk3::Window *window = fl_find(hWnd);
 
   if (window) switch (uMsg) {
 
   case WM_QUIT: // this should not happen?
-    Fl::fatal("WM_QUIT message");
+    fltk3::fatal("WM_QUIT message");
 
   case WM_CLOSE: // user clicked close box
-    Fl::handle(FL_CLOSE, window);
+    fltk3::handle(FL_CLOSE, window);
     PostQuitMessage(0);
     return 0;
 
@@ -881,7 +881,7 @@
 
     window->clear_damage((uchar)(window->damage()|FL_DAMAGE_EXPOSE));
     // These next two statements should not be here, so that all update
-    // is deferred until Fl::flush() is called during idle.  However WIN32
+    // is deferred until fltk3::flush() is called during idle.  However WIN32
     // apparently is very unhappy if we don't obey it and draw right now.
     // Very annoying!
     fl_GetDC(hWnd); // Make sure we have a DC for this window...
@@ -917,26 +917,26 @@
 
   case WM_MOUSELEAVE:
     if (track_mouse_win == window) { // we left the top level window !
-      Fl_Window *tw = window;
+      fltk3::Window *tw = window;
       while (tw->parent()) tw = tw->window(); // find top level window
-      Fl::belowmouse(0);
-      Fl::handle(FL_LEAVE, tw);
+      fltk3::belowmouse(0);
+      fltk3::handle(FL_LEAVE, tw);
     }
     track_mouse_win = 0; // force TrackMouseEvent() restart
     break;
 
   case WM_SETFOCUS:
-    Fl::handle(FL_FOCUS, window);
+    fltk3::handle(FL_FOCUS, window);
     break;
 
   case WM_KILLFOCUS:
-    Fl::handle(FL_UNFOCUS, window);
-    Fl::flush(); // it never returns to main loop when deactivated...
+    fltk3::handle(FL_UNFOCUS, window);
+    fltk3::flush(); // it never returns to main loop when deactivated...
     break;
 
   case WM_SHOWWINDOW:
     if (!window->parent()) {
-      Fl::handle(wParam ? FL_SHOW : FL_HIDE, window);
+      fltk3::handle(wParam ? FL_SHOW : FL_HIDE, window);
     }
     break;
 
@@ -956,7 +956,7 @@
       if (GetAsyncKeyState(VK_SHIFT)&~1) state |= FL_SHIFT;
       if (GetAsyncKeyState(VK_MENU)) state |= FL_ALT;
       if ((GetAsyncKeyState(VK_LWIN)|GetAsyncKeyState(VK_RWIN))&~1) state |= FL_META;
-      Fl::e_state = state;
+      fltk3::e_state = state;
       return 0;
     }
     break;
@@ -979,7 +979,7 @@
   case WM_KEYUP:
   case WM_SYSKEYUP:
     // save the keysym until we figure out the characters:
-    Fl::e_keysym = Fl::e_original_keysym = ms2fltk(wParam,lParam&(1<<24));
+    fltk3::e_keysym = fltk3::e_original_keysym = ms2fltk(wParam,lParam&(1<<24));
     // See if TranslateMessage turned it into a WM_*CHAR message:
     if (PeekMessageW(&fl_msg, hWnd, WM_CHAR, WM_SYSDEADCHAR, PM_REMOVE))
     {
@@ -991,7 +991,7 @@
   case WM_SYSDEADCHAR:
   case WM_CHAR:
   case WM_SYSCHAR: {
-    ulong state = Fl::e_state & 0xff000000; // keep the mouse button state
+    ulong state = fltk3::e_state & 0xff000000; // keep the mouse button state
     // if GetKeyState is expensive we might want to comment some of these out:
     if (GetKeyState(VK_SHIFT)&~1) state |= FL_SHIFT;
     if (GetKeyState(VK_CAPITAL)) state |= FL_CAPS_LOCK;
@@ -1008,83 +1008,83 @@
 	state |= FL_META;
     }
     if (GetKeyState(VK_SCROLL)) state |= FL_SCROLL_LOCK;
-    Fl::e_state = state;
+    fltk3::e_state = state;
     static char buffer[1024];
     if (uMsg == WM_CHAR || uMsg == WM_SYSCHAR) {
 
       xchar u = (xchar) wParam;
-//    Fl::e_length = fl_unicode2utf(&u, 1, buffer);
-      Fl::e_length = fl_utf8fromwc(buffer, 1024, &u, 1);
-      buffer[Fl::e_length] = 0;
+//    fltk3::e_length = fl_unicode2utf(&u, 1, buffer);
+      fltk3::e_length = fl_utf8fromwc(buffer, 1024, &u, 1);
+      buffer[fltk3::e_length] = 0;
 
 
-    } else if (Fl::e_keysym >= FL_KP && Fl::e_keysym <= FL_KP_Last) {
+    } else if (fltk3::e_keysym >= FL_KP && fltk3::e_keysym <= FL_KP_Last) {
       if (state & FL_NUM_LOCK) {
         // Convert to regular keypress...
-	buffer[0] = Fl::e_keysym-FL_KP;
-	Fl::e_length = 1;
+	buffer[0] = fltk3::e_keysym-FL_KP;
+	fltk3::e_length = 1;
       } else {
         // Convert to special keypress...
 	buffer[0] = 0;
-	Fl::e_length = 0;
-	switch (Fl::e_keysym) {
+	fltk3::e_length = 0;
+	switch (fltk3::e_keysym) {
 	  case FL_KP + '0' :
-	    Fl::e_keysym = FL_Insert;
+	    fltk3::e_keysym = FL_Insert;
 	    break;
 	  case FL_KP + '1' :
-	    Fl::e_keysym = FL_End;
+	    fltk3::e_keysym = FL_End;
 	    break;
 	  case FL_KP + '2' :
-	    Fl::e_keysym = FL_Down;
+	    fltk3::e_keysym = FL_Down;
 	    break;
 	  case FL_KP + '3' :
-	    Fl::e_keysym = FL_Page_Down;
+	    fltk3::e_keysym = FL_Page_Down;
 	    break;
 	  case FL_KP + '4' :
-	    Fl::e_keysym = FL_Left;
+	    fltk3::e_keysym = FL_Left;
 	    break;
 	  case FL_KP + '6' :
-	    Fl::e_keysym = FL_Right;
+	    fltk3::e_keysym = FL_Right;
 	    break;
 	  case FL_KP + '7' :
-	    Fl::e_keysym = FL_Home;
+	    fltk3::e_keysym = FL_Home;
 	    break;
 	  case FL_KP + '8' :
-	    Fl::e_keysym = FL_Up;
+	    fltk3::e_keysym = FL_Up;
 	    break;
 	  case FL_KP + '9' :
-	    Fl::e_keysym = FL_Page_Up;
+	    fltk3::e_keysym = FL_Page_Up;
 	    break;
 	  case FL_KP + '.' :
-	    Fl::e_keysym = FL_Delete;
+	    fltk3::e_keysym = FL_Delete;
 	    break;
 	  case FL_KP + '/' :
 	  case FL_KP + '*' :
 	  case FL_KP + '-' :
 	  case FL_KP + '+' :
-	    buffer[0] = Fl::e_keysym-FL_KP;
-	    Fl::e_length = 1;
+	    buffer[0] = fltk3::e_keysym-FL_KP;
+	    fltk3::e_length = 1;
 	    break;
 	}
       }
     } else if ((lParam & (1<<31))==0){
       //buffer[0] = 0;
-      //Fl::e_length = 0;
+      //fltk3::e_length = 0;
       xchar u = (xchar) wParam;
-//    Fl::e_length = fl_unicode2utf(&u, 1, buffer);
-      Fl::e_length = fl_utf8fromwc(buffer, 1024, &u, 1);
-      buffer[Fl::e_length] = 0;
+//    fltk3::e_length = fl_unicode2utf(&u, 1, buffer);
+      fltk3::e_length = fl_utf8fromwc(buffer, 1024, &u, 1);
+      buffer[fltk3::e_length] = 0;
     }
-    Fl::e_text = buffer;
+    fltk3::e_text = buffer;
     if (lParam & (1<<31)) { // key up events.
-      if (Fl::handle(FL_KEYUP, window)) return 0;
+      if (fltk3::handle(FL_KEYUP, window)) return 0;
       break;
     }
     // for (int i = lParam&0xff; i--;)
     while (window->parent()) window = window->window();
-    if (Fl::handle(FL_KEYBOARD,window)) {
+    if (fltk3::handle(FL_KEYBOARD,window)) {
 	  if (uMsg==WM_DEADCHAR || uMsg==WM_SYSDEADCHAR)
-		Fl::compose_state = 1;
+		fltk3::compose_state = 1;
 	  return 0;
 	}
     break;}
@@ -1092,9 +1092,9 @@
   case WM_MOUSEWHEEL: {
     static int delta = 0; // running total of all motion
     delta += (SHORT)(HIWORD(wParam));
-    Fl::e_dy = -delta / WHEEL_DELTA;
-    delta += Fl::e_dy * WHEEL_DELTA;
-    if (Fl::e_dy) Fl::handle(FL_MOUSEWHEEL, window);
+    fltk3::e_dy = -delta / WHEEL_DELTA;
+    delta += fltk3::e_dy * WHEEL_DELTA;
+    if (fltk3::e_dy) fltk3::handle(FL_MOUSEWHEEL, window);
     return 0;
   }
 
@@ -1105,9 +1105,9 @@
   case WM_SIZE:
     if (!window->parent()) {
       if (wParam == SIZE_MINIMIZED || wParam == SIZE_MAXHIDE) {
-	Fl::handle(FL_HIDE, window);
+	fltk3::handle(FL_HIDE, window);
       } else {
-	Fl::handle(FL_SHOW, window);
+	fltk3::handle(FL_SHOW, window);
 	resize_bug_fix = window;
 	window->size(LOWORD(lParam), HIWORD(lParam));
       }
@@ -1181,7 +1181,7 @@
     return 1;}
 
   default:
-    if (Fl::handle(0,0)) return 0;
+    if (fltk3::handle(0,0)) return 0;
     break;
   }
 
@@ -1200,7 +1200,7 @@
 //   1   |  fix   |   yes
 //   2   |  size  |   yes
 
-int Fl_X::fake_X_wm(const Fl_Window* w,int &X,int &Y, int &bt,int &bx, int &by) {
+int Fl_X::fake_X_wm(const fltk3::Window* w,int &X,int &Y, int &bt,int &bx, int &by) {
   int W, H, xoff, yoff, dx, dy;
   int ret = bx = by = bt = 0;
 
@@ -1271,7 +1271,7 @@
   //Proceed to positioning the window fully inside the screen, if possible
   //Make border's lower right corner visible
   int scr_x, scr_y, scr_w, scr_h;
-  Fl::screen_xywh(scr_x, scr_y, scr_w, scr_h, X, Y);
+  fltk3::screen_xywh(scr_x, scr_y, scr_w, scr_h, X, Y);
   if (scr_x+scr_w < X+W) X = scr_x+scr_w - W;
   if (scr_y+scr_h < Y+H) Y = scr_y+scr_h - H;
   //Make border's upper left corner visible
@@ -1292,7 +1292,7 @@
 
 ////////////////////////////////////////////////////////////////
 
-void Fl_Window::resize(int X,int Y,int W,int H) {
+void fltk3::Window::resize(int X,int Y,int W,int H) {
   UINT flags = SWP_NOSENDCHANGING | SWP_NOZORDER 
              | SWP_NOACTIVATE | SWP_NOOWNERZORDER;
   int is_a_resize = (W != w() || H != h());
@@ -1373,13 +1373,13 @@
 
 void fl_fix_focus(); // in Fl.cxx
 
-char fl_show_iconic;	// hack for Fl_Window::iconic()
+char fl_show_iconic;	// hack for fltk3::Window::iconic()
 // int fl_background_pixel = -1; // color to use for background
 HCURSOR fl_default_cursor;
 UINT fl_wake_msg = 0;
 int fl_disable_transient_for; // secret method of removing TRANSIENT_FOR
 
-Fl_X* Fl_X::make(Fl_Window* w) {
+Fl_X* Fl_X::make(fltk3::Window* w) {
   Fl_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
@@ -1424,7 +1424,7 @@
       w->icon((void *)LoadIcon(NULL, IDI_APPLICATION));
     wcw.hIcon = wcw.hIconSm = (HICON)w->icon();
     wcw.hCursor = fl_default_cursor = LoadCursor(NULL, IDC_ARROW);
-    //uchar r,g,b; Fl::get_color(FL_GRAY,r,g,b);
+    //uchar r,g,b; fltk3::get_color(FL_GRAY,r,g,b);
     //wc.hbrBackground = (HBRUSH)CreateSolidBrush(RGB(r,g,b));
     wcw.hbrBackground = NULL;
     wcw.lpszMenuName = NULL;
@@ -1484,7 +1484,7 @@
     if (!w->force_position()) {
       xp = yp = CW_USEDEFAULT;
     } else {
-      if (!Fl::grab()) {
+      if (!fltk3::grab()) {
 	xp = xwm; yp = ywm;
         w->x(xp);w->y(yp);
       }
@@ -1495,11 +1495,11 @@
     parent = 0;
     if (w->non_modal() && Fl_X::first && !fl_disable_transient_for) {
       // find some other window to be "transient for":
-      Fl_Window* w = Fl_X::first->w;
+      fltk3::Window* w = Fl_X::first->w;
       while (w->parent()) w = w->window();
       parent = fl_xid(w);
       if (!w->visible()) showit = 0;
-    } else if (Fl::grab()) parent = fl_xid(Fl::grab());
+    } else if (fltk3::grab()) parent = fl_xid(fltk3::grab());
   }
 
   Fl_X* x = new Fl_X;
@@ -1540,15 +1540,15 @@
   if (fl_show_iconic) {showit = 0; fl_show_iconic = 0;}
   if (showit) {
     w->set_visible();
-    int old_event = Fl::e_number;
-    w->handle(Fl::e_number = FL_SHOW); // get child windows to appear
-    Fl::e_number = old_event;
+    int old_event = fltk3::e_number;
+    w->handle(fltk3::e_number = FL_SHOW); // get child windows to appear
+    fltk3::e_number = old_event;
     w->redraw(); // force draw to happen
   }
   // If we've captured the mouse, we dont want to activate any
   // other windows from the code, or we loose the capture.
   ShowWindow(x->xid, !showit ? SW_SHOWMINNOACTIVE :
-	     (Fl::grab() || (style & WS_POPUP)) ? SW_SHOWNOACTIVATE : SW_SHOWNORMAL);
+	     (fltk3::grab() || (style & WS_POPUP)) ? SW_SHOWNOACTIVATE : SW_SHOWNORMAL);
 
   // Register all windows for potential drag'n'drop operations
   fl_OleInitialize();
@@ -1562,7 +1562,7 @@
     }
   }
 
-  if (w->modal()) {Fl::modal_ = w; fl_fix_focus();}
+  if (w->modal()) {fltk3::modal_ = w; fl_fix_focus();}
   return x;
 }
 
@@ -1599,12 +1599,12 @@
   return DefWindowProc(hwnd, msg, wParam, lParam);
 }
 
-void Fl::add_timeout(double time, Fl_Timeout_Handler cb, void* data)
+void fltk3::add_timeout(double time, Fl_Timeout_Handler cb, void* data)
 {
   repeat_timeout(time, cb, data);
 }
 
-void Fl::repeat_timeout(double time, Fl_Timeout_Handler cb, void* data)
+void fltk3::repeat_timeout(double time, Fl_Timeout_Handler cb, void* data)
 {
   int timer_id = -1;
   for (int i = 0;  i < win32_timer_used;  ++i) {
@@ -1654,7 +1654,7 @@
     SetTimer(s_TimerWnd, timer_id + 1, elapsed, NULL);
 }
 
-int Fl::has_timeout(Fl_Timeout_Handler cb, void* data)
+int fltk3::has_timeout(Fl_Timeout_Handler cb, void* data)
 {
   for (int i = 0;  i < win32_timer_used;  ++i) {
     Win32Timer& t = win32_timers[i];
@@ -1665,7 +1665,7 @@
   return 0;
 }
 
-void Fl::remove_timeout(Fl_Timeout_Handler cb, void* data)
+void fltk3::remove_timeout(Fl_Timeout_Handler cb, void* data)
 {
   int i;
   for (i = 0;  i < win32_timer_used;  ++i) {
@@ -1686,7 +1686,7 @@
 
 HINSTANCE fl_display = GetModuleHandle(NULL);
 
-void Fl_Window::size_range_() {
+void fltk3::Window::size_range_() {
   size_range_set = 1;
 }
 
@@ -1725,7 +1725,7 @@
   return q;
 }
 
-void Fl_Window::label(const char *name,const char *iname) {
+void fltk3::Window::label(const char *name,const char *iname) {
   Fl_Widget::label(name);
   iconlabel_ = iname;
   if (shown() && !parent()) {
@@ -1744,7 +1744,7 @@
 }
 
 ////////////////////////////////////////////////////////////////
-// Implement the virtual functions for the base Fl_Window class:
+// Implement the virtual functions for the base fltk3::Window class:
 
 // If the box is a filled rectangle, we can make the redisplay *look*
 // faster by using X's background pixel erasing.  We can make it
@@ -1757,9 +1757,9 @@
 // Fl_Widget *fl_boxcheat;
 //static inline int can_boxcheat(uchar b) {return (b==1 || (b&2) && b<=15);}
 
-void Fl_Window::show() {
-  image(Fl::scheme_bg_);
-  if (Fl::scheme_bg_) {
+void fltk3::Window::show() {
+  image(fltk3::scheme_bg_);
+  if (fltk3::scheme_bg_) {
     labeltype(FL_NORMAL_LABEL);
     align(FL_ALIGN_CENTER | FL_ALIGN_INSIDE | FL_ALIGN_CLIP);
   } else {
@@ -1781,7 +1781,7 @@
 #endif
 }
 
-Fl_Window *Fl_Window::current_;
+fltk3::Window *fltk3::Window::current_;
 // the current context
 HDC fl_gc = 0;
 // the current window handle, initially set to -1 so we can correctly
@@ -1805,7 +1805,7 @@
 }
 
 // make X drawing go into this window (called by subclass flush() impl.)
-void Fl_Window::make_current() {
+void fltk3::Window::make_current() {
   fl_GetDC(fl_xid(this));
 
 #if USE_COLORMAP
@@ -1824,7 +1824,7 @@
 }
 
 /* Make sure that all allocated fonts are released. This works only if 
-   Fl::run() is allowed to exit by closing all windows. Calling 'exit(int)'
+   fltk3::run() is allowed to exit by closing all windows. Calling 'exit(int)'
    will not automatically free any fonts. */
 void fl_free_fonts(void)
 {
@@ -1935,7 +1935,7 @@
 {
   Fl_Printer printer;
   o->window()->hide();
-  Fl_Window *win = Fl::first_window();
+  fltk3::Window *win = fltk3::first_window();
   if(!win) return;
   int w, h;
   if( printer.start_job(1) ) { o->window()->show(); return; }
@@ -1970,7 +1970,7 @@
   static BOOL first=TRUE;
   if(!first) return;
   first=FALSE;
-  static Fl_Window w(0,0,120,30);
+  static fltk3::Window w(0,0,120,30);
   static Fl_Button b(0,0,w.w(),w.h(), "Print front window");
   b.callback(printFront);
   w.end();

Modified: branches/branch-3.0-2011/src/Fl_x.cxx
===================================================================
--- branches/branch-3.0-2011/src/Fl_x.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/Fl_x.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -36,9 +36,9 @@
 /* #define BACKSPACE_HACK 1 */
 
 #  include <config.h>
-#  include <fltk3/Fl.H>
+#  include <fltk3/run.h>
 #  include <fltk3/x.H>
-#  include <fltk3/Fl_Window.H>
+#  include <fltk3/Window.h>
 #  include <fltk3/fl_utf8.h>
 #  include <fltk3/Fl_Tooltip.H>
 #  include <fltk3/fl_draw.H>
@@ -94,7 +94,7 @@
 
 static FD *fd = 0;
 
-void Fl::add_fd(int n, int events, void (*cb)(int, void*), void *v) {
+void fltk3::add_fd(int n, int events, void (*cb)(int, void*), void *v) {
   remove_fd(n,events);
   int i = nfds++;
   if (i >= fd_array_size) {
@@ -132,11 +132,11 @@
 #  endif
 }
 
-void Fl::add_fd(int n, void (*cb)(int, void*), void* v) {
-  Fl::add_fd(n, POLLIN, cb, v);
+void fltk3::add_fd(int n, void (*cb)(int, void*), void* v) {
+  fltk3::add_fd(n, POLLIN, cb, v);
 }
 
-void Fl::remove_fd(int n, int events) {
+void fltk3::remove_fd(int n, int events) {
   int i,j;
 # if !USE_POLL
   maxfd = -1; // recalculate maxfd on the fly
@@ -173,13 +173,13 @@
 #  endif
 }
 
-void Fl::remove_fd(int n) {
+void fltk3::remove_fd(int n) {
   remove_fd(n, -1);
 }
 
 #if CONSOLIDATE_MOTION
-static Fl_Window* send_motion;
-extern Fl_Window* fl_xmousewin;
+static fltk3::Window* send_motion;
+extern fltk3::Window* fl_xmousewin;
 #endif
 static bool in_a_window; // true if in any of our windows, even destroyed ones
 static void do_queued_events() {
@@ -190,16 +190,16 @@
     fl_handle(xevent);
   }
   // we send FL_LEAVE only if the mouse did not enter some other window:
-  if (!in_a_window) Fl::handle(FL_LEAVE, 0);
+  if (!in_a_window) fltk3::handle(FL_LEAVE, 0);
 #if CONSOLIDATE_MOTION
   else if (send_motion == fl_xmousewin) {
     send_motion = 0;
-    Fl::handle(FL_MOVE, fl_xmousewin);
+    fltk3::handle(FL_MOVE, fl_xmousewin);
   }
 #endif
 }
 
-// these pointers are set by the Fl::lock() function:
+// these pointers are set by the fltk3::lock() function:
 static void nothing() {}
 void (*fl_lock_function)() = nothing;
 void (*fl_unlock_function)() = nothing;
@@ -341,7 +341,7 @@
 
 extern "C" {
   static int io_error_handler(Display*) {
-    Fl::fatal("X I/O error");
+    fltk3::fatal("X I/O error");
     return 0;
   }
 
@@ -350,7 +350,7 @@
     sprintf(buf1, "XRequest.%d", e->request_code);
     XGetErrorDatabaseText(d,"",buf1,buf1,buf2,128);
     XGetErrorText(d, e->error_code, buf1, 128);
-    Fl::warning("%s: %s 0x%lx", buf2, buf1, e->resourceid);
+    fltk3::warning("%s: %s 0x%lx", buf2, buf1, e->resourceid);
     return 0;
   }
 }
@@ -458,7 +458,7 @@
   //if (fl_xim_ic) XUnsetICFocus(fl_xim_ic);
 }
 
-void fl_set_spot(int font, int size, int X, int Y, int W, int H, Fl_Window *win)
+void fl_set_spot(int font, int size, int X, int Y, int W, int H, fltk3::Window *win)
 {
   int change = 0;
   XVaNestedList preedit_attr;
@@ -549,20 +549,20 @@
     XGetIMValues (fl_xim_im, XNQueryInputStyle,
                   &xim_styles, NULL, NULL);
   } else {
-    Fl::warning("XOpenIM() failed\n");
+    fltk3::warning("XOpenIM() failed\n");
     return;
   }
 
   if (xim_styles && xim_styles->count_styles) {
     fl_new_ic();
    } else {
-     Fl::warning("No XIM style found\n");
+     fltk3::warning("No XIM style found\n");
      XCloseIM(fl_xim_im);
      fl_xim_im = NULL;
      return;
   }
   if (!fl_xim_ic) {
-    Fl::warning("XCreateIC() failed\n");
+    fltk3::warning("XCreateIC() failed\n");
     XCloseIM(fl_xim_im);
     XFree(xim_styles);
     fl_xim_im = NULL;
@@ -579,7 +579,7 @@
   XSetErrorHandler(xerror_handler);
 
   Display *d = XOpenDisplay(0);
-  if (!d) Fl::fatal("Can't open display: %s",XDisplayName(0));
+  if (!d) fltk3::fatal("Can't open display: %s",XDisplayName(0));
 
   fl_open_display(d);
 }
@@ -617,7 +617,7 @@
   if (sizeof(Atom) < 4)
     atom_bits = sizeof(Atom) * 8;
 
-  Fl::add_fd(ConnectionNumber(d), POLLIN, fd_callback);
+  fltk3::add_fd(ConnectionNumber(d), POLLIN, fd_callback);
 
   fl_screen = DefaultScreen(d);
 
@@ -632,12 +632,12 @@
   fl_init_xim();
 
 #if !USE_COLORMAP
-  Fl::visual(FL_RGB);
+  fltk3::visual(FL_RGB);
 #endif
 }
 
 void fl_close_display() {
-  Fl::remove_fd(ConnectionNumber(fl_display));
+  fltk3::remove_fd(ConnectionNumber(fl_display));
   XCloseDisplay(fl_display);
 }
 
@@ -673,27 +673,27 @@
   }
 }
 
-int Fl::x() {
+int fltk3::x() {
   if (fl_workarea_xywh[0] < 0) fl_init_workarea();
   return fl_workarea_xywh[0];
 }
 
-int Fl::y() {
+int fltk3::y() {
   if (fl_workarea_xywh[0] < 0) fl_init_workarea();
   return fl_workarea_xywh[1];
 }
 
-int Fl::w() {
+int fltk3::w() {
   if (fl_workarea_xywh[0] < 0) fl_init_workarea();
   return fl_workarea_xywh[2];
 }
 
-int Fl::h() {
+int fltk3::h() {
   if (fl_workarea_xywh[0] < 0) fl_init_workarea();
   return fl_workarea_xywh[3];
 }
 
-void Fl::get_mouse(int &xx, int &yy) {
+void fltk3::get_mouse(int &xx, int &yy) {
   fl_open_display();
   Window root = RootWindow(fl_display, fl_screen);
   Window c; int mx,my,cx,cy; unsigned int mask;
@@ -712,14 +712,14 @@
 char fl_i_own_selection[2] = {0,0};
 
 // Call this when a "paste" operation happens:
-void Fl::paste(Fl_Widget &receiver, int clipboard) {
+void fltk3::paste(Fl_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
     // called in response to FL_PASTE!
-    Fl::e_text = fl_selection_buffer[clipboard];
-    Fl::e_length = fl_selection_length[clipboard];
-    if (!Fl::e_text) Fl::e_text = (char *)"";
+    fltk3::e_text = fl_selection_buffer[clipboard];
+    fltk3::e_length = fl_selection_length[clipboard];
+    if (!fltk3::e_text) fltk3::e_text = (char *)"";
     receiver.handle(FL_PASTE);
     return;
   }
@@ -727,7 +727,7 @@
   fl_selection_requestor = &receiver;
   Atom property = clipboard ? CLIPBOARD : XA_PRIMARY;
   XConvertSelection(fl_display, property, TARGETS, property,
-                    fl_xid(Fl::first_window()), fl_event_time);
+                    fl_xid(fltk3::first_window()), fl_event_time);
 }
 
 Window fl_dnd_source_window;
@@ -759,7 +759,7 @@
 ////////////////////////////////////////////////////////////////
 // Code for copying to clipboard and DnD out of the program:
 
-void Fl::copy(const char *stuff, int len, int clipboard) {
+void fltk3::copy(const char *stuff, int len, int clipboard) {
   if (!stuff || len<0) return;
   if (len+1 > fl_selection_buffer_length[clipboard]) {
     delete[] fl_selection_buffer[clipboard];
@@ -779,7 +779,7 @@
 const XEvent* fl_xevent; // the current x event
 ulong fl_event_time; // the last timestamp from an x event
 
-char fl_key_vector[32]; // used by Fl::get_key()
+char fl_key_vector[32]; // used by fltk3::get_key()
 
 // Record event mouse position and state from an XEvent:
 
@@ -790,36 +790,36 @@
 #  if CONSOLIDATE_MOTION
   send_motion = 0;
 #  endif
-  Fl::e_x_root  = fl_xevent->xbutton.x_root;
-  Fl::e_x       = fl_xevent->xbutton.x;
-  Fl::e_y_root  = fl_xevent->xbutton.y_root;
-  Fl::e_y       = fl_xevent->xbutton.y;
-  Fl::e_state   = fl_xevent->xbutton.state << 16;
+  fltk3::e_x_root  = fl_xevent->xbutton.x_root;
+  fltk3::e_x       = fl_xevent->xbutton.x;
+  fltk3::e_y_root  = fl_xevent->xbutton.y_root;
+  fltk3::e_y       = fl_xevent->xbutton.y;
+  fltk3::e_state   = fl_xevent->xbutton.state << 16;
   fl_event_time = fl_xevent->xbutton.time;
 #  ifdef __sgi
   // get the meta key off PC keyboards:
-  if (fl_key_vector[18]&0x18) Fl::e_state |= FL_META;
+  if (fl_key_vector[18]&0x18) fltk3::e_state |= FL_META;
 #  endif
   // turn off is_click if enough time or mouse movement has passed:
-  if (abs(Fl::e_x_root-px)+abs(Fl::e_y_root-py) > 3 ||
+  if (abs(fltk3::e_x_root-px)+abs(fltk3::e_y_root-py) > 3 ||
       fl_event_time >= ptime+1000)
-    Fl::e_is_click = 0;
+    fltk3::e_is_click = 0;
 }
 
 // if this is same event as last && is_click, increment click count:
 static inline void checkdouble() {
-  if (Fl::e_is_click == Fl::e_keysym)
-    Fl::e_clicks++;
+  if (fltk3::e_is_click == fltk3::e_keysym)
+    fltk3::e_clicks++;
   else {
-    Fl::e_clicks = 0;
-    Fl::e_is_click = Fl::e_keysym;
+    fltk3::e_clicks = 0;
+    fltk3::e_is_click = fltk3::e_keysym;
   }
-  px = Fl::e_x_root;
-  py = Fl::e_y_root;
+  px = fltk3::e_x_root;
+  py = fltk3::e_y_root;
   ptime = fl_event_time;
 }
 
-static Fl_Window* resize_bug_fix;
+static fltk3::Window* resize_bug_fix;
 
 ////////////////////////////////////////////////////////////////
 
@@ -887,8 +887,8 @@
         }
         fl_set_spot(spotf, spots, spot.x, spot.y, spot.width, spot.height);
 #else
-    if (Fl::first_window() && Fl::first_window()->modal()) {
-      Window x  = fl_xid(Fl::first_window());
+    if (fltk3::first_window() && fltk3::first_window()->modal()) {
+      Window x  = fl_xid(fltk3::first_window());
       if (x != xim_win) {
         xim_win  = x;
         XSetICValues(fl_xim_ic,
@@ -955,7 +955,7 @@
 	XFree(portion);
 	Atom property = xevent.xselection.property;
 	XConvertSelection(fl_display, property, type, property,
-	      fl_xid(Fl::first_window()),
+	      fl_xid(fltk3::first_window()),
 	      fl_event_time);
 	return true;
       }
@@ -977,11 +977,11 @@
       buffer[bytesread] = 0;
       convert_crlf(buffer, bytesread);
     }
-    Fl::e_text = buffer ? (char*)buffer : (char *)"";
-    Fl::e_length = bytesread;
-    int old_event = Fl::e_number;
-    fl_selection_requestor->handle(Fl::e_number = FL_PASTE);
-    Fl::e_number = old_event;
+    fltk3::e_text = buffer ? (char*)buffer : (char *)"";
+    fltk3::e_length = bytesread;
+    int old_event = fltk3::e_number;
+    fl_selection_requestor->handle(fltk3::e_number = FL_PASTE);
+    fltk3::e_number = old_event;
     // Detect if this paste is due to Xdnd by the property name (I use
     // XA_SECONDARY for that) and send an XdndFinished message. It is not
     // clear if this has to be delayed until now or if it can be done
@@ -1054,7 +1054,7 @@
   }
 
   int event = 0;
-  Fl_Window* window = fl_find(xid);
+  fltk3::Window* window = fl_find(xid);
 
   if (window) switch (xevent.type) {
 
@@ -1114,26 +1114,26 @@
         fl_dnd_type = fl_dnd_source_types[0];
 
       event = FL_DND_ENTER;
-      Fl::e_text = unknown;
-      Fl::e_length = unknown_len;
+      fltk3::e_text = unknown;
+      fltk3::e_length = unknown_len;
       break;
 
     } else if (message == fl_XdndPosition) {
       fl_xmousewin = window;
       in_a_window = true;
       fl_dnd_source_window = data[0];
-      Fl::e_x_root = data[2]>>16;
-      Fl::e_y_root = data[2]&0xFFFF;
+      fltk3::e_x_root = data[2]>>16;
+      fltk3::e_y_root = data[2]&0xFFFF;
       if (window) {
-        Fl::e_x = Fl::e_x_root-window->x();
-        Fl::e_y = Fl::e_y_root-window->y();
+        fltk3::e_x = fltk3::e_x_root-window->x();
+        fltk3::e_y = fltk3::e_y_root-window->y();
       }
       fl_event_time = data[3];
       fl_dnd_source_action = data[4];
       fl_dnd_action = fl_XdndActionCopy;
-      Fl::e_text = unknown;
-      Fl::e_length = unknown_len;
-      int accept = Fl::handle(FL_DND_DRAG, window);
+      fltk3::e_text = unknown;
+      fltk3::e_length = unknown_len;
+      int accept = fltk3::handle(FL_DND_DRAG, window);
       fl_sendClientMessage(data[0], fl_XdndStatus,
                            fl_xevent->xclient.window,
                            accept ? 1 : 0,
@@ -1145,8 +1145,8 @@
     } else if (message == fl_XdndLeave) {
       fl_dnd_source_window = 0; // don't send a finished message to it
       event = FL_DND_LEAVE;
-      Fl::e_text = unknown;
-      Fl::e_length = unknown_len;
+      fltk3::e_text = unknown;
+      fltk3::e_length = unknown_len;
       break;
 
     } else if (message == fl_XdndDrop) {
@@ -1155,10 +1155,10 @@
       fl_dnd_source_window = data[0];
       fl_event_time = data[2];
       Window to_window = fl_xevent->xclient.window;
-      Fl::e_text = unknown;
-      Fl::e_length = unknown_len;
-      if (Fl::handle(FL_DND_RELEASE, window)) {
-        fl_selection_requestor = Fl::belowmouse();
+      fltk3::e_text = unknown;
+      fltk3::e_length = unknown_len;
+      if (fltk3::handle(FL_DND_RELEASE, window)) {
+        fl_selection_requestor = fltk3::belowmouse();
         XConvertSelection(fl_display, fl_XdndSelection,
                           fl_dnd_type, XA_SECONDARY,
                           to_window, fl_event_time);
@@ -1184,8 +1184,8 @@
 #  if 0
     // try to keep windows on top even if WM_TRANSIENT_FOR does not work:
     // opaque move/resize window managers do not like this, so I disabled it.
-    if (Fl::first_window()->non_modal() && window != Fl::first_window())
-      Fl::first_window()->show();
+    if (fltk3::first_window()->non_modal() && window != fltk3::first_window())
+      fltk3::first_window()->show();
 #  endif
 
   case GraphicsExpose:
@@ -1246,12 +1246,12 @@
           keysym = XKeycodeToKeysym(fl_display, keycode, 0);
         }
       }
-      // MRS: Can't use Fl::event_state(FL_CTRL) since the state is not
+      // MRS: Can't use fltk3::event_state(FL_CTRL) since the state is not
       //      set until set_event_xy() is called later...
       if ((xevent.xkey.state & ControlMask) && keysym == '-') buffer[0] = 0x1f; // ^_
       buffer[len] = 0;
-      Fl::e_text = buffer;
-      Fl::e_length = len;
+      fltk3::e_text = buffer;
+      fltk3::e_length = len;
     } else {
       // Stupid X sends fake key-up events when a repeating key is held
       // down, probably due to some back compatibility problem. Fortunately
@@ -1318,7 +1318,7 @@
       // numlock state...
       unsigned long keysym1 = XKeycodeToKeysym(fl_display, keycode, 1);
       if (keysym1 <= 0x7f || (keysym1 > 0xff9f && keysym1 <= FL_KP_Last))
-        Fl::e_original_keysym = (int)(keysym1 | FL_KP);
+        fltk3::e_original_keysym = (int)(keysym1 | FL_KP);
       if ((xevent.xkey.state & Mod2Mask) &&
           (keysym1 <= 0x7f || (keysym1 > 0xff9f && keysym1 <= FL_KP_Last))) {
         // Store ASCII numeric keypad value...
@@ -1336,28 +1336,28 @@
       }
     } else {
       // Store this so we can later know if the KP was used
-      Fl::e_original_keysym = (int)keysym;
+      fltk3::e_original_keysym = (int)keysym;
     }
-    Fl::e_keysym = int(keysym);
+    fltk3::e_keysym = int(keysym);
   
     // replace XK_ISO_Left_Tab (Shift-TAB) with FL_Tab (modifier flags are set correctly by X11)
-    if (Fl::e_keysym == 0xfe20) Fl::e_keysym = FL_Tab;
+    if (fltk3::e_keysym == 0xfe20) fltk3::e_keysym = FL_Tab;
     
     set_event_xy();
-    Fl::e_is_click = 0;
+    fltk3::e_is_click = 0;
     break;}
 
   case ButtonPress:
-    Fl::e_keysym = FL_Button + xevent.xbutton.button;
+    fltk3::e_keysym = FL_Button + xevent.xbutton.button;
     set_event_xy();
     if (xevent.xbutton.button == Button4) {
-      Fl::e_dy = -1; // Up
+      fltk3::e_dy = -1; // Up
       event = FL_MOUSEWHEEL;
     } else if (xevent.xbutton.button == Button5) {
-      Fl::e_dy = +1; // Down
+      fltk3::e_dy = +1; // Down
       event = FL_MOUSEWHEEL;
     } else {
-      Fl::e_state |= (FL_BUTTON1 << (xevent.xbutton.button-1));
+      fltk3::e_state |= (FL_BUTTON1 << (xevent.xbutton.button-1));
       event = FL_PUSH;
       checkdouble();
     }
@@ -1380,9 +1380,9 @@
 #  endif
 
   case ButtonRelease:
-    Fl::e_keysym = FL_Button + xevent.xbutton.button;
+    fltk3::e_keysym = FL_Button + xevent.xbutton.button;
     set_event_xy();
-    Fl::e_state &= ~(FL_BUTTON1 << (xevent.xbutton.button-1));
+    fltk3::e_state &= ~(FL_BUTTON1 << (xevent.xbutton.button-1));
     if (xevent.xbutton.button == Button4 ||
         xevent.xbutton.button == Button5) return 0;
     event = FL_RELEASE;
@@ -1395,7 +1395,7 @@
     if (xevent.xcrossing.detail == NotifyInferior) break;
     // XInstallColormap(fl_display, Fl_X::i(window)->colormap);
     set_event_xy();
-    Fl::e_state = xevent.xcrossing.state << 16;
+    fltk3::e_state = xevent.xcrossing.state << 16;
     event = FL_ENTER;
 
     fl_xmousewin = window;
@@ -1411,7 +1411,7 @@
   case LeaveNotify:
     if (xevent.xcrossing.detail == NotifyInferior) break;
     set_event_xy();
-    Fl::e_state = xevent.xcrossing.state << 16;
+    fltk3::e_state = xevent.xcrossing.state << 16;
     fl_xmousewin = 0;
     in_a_window = false; // make do_queued_events produce FL_LEAVE event
     return 0;
@@ -1436,7 +1436,7 @@
     XTranslateCoordinates(fl_display, fl_xid(window), actual.root,
                           0, 0, &X, &Y, &cr);
 
-    // tell Fl_Window about it and set flag to prevent echoing:
+    // tell fltk3::Window about it and set flag to prevent echoing:
     resize_bug_fix = window;
     window->resize(X, Y, W, H);
     break; // allow add_handler to do something too
@@ -1457,7 +1457,7 @@
                           &xpos, &ypos, &junk);
     XSetErrorHandler(oldHandler);
 
-    // tell Fl_Window about it and set flag to prevent echoing:
+    // tell fltk3::Window about it and set flag to prevent echoing:
     if ( !wasXExceptionRaised() ) {
       resize_bug_fix = window;
       window->position(xpos, ypos);
@@ -1466,12 +1466,12 @@
     }
   }
 
-  return Fl::handle(event, window);
+  return fltk3::handle(event, window);
 }
 
 ////////////////////////////////////////////////////////////////
 
-void Fl_Window::resize(int X,int Y,int W,int H) {
+void fltk3::Window::resize(int X,int Y,int W,int H) {
   int is_a_move = (X != x() || Y != y());
   int is_a_resize = (W != w() || H != h());
   int is_a_enlarge = (W > w() || H > h());
@@ -1505,12 +1505,12 @@
 
 ////////////////////////////////////////////////////////////////
 
-// A subclass of Fl_Window may call this to associate an X window it
-// creates with the Fl_Window:
+// A subclass of fltk3::Window may call this to associate an X window it
+// creates with the fltk3::Window:
 
 void fl_fix_focus(); // in Fl.cxx
 
-Fl_X* Fl_X::set_xid(Fl_Window* win, Window winxid) {
+Fl_X* Fl_X::set_xid(fltk3::Window* win, Window winxid) {
   Fl_X* xp = new Fl_X;
   xp->xid = winxid;
   xp->other_xid = 0;
@@ -1520,7 +1520,7 @@
   xp->wait_for_expose = 1;
   xp->backbuffer_bad = 1;
   Fl_X::first = xp;
-  if (win->modal()) {Fl::modal_ = win; fl_fix_focus();}
+  if (win->modal()) {fltk3::modal_ = win; fl_fix_focus();}
   return xp;
 }
 
@@ -1542,7 +1542,7 @@
 |EnterWindowMask|LeaveWindowMask
 |PointerMotionMask;
 
-void Fl_X::make_xid(Fl_Window* win, XVisualInfo *visual, Colormap colormap)
+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()
 
@@ -1552,7 +1552,7 @@
   if (W <= 0) W = 1; // X don't like zero...
   int H = win->h();
   if (H <= 0) H = 1; // X don't like zero...
-  if (!win->parent() && !Fl::grab()) {
+  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)) {
@@ -1564,7 +1564,7 @@
     // force the window to be on-screen.  Usually the X window manager
     // does this, but a few don't, so we do it here for consistency:
     int scr_x, scr_y, scr_w, scr_h;
-    Fl::screen_xywh(scr_x, scr_y, scr_w, scr_h, X, Y);
+    fltk3::screen_xywh(scr_x, scr_y, scr_w, scr_h, X, Y);
 
     if (win->border()) {
       // ensure border is on screen:
@@ -1607,7 +1607,7 @@
     attr.save_under = 1;
     mask |= CWOverrideRedirect | CWSaveUnder;
   } else attr.override_redirect = 0;
-  if (Fl::grab()) {
+  if (fltk3::grab()) {
     attr.save_under = 1; mask |= CWSaveUnder;
     if (!win->border()) {attr.override_redirect = 1; mask |= CWOverrideRedirect;}
   }
@@ -1656,7 +1656,7 @@
 
     if (win->non_modal() && xp->next && !fl_disable_transient_for) {
       // find some other window to be "transient for":
-      Fl_Window* wp = xp->next->w;
+      fltk3::Window* wp = xp->next->w;
       while (wp->parent()) wp = wp->window();
       XSetTransientForHint(fl_display, xp->xid, fl_xid(wp));
       if (!wp->visible()) showit = 0; // guess that wm will not show it
@@ -1702,9 +1702,9 @@
   XMapWindow(fl_display, xp->xid);
   if (showit) {
     win->set_visible();
-    int old_event = Fl::e_number;
-    win->handle(Fl::e_number = FL_SHOW); // get child windows to appear
-    Fl::e_number = old_event;
+    int old_event = fltk3::e_number;
+    win->handle(fltk3::e_number = FL_SHOW); // get child windows to appear
+    fltk3::e_number = old_event;
     win->redraw();
   }
 }
@@ -1751,8 +1751,8 @@
       // unfortunately we can't set just one maximum size.  Guess a
       // value for the other one.  Some window managers will make the
       // window fit on screen when maximized, others will put it off screen:
-      if (hints->max_width < hints->min_width) hints->max_width = Fl::w();
-      if (hints->max_height < hints->min_height) hints->max_height = Fl::h();
+      if (hints->max_width < hints->min_width) hints->max_width = fltk3::w();
+      if (hints->max_height < hints->min_height) hints->max_height = fltk3::h();
     }
     if (hints->width_inc && hints->height_inc) hints->flags |= PResizeInc;
     if (w->aspect) {
@@ -1786,7 +1786,7 @@
   XFree(hints);
 }
 
-void Fl_Window::size_range_() {
+void fltk3::Window::size_range_() {
   size_range_set = 1;
   if (shown()) i->sendxjunk();
 }
@@ -1801,7 +1801,7 @@
   return q;
 }
 
-void Fl_Window::label(const char *name,const char *iname) {
+void fltk3::Window::label(const char *name,const char *iname) {
   Fl_Widget::label(name);
   iconlabel_ = iname;
   if (shown() && !parent()) {
@@ -1817,7 +1817,7 @@
 }
 
 ////////////////////////////////////////////////////////////////
-// Implement the virtual functions for the base Fl_Window class:
+// Implement the virtual functions for the base fltk3::Window class:
 
 // If the box is a filled rectangle, we can make the redisplay *look*
 // faster by using X's background pixel erasing.  We can make it
@@ -1828,12 +1828,12 @@
 // is resized while a save-behind window is atop it.  The previous
 // contents are restored to the area, but this assumes the area
 // is cleared to background color.  So this is disabled in this version.
-// Fl_Window *fl_boxcheat;
+// fltk3::Window *fl_boxcheat;
 static inline int can_boxcheat(uchar b) {return (b==1 || ((b&2) && b<=15));}
 
-void Fl_Window::show() {
-  image(Fl::scheme_bg_);
-  if (Fl::scheme_bg_) {
+void fltk3::Window::show() {
+  image(fltk3::scheme_bg_);
+  if (fltk3::scheme_bg_) {
     labeltype(FL_NORMAL_LABEL);
     align(FL_ALIGN_CENTER | FL_ALIGN_INSIDE | FL_ALIGN_CLIP);
   } else {
@@ -1857,11 +1857,11 @@
 }
 
 Window fl_window;
-Fl_Window *Fl_Window::current_;
+fltk3::Window *fltk3::Window::current_;
 GC fl_gc;
 
 // make X drawing go into this window (called by subclass flush() impl.)
-void Fl_Window::make_current() {
+void fltk3::Window::make_current() {
   static GC gc; // the GC used by all X windows
   if (!gc) gc = XCreateGC(fl_display, i->xid, 0, 0);
   fl_window = i->xid;
@@ -1871,7 +1871,7 @@
 
 #ifdef FLTK_USE_CAIRO
   // update the cairo_t context
-  if (Fl::cairo_autolink_context()) Fl::cairo_make_current(this);
+  if (fltk3::cairo_autolink_context()) fltk3::cairo_make_current(this);
 #endif
 
 }
@@ -1885,7 +1885,7 @@
 {
   Fl_Printer printer;
   o->window()->hide();
-  Fl_Window *win = Fl::first_window();
+  fltk3::Window *win = fltk3::first_window();
   if(!win) return;
   int w, h;
   if( printer.start_job(1) ) { o->window()->show(); return; }
@@ -1922,7 +1922,7 @@
   static int first=1;
   if(!first) return;
   first=0;
-  static Fl_Window w(0,0,150,30);
+  static fltk3::Window w(0,0,150,30);
   static Fl_Button b(0,0,w.w(),w.h(), "Print front window");
   b.callback(printFront);
   w.end();

Modified: branches/branch-3.0-2011/src/cmap.cxx
===================================================================
--- branches/branch-3.0-2011/src/cmap.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/cmap.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -111,7 +111,7 @@
 // The rest of the colormap is a gray ramp and table, filled in below:
 };
 
-// This is Fl::background from Fl_get_system_colors.cxx, with modifications:
+// This is fltk3::background from Fl_get_system_colors.cxx, with modifications:
 
 #define FL_GRAY_RAMP 32
 #define FL_NUM_GRAY  24

Modified: branches/branch-3.0-2011/src/fl_ask.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_ask.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_ask.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -34,22 +34,22 @@
 #include <stdarg.h>
 #include "flstring.h"
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 
 #include <fltk3/fl_ask.H>
 
-#include <fltk3/Fl_Box.H>
+#include <fltk3/Box.h>
 #include <fltk3/Fl_Button.H>
 #include <fltk3/Fl_Return_Button.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/Window.h>
 #include <fltk3/Fl_Input.H>
 #include <fltk3/Fl_Secret_Input.H>
 #include <fltk3/x.H>
 #include <fltk3/fl_draw.H>
 
-static Fl_Window *message_form;
-static Fl_Box *message;
-static Fl_Box *icon;
+static fltk3::Window *message_form;
+static fltk3::Box *message;
+static fltk3::Box *icon;
 static Fl_Button *button[3];
 static Fl_Input *input;
 static int ret_val;
@@ -66,14 +66,14 @@
 // 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*
-// pointer to one of the buttons or an Fl_Window* pointer to the
+// 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) {
   ret_val = (fl_intptr_t)val;
   message_form->hide();
 }
 
-static Fl_Window *makeform() {
+static fltk3::Window *makeform() {
  if (message_form) {
    message_form->size(410,103);
    return message_form;
@@ -83,15 +83,15 @@
  Fl_Group *previously_current_group = Fl_Group::current();
  Fl_Group::current(0);
  // create a new top level window
- Fl_Window *w = message_form = new Fl_Window(410,103,"");
+ fltk3::Window *w = message_form = new fltk3::Window(410,103,"");
  message_form->callback(button_cb,(void *)0);
  // w->clear_border();
- // w->box(FL_UP_BOX);
- (message = new Fl_Box(60, 25, 340, 20))
+ // w->box(fltk3::UP_BOX);
+ (message = new fltk3::Box(60, 25, 340, 20))
    ->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE|FL_ALIGN_WRAP);
  (input = new Fl_Input(60, 37, 340, 23))->hide();
- {Fl_Box* o = icon = new Fl_Box(10, 10, 50, 50);
-  o->box(FL_THIN_UP_BOX);
+ {fltk3::Box* o = icon = new fltk3::Box(10, 10, 50, 50);
+  o->box(fltk3::THIN_UP_BOX);
   o->labelfont(FL_TIMES_BOLD);
   o->labelsize(34);
   o->color(FL_WHITE);
@@ -107,7 +107,7 @@
    button[b]->callback(button_cb,(void *)b);
  }
  button[0]->shortcut(FL_Escape);
- w->resizable(new Fl_Box(60,10,110-60,27));
+ w->resizable(new fltk3::Box(60,10,110-60,27));
  w->end();
  w->set_modal();
  Fl_Group::current(previously_current_group);
@@ -197,7 +197,7 @@
   const char *b1,
   const char *b2)
 {
-  Fl::pushed(0); // stop dragging (STR #2159)
+  fltk3::pushed(0); // stop dragging (STR #2159)
 
   avoidRecursion = 1;
 
@@ -231,13 +231,13 @@
   else
     button[0]->shortcut(FL_Escape);
 
-  // deactivate Fl::grab(), because it is incompatible with modal windows
-  Fl_Window* g = Fl::grab();
-  if (g) Fl::grab(0);
+  // deactivate fltk3::grab(), because it is incompatible with modal windows
+  fltk3::Window* g = fltk3::grab();
+  if (g) fltk3::grab(0);
   message_form->show();
-  while (message_form->shown()) Fl::wait();
+  while (message_form->shown()) fltk3::wait();
   if (g) // regrab the previous popup menu, if there was one
-    Fl::grab(g);
+    fltk3::grab(g);
   icon->label(prev_icon_label);
 
   avoidRecursion = 0;
@@ -405,7 +405,7 @@
   va_end(ap);
   return r;
 }
-/** Gets the Fl_Box icon container of the current default dialog used in 
+/** Gets the fltk3::Box icon container of the current default dialog used in 
     many common dialogs like fl_message(), fl_alert(), 
     fl_ask(), fl_choice(), fl_input(), fl_password() 
     \note \#include <fltk3/fl_ask.H>

Modified: branches/branch-3.0-2011/src/fl_boxtype.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_boxtype.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_boxtype.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -34,7 +34,7 @@
 // boxtypes.  Other box types are in separate files so they are not
 // linked in if not used.
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Widget.H>
 #include <fltk3/fl_draw.H>
 #include <config.h>
@@ -61,7 +61,7 @@
   Determines if the current draw box is active or inactive. 
   If inactive, the box color is changed by the inactive color.
 */
-int Fl::draw_box_active() { return draw_it_active; }
+int fltk3::draw_box_active() { return draw_it_active; }
 
 uchar *fl_gray_ramp() {return (draw_it_active?active_ramp:inactive_ramp)-'A';}
 
@@ -133,10 +133,10 @@
   }
 }
 
-/** Draws a box of type FL_NO_BOX */
+/** Draws a box of type fltk3::NO_BOX */
 void fl_no_box(int, int, int, int, Fl_Color) {}
 
-/** Draws a frame of type FL_THIN_DOWN_FRAME */
+/** Draws a frame of type fltk3::THIN_DOWN_FRAME */
 void fl_thin_down_frame(int x, int y, int w, int h, Fl_Color) {
   fl_frame2("WWHH",x,y,w,h);
 }
@@ -148,7 +148,7 @@
   fl_rectf(x+1, y+1, w-2, h-2);
 }
 
-/** Draws a frame of type FL_THIN_UP_FRAME */
+/** Draws a frame of type fltk3::THIN_UP_FRAME */
 void fl_thin_up_frame(int x, int y, int w, int h, Fl_Color) {
   fl_frame2("HHWW",x,y,w,h);
 }
@@ -160,7 +160,7 @@
   fl_rectf(x+1, y+1, w-2, h-2);
 }
 
-/** Draws a frame of type FL_UP_FRAME */
+/** Draws a frame of type fltk3::UP_FRAME */
 void fl_up_frame(int x, int y, int w, int h, Fl_Color) {
 #if BORDER_WIDTH == 1
   fl_frame2("HHWW",x,y,w,h);
@@ -176,14 +176,14 @@
 #define D1 BORDER_WIDTH
 #define D2 (BORDER_WIDTH+BORDER_WIDTH)
 
-/** Draws a box of type FL_UP_BOX */
+/** Draws a box of type fltk3::UP_BOX */
 void fl_up_box(int x, int y, int w, int h, Fl_Color c) {
   fl_up_frame(x,y,w,h,c);
   fl_color(draw_it_active ? c : fl_inactive(c));
   fl_rectf(x+D1, y+D1, w-D2, h-D2);
 }
 
-/** Draws a frame of type FL_DOWN_FRAME */
+/** Draws a frame of type fltk3::DOWN_FRAME */
 void fl_down_frame(int x, int y, int w, int h, Fl_Color) {
 #if BORDER_WIDTH == 1
   fl_frame2("WWHH",x,y,w,h);
@@ -196,7 +196,7 @@
 #endif
 }
 
-/** Draws a box of type FL_DOWN_BOX */
+/** Draws a box of type fltk3::DOWN_BOX */
 void fl_down_box(int x, int y, int w, int h, Fl_Color c) {
   fl_down_frame(x,y,w,h,c);
   fl_color(c); fl_rectf(x+D1, y+D1, w-D2, h-D2);
@@ -248,6 +248,12 @@
 
 ////////////////////////////////////////////////////////////////
 
+
+// TODO: FLTK123 - add all the correct functions for all boxtypes.
+// The original idea to avoid certain boxtypes when linking code that did
+// not use that type was great, but since the introduction of themes, it
+// no longer works. We should avaoid all the hassle and just link everything
+// right from the beginning.
 static struct {
   Fl_Box_Draw_F *f;
   uchar dx, dy, dw, dh;
@@ -255,7 +261,7 @@
 } fl_box_table[256] = {
 // must match list in Enumerations.H!!!
   {fl_no_box,		0,0,0,0,1},		
-  {fl_rectf,		0,0,0,0,1}, // FL_FLAT_BOX
+  {fl_rectf,		0,0,0,0,1}, // fltk3::FLAT_BOX
   {fl_up_box,		D1,D1,D2,D2,1},
   {fl_down_box,		D1,D1,D2,D2,1},
   {fl_up_frame,		D1,D1,D2,D2,1},
@@ -316,7 +322,7 @@
   Returns the X offset for the given boxtype.
   \see box_dy()
 */
-int Fl::box_dx(Fl_Boxtype t) {return fl_box_table[t].dx;}
+int fltk3::box_dx(fltk3::Boxtype t) {return fl_box_table[t].dx;}
 
 /**
     Returns the Y offset for the given boxtype.
@@ -325,42 +331,42 @@
     boxtype, useful for computing the area inside a box's borders, to
     prevent overdrawing the borders.
 
-    For instance, in the case of a boxtype like FL_DOWN_BOX
+    For instance, in the case of a boxtype like fltk3::DOWN_BOX
     where the border width might be 2 pixels all around, the above 
     functions would return 2, 2, 4, and 4 for box_dx, 
     box_dy, box_dw, and box_dh respectively.
 
     An example to compute the area inside a widget's box():
     \code
-         int X = yourwidget->x() + Fl::box_dx(yourwidget->box());
-         int Y = yourwidget->y() + Fl::box_dy(yourwidget->box());
-         int W = yourwidget->w() - Fl::box_dw(yourwidget->box());
-         int H = yourwidget->h() - Fl::box_dh(yourwidget->box());
+         int X = yourwidget->x() + fltk3::box_dx(yourwidget->box());
+         int Y = yourwidget->y() + fltk3::box_dy(yourwidget->box());
+         int W = yourwidget->w() - fltk3::box_dw(yourwidget->box());
+         int H = yourwidget->h() - fltk3::box_dh(yourwidget->box());
     \endcode
     These functions are mainly useful in the draw() code 
     for deriving custom widgets, where one wants to avoid drawing 
     over the widget's own border box().
 */
-int Fl::box_dy(Fl_Boxtype t) {return fl_box_table[t].dy;}
+int fltk3::box_dy(fltk3::Boxtype t) {return fl_box_table[t].dy;}
 
 /**
   Returns the width offset for the given boxtype.
   \see box_dy().
 */
-int Fl::box_dw(Fl_Boxtype t) {return fl_box_table[t].dw;}
+int fltk3::box_dw(fltk3::Boxtype t) {return fl_box_table[t].dw;}
 
 /**
   Returns the height offset for the given boxtype.
   \see box_dy().
 */
-int Fl::box_dh(Fl_Boxtype t) {return fl_box_table[t].dh;}
+int fltk3::box_dh(fltk3::Boxtype t) {return fl_box_table[t].dh;}
 
 /**
   Sets the drawing function for a given box type.
   \param[in] t box type
   \param[in] f box drawing function
 */
-void fl_internal_boxtype(Fl_Boxtype t, Fl_Box_Draw_F* f) {
+void fl_internal_boxtype(fltk3::Boxtype t, Fl_Box_Draw_F* f) {
   if (!fl_box_table[t].set) {
     fl_box_table[t].f   = f;
     fl_box_table[t].set = 1;
@@ -368,11 +374,11 @@
 }
 
 /** Gets the current box drawing function for the specified box type. */
-Fl_Box_Draw_F *Fl::get_boxtype(Fl_Boxtype t) {
+Fl_Box_Draw_F *fltk3::get_boxtype(fltk3::Boxtype t) {
   return fl_box_table[t].f;
 }
 /** Sets the function to call to draw a specific boxtype. */
-void Fl::set_boxtype(Fl_Boxtype t, Fl_Box_Draw_F* f,
+void fltk3::set_boxtype(fltk3::Boxtype t, Fl_Box_Draw_F* f,
 		      uchar a, uchar b, uchar c, uchar d) {
   fl_box_table[t].f   = f;
   fl_box_table[t].set = 1;
@@ -382,7 +388,7 @@
   fl_box_table[t].dh  = d;
 }
 /** Copies the from boxtype. */
-void Fl::set_boxtype(Fl_Boxtype to, Fl_Boxtype from) {
+void fltk3::set_boxtype(fltk3::Boxtype to, fltk3::Boxtype from) {
   fl_box_table[to] = fl_box_table[from];
 }
 
@@ -392,14 +398,14 @@
   \param[in] x, y, w, h position and size
   \param[in] c color
 */
-void fl_draw_box(Fl_Boxtype t, int x, int y, int w, int h, Fl_Color c) {
+void fl_draw_box(fltk3::Boxtype t, int x, int y, int w, int h, Fl_Color c) {
   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 Fl_Window.cxx
+//extern Fl_Widget *fl_boxcheat; // hack set by fltk3::Window.cxx
 /** Draws the widget box according its box style */
 void Fl_Widget::draw_box() const {
-  if (box_) draw_box((Fl_Boxtype)box_, x_, y_, w_, h_, color_);
+  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 */
@@ -414,11 +420,11 @@
   }
 }
 /** Draws a box of type t, of color c at the widget's position and size. */
-void Fl_Widget::draw_box(Fl_Boxtype t, Fl_Color c) const {
+void Fl_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(Fl_Boxtype t, int X, int Y, int W, int H, Fl_Color c) const {
+void Fl_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_color.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_color.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_color.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -46,7 +46,7 @@
 // before use.
 
 #  include "Fl_XColor.H"
-#  include <fltk3/Fl.H>
+#  include <fltk3/run.h>
 #  include <fltk3/x.H>
 #  include <fltk3/fl_draw.H>
 
@@ -72,7 +72,7 @@
     fl_redmask = 0;
     return;
 #  else
-    Fl::fatal("Requires true color visual");
+    fltk3::fatal("Requires true color visual");
 #  endif
   }
 
@@ -325,7 +325,7 @@
   \param[in] i color index
   \param[in] overlay 0 for normal, 1 for overlay color
 */
-void Fl::free_color(Fl_Color i, int overlay) {
+void fltk3::free_color(Fl_Color i, int overlay) {
 #  if HAVE_OVERLAY
 #  else
   if (overlay) return;
@@ -349,7 +349,7 @@
   \param[in] i color index
   \param[in] c color
 */
-void Fl::set_color(Fl_Color i, unsigned c) {
+void fltk3::set_color(Fl_Color i, unsigned c) {
   if (fl_cmap[i] != c) {
     free_color(i,0);
 #  if HAVE_OVERLAY
@@ -368,7 +368,7 @@
     in the next 8 bits, and the blue value in bits 8-15.  The lower
     8 bits will always be 0.
 */
-unsigned Fl::get_color(Fl_Color i) {
+unsigned fltk3::get_color(Fl_Color i) {
   if (i & 0xffffff00) return (i);
   else return fl_cmap[i];
 }
@@ -377,8 +377,8 @@
     any 8-bit RGB color.  The color is not allocated until fl_color(i)
     is used.
 */
-void Fl::set_color(Fl_Color i, uchar red, uchar green, uchar blue) {
-  Fl::set_color((Fl_Color)(i & 255),
+void fltk3::set_color(Fl_Color i, uchar red, uchar green, uchar blue) {
+  fltk3::set_color((Fl_Color)(i & 255),
 	((unsigned)red<<24)+((unsigned)green<<16)+((unsigned)blue<<8));
 }
 /**
@@ -389,7 +389,7 @@
 
     See also unsigned get_color(Fl_Color c)
  */
-void Fl::get_color(Fl_Color i, uchar &red, uchar &green, uchar &blue) {
+void fltk3::get_color(Fl_Color i, uchar &red, uchar &green, uchar &blue) {
   unsigned c;
 
   if (i & 0xffffff00) c = (unsigned)i;

Modified: branches/branch-3.0-2011/src/fl_color_mac.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_color_mac.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_color_mac.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -34,7 +34,7 @@
 // matt: Quartz support done
 
 #include <config.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
 #include <fltk3/fl_draw.H>
 
@@ -83,7 +83,7 @@
   CGContextSetRGBStrokeColor(fl_gc, fr, fg, fb, 1.0f);
 }
 
-void Fl::set_color(Fl_Color i, unsigned c) {
+void fltk3::set_color(Fl_Color i, unsigned c) {
   if (fl_cmap[i] != c) {
     fl_cmap[i] = c;
   }

Modified: branches/branch-3.0-2011/src/fl_color_win32.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_color_win32.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_color_win32.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -35,7 +35,7 @@
 // before use.
 
 #include <config.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
 #include <fltk3/fl_draw.H>
 
@@ -191,12 +191,12 @@
   return brushes[i].brush;
 }
 
-void Fl::free_color(Fl_Color i, int overlay) {
+void fltk3::free_color(Fl_Color i, int overlay) {
   if (overlay) return; // do something about GL overlay?
   clear_xmap(fl_xmap[i]);
 }
 
-void Fl::set_color(Fl_Color i, unsigned c) {
+void fltk3::set_color(Fl_Color i, unsigned c) {
   if (fl_cmap[i] != c) {
     clear_xmap(fl_xmap[i]);
     fl_cmap[i] = c;

Modified: branches/branch-3.0-2011/src/fl_cursor.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_cursor.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_cursor.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -28,11 +28,11 @@
 // Change the current cursor.
 // Under X the cursor is attached to the X window.  I tried to hide
 // this and pretend that changing the cursor is a drawing function.
-// This avoids a field in the Fl_Window, and I suspect is more
+// This avoids a field in the fltk3::Window, and I suspect is more
 // portable to other systems.
 
-#include <fltk3/Fl.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/run.h>
+#include <fltk3/Window.h>
 #include <fltk3/x.H>
 #if !defined(WIN32) && !defined(__APPLE__)
 #  include <X11/cursorfont.h>
@@ -44,14 +44,14 @@
   The cursors are defined in the <fltk3/Enumerations.H> header file. 
   */
 void fl_cursor(Fl_Cursor c, Fl_Color fg, Fl_Color bg) {
-  if (Fl::first_window()) Fl::first_window()->cursor(c,fg,bg);
+  if (fltk3::first_window()) fltk3::first_window()->cursor(c,fg,bg);
 }
 /** 
     Sets the default window cursor as well as its color.
 
     For back compatibility only.
 */
-void Fl_Window::default_cursor(Fl_Cursor c, Fl_Color fg, Fl_Color bg) {
+void fltk3::Window::default_cursor(Fl_Cursor c, Fl_Color fg, Fl_Color bg) {
 //  if (c == FL_CURSOR_DEFAULT) c = FL_CURSOR_ARROW;
 
   cursor_default = c;
@@ -67,10 +67,10 @@
 #    define IDC_HAND	MAKEINTRESOURCE(32649)
 #  endif // !IDC_HAND
 
-void Fl_Window::cursor(Fl_Cursor c, Fl_Color c1, Fl_Color c2) {
+void fltk3::Window::cursor(Fl_Cursor c, Fl_Color c1, Fl_Color c2) {
   if (!shown()) return;
   // the cursor must be set for the top level window, not for subwindows
-  Fl_Window *w = window(), *toplevel = this;
+  fltk3::Window *w = window(), *toplevel = this;
   while (w) { toplevel = w; w = w->window(); }
   if (toplevel != this) { toplevel->cursor(c, c1, c2); return; }
   // now set the actual cursor
@@ -227,7 +227,7 @@
   return (CGContextRef)off;
 }
 
-void Fl_Window::cursor(Fl_Cursor c, Fl_Color, Fl_Color) {
+void fltk3::Window::cursor(Fl_Cursor c, Fl_Color, Fl_Color) {
   if (c == FL_CURSOR_DEFAULT) {
     c = cursor_default;
   }
@@ -280,7 +280,7 @@
   {{0}, {0}} // FL_CURSOR_NONE & unknown
 };
 
-void Fl_Window::cursor(Fl_Cursor c, Fl_Color fg, Fl_Color bg) {
+void fltk3::Window::cursor(Fl_Cursor c, Fl_Color fg, Fl_Color bg) {
   if (!shown()) return;
   Cursor xc;
   int deleteit = 0;
@@ -315,10 +315,10 @@
     }
     XColor fgc;
     uchar r,g,b;
-    Fl::get_color(fg,r,g,b);
+    fltk3::get_color(fg,r,g,b);
     fgc.red = r<<8; fgc.green = g<<8; fgc.blue = b<<8;
     XColor bgc;
-    Fl::get_color(bg,r,g,b);
+    fltk3::get_color(bg,r,g,b);
     bgc.red = r<<8; bgc.green = g<<8; bgc.blue = b<<8;
     XRecolorCursor(fl_display, xc, &fgc, &bgc);
   }

Modified: branches/branch-3.0-2011/src/fl_diamond_box.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_diamond_box.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_diamond_box.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -31,7 +31,7 @@
 
 // The diamond box draws best if the area is square!
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 
 extern uchar* fl_gray_ramp();
@@ -68,11 +68,11 @@
   fl_color(g['A']); fl_loop(x+3, y1, x1, y+3, x+w-3, y1, x1, y+h-3);
 }
 
-extern void fl_internal_boxtype(Fl_Boxtype, Fl_Box_Draw_F*);
-Fl_Boxtype fl_define_FL_DIAMOND_BOX() {
-  fl_internal_boxtype(_FL_DIAMOND_DOWN_BOX, fl_diamond_down_box);
-  fl_internal_boxtype(_FL_DIAMOND_UP_BOX,fl_diamond_up_box);
-  return _FL_DIAMOND_UP_BOX;
+extern void fl_internal_boxtype(fltk3::Boxtype, Fl_Box_Draw_F*);
+fltk3::Boxtype fl_define_FL_DIAMOND_BOX() {
+  fl_internal_boxtype(fltk3::DIAMOND_DOWN_BOX, fl_diamond_down_box);
+  fl_internal_boxtype(fltk3::DIAMOND_UP_BOX,fl_diamond_up_box);
+  return fltk3::DIAMOND_UP_BOX;
 }
 
 //

Modified: branches/branch-3.0-2011/src/fl_dnd_win32.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_dnd_win32.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_dnd_win32.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -28,9 +28,9 @@
 // in.  Search other files for "WIN32" or filenames ending in _win32.cxx
 // for other system-specific code.
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/Window.h>
 #include <fltk3/fl_utf8.h>
 #include "flstring.h"
 #include <stdio.h>
@@ -50,7 +50,7 @@
 extern char *fl_locale2utf8(const char *s, UINT codepage = 0);
 extern unsigned int fl_codepage;
 
-Fl_Window *fl_dnd_target_window = 0;
+fltk3::Window *fl_dnd_target_window = 0;
 
 #include <ole2.h>
 #include <shellapi.h>
@@ -90,19 +90,19 @@
     // set e_modifiers here from grfKeyState, set e_x and e_root_x
     // check if FLTK handles this drag and return if it can't (i.e. BMP drag without filename)
     POINT ppt;
-    Fl::e_x_root = ppt.x = pt.x;
-    Fl::e_y_root = ppt.y = pt.y;
+    fltk3::e_x_root = ppt.x = pt.x;
+    fltk3::e_y_root = ppt.y = pt.y;
     HWND hWnd = WindowFromPoint( ppt );
-    Fl_Window *target = fl_find( hWnd );
+    fltk3::Window *target = fl_find( hWnd );
     if (target) {
-      Fl::e_x = Fl::e_x_root-target->x();
-      Fl::e_y = Fl::e_y_root-target->y();
+      fltk3::e_x = fltk3::e_x_root-target->x();
+      fltk3::e_y = fltk3::e_y_root-target->y();
     }
     fl_dnd_target_window = target;
     px = pt.x; py = pt.y;
     if (fillCurrentDragData(pDataObj)) {
       // FLTK has no mechanism yet for the different drop effects, so we allow move and copy
-      if ( target && Fl::handle( FL_DND_ENTER, target ) )
+      if ( target && fltk3::handle( FL_DND_ENTER, target ) )
         *pdwEffect = DROPEFFECT_MOVE|DROPEFFECT_COPY; //|DROPEFFECT_LINK;
       else
         *pdwEffect = DROPEFFECT_NONE;
@@ -124,15 +124,15 @@
       return S_OK;
     }
     // set e_modifiers here from grfKeyState, set e_x and e_root_x
-    Fl::e_x_root = pt.x;
-    Fl::e_y_root = pt.y;
+    fltk3::e_x_root = pt.x;
+    fltk3::e_y_root = pt.y;
     if (fl_dnd_target_window) {
-      Fl::e_x = Fl::e_x_root-fl_dnd_target_window->x();
-      Fl::e_y = Fl::e_y_root-fl_dnd_target_window->y();
+      fltk3::e_x = fltk3::e_x_root-fl_dnd_target_window->x();
+      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
-      if ( Fl::handle( FL_DND_DRAG, fl_dnd_target_window ) )
+      if ( fltk3::handle( FL_DND_DRAG, fl_dnd_target_window ) )
         *pdwEffect = DROPEFFECT_MOVE|DROPEFFECT_COPY; //|DROPEFFECT_LINK;
       else
         *pdwEffect = DROPEFFECT_NONE;
@@ -146,7 +146,7 @@
   HRESULT STDMETHODCALLTYPE DragLeave() {
     if ( fl_dnd_target_window && fillCurrentDragData(0))
     {
-      Fl::handle( FL_DND_LEAVE, fl_dnd_target_window );
+      fltk3::handle( FL_DND_LEAVE, fl_dnd_target_window );
       fl_dnd_target_window = 0;
       clearCurrentDragData();
     }
@@ -155,23 +155,23 @@
   HRESULT STDMETHODCALLTYPE Drop( IDataObject *data, DWORD /*grfKeyState*/, POINTL pt, DWORD* /*pdwEffect*/) {
     if ( !fl_dnd_target_window )
       return S_OK;
-    Fl_Window *target = fl_dnd_target_window;
+    fltk3::Window *target = fl_dnd_target_window;
     fl_dnd_target_window = 0;
-    Fl::e_x_root = pt.x;
-    Fl::e_y_root = pt.y;
+    fltk3::e_x_root = pt.x;
+    fltk3::e_y_root = pt.y;
     if (target) {
-      Fl::e_x = Fl::e_x_root-target->x();
-      Fl::e_y = Fl::e_y_root-target->y();
+      fltk3::e_x = fltk3::e_x_root-target->x();
+      fltk3::e_y = fltk3::e_y_root-target->y();
     }
     // tell FLTK that the user released an object on this widget
-    if ( !Fl::handle( FL_DND_RELEASE, target ) )
+    if ( !fltk3::handle( FL_DND_RELEASE, target ) )
       return S_OK;
 
     Fl_Widget *w = target;
     while (w->parent()) w = w->window();
-    HWND hwnd = fl_xid( (Fl_Window*)w );
+    HWND hwnd = fl_xid( (fltk3::Window*)w );
     if (fillCurrentDragData(data)) {
-      int old_event = Fl::e_number;
+      int old_event = fltk3::e_number;
       char *a, *b;
       a = b = currDragData;
       while (*a) { // strip the CRLF pairs
@@ -179,10 +179,10 @@
 	else *b++ = *a++;
       }
       *b = 0;
-      Fl::e_text = currDragData;
-      Fl::e_length = b - currDragData;
-      Fl::belowmouse()->handle(Fl::e_number = FL_PASTE); // e_text will be invalid after this call
-      Fl::e_number = old_event;
+      fltk3::e_text = currDragData;
+      fltk3::e_length = b - currDragData;
+      fltk3::belowmouse()->handle(fltk3::e_number = FL_PASTE); // e_text will be invalid after this call
+      fltk3::e_number = old_event;
       SetForegroundWindow( hwnd );
       clearCurrentDragData();
       return S_OK;
@@ -291,13 +291,13 @@
          *dst=0;
 
         currDragData = (char*) malloc(nn * 5 + 1);
-//      Fl::e_length = fl_unicode2utf(bu, nn, Fl::e_text);
+//      fltk3::e_length = fl_unicode2utf(bu, nn, fltk3::e_text);
         currDragSize = fl_utf8fromwc(currDragData, (nn*5+1), bu, nn);
         currDragData[currDragSize] = 0;
         free(bu);
 
-//    Fl::belowmouse()->handle(FL_DROP);
-//      free( Fl::e_text );
+//    fltk3::belowmouse()->handle(FL_DROP);
+//      free( fltk3::e_text );
       ReleaseStgMedium( &medium );
       currDragResult = 1;
       return currDragResult;
@@ -523,7 +523,7 @@
 };
 
 
-int Fl::dnd()
+int fltk3::dnd()
 {
   DWORD dropEffect;
   ReleaseCapture();
@@ -538,13 +538,13 @@
   fdo->Release();
   fds->Release();
 
-  Fl_Widget *w = Fl::pushed();
+  Fl_Widget *w = fltk3::pushed();
   if ( w )
   {
-    int old_event = Fl::e_number;
-    w->handle(Fl::e_number = FL_RELEASE);
-    Fl::e_number = old_event;
-    Fl::pushed( 0 );
+    int old_event = fltk3::e_number;
+    w->handle(fltk3::e_number = FL_RELEASE);
+    fltk3::e_number = old_event;
+    fltk3::pushed( 0 );
   }
   if ( ret==DRAGDROP_S_DROP ) return 1; // or DD_S_CANCEL
   return 0;

Modified: branches/branch-3.0-2011/src/fl_dnd_x.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_dnd_x.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_dnd_x.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,8 +25,8 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/run.h>
+#include <fltk3/Window.h>
 #include <fltk3/x.H>
 #include "flstring.h"
 
@@ -70,37 +70,37 @@
 }
 
 static int grabfunc(int event) {
-  if (event == FL_RELEASE) Fl::pushed(0);
+  if (event == FL_RELEASE) fltk3::pushed(0);
   return 0;
 }
 
 extern int (*fl_local_grab)(int); // in Fl.cxx
 
 // send an event to an fltk window belonging to this program:
-static int local_handle(int event, Fl_Window* window) {
+static int local_handle(int event, fltk3::Window* window) {
   fl_local_grab = 0;
-  Fl::e_x = Fl::e_x_root-window->x();
-  Fl::e_y = Fl::e_y_root-window->y();
-  int ret = Fl::handle(event,window);
+  fltk3::e_x = fltk3::e_x_root-window->x();
+  fltk3::e_y = fltk3::e_y_root-window->y();
+  int ret = fltk3::handle(event,window);
   fl_local_grab = grabfunc;
   return ret;
 }
 
-int Fl::dnd() {
-  Fl_Window *source_fl_win = Fl::first_window();
-  Fl::first_window()->cursor(FL_CURSOR_MOVE);
-  Window source_window = fl_xid(Fl::first_window());
+int fltk3::dnd() {
+  fltk3::Window *source_fl_win = fltk3::first_window();
+  fltk3::first_window()->cursor(FL_CURSOR_MOVE);
+  Window source_window = fl_xid(fltk3::first_window());
   fl_local_grab = grabfunc;
   Window target_window = 0;
-  Fl_Window* local_window = 0;
+  fltk3::Window* local_window = 0;
   int dndversion = 4; int dest_x, dest_y;
   XSetSelectionOwner(fl_display, fl_XdndSelection, fl_message_window, fl_event_time);
 
-  while (Fl::pushed()) {
+  while (fltk3::pushed()) {
 
     // figure out what window we are pointing at:
     Window new_window = 0; int new_version = 0;
-    Fl_Window* new_local_window = 0;
+    fltk3::Window* new_local_window = 0;
     for (Window child = RootWindow(fl_display, fl_screen);;) {
       Window root; unsigned int junk3;
       XQueryPointer(fl_display, child, &root, &child,
@@ -161,7 +161,7 @@
 			   0, (e_x_root<<16)|e_y_root, fl_event_time,
 			   fl_XdndActionCopy);
     }
-    Fl::wait();
+    fltk3::wait();
   }
 
   if (local_window) {
@@ -180,8 +180,8 @@
     msg.time = fl_event_time+1;
     msg.x = dest_x;
     msg.y = dest_y;
-    msg.x_root = Fl::e_x_root;
-    msg.y_root = Fl::e_y_root;
+    msg.x_root = fltk3::e_x_root;
+    msg.y_root = fltk3::e_y_root;
     msg.state = 0x0;
     msg.button = Button2;
     XSendEvent(fl_display, target_window, False, 0L, (XEvent*)&msg);

Modified: branches/branch-3.0-2011/src/fl_draw.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_draw.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_draw.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -34,7 +34,7 @@
 
 #define min(a,b) ((a)<(b)?(a):(b))
 #include <fltk3/fl_utf8.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 #include <fltk3/Fl_Image.H>
 

Modified: branches/branch-3.0-2011/src/fl_draw_image.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_draw_image.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_draw_image.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -59,7 +59,7 @@
 
 ////////////////////////////////////////////////////////////////
 
-#  include <fltk3/Fl.H>
+#  include <fltk3/run.h>
 #  include <fltk3/fl_draw.H>
 #  include <fltk3/x.H>
 #  include "Fl_XColor.H"
@@ -373,7 +373,7 @@
 
   unsigned int n = pfv->scanline_pad/8;
   if (pfv->scanline_pad & 7 || (n&(n-1)))
-    Fl::fatal("Can't do scanline_pad of %d",pfv->scanline_pad);
+    fltk3::fatal("Can't do scanline_pad of %d",pfv->scanline_pad);
   if (n < sizeof(STORETYPE)) n = sizeof(STORETYPE);
   scanline_add = n-1;
   scanline_mask = -n;
@@ -385,7 +385,7 @@
     return;
   }
   if (!fl_visual->red_mask)
-    Fl::fatal("Can't do %d bits_per_pixel colormap",xi.bits_per_pixel);
+    fltk3::fatal("Can't do %d bits_per_pixel colormap",xi.bits_per_pixel);
 #  endif
 
   // otherwise it is a TrueColor visual:
@@ -422,7 +422,7 @@
       converter = bgr_converter;
       mono_converter = rrr_converter;
     } else {
-      Fl::fatal("Can't do arbitrary 24bit color");
+      fltk3::fatal("Can't do arbitrary 24bit color");
     }
     break;
 
@@ -449,7 +449,7 @@
     break;
 
   default:
-    Fl::fatal("Can't do %d bits_per_pixel",xi.bits_per_pixel);
+    fltk3::fatal("Can't do %d bits_per_pixel",xi.bits_per_pixel);
   }
 
 }

Modified: branches/branch-3.0-2011/src/fl_draw_image_mac.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_draw_image_mac.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_draw_image_mac.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -28,7 +28,7 @@
 ////////////////////////////////////////////////////////////////
 
 #include <config.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 #include <fltk3/x.H>
 

Modified: branches/branch-3.0-2011/src/fl_draw_image_win32.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_draw_image_win32.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_draw_image_win32.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -45,7 +45,7 @@
 ////////////////////////////////////////////////////////////////
 
 #include <config.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Printer.H>
 #include <fltk3/fl_draw.H>
 #include <fltk3/x.H>

Modified: branches/branch-3.0-2011/src/fl_draw_pixmap.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_draw_pixmap.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_draw_pixmap.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -35,7 +35,7 @@
 // as I want to discourage programs that require support files to work.
 // All data needed by a program ui should be compiled in!!!
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 #include <fltk3/x.H>
 #include <stdio.h>
@@ -238,7 +238,7 @@
 #  endif
 #endif
       transparent_index = ' ';
-      Fl::get_color(bg, c[0], c[1], c[2]); c[3] = 0;
+      fltk3::get_color(bg, c[0], c[1], c[2]); c[3] = 0;
       transparent_c = c;
       p += 4;
       ncolors--;
@@ -320,7 +320,7 @@
       else {
         // assume "None" or "#transparent" for any errors
 	// "bg" should be transparent...
-	Fl::get_color(bg, c[0], c[1], c[2]);
+	fltk3::get_color(bg, c[0], c[1], c[2]);
 #ifdef __APPLE_QUARTZ__
         c[3] = 0;
 #endif

Modified: branches/branch-3.0-2011/src/fl_engraved_label.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_engraved_label.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_engraved_label.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -27,7 +27,7 @@
 
 // Drawing code for XForms style engraved & embossed labels
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Widget.H>
 #include <fltk3/fl_draw.H>
 
@@ -75,17 +75,17 @@
   innards(o, X, Y, W, H, align, data, 7);
 }
 
-Fl_Labeltype fl_define_FL_SHADOW_LABEL() {
-  Fl::set_labeltype(_FL_SHADOW_LABEL, fl_shadow_label, 0);
-  return _FL_SHADOW_LABEL;
+fltk3::Labeltype fl_define_FL_SHADOW_LABEL() {
+  fltk3::set_labeltype(fltk3::SHADOW_LABEL, fl_shadow_label, 0);
+  return fltk3::SHADOW_LABEL;
 }
-Fl_Labeltype fl_define_FL_ENGRAVED_LABEL() {
-  Fl::set_labeltype(_FL_ENGRAVED_LABEL, fl_engraved_label, 0);
-  return _FL_ENGRAVED_LABEL;
+fltk3::Labeltype fl_define_FL_ENGRAVED_LABEL() {
+  fltk3::set_labeltype(fltk3::ENGRAVED_LABEL, fl_engraved_label, 0);
+  return fltk3::ENGRAVED_LABEL;
 }
-Fl_Labeltype fl_define_FL_EMBOSSED_LABEL() {
-  Fl::set_labeltype(_FL_EMBOSSED_LABEL, fl_embossed_label, 0);
-  return _FL_EMBOSSED_LABEL;
+fltk3::Labeltype fl_define_FL_EMBOSSED_LABEL() {
+  fltk3::set_labeltype(fltk3::EMBOSSED_LABEL, fl_embossed_label, 0);
+  return fltk3::EMBOSSED_LABEL;
 }
 
 //

Modified: branches/branch-3.0-2011/src/fl_file_dir.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_file_dir.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_file_dir.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -139,7 +139,7 @@
   fc->show();
 
   while (fc->shown())
-    Fl::wait();
+    fltk3::wait();
 
   if (fc->value() && relative) {
     fl_filename_relative(retname, sizeof(retname), fc->value());
@@ -181,7 +181,7 @@
   fc->show();
 
   while (fc->shown())
-    Fl::wait();
+    fltk3::wait();
 
   if (fc->value() && relative) {
     fl_filename_relative(retname, sizeof(retname), fc->value());

Modified: branches/branch-3.0-2011/src/fl_font.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_font.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_font.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -40,7 +40,7 @@
 
 // Select fonts from the FLTK font table.
 #include "flstring.h"
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 #include <fltk3/x.H>
 #include "Fl_Font.H"

Modified: branches/branch-3.0-2011/src/fl_font_mac.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_font_mac.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_font_mac.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -409,7 +409,7 @@
 static CGColorRef flcolortocgcolor(Fl_Color i)
 {
   uchar r, g, b;
-  Fl::get_color(i, r, g, b);
+  fltk3::get_color(i, r, g, b);
   CGFloat components[4] = {r/255.0f, g/255.0f, b/255.0f, 1.};
   static CGColorSpaceRef cspace = NULL;
   if(cspace == NULL) {

Modified: branches/branch-3.0-2011/src/fl_font_win32.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_font_win32.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_font_win32.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -202,11 +202,11 @@
     HWND hWnd = 0;
     if (!gc) { // We have no valid gc, try and obtain one
 	// Use our first fltk window, or fallback to using the screen via GetDC(NULL)
-	hWnd = Fl::first_window() ? fl_xid(Fl::first_window()) : NULL;
+	hWnd = fltk3::first_window() ? fl_xid(fltk3::first_window()) : NULL;
 	gc = GetDC(hWnd);
     }
     if (!gc)
-	Fl::fatal("Invalid graphic context: fl_width() failed because no valid HDC was found!");
+	fltk3::fatal("Invalid graphic context: fl_width() failed because no valid HDC was found!");
     for (; i < 0x400; i++) {
       GetTextExtentPoint32W(gc, (WCHAR*)&ii, 1, &s);
       fl_fontsize->width[r][i] = s.cx;
@@ -280,7 +280,7 @@
   // See description in fl_width() above for an explanation.
   if (!fl_gc) { // We have no valid gc, try and obtain one
 	// Use our first fltk window, or fallback to using the screen via GetDC(NULL)
-	hWnd = Fl::first_window() ? fl_xid(Fl::first_window()) : NULL;
+	hWnd = fltk3::first_window() ? fl_xid(fltk3::first_window()) : NULL;
 	fl_gc = GetDC(hWnd);
   }
   if (!fl_gc)goto exit_error; // no valid gc, attempt to use fallback measure

Modified: branches/branch-3.0-2011/src/fl_font_x.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_font_x.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_font_x.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -29,7 +29,7 @@
 Fl_Font_Descriptor::Fl_Font_Descriptor(const char* name) {
   font = XCreateUtf8FontStruct(fl_display, name);
   if (!font) {
-    Fl::warning("bad font: %s", name);
+    fltk3::warning("bad font: %s", name);
     font = XCreateUtf8FontStruct(fl_display, "fixed");
   }
 #  if HAVE_GL

Modified: branches/branch-3.0-2011/src/fl_font_xft.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_font_xft.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_font_xft.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -182,7 +182,7 @@
      * by 'I' (italic) 'B' (bold) 'P' (bold italic) or ' ' (regular) modifiers.
      * This gives a fairly limited font selection ability, but is retained for
      * compatibility reasons. If you really need a more complex choice, you are best
-     * calling Fl::set_fonts(*) then selecting the font by font-index rather than by
+     * calling fltk3::set_fonts(*) then selecting the font by font-index rather than by
      * name anyway. Probably.
      * If you want to load a font who's name does actually begin with I, B or P, you
      * MUST use a leading space OR simply use lowercase for the name...
@@ -297,7 +297,7 @@
                         NULL);
       XftPatternDestroy(fnt_pat);
       if (!the_font) {
-        Fl::error("Unable to find fonts. Check your FontConfig configuration.\n");
+        fltk3::error("Unable to find fonts. Check your FontConfig configuration.\n");
         exit(1);
       }
       return the_font;
@@ -614,7 +614,7 @@
   // XftCollorAllocValue returns:
   XftColor color;
   color.pixel = fl_xpixel(fl_color_);
-  uchar r,g,b; Fl::get_color(fl_color_, r,g,b);
+  uchar r,g,b; fltk3::get_color(fl_color_, r,g,b);
   color.color.red   = ((int)r)*0x101;
   color.color.green = ((int)g)*0x101;
   color.color.blue  = ((int)b)*0x101;
@@ -659,7 +659,7 @@
   // XftCollorAllocValue returns:
   XftColor color;
   color.pixel = fl_xpixel(fl_color_);
-  uchar r,g,b; Fl::get_color(fl_color_, r,g,b);
+  uchar r,g,b; fltk3::get_color(fl_color_, r,g,b);
   color.color.red   = ((int)r)*0x101;
   color.color.green = ((int)g)*0x101;
   color.color.blue  = ((int)b)*0x101;

Modified: branches/branch-3.0-2011/src/fl_gtk.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_gtk.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_gtk.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -32,14 +32,14 @@
 // These box types are in separate files so they are not linked
 // in if not used.
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 
-extern void fl_internal_boxtype(Fl_Boxtype, Fl_Box_Draw_F*);
+extern void fl_internal_boxtype(fltk3::Boxtype, Fl_Box_Draw_F*);
 
 
 static void gtk_color(Fl_Color c) {
-  if (Fl::draw_box_active()) fl_color(c);
+  if (fltk3::draw_box_active()) fl_color(c);
   else fl_color(fl_inactive(c));
 }
 
@@ -283,19 +283,19 @@
 
 #endif
 
-Fl_Boxtype fl_define_FL_GTK_UP_BOX() {
-  fl_internal_boxtype(_FL_GTK_UP_BOX, gtk_up_box);
-  fl_internal_boxtype(_FL_GTK_DOWN_BOX, gtk_down_box);
-  fl_internal_boxtype(_FL_GTK_UP_FRAME, gtk_up_frame);
-  fl_internal_boxtype(_FL_GTK_DOWN_FRAME, gtk_down_frame);
-  fl_internal_boxtype(_FL_GTK_THIN_UP_BOX, gtk_thin_up_box);
-  fl_internal_boxtype(_FL_GTK_THIN_DOWN_BOX, gtk_thin_down_box);
-  fl_internal_boxtype(_FL_GTK_THIN_UP_FRAME, gtk_thin_up_frame);
-  fl_internal_boxtype(_FL_GTK_THIN_DOWN_FRAME, gtk_thin_down_frame);
-  fl_internal_boxtype(_FL_GTK_ROUND_UP_BOX, gtk_round_up_box);
-  fl_internal_boxtype(_FL_GTK_ROUND_DOWN_BOX, gtk_round_down_box);
+fltk3::Boxtype fl_define_FL_GTK_UP_BOX() {
+  fl_internal_boxtype(fltk3::GTK_UP_BOX, gtk_up_box);
+  fl_internal_boxtype(fltk3::GTK_DOWN_BOX, gtk_down_box);
+  fl_internal_boxtype(fltk3::GTK_UP_FRAME, gtk_up_frame);
+  fl_internal_boxtype(fltk3::GTK_DOWN_FRAME, gtk_down_frame);
+  fl_internal_boxtype(fltk3::GTK_THIN_UP_BOX, gtk_thin_up_box);
+  fl_internal_boxtype(fltk3::GTK_THIN_DOWN_BOX, gtk_thin_down_box);
+  fl_internal_boxtype(fltk3::GTK_THIN_UP_FRAME, gtk_thin_up_frame);
+  fl_internal_boxtype(fltk3::GTK_THIN_DOWN_FRAME, gtk_thin_down_frame);
+  fl_internal_boxtype(fltk3::GTK_ROUND_UP_BOX, gtk_round_up_box);
+  fl_internal_boxtype(fltk3::GTK_ROUND_DOWN_BOX, gtk_round_down_box);
 
-  return _FL_GTK_UP_BOX;
+  return fltk3::GTK_UP_BOX;
 }
 
 

Modified: branches/branch-3.0-2011/src/fl_labeltype.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_labeltype.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_labeltype.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -29,7 +29,7 @@
 // Other label types (symbols) are in their own source files
 // to avoid linking if not used.
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Widget.H>
 #include <fltk3/Fl_Group.H>
 #include <fltk3/fl_draw.H>
@@ -58,6 +58,7 @@
 
 #define MAX_LABELTYPE 16
 
+// TODO: FLTK123 - fill the label type table!
 static Fl_Label_Draw_F* table[MAX_LABELTYPE] = {
   fl_normal_label,
   fl_no_label,
@@ -75,7 +76,7 @@
 static Fl_Label_Measure_F* measure[MAX_LABELTYPE];
 
 /** Sets the functions to call to draw and measure a specific labeltype. */
-void Fl::set_labeltype(Fl_Labeltype t,Fl_Label_Draw_F* f,Fl_Label_Measure_F*m) 
+void fltk3::set_labeltype(fltk3::Labeltype t,Fl_Label_Draw_F* f,Fl_Label_Measure_F*m) 
 {
   table[t] = f; measure[t] = m;
 }
@@ -106,10 +107,10 @@
     This is the normal call for a widget's draw() method.
  */
 void Fl_Widget::draw_label() const {
-  int X = x_+Fl::box_dx(box());
-  int W = w_-Fl::box_dw(box());
+  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;}
-  draw_label(X, y_+Fl::box_dy(box()), W, h_-Fl::box_dh(box()));
+  draw_label(X, y_+fltk3::box_dy(box()), W, h_-fltk3::box_dh(box()));
 }
 
 /** Draws the label in an arbitrary bounding box.

Modified: branches/branch-3.0-2011/src/fl_line_style.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_line_style.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_line_style.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -30,7 +30,7 @@
   \brief Line style drawing utility hiding different platforms.
 */
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 #include <fltk3/x.H>
 #include <fltk3/Fl_Printer.H>
@@ -39,7 +39,7 @@
 
 // We save the current line width (absolute value) here.
 // This is currently used only for X11 clipping, see src/fl_rect.cxx.
-// FIXME: this would probably better be in class Fl::
+// FIXME: this would probably better be in class fltk3::
 int fl_line_width_ = 0;
 
 #ifdef __APPLE_QUARTZ__
@@ -111,7 +111,7 @@
   LOGBRUSH penbrush = {BS_SOLID,fl_RGB(),0}; // can this be fl_brush()?
   HPEN newpen = ExtCreatePen(s1, width, &penbrush, n, n ? a : 0);
   if (!newpen) {
-    Fl::error("fl_line_style(): Could not create GDI pen object.");
+    fltk3::error("fl_line_style(): Could not create GDI pen object.");
     return;
   }
   HPEN oldpen = (HPEN)SelectObject(fl_gc, newpen);

Modified: branches/branch-3.0-2011/src/fl_oval_box.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_oval_box.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_oval_box.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -29,7 +29,7 @@
 // Less-used box types are in separate files so they are not linked
 // in if not used.
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 
 static void fl_oval_flat_box(int x, int y, int w, int h, Fl_Color c) {
@@ -52,13 +52,13 @@
   fl_oval_box(x,y,w,h,c);
 }
 
-extern void fl_internal_boxtype(Fl_Boxtype, Fl_Box_Draw_F*);
-Fl_Boxtype fl_define_FL_OVAL_BOX() {
-  fl_internal_boxtype(_FL_OSHADOW_BOX,fl_oval_shadow_box);
-  fl_internal_boxtype(_FL_OVAL_FRAME,fl_oval_frame);
-  fl_internal_boxtype(_FL_OFLAT_BOX,fl_oval_flat_box);
-  fl_internal_boxtype(_FL_OVAL_BOX,fl_oval_box);
-  return _FL_OVAL_BOX;
+extern void fl_internal_boxtype(fltk3::Boxtype, Fl_Box_Draw_F*);
+fltk3::Boxtype fl_define_FL_OVAL_BOX() {
+  fl_internal_boxtype(fltk3::OSHADOW_BOX,fl_oval_shadow_box);
+  fl_internal_boxtype(fltk3::OVAL_FRAME,fl_oval_frame);
+  fl_internal_boxtype(fltk3::OFLAT_BOX,fl_oval_flat_box);
+  fl_internal_boxtype(fltk3::OVAL_BOX,fl_oval_box);
+  return fltk3::OVAL_BOX;
 }
 
 //

Modified: branches/branch-3.0-2011/src/fl_overlay_visual.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_overlay_visual.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_overlay_visual.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -32,7 +32,7 @@
 
 #include <config.h>
 #if HAVE_OVERLAY
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
 
 // SERVER_OVERLAY_VISUALS property element:

Modified: branches/branch-3.0-2011/src/fl_plastic.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_plastic.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_plastic.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -32,7 +32,7 @@
 // These box types are in separate files so they are not linked
 // in if not used.
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 #include "flstring.h"
 
@@ -50,8 +50,8 @@
 #ifdef USE_OLD_PLASTIC_COLOR
   return fl_color_average((Fl_Color)gc, bc, 0.75f);
 #else
-  unsigned	grgb = Fl::get_color((Fl_Color)gc),
-		brgb = Fl::get_color(bc);
+  unsigned	grgb = fltk3::get_color((Fl_Color)gc),
+		brgb = fltk3::get_color(bc);
   int		red, green, blue, gray;
 
 
@@ -71,7 +71,7 @@
   if (blue > 255)
     blue = 255;
 
-  if (Fl::draw_box_active())
+  if (fltk3::draw_box_active())
     return fl_rgb_color(red, green, blue);
   else
     return fl_color_average(FL_GRAY, fl_rgb_color(red, green, blue), 0.75f);
@@ -359,20 +359,20 @@
 }
 
 
-extern void fl_internal_boxtype(Fl_Boxtype, Fl_Box_Draw_F*);
+extern void fl_internal_boxtype(fltk3::Boxtype, Fl_Box_Draw_F*);
 
 
-Fl_Boxtype fl_define_FL_PLASTIC_UP_BOX() {
-  fl_internal_boxtype(_FL_PLASTIC_UP_BOX, up_box);
-  fl_internal_boxtype(_FL_PLASTIC_DOWN_BOX, down_box);
-  fl_internal_boxtype(_FL_PLASTIC_UP_FRAME, up_frame);
-  fl_internal_boxtype(_FL_PLASTIC_DOWN_FRAME, down_frame);
-  fl_internal_boxtype(_FL_PLASTIC_THIN_UP_BOX, thin_up_box);
-  fl_internal_boxtype(_FL_PLASTIC_THIN_DOWN_BOX, down_box);
-  fl_internal_boxtype(_FL_PLASTIC_ROUND_UP_BOX, up_round);
-  fl_internal_boxtype(_FL_PLASTIC_ROUND_DOWN_BOX, down_round);
+fltk3::Boxtype fl_define_FL_PLASTIC_UP_BOX() {
+  fl_internal_boxtype(fltk3::PLASTIC_UP_BOX, up_box);
+  fl_internal_boxtype(fltk3::PLASTIC_DOWN_BOX, down_box);
+  fl_internal_boxtype(fltk3::PLASTIC_UP_FRAME, up_frame);
+  fl_internal_boxtype(fltk3::PLASTIC_DOWN_FRAME, down_frame);
+  fl_internal_boxtype(fltk3::PLASTIC_THIN_UP_BOX, thin_up_box);
+  fl_internal_boxtype(fltk3::PLASTIC_THIN_DOWN_BOX, down_box);
+  fl_internal_boxtype(fltk3::PLASTIC_ROUND_UP_BOX, up_round);
+  fl_internal_boxtype(fltk3::PLASTIC_ROUND_DOWN_BOX, down_round);
 
-  return _FL_PLASTIC_UP_BOX;
+  return fltk3::PLASTIC_UP_BOX;
 }
 
 

Modified: branches/branch-3.0-2011/src/fl_read_image.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_read_image.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_read_image.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -26,7 +26,7 @@
 //
 
 #include <fltk3/x.H>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 #include "flstring.h"
 
@@ -131,12 +131,12 @@
     // fetch absolute coordinates
     int dx, dy, sx, sy, sw, sh;
     Window child_win;
-    Fl_Window *win = fl_find(fl_window);
+    fltk3::Window *win = fl_find(fl_window);
     if (win) {
       XTranslateCoordinates(fl_display, fl_window,
           RootWindow(fl_display, fl_screen), X, Y, &dx, &dy, &child_win);
       // screen dimensions
-      Fl::screen_xywh(sx, sy, sw, sh, fl_screen);
+      fltk3::screen_xywh(sx, sy, sw, sh, fl_screen);
     }
     if (!win || (dx >= sx && dy >= sy && dx + w <= sw && dy + h <= sh)) {
       // the image is fully contained, we can use the traditional method

Modified: branches/branch-3.0-2011/src/fl_read_image_mac.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_read_image_mac.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_read_image_mac.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -51,7 +51,7 @@
     if( (sw - x < w) || (sh - y < h) )  return NULL;
     }
   else { // reading from current window
-    Fl_Window *window = Fl_Window::current();
+    fltk3::Window *window = fltk3::Window::current();
     while(window->window()) window = window->window();
     base = Fl_X::bitmap_from_window_rect(window,x,y,w,h,&delta);
     rowBytes = delta*w;

Modified: branches/branch-3.0-2011/src/fl_rect.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_rect.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_rect.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -36,7 +36,7 @@
 // that minimal update works.
 
 #include <config.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Widget.H>
 #include <fltk3/Fl_Printer.H>
 #include <fltk3/fl_draw.H>
@@ -597,14 +597,14 @@
 #endif
   }
   if (rstackptr < STACK_MAX) rstack[++rstackptr] = r;
-  else Fl::warning("fl_push_clip: clip stack overflow!\n");
+  else fltk3::warning("fl_push_clip: clip stack overflow!\n");
   fl_restore_clip();
 }
 
 // make there be no clip (used by fl_begin_offscreen() only!)
 void Fl_Graphics_Driver::push_no_clip() {
   if (rstackptr < STACK_MAX) rstack[++rstackptr] = 0;
-  else Fl::warning("fl_push_no_clip: clip stack overflow!\n");
+  else fltk3::warning("fl_push_no_clip: clip stack overflow!\n");
   fl_restore_clip();
 }
 
@@ -613,7 +613,7 @@
   if (rstackptr > 0) {
     Fl_Region oldr = rstack[rstackptr--];
     if (oldr) XDestroyRegion(oldr);
-  } else Fl::warning("fl_pop_clip: clip stack underflow!\n");
+  } else fltk3::warning("fl_pop_clip: clip stack underflow!\n");
   fl_restore_clip();
 }
 

Modified: branches/branch-3.0-2011/src/fl_round_box.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_round_box.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_round_box.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -29,7 +29,7 @@
 // These box types are in separate files so they are not linked
 // in if not used.
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 
 // A compiler from a certain very large software company will not compile
@@ -110,11 +110,11 @@
   draw(CLOSED,	    x,   y, w,   h, 0, (Fl_Color)g['A']);
 }
 
-extern void fl_internal_boxtype(Fl_Boxtype, Fl_Box_Draw_F*);
-Fl_Boxtype fl_define_FL_ROUND_UP_BOX() {
-  fl_internal_boxtype(_FL_ROUND_DOWN_BOX, fl_round_down_box);
-  fl_internal_boxtype(_FL_ROUND_UP_BOX, fl_round_up_box);
-  return _FL_ROUND_UP_BOX;
+extern void fl_internal_boxtype(fltk3::Boxtype, Fl_Box_Draw_F*);
+fltk3::Boxtype fl_define_FL_ROUND_UP_BOX() {
+  fl_internal_boxtype(fltk3::ROUND_DOWN_BOX, fl_round_down_box);
+  fl_internal_boxtype(fltk3::ROUND_UP_BOX, fl_round_up_box);
+  return fltk3::ROUND_UP_BOX;
 }
 
 //

Modified: branches/branch-3.0-2011/src/fl_rounded_box.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_rounded_box.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_rounded_box.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 
 #define RN	5
@@ -76,22 +76,22 @@
   fl_rounded_box(x, y, w, h, c);
 }
 
-extern void fl_internal_boxtype(Fl_Boxtype, Fl_Box_Draw_F*);
+extern void fl_internal_boxtype(fltk3::Boxtype, Fl_Box_Draw_F*);
 
-Fl_Boxtype fl_define_FL_ROUNDED_BOX() {
-  fl_internal_boxtype(_FL_ROUNDED_FRAME, fl_rounded_frame);
-  fl_internal_boxtype(_FL_ROUNDED_BOX, fl_rounded_box);
-  return _FL_ROUNDED_BOX;
+fltk3::Boxtype fl_define_FL_ROUNDED_BOX() {
+  fl_internal_boxtype(fltk3::ROUNDED_FRAME, fl_rounded_frame);
+  fl_internal_boxtype(fltk3::ROUNDED_BOX, fl_rounded_box);
+  return fltk3::ROUNDED_BOX;
 }
 
-Fl_Boxtype fl_define_FL_RFLAT_BOX() {
-  fl_internal_boxtype(_FL_RFLAT_BOX, fl_rflat_box);
-  return _FL_RFLAT_BOX;
+fltk3::Boxtype fl_define_FL_RFLAT_BOX() {
+  fl_internal_boxtype(fltk3::RFLAT_BOX, fl_rflat_box);
+  return fltk3::RFLAT_BOX;
 }
 
-Fl_Boxtype fl_define_FL_RSHADOW_BOX() {
-  fl_internal_boxtype(_FL_RSHADOW_BOX, fl_rshadow_box);
-  return _FL_RSHADOW_BOX;
+fltk3::Boxtype fl_define_FL_RSHADOW_BOX() {
+  fl_internal_boxtype(fltk3::RSHADOW_BOX, fl_rshadow_box);
+  return fltk3::RSHADOW_BOX;
 }
 
 //

Modified: branches/branch-3.0-2011/src/fl_scroll_area.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_scroll_area.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_scroll_area.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -30,7 +30,7 @@
 // into the drawing area.
 
 #include <config.h>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
 #include <fltk3/fl_draw.H>
 
@@ -151,7 +151,7 @@
   BitBlt(fl_gc, dest_x, dest_y, src_w, src_h, fl_gc, src_x, src_y,SRCCOPY);
 
 #elif defined(__APPLE_QUARTZ__)
-  CGImageRef img = Fl_X::CGImage_from_window_rect(Fl_Window::current(), src_x, src_y, src_w, src_h);
+  CGImageRef img = Fl_X::CGImage_from_window_rect(fltk3::Window::current(), src_x, src_y, src_w, src_h);
   CGRect rect = { { dest_x, dest_y }, { src_w, src_h } };
   Fl_X::q_begin_image(rect, 0, 0, src_w, src_h);
   CGContextDrawImage(fl_gc, rect, img);

Modified: branches/branch-3.0-2011/src/fl_set_font.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_set_font.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_set_font.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -28,7 +28,7 @@
 // Add a font to the internal table.
 // Also see fl_set_fonts.cxx which adds all possible fonts.
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
 #include <fltk3/fl_draw.H>
 #include "flstring.h"
@@ -40,7 +40,7 @@
   Changes a face.  The string pointer is simply stored,
   the string is not copied, so the string must be in static memory.
 */    
-void Fl::set_font(Fl_Font fnum, const char* name) {
+void fltk3::set_font(Fl_Font fnum, const char* name) {
   while (fnum >= table_size) {
     int i = table_size;
     if (!i) {	// don't realloc the built-in table
@@ -82,15 +82,15 @@
   fl_font(-1, 0);
 }
 /** Copies one face to another. */
-void Fl::set_font(Fl_Font fnum, Fl_Font from) {
-  Fl::set_font(fnum, get_font(from));
+void fltk3::set_font(Fl_Font fnum, Fl_Font from) {
+  fltk3::set_font(fnum, get_font(from));
 }
 /**
     Gets the string for this face.  This string is different for each
     face. Under X this value is passed to XListFonts to get all the sizes
     of this face.
 */
-const char* Fl::get_font(Fl_Font fnum) {return fl_fonts[fnum].name;}
+const char* fltk3::get_font(Fl_Font fnum) {return fl_fonts[fnum].name;}
 
 //
 // End of "$Id$".

Modified: branches/branch-3.0-2011/src/fl_set_fonts.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_set_fonts.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_set_fonts.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
 #include "Fl_Font.H"
 #include "flstring.h"

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 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_set_fonts_mac.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -41,15 +41,15 @@
 #define ENDOFBUFFER 127 // sizeof(Fl_Font.fontname)-1
 
 // turn a stored font name into a pretty name:
-const char* Fl::get_font_name(Fl_Font fnum, int* ap) {
+const char* fltk3::get_font_name(Fl_Font fnum, int* ap) {
   Fl_Fontdesc *f = fl_fonts + fnum;
   if (!f->fontname[0]) {
     const char* p = f->name;
     if (!p || !*p) {if (ap) *ap = 0; return "";}
     strlcpy(f->fontname, p, ENDOFBUFFER);
     int type = 0;
-    if (strstr(f->name, "Bold")) type |= FL_BOLD;
-    if (strstr(f->name, "Italic")) type |= FL_ITALIC;
+    if (strstr(f->name, "Bold")) type |= fltk3::BOLD;
+    if (strstr(f->name, "Italic")) type |= fltk3::ITALIC;
     f->fontname[ENDOFBUFFER] = (char)type;
   }
   if (ap) *ap = f->fontname[ENDOFBUFFER];
@@ -58,7 +58,7 @@
 
 static int fl_free_font = FL_FREE_FONT;
 
-Fl_Font Fl::set_fonts(const char* xstarname) {
+Fl_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
 
@@ -84,7 +84,7 @@
 	static char fname[100];
 	CFStringGetCString(cfname, fname, sizeof(fname), kCFStringEncodingUTF8);
 	CFRelease(cfname);
-	Fl::set_font((Fl_Font)(fl_free_font++), strdup(fname));
+	fltk3::set_font((Fl_Font)(fl_free_font++), strdup(fname));
 	}
   CFRelease(arrayref);
   return (Fl_Font)fl_free_font;
@@ -121,7 +121,7 @@
       oName[511] = 0;
     else
       oName[actualLength] = 0;
-	Fl::set_font((Fl_Font)(fl_free_font++), strdup(oName));
+	fltk3::set_font((Fl_Font)(fl_free_font++), strdup(oName));
 //	free(oName);
   }
   free(oFontIDs);
@@ -134,7 +134,7 @@
 }
 
 static int array[128];
-int Fl::get_font_sizes(Fl_Font fnum, int*& sizep) {
+int fltk3::get_font_sizes(Fl_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 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_set_fonts_win32.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -41,21 +41,21 @@
 #define ENDOFBUFFER 127 // sizeof(Fl_Font.fontname)-1
 
 // turn a stored font name into a pretty name:
-const char* Fl::get_font_name(Fl_Font fnum, int* ap) {
+const char* fltk3::get_font_name(Fl_Font fnum, int* ap) {
   Fl_Fontdesc *f = fl_fonts + fnum;
   if (!f->fontname[0]) {
     const char* p = f->name;
     if (!p || !*p) {if (ap) *ap = 0; return "";}
     int type;
     switch (*p) {
-    case 'B': type = FL_BOLD; break;
-    case 'I': type = FL_ITALIC; break;
-    case 'P': type = FL_BOLD | FL_ITALIC; break;
+    case 'B': type = fltk3::BOLD; break;
+    case 'I': type = fltk3::ITALIC; break;
+    case 'P': type = fltk3::BOLD | fltk3::ITALIC; break;
     default:  type = 0; break;
     }
     strlcpy(f->fontname, p+1, ENDOFBUFFER);
-    if (type & FL_BOLD) strlcat(f->fontname, " bold", ENDOFBUFFER);
-    if (type & FL_ITALIC) strlcat(f->fontname, " italic", ENDOFBUFFER);
+    if (type & fltk3::BOLD) strlcat(f->fontname, " bold", ENDOFBUFFER);
+    if (type & fltk3::ITALIC) strlcat(f->fontname, " italic", ENDOFBUFFER);
     f->fontname[ENDOFBUFFER] = (char)type;
   }
   if (ap) *ap = f->fontname[ENDOFBUFFER];
@@ -78,20 +78,20 @@
   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(Fl::get_font_name((Fl_Font)i),n)) {free(n);return 1;}
+	  if (!strcmp(fltk3::get_font_name((Fl_Font)i),n)) {free(n);return 1;}
   char buffer[LF_FACESIZE + 1];
   strcpy(buffer+1, n);
-  buffer[0] = ' '; Fl::set_font((Fl_Font)(fl_free_font++), strdup(buffer));
+  buffer[0] = ' '; fltk3::set_font((Fl_Font)(fl_free_font++), strdup(buffer));
   if (lpelf->lfWeight <= 400)
-    buffer[0] = 'B', Fl::set_font((Fl_Font)(fl_free_font++), strdup(buffer));
-  buffer[0] = 'I'; Fl::set_font((Fl_Font)(fl_free_font++), strdup(buffer));
+    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));
   if (lpelf->lfWeight <= 400)
-    buffer[0] = 'P', Fl::set_font((Fl_Font)(fl_free_font++), strdup(buffer));
+    buffer[0] = 'P', fltk3::set_font((Fl_Font)(fl_free_font++), strdup(buffer));
   free(n);
   return 1;
 } /* enumcbw */
 
-Fl_Font Fl::set_fonts(const char* xstarname) {
+Fl_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);
 
@@ -142,7 +142,7 @@
 
 
 int
-Fl::get_font_sizes(Fl_Font fnum, int*& sizep) {
+fltk3::get_font_sizes(Fl_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 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_set_fonts_x.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -49,12 +49,12 @@
 // By default fl_set_fonts() only does iso8859-1 encoded fonts.  You can
 // do all normal X fonts by passing "-*" or every possible font with "*".
 
-// Fl::set_font will take strings other than the ones this stores
+// fltk3::set_font will take strings other than the ones this stores
 // and can identify any font on X that way.  You may want to write your
 // own system of font management and not use this code.
 
 // turn word N of a X font name into either some attribute bits
-// (right now 0, FL_BOLD, or FL_ITALIC), or into -1 indicating that
+// (right now 0, fltk3::BOLD, or fltk3::ITALIC), or into -1 indicating that
 // the word should be put into the name:
 
 static int attribute(int n, const char *p) {
@@ -65,10 +65,10 @@
 	!strncmp(p,"light",5) ||
 	!strncmp(p,"medium",6) ||
 	!strncmp(p,"book",4)) return 0;
-    if (!strncmp(p,"bold",4) || !strncmp(p,"demi",4)) return FL_BOLD;
+    if (!strncmp(p,"bold",4) || !strncmp(p,"demi",4)) return fltk3::BOLD;
   } else if (n == 4) { // slant
     if (*p == 'r') return 0;
-    if (*p == 'i' || *p == 'o') return FL_ITALIC;
+    if (*p == 'i' || *p == 'o') return fltk3::ITALIC;
   } else if (n == 5) { // sWidth
     if (!strncmp(p,"normal",6)) return 0;
   }
@@ -88,7 +88,7 @@
 #define ENDOFBUFFER 127 // sizeof(Fl_Font.fontname)-1
 
 // turn a stored (with *'s) X font name into a pretty name:
-const char* Fl::get_font_name(Fl_Font fnum, int* ap) {
+const char* fltk3::get_font_name(Fl_Font fnum, int* ap) {
   Fl_Fontdesc *f = fl_fonts + fnum;
   if (!f->fontname[0]) {
     int type = 0;
@@ -100,8 +100,8 @@
     char *o = f->fontname;
 
     if (*p != '-') { // non-standard font, just replace * with spaces:
-      if (strstr(p,"bold")) type = FL_BOLD;
-      if (strstr(p,"ital")) type |= FL_ITALIC;
+      if (strstr(p,"bold")) type = fltk3::BOLD;
+      if (strstr(p,"ital")) type |= fltk3::ITALIC;
       for (;*p; p++) {
 	if (*p == '*' || *p == ' ' || *p == '-') {
 	  do p++; while (*p == '*' || *p == ' ' || *p == '-');
@@ -153,8 +153,8 @@
       if (*x) {x++; *o++ = '('; while (*x) *o++ = *x++; *o++ = ')';}
 
       *o = 0;
-      if (type & FL_BOLD) strlcat(f->fontname, " bold", ENDOFBUFFER);
-      if (type & FL_ITALIC) strlcat(f->fontname, " italic", ENDOFBUFFER);
+      if (type & fltk3::BOLD) strlcat(f->fontname, " bold", ENDOFBUFFER);
+      if (type & fltk3::ITALIC) strlcat(f->fontname, " italic", ENDOFBUFFER);
     }
     f->fontname[ENDOFBUFFER] = (char)type;
   }
@@ -259,7 +259,7 @@
 
 static unsigned int fl_free_font = FL_FREE_FONT;
 
-Fl_Font Fl::set_fonts(const char* xstarname) {
+Fl_Font fltk3::set_fonts(const char* xstarname) {
   if (fl_free_font > (unsigned)FL_FREE_FONT) // already been here
     return (Fl_Font)fl_free_font;
   fl_open_display();
@@ -298,7 +298,7 @@
       } else */{
 	j = fl_free_font++;
 	if (p == canon) p = strdup(p); else used_xlist = 1;
-	Fl::set_font((Fl_Font)j, p);
+	fltk3::set_font((Fl_Font)j, p);
 	break;
       }
     }
@@ -312,7 +312,7 @@
   return (Fl_Font)fl_free_font;
 }
 
-int Fl::get_font_sizes(Fl_Font fnum, int*& sizep) {
+int fltk3::get_font_sizes(Fl_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 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_set_fonts_xft.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -39,23 +39,23 @@
 #define ENDOFBUFFER 127 // sizeof(Fl_Font.fontname)-1
 
 // turn a stored font name into a pretty name:
-const char* Fl::get_font_name(Fl_Font fnum, int* ap) {
+const char* fltk3::get_font_name(Fl_Font fnum, int* ap) {
   Fl_Fontdesc *f = fl_fonts + fnum;
   if (!f->fontname[0]) {
     const char* p = f->name;
     int type;
     switch (p[0]) {
-    case 'B': type = FL_BOLD; break;
-    case 'I': type = FL_ITALIC; break;
-    case 'P': type = FL_BOLD | FL_ITALIC; break;
+    case 'B': type = fltk3::BOLD; break;
+    case 'I': type = fltk3::ITALIC; break;
+    case 'P': type = fltk3::BOLD | fltk3::ITALIC; break;
     default:  type = 0; break;
     }
 
   // NOTE: This can cause duplications in fonts that already have Bold or Italic in
   // their "name". Maybe we need to find a cleverer way?
     strlcpy(f->fontname, p+1, ENDOFBUFFER);
-    if (type & FL_BOLD) strlcat(f->fontname, " bold", ENDOFBUFFER);
-    if (type & FL_ITALIC) strlcat(f->fontname, " italic", ENDOFBUFFER);
+    if (type & fltk3::BOLD) strlcat(f->fontname, " bold", ENDOFBUFFER);
+    if (type & fltk3::ITALIC) strlcat(f->fontname, " italic", ENDOFBUFFER);
     f->fontname[ENDOFBUFFER] = (char)type;
   }
   if (ap) *ap = f->fontname[ENDOFBUFFER];
@@ -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 Fl::set_fonts(const char* pattern_name)
+Fl_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
@@ -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);
-        Fl::set_font((Fl_Font)(j + FL_FREE_FONT), stored_name);
+        fltk3::set_font((Fl_Font)(j + FL_FREE_FONT), stored_name);
         fl_free_font ++;
         
         free(full_list[j]); // release that name from our internal array
@@ -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 Fl::get_font_sizes(Fl_Font fnum, int*& sizep) {
+int fltk3::get_font_sizes(Fl_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_shadow_box.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_shadow_box.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_shadow_box.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 
 #define BW 3
@@ -44,11 +44,11 @@
   fl_shadow_frame(x,y,w,h,FL_GRAY0);
 }
 
-extern void fl_internal_boxtype(Fl_Boxtype, Fl_Box_Draw_F*);
-Fl_Boxtype fl_define_FL_SHADOW_BOX() {
-  fl_internal_boxtype(_FL_SHADOW_FRAME, fl_shadow_frame);
-  fl_internal_boxtype(_FL_SHADOW_BOX, fl_shadow_box);
-  return _FL_SHADOW_BOX;
+extern void fl_internal_boxtype(fltk3::Boxtype, Fl_Box_Draw_F*);
+fltk3::Boxtype fl_define_FL_SHADOW_BOX() {
+  fl_internal_boxtype(fltk3::SHADOW_FRAME, fl_shadow_frame);
+  fl_internal_boxtype(fltk3::SHADOW_BOX, fl_shadow_box);
+  return fltk3::SHADOW_BOX;
 }
 
 //

Modified: branches/branch-3.0-2011/src/fl_shortcut.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_shortcut.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_shortcut.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -36,12 +36,12 @@
 // Only FL_META, FL_ALT, FL_SHIFT, and FL_CTRL must be "off".  A
 // zero in the other shift flags indicates "dont care".
 //
-// It also checks against the first character of Fl::event_text(),
+// It also checks against the first character of fltk3::event_text(),
 // and zero for FL_SHIFT means "don't care".
 // This allows punctuation shortcuts like "#" to work (rather than
 // calling it "shift+3" on a US keyboard)
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Widget.H>
 #include <fltk3/Fl_Button.H>
 #include <fltk3/fl_draw.H>
@@ -60,7 +60,7 @@
     
     \return non-zero if there is a match.
 */
-int Fl::test_shortcut(unsigned int shortcut) {
+int fltk3::test_shortcut(unsigned int shortcut) {
   if (!shortcut) return 0;
 
   unsigned int v = shortcut & FL_KEY_MASK;
@@ -68,7 +68,7 @@
     shortcut |= FL_SHIFT;
   }
 
-  int shift = Fl::event_state();
+  int shift = fltk3::event_state();
   // see if any required shift flags are off:
   if ((shortcut&shift) != (shortcut&0x7fff0000)) return 0;
   // record shift flags that are wrong:
@@ -79,10 +79,10 @@
   unsigned int key = shortcut & FL_KEY_MASK;
 
   // if shift is also correct, check for exactly equal keysyms:
-  if (!(mismatch&(FL_SHIFT)) && key == (unsigned)Fl::event_key()) return 1;
+  if (!(mismatch&(FL_SHIFT)) && key == (unsigned)fltk3::event_key()) return 1;
 
   // try matching utf8, ignore shift:
-  unsigned int firstChar = fl_utf8decode(Fl::event_text(), Fl::event_text()+Fl::event_length(), 0);
+  unsigned int firstChar = fl_utf8decode(fltk3::event_text(), fltk3::event_text()+fltk3::event_length(), 0);
   if ( ! (FL_CAPS_LOCK&shift) && key==firstChar) return 1;
 
   // kludge so that Ctrl+'_' works (as opposed to Ctrl+'^_'):
@@ -327,8 +327,8 @@
   \p t (usually a widget's label or menu text) is searched for a '&x'
   shortcut, and if found, this is compared with the entered key value.
 
-  Fl::event_text() is used to get the entered key value.
-  Fl::event_state() is used to get the Alt modifier, if \p require_alt
+  fltk3::event_text() is used to get the entered key value.
+  fltk3::event_state() is used to get the Alt modifier, if \p require_alt
   is true.
 
   \param t text or label to search for '&x' shortcut.
@@ -342,8 +342,8 @@
 int Fl_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 && Fl::event_state(FL_ALT)==0) return 0;
-  unsigned int c = fl_utf8decode(Fl::event_text(), Fl::event_text()+Fl::event_length(), 0);
+  if (require_alt && fltk3::event_state(FL_ALT)==0) return 0;
+  unsigned int c = fl_utf8decode(fltk3::event_text(), fltk3::event_text()+fltk3::event_length(), 0);
   if (!c) return 0;
   if (c == label_shortcut(t))
     return 1;
@@ -357,7 +357,7 @@
   The widget's label is searched for a '&x'
   shortcut, and if found, this is compared with the entered key value.
 
-  Fl::event_text() is used to get the entered key value.
+  fltk3::event_text() is used to get the entered key value.
 
   \return true, if the entered text matches the widget's'&x' shortcut,
 	  false (0) otherwise.

Modified: branches/branch-3.0-2011/src/fl_show_colormap.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_show_colormap.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_show_colormap.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -25,7 +25,7 @@
 //     http://www.fltk.org/str.php
 //
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Single_Window.H>
 #include <fltk3/fl_draw.H>
 #include <fltk3/fl_show_colormap.H>
@@ -38,7 +38,7 @@
  This widget creates a modal window for selecting a color from the colormap.
  Pretty much unchanged from Forms.
 */
-class ColorMenu : public Fl_Window {
+class ColorMenu : public fltk3::Window {
   Fl_Color initial;
   Fl_Color which, previous;
   int done;
@@ -51,7 +51,7 @@
 };
 
 ColorMenu::ColorMenu(Fl_Color oldcol) :
-  Fl_Window(BOXSIZE*8+1+2*BORDER, BOXSIZE*32+1+2*BORDER) {
+  fltk3::Window(BOXSIZE*8+1+2*BORDER, BOXSIZE*32+1+2*BORDER) {
   clear_border();
   set_modal();
   initial = which = oldcol;
@@ -62,17 +62,17 @@
   int X = (c%8)*BOXSIZE+BORDER;
   int Y = (c/8)*BOXSIZE+BORDER;
 #if BORDER_WIDTH < 3
-  if (c == which) fl_draw_box(FL_DOWN_BOX, X+1, Y+1, BOXSIZE-1, BOXSIZE-1, c);
-  else fl_draw_box(FL_BORDER_BOX, X, Y, BOXSIZE+1, BOXSIZE+1, c);
+  if (c == which) fl_draw_box(fltk3::DOWN_BOX, X+1, Y+1, BOXSIZE-1, BOXSIZE-1, c);
+  else fl_draw_box(fltk3::BORDER_BOX, X, Y, BOXSIZE+1, BOXSIZE+1, c);
 #else
-  fl_draw_box(c == which ? FL_DOWN_BOX : FL_BORDER_BOX,
+  fl_draw_box(c == which ? fltk3::DOWN_BOX : FL_BORDER_BOX,
 	      X, Y, BOXSIZE+1, BOXSIZE+1, c);
 #endif
 }
 
 void ColorMenu::draw() {
   if (damage() != FL_DAMAGE_CHILD) {
-    fl_draw_box(FL_UP_BOX,0,0,w(),h(),color());
+    fl_draw_box(fltk3::UP_BOX,0,0,w(),h(),color());
     for (int c = 0; c < 256; c++) drawbox((Fl_Color)c);
   } else {
     drawbox(previous);
@@ -86,9 +86,9 @@
   switch (e) {
   case FL_PUSH:
   case FL_DRAG: {
-    int X = (Fl::event_x_root() - x() - BORDER);
+    int X = (fltk3::event_x_root() - x() - BORDER);
     if (X >= 0) X = X/BOXSIZE;
-    int Y = (Fl::event_y_root() - y() - BORDER);
+    int Y = (fltk3::event_y_root() - y() - BORDER);
     if (Y >= 0) Y = Y/BOXSIZE;
     if (X >= 0 && X < 8 && Y >= 0 && Y < 32)
       c = 8*Y + X;
@@ -99,7 +99,7 @@
     done = 1;
     return 1;
   case FL_KEYBOARD:
-    switch (Fl::event_key()) {
+    switch (fltk3::event_key()) {
     case FL_Up: if (c > 7) c -= 8; break;
     case FL_Down: if (c < 256-8) c += 8; break;
     case FL_Left: if (c > 0) c--; break;
@@ -120,7 +120,7 @@
     int px = x();
     int py = y();
     int scr_x, scr_y, scr_w, scr_h;
-    Fl::screen_xywh(scr_x, scr_y, scr_w, scr_h);
+    fltk3::screen_xywh(scr_x, scr_y, scr_w, scr_h);
     if (px < scr_x) px = scr_x;
     if (px+bx+BOXSIZE+BORDER >= scr_x+scr_w) px = scr_x+scr_w-bx-BOXSIZE-BORDER;
     if (py < scr_y) py = scr_y;
@@ -139,16 +139,16 @@
 #endif
 Fl_Color ColorMenu::run() {
   if (which < 0 || which > 255) {
-    position(Fl::event_x_root()-w()/2, Fl::event_y_root()-y()/2);
+    position(fltk3::event_x_root()-w()/2, fltk3::event_y_root()-y()/2);
   } else {
-    position(Fl::event_x_root()-(initial%8)*BOXSIZE-BOXSIZE/2-BORDER,
-	     Fl::event_y_root()-(initial/8)*BOXSIZE-BOXSIZE/2-BORDER);
+    position(fltk3::event_x_root()-(initial%8)*BOXSIZE-BOXSIZE/2-BORDER,
+	     fltk3::event_y_root()-(initial/8)*BOXSIZE-BOXSIZE/2-BORDER);
   }
   show();
-  Fl::grab(*this);
+  fltk3::grab(*this);
   done = 0;
-  while (!done) Fl::wait();
-  Fl::grab(0);
+  while (!done) fltk3::wait();
+  fltk3::grab(0);
   return which;
 }
 

Modified: branches/branch-3.0-2011/src/fl_symbols.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_symbols.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_symbols.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -34,7 +34,7 @@
 // Version 2.1 a
 // Date: Oct  2, 1992
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/fl_draw.H>
 #include <fltk3/math.h>
 #include "flstring.h"

Modified: branches/branch-3.0-2011/src/fl_vertex.cxx
===================================================================
--- branches/branch-3.0-2011/src/fl_vertex.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/fl_vertex.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -40,7 +40,7 @@
 #include <config.h>
 #include <fltk3/fl_draw.H>
 #include <fltk3/x.H>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/math.h>
 #include <stdlib.h>
 
@@ -58,7 +58,7 @@
 */
 void fl_push_matrix() {
   if (sptr==32)
-    Fl::error("fl_push_matrix(): matrix stack overflow.");
+    fltk3::error("fl_push_matrix(): matrix stack overflow.");
   else
     stack[sptr++] = m;
 }
@@ -68,7 +68,7 @@
 */
 void fl_pop_matrix() {
   if (sptr==0)
-    Fl::error("fl_pop_matrix(): matrix stack underflow.");
+    fltk3::error("fl_pop_matrix(): matrix stack underflow.");
   else 
     m = stack[--sptr];
 }

Modified: branches/branch-3.0-2011/src/forms_bitmap.cxx
===================================================================
--- branches/branch-3.0-2011/src/forms_bitmap.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/forms_bitmap.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -28,7 +28,7 @@
 #include <fltk3/forms.H>
 /** Creates a bitmap widget from a box type, position, size and optional label specification */
 Fl_FormsBitmap::Fl_FormsBitmap(
-  Fl_Boxtype t, int X, int Y, int W, int H, const char* l)
+  fltk3::Boxtype t, int X, int Y, int W, int H, const char* l)
 : Fl_Widget(X, Y, W, H, l) {
   box(t);
   b = 0;

Modified: branches/branch-3.0-2011/src/forms_compatability.cxx
===================================================================
--- branches/branch-3.0-2011/src/forms_compatability.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/forms_compatability.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -79,7 +79,7 @@
   int i,j;
   for (i=0; i<=*argc; i++) initargv[i] = argv[i];
   for (i=j=1; i<*argc; ) {
-    if (Fl::arg(*argc,argv,i));
+    if (fltk3::arg(*argc,argv,i));
     else argv[j++] = argv[i++];
   }
   argv[j] = 0;
@@ -89,7 +89,7 @@
 
 char fl_modal_next; // set by fl_freeze_forms()
 
-void fl_show_form(Fl_Window *f,int place,int b,const char *n) {
+void fl_show_form(fltk3::Window *f,int place,int b,const char *n) {
 
   f->label(n);
   if (!b) f->clear_border();
@@ -99,7 +99,7 @@
 
   if (place & FL_PLACE_CENTER) {
     int scr_x, scr_y, scr_w, scr_h;
-    Fl::screen_xywh(scr_x, scr_y, scr_w, scr_h);
+    fltk3::screen_xywh(scr_x, scr_y, scr_w, scr_h);
     f->position(scr_x+(scr_w-f->w())/2, scr_y+(scr_h-f->h())/2);
   }
 
@@ -108,8 +108,8 @@
 
   if (place & (FL_PLACE_POSITION | FL_PLACE_GEOMETRY))
     f->position(
-      (f->x() < 0) ? Fl::w()-f->w()+f->x()-1 : f->x(),
-      (f->y() < 0) ? Fl::h()-f->h()+f->y()-1 : f->y());
+      (f->x() < 0) ? fltk3::w()-f->w()+f->x()-1 : f->x(),
+      (f->y() < 0) ? fltk3::h()-f->h()+f->y()-1 : f->y());
 
 // if (place & FL_PLACE_ASPECT) {
 // this is not yet implemented
@@ -127,13 +127,13 @@
 
 Fl_Widget *fl_do_forms(void) {
   Fl_Widget *obj;
-  while (!(obj = Fl::readqueue())) if (!Fl::wait()) exit(0);
+  while (!(obj = fltk3::readqueue())) if (!fltk3::wait()) exit(0);
   return obj;
 }
 
 Fl_Widget *fl_check_forms() {
-  Fl::check();
-  return Fl::readqueue();
+  fltk3::check();
+  return fltk3::readqueue();
 }
 
 void fl_set_graphics_mode(int /*r*/,int /*d*/) {}

Modified: branches/branch-3.0-2011/src/forms_free.cxx
===================================================================
--- branches/branch-3.0-2011/src/forms_free.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/forms_free.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -30,15 +30,15 @@
 // me to port several other programs, but it is in no way
 // complete.
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Free.H>
 
 void Fl_Free::step(void *v) {
   Fl_Free *f = (Fl_Free *)v;
-  int old_event = Fl::e_number;
-  f->handle(Fl::e_number == FL_STEP);
-  Fl::e_number = old_event;
-  Fl::add_timeout(.01,step,v);
+  int old_event = fltk3::e_number;
+  f->handle(fltk3::e_number == FL_STEP);
+  fltk3::e_number = old_event;
+  fltk3::add_timeout(.01,step,v);
 }
 
 /**
@@ -78,21 +78,21 @@
   hfunc = hdl;
   if (t == FL_SLEEPING_FREE) set_flag(INACTIVE);
   if (t == FL_CONTINUOUS_FREE || t == FL_ALL_FREE)
-    Fl::add_timeout(.01,step,this);
+    fltk3::add_timeout(.01,step,this);
 }
 
 /**
   The destructor will call the handle function with the event FL_FREE_MEM.
 */
 Fl_Free::~Fl_Free() {
-  Fl::remove_timeout(step,this);
+  fltk3::remove_timeout(step,this);
   hfunc(this,FL_FREEMEM,0,0,0);
 }
 
 void Fl_Free::draw() {hfunc(this,FL_DRAW,0,0,0);}
 
 int Fl_Free::handle(int e) {
-  char key = Fl::event_key();
+  char key = fltk3::event_key();
   switch (e) {
   case FL_FOCUS:
     if (type()!=FL_INPUT_FREE && type()!=FL_ALL_FREE) return 0;
@@ -100,12 +100,12 @@
   case FL_PUSH:
   case FL_DRAG:
   case FL_RELEASE:
-    key = 4-Fl::event_button();
+    key = 4-fltk3::event_button();
     break;
   case FL_SHORTCUT:
     return 0;
   }
-  if (hfunc(this, e, float(Fl::event_x()), float(Fl::event_y()), key)) do_callback();
+  if (hfunc(this, e, float(fltk3::event_x()), float(fltk3::event_y()), key)) do_callback();
   return 1;
 }
 

Modified: branches/branch-3.0-2011/src/forms_pixmap.cxx
===================================================================
--- branches/branch-3.0-2011/src/forms_pixmap.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/forms_pixmap.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -35,7 +35,7 @@
   \param[in] L widget label, default is no label
 */
 Fl_FormsPixmap::Fl_FormsPixmap(
-  Fl_Boxtype t, int X, int Y, int W, int H, const char* L)
+  fltk3::Boxtype t, int X, int Y, int W, int H, const char* L)
 : Fl_Widget(X, Y, W, H, L) {
   box(t);
   b = 0;

Modified: branches/branch-3.0-2011/src/forms_timer.cxx
===================================================================
--- branches/branch-3.0-2011/src/forms_timer.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/forms_timer.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -27,9 +27,9 @@
 
 // Emulate the Forms Timer object
 // You don't want to use this if you just want a timeout, call
-// Fl::add_timeout directly!
+// fltk3::add_timeout directly!
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Timer.H>
 #include <fltk3/fl_draw.H>
 #ifdef WIN32
@@ -111,13 +111,13 @@
       delay = 0;
     } else {
       redraw();
-      Fl::add_timeout(FL_TIMER_BLINKRATE, stepcb, this);
+      fltk3::add_timeout(FL_TIMER_BLINKRATE, stepcb, this);
     }
     set_changed();
     do_callback();
   } else {
     if (type() == FL_VALUE_TIMER) redraw();
-    Fl::add_timeout(FL_TIMER_BLINKRATE, stepcb, this);
+    fltk3::add_timeout(FL_TIMER_BLINKRATE, stepcb, this);
   }
 }
 
@@ -130,7 +130,7 @@
  Destroys the timer and removes the timeout.
 */
 Fl_Timer::~Fl_Timer() {
-  Fl::remove_timeout(stepcb, this);
+  fltk3::remove_timeout(stepcb, this);
 }
 
 /**
@@ -148,7 +148,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) {
-  box(FL_DOWN_BOX);
+  box(fltk3::DOWN_BOX);
   selection_color(FL_RED);
   delay = 0;
   on = 0;
@@ -163,8 +163,8 @@
   on = (d > 0.0);
   fl_gettime(&(lastsec), &(lastusec));
   if (type() != FL_HIDDEN_TIMER) redraw();
-  Fl::remove_timeout(stepcb, this);
-  if (on) Fl::add_timeout(FL_TIMER_BLINKRATE, stepcb, this);
+  fltk3::remove_timeout(stepcb, this);
+  if (on) fltk3::add_timeout(FL_TIMER_BLINKRATE, stepcb, this);
 }
 
 /** Gets or sets whether the timer is suspended.*/
@@ -173,11 +173,11 @@
     if (on) return;
     on = (delay > 0.0);
     fl_gettime(&(lastsec), &(lastusec));
-    if (on) Fl::add_timeout(FL_TIMER_BLINKRATE, stepcb, this);
+    if (on) fltk3::add_timeout(FL_TIMER_BLINKRATE, stepcb, this);
   } else {
     if (!on) return;
     on = 0;
-    Fl::remove_timeout(stepcb, this);
+    fltk3::remove_timeout(stepcb, this);
   }
 }
 

Modified: branches/branch-3.0-2011/src/gl_draw.cxx
===================================================================
--- branches/branch-3.0-2011/src/gl_draw.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/gl_draw.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -31,7 +31,7 @@
 #include "flstring.h"
 #if HAVE_GL || defined(FL_DOXYGEN)
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/gl.h>
 #include <fltk3/x.H>
 #include <fltk3/fl_draw.H>
@@ -345,7 +345,7 @@
 #endif
 #endif
   uchar red, green, blue;
-  Fl::get_color(i, red, green, blue);
+  fltk3::get_color(i, red, green, blue);
   glColor3ub(red, green, blue);
 }
 
@@ -414,8 +414,8 @@
   glMatrixMode (GL_MODELVIEW);
   glPushMatrix();
   glLoadIdentity ();
-  float winw = Fl_Window::current()->w();
-  float winh = Fl_Window::current()->h();
+  float winw = fltk3::Window::current()->w();
+  float winh = fltk3::Window::current()->h();
   glScalef (2.0f / winw, 2.0f /  winh, 1.0f);
   glTranslatef (-winw / 2.0f, -winh / 2.0f, 0.0f);
   //write the texture on screen

Modified: branches/branch-3.0-2011/src/gl_start.cxx
===================================================================
--- branches/branch-3.0-2011/src/gl_start.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/gl_start.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -40,8 +40,8 @@
 #include <config.h>
 #if HAVE_GL
 
-#include <fltk3/Fl.H>
-#include <fltk3/Fl_Window.H>
+#include <fltk3/run.h>
+#include <fltk3/Window.h>
 #include <fltk3/x.H>
 #include <fltk3/fl_draw.H>
 #include "Fl_Gl_Choice.H"
@@ -68,22 +68,22 @@
 #if defined(USE_X11)
     context = fl_create_gl_context(fl_visual);
 #elif defined(WIN32)
-    if (!gl_choice) Fl::gl_visual(0);
-    context = fl_create_gl_context(Fl_Window::current(), gl_choice);
+    if (!gl_choice) fltk3::gl_visual(0);
+    context = fl_create_gl_context(fltk3::Window::current(), gl_choice);
 #elif defined(__APPLE_QUARTZ__)
     // warning: the Quartz version should probably use Core GL (CGL) instead of AGL
-    context = fl_create_gl_context(Fl_Window::current(), gl_choice);
+    context = fl_create_gl_context(fltk3::Window::current(), gl_choice);
 #else
 #  error Unsupported platform
 #endif
   }
-  fl_set_gl_context(Fl_Window::current(), context);
+  fl_set_gl_context(fltk3::Window::current(), context);
 #if !defined(WIN32) && !defined(__APPLE__)
   glXWaitX();
 #endif
-  if (pw != Fl_Window::current()->w() || ph != Fl_Window::current()->h()) {
-    pw = Fl_Window::current()->w();
-    ph = Fl_Window::current()->h();
+  if (pw != fltk3::Window::current()->w() || ph != fltk3::Window::current()->h()) {
+    pw = fltk3::Window::current()->w();
+    ph = fltk3::Window::current()->h();
     glLoadIdentity();
     glViewport(0, 0, pw, ph);
     glOrtho(0, pw, 0, ph, -1, 1);
@@ -92,10 +92,10 @@
   if (clip_state_number != fl_clip_state_number) {
     clip_state_number = fl_clip_state_number;
     int x, y, w, h;
-    if (fl_clip_box(0, 0, Fl_Window::current()->w(), Fl_Window::current()->h(),
+    if (fl_clip_box(0, 0, fltk3::Window::current()->w(), fltk3::Window::current()->h(),
 		    x, y, w, h)) {
       fl_clip_region(XRectangleRegion(x,y,w,h));
-      glScissor(x, Fl_Window::current()->h()-(y+h), w, h);
+      glScissor(x, fltk3::Window::current()->h()-(y+h), w, h);
       glEnable(GL_SCISSOR_TEST);
     } else {
       glDisable(GL_SCISSOR_TEST);
@@ -111,7 +111,7 @@
 #endif
 }
 
-int Fl::gl_visual(int mode, int *alist) {
+int fltk3::gl_visual(int mode, int *alist) {
   Fl_Gl_Choice *c = Fl_Gl_Choice::find(mode,alist);
   if (!c) return 0;
 #if defined(USE_X11)

Modified: branches/branch-3.0-2011/src/glut_compatability.cxx
===================================================================
--- branches/branch-3.0-2011/src/glut_compatability.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/glut_compatability.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -87,14 +87,14 @@
 
 int Fl_Glut_Window::handle(int event) {
   make_current();
-  int ex = Fl::event_x();
-  int ey = Fl::event_y();
+  int ex = fltk3::event_x();
+  int ey = fltk3::event_y();
   int button;
   switch (event) {
 
   case FL_PUSH:
-    if (keyboard || special) Fl::focus(this);
-    button = Fl::event_button()-1;
+    if (keyboard || special) fltk3::focus(this);
+    button = fltk3::event_button()-1;
     if (button<0) button = 0;
     if (button>2) button = 2;
     if (menu[button]) {domenu(menu[button],ex,ey); return 1;}
@@ -104,7 +104,7 @@
     break;
 
   case FL_MOUSEWHEEL:
-    button = Fl::event_dy();
+    button = fltk3::event_dy();
     while (button < 0) {if (mouse) mouse(3,GLUT_DOWN,ex,ey); ++button;}
     while (button > 0) {if (mouse) mouse(4,GLUT_DOWN,ex,ey); --button;}
     return 1;
@@ -142,12 +142,12 @@
     if (!keyboard && !special) break;
 
   case FL_KEYBOARD:
-    if (Fl::event_text()[0]) {
-      if (keyboard) {keyboard(Fl::event_text()[0],ex,ey); return 1;}
+    if (fltk3::event_text()[0]) {
+      if (keyboard) {keyboard(fltk3::event_text()[0],ex,ey); return 1;}
       break;
     } else {
       if (special) {
-	int k = Fl::event_key();
+	int k = fltk3::event_key();
 	if (k > FL_F && k <= FL_F_Last) k -= FL_F;
 	special(k,ex,ey);
 	return 1;
@@ -204,7 +204,7 @@
   int i,j;
   for (i=0; i<=*argc; i++) initargv[i] = argv[i];
   for (i=j=1; i<*argc; ) {
-    if (Fl::arg(*argc,argv,i));
+    if (fltk3::arg(*argc,argv,i));
     else argv[j++] = argv[i++];
   }
   argv[j] = 0;
@@ -215,7 +215,7 @@
   glut_mode = mode;
 }
 
-void glutMainLoop() {Fl::run();}
+void glutMainLoop() {fltk3::run();}
 
 ////////////////////////////////////////////////////////////////
 
@@ -298,7 +298,7 @@
   menu *m = &menus[n];
   if (glut_menustate_function) glut_menustate_function(1);
   if (glut_menustatus_function) glut_menustatus_function(1,ex,ey);
-  const Fl_Menu_Item* g = m->m->popup(Fl::event_x(), Fl::event_y(), 0);
+  const Fl_Menu_Item* g = m->m->popup(fltk3::event_x(), fltk3::event_y(), 0);
   if (g && g->callback_) ((void (*)(int))(g->callback_))(int(g->argument()));
   if (glut_menustatus_function) glut_menustatus_function(0,ex,ey);
   if (glut_menustate_function) glut_menustate_function(0);
@@ -395,8 +395,8 @@
       return 0;
 //case GLUT_WINDOW_NUM_CHILDREN:
 //case GLUT_WINDOW_CURSOR: return 
-  case GLUT_SCREEN_WIDTH: return Fl::w();
-  case GLUT_SCREEN_HEIGHT: return Fl::h();
+  case GLUT_SCREEN_WIDTH: return fltk3::w();
+  case GLUT_SCREEN_HEIGHT: return fltk3::h();
 //case GLUT_SCREEN_WIDTH_MM:
 //case GLUT_SCREEN_HEIGHT_MM:
   case GLUT_MENU_NUM_ITEMS: return menus[glut_menu].size;
@@ -508,9 +508,9 @@
   // no change
   if(glut_idle_func == f) return;
   // remove current idle
-  if(glut_idle_func) Fl::remove_idle((void (*)(void *))glut_idle_func);
+  if(glut_idle_func) fltk3::remove_idle((void (*)(void *))glut_idle_func);
   // install new idle func - if one was passed
-  if(f) Fl::add_idle((void (*)(void *))f);
+  if(f) fltk3::add_idle((void (*)(void *))f);
   // record new idle func - even if it is NULL
   glut_idle_func = f;
 } // glutIdleFunc

Modified: branches/branch-3.0-2011/src/print_panel.cxx
===================================================================
--- branches/branch-3.0-2011/src/print_panel.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/print_panel.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -53,7 +53,7 @@
 static Fl_Group *print_panel_controls=(Fl_Group *)0;
 static Fl_Choice *print_choice=(Fl_Choice *)0;
 static Fl_Button *print_properties=(Fl_Button *)0;
-static Fl_Box *print_status=(Fl_Box *)0;
+static fltk3::Box *print_status=(fltk3::Box *)0;
 static Fl_Round_Button *print_all=(Fl_Round_Button *)0;
 static Fl_Round_Button *print_pages=(Fl_Round_Button *)0;
 static Fl_Round_Button *print_selection=(Fl_Round_Button *)0;
@@ -258,9 +258,9 @@
       { print_properties = new Fl_Button(314, 10, 115, 25, Fl_Printer::dialog_properties);
         print_properties->callback((Fl_Callback*)cb_print_properties);
       } // Fl_Button* print_properties
-      { print_status = new Fl_Box(0, 41, print_panel_controls->w(), 17, "printer/job status");
+      { 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));
-      } // Fl_Box* print_status
+      } // fltk3::Box* print_status
       { Fl_Group* o = new Fl_Group(10, 86, 227, 105, Fl_Printer::dialog_range);
         o->box(FL_THIN_DOWN_BOX);
         o->labelfont(1);
@@ -302,135 +302,135 @@
           print_copies->when(FL_WHEN_CHANGED);
         } // Fl_Spinner* print_copies
         { print_collate_button = new Fl_Check_Button(376, 96, 64, 25, "Collate");
-          print_collate_button->down_box(FL_DOWN_BOX);
+          print_collate_button->down_box(fltk3::DOWN_BOX);
           print_collate_button->callback((Fl_Callback*)cb_print_collate_button);
           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]->deactivate();
-          { Fl_Box* o = new Fl_Box(287, 141, 30, 40, "1");
+          { fltk3::Box* o = new fltk3::Box(287, 141, 30, 40, "1");
             o->box(FL_BORDER_BOX);
             o->color(FL_BACKGROUND2_COLOR);
             o->labelsize(11);
             o->align(Fl_Align(FL_ALIGN_BOTTOM_RIGHT|FL_ALIGN_INSIDE));
             o->deactivate();
-          } // Fl_Box* o
-          { Fl_Box* o = new Fl_Box(272, 136, 30, 40, "1");
+          } // fltk3::Box* o
+          { fltk3::Box* o = new fltk3::Box(272, 136, 30, 40, "1");
             o->box(FL_BORDER_BOX);
             o->color(FL_BACKGROUND2_COLOR);
             o->labelsize(11);
             o->align(Fl_Align(FL_ALIGN_BOTTOM_RIGHT|FL_ALIGN_INSIDE));
             o->deactivate();
-          } // Fl_Box* o
-          { Fl_Box* o = new Fl_Box(257, 131, 30, 40, "1");
+          } // fltk3::Box* o
+          { fltk3::Box* o = new fltk3::Box(257, 131, 30, 40, "1");
             o->box(FL_BORDER_BOX);
             o->color(FL_BACKGROUND2_COLOR);
             o->labelsize(11);
             o->align(Fl_Align(FL_ALIGN_BOTTOM_RIGHT|FL_ALIGN_INSIDE));
             o->deactivate();
-          } // Fl_Box* o
-          { Fl_Box* o = new Fl_Box(352, 141, 30, 40, "2");
+          } // fltk3::Box* o
+          { fltk3::Box* o = new fltk3::Box(352, 141, 30, 40, "2");
             o->box(FL_BORDER_BOX);
             o->color(FL_BACKGROUND2_COLOR);
             o->labelsize(11);
             o->align(Fl_Align(FL_ALIGN_BOTTOM_RIGHT|FL_ALIGN_INSIDE));
             o->deactivate();
-          } // Fl_Box* o
-          { Fl_Box* o = new Fl_Box(337, 136, 30, 40, "2");
+          } // fltk3::Box* o
+          { fltk3::Box* o = new fltk3::Box(337, 136, 30, 40, "2");
             o->box(FL_BORDER_BOX);
             o->color(FL_BACKGROUND2_COLOR);
             o->labelsize(11);
             o->align(Fl_Align(FL_ALIGN_BOTTOM_RIGHT|FL_ALIGN_INSIDE));
             o->deactivate();
-          } // Fl_Box* o
-          { Fl_Box* o = new Fl_Box(322, 131, 30, 40, "2");
+          } // fltk3::Box* o
+          { fltk3::Box* o = new fltk3::Box(322, 131, 30, 40, "2");
             o->box(FL_BORDER_BOX);
             o->color(FL_BACKGROUND2_COLOR);
             o->labelsize(11);
             o->align(Fl_Align(FL_ALIGN_BOTTOM_RIGHT|FL_ALIGN_INSIDE));
             o->deactivate();
-          } // Fl_Box* o
-          { Fl_Box* o = new Fl_Box(417, 141, 30, 40, "3");
+          } // fltk3::Box* o
+          { fltk3::Box* o = new fltk3::Box(417, 141, 30, 40, "3");
             o->box(FL_BORDER_BOX);
             o->color(FL_BACKGROUND2_COLOR);
             o->labelsize(11);
             o->align(Fl_Align(FL_ALIGN_BOTTOM_RIGHT|FL_ALIGN_INSIDE));
             o->deactivate();
-          } // Fl_Box* o
-          { Fl_Box* o = new Fl_Box(402, 136, 30, 40, "3");
+          } // fltk3::Box* o
+          { fltk3::Box* o = new fltk3::Box(402, 136, 30, 40, "3");
             o->box(FL_BORDER_BOX);
             o->color(FL_BACKGROUND2_COLOR);
             o->labelsize(11);
             o->align(Fl_Align(FL_ALIGN_BOTTOM_RIGHT|FL_ALIGN_INSIDE));
             o->deactivate();
-          } // Fl_Box* o
-          { Fl_Box* o = new Fl_Box(387, 131, 30, 40, "3");
+          } // fltk3::Box* o
+          { fltk3::Box* o = new fltk3::Box(387, 131, 30, 40, "3");
             o->box(FL_BORDER_BOX);
             o->color(FL_BACKGROUND2_COLOR);
             o->labelsize(11);
             o->align(Fl_Align(FL_ALIGN_BOTTOM_RIGHT|FL_ALIGN_INSIDE));
             o->deactivate();
-          } // Fl_Box* o
+          } // 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);
           print_collate_group[1]->hide();
           print_collate_group[1]->deactivate();
-          { Fl_Box* o = new Fl_Box(287, 141, 30, 40, "3");
+          { fltk3::Box* o = new fltk3::Box(287, 141, 30, 40, "3");
             o->box(FL_BORDER_BOX);
             o->color(FL_BACKGROUND2_COLOR);
             o->labelsize(11);
             o->align(Fl_Align(FL_ALIGN_BOTTOM_RIGHT|FL_ALIGN_INSIDE));
-          } // Fl_Box* o
-          { Fl_Box* o = new Fl_Box(272, 136, 30, 40, "2");
+          } // fltk3::Box* o
+          { fltk3::Box* o = new fltk3::Box(272, 136, 30, 40, "2");
             o->box(FL_BORDER_BOX);
             o->color(FL_BACKGROUND2_COLOR);
             o->labelsize(11);
             o->align(Fl_Align(FL_ALIGN_BOTTOM_RIGHT|FL_ALIGN_INSIDE));
-          } // Fl_Box* o
-          { Fl_Box* o = new Fl_Box(257, 131, 30, 40, "1");
+          } // fltk3::Box* o
+          { fltk3::Box* o = new fltk3::Box(257, 131, 30, 40, "1");
             o->box(FL_BORDER_BOX);
             o->color(FL_BACKGROUND2_COLOR);
             o->labelsize(11);
             o->align(Fl_Align(FL_ALIGN_BOTTOM_RIGHT|FL_ALIGN_INSIDE));
-          } // Fl_Box* o
-          { Fl_Box* o = new Fl_Box(352, 141, 30, 40, "3");
+          } // fltk3::Box* o
+          { fltk3::Box* o = new fltk3::Box(352, 141, 30, 40, "3");
             o->box(FL_BORDER_BOX);
             o->color(FL_BACKGROUND2_COLOR);
             o->labelsize(11);
             o->align(Fl_Align(FL_ALIGN_BOTTOM_RIGHT|FL_ALIGN_INSIDE));
-          } // Fl_Box* o
-          { Fl_Box* o = new Fl_Box(337, 136, 30, 40, "2");
+          } // fltk3::Box* o
+          { fltk3::Box* o = new fltk3::Box(337, 136, 30, 40, "2");
             o->box(FL_BORDER_BOX);
             o->color(FL_BACKGROUND2_COLOR);
             o->labelsize(11);
             o->align(Fl_Align(FL_ALIGN_BOTTOM_RIGHT|FL_ALIGN_INSIDE));
-          } // Fl_Box* o
-          { Fl_Box* o = new Fl_Box(322, 131, 30, 40, "1");
+          } // fltk3::Box* o
+          { fltk3::Box* o = new fltk3::Box(322, 131, 30, 40, "1");
             o->box(FL_BORDER_BOX);
             o->color(FL_BACKGROUND2_COLOR);
             o->labelsize(11);
             o->align(Fl_Align(FL_ALIGN_BOTTOM_RIGHT|FL_ALIGN_INSIDE));
-          } // Fl_Box* o
-          { Fl_Box* o = new Fl_Box(417, 141, 30, 40, "3");
+          } // fltk3::Box* o
+          { fltk3::Box* o = new fltk3::Box(417, 141, 30, 40, "3");
             o->box(FL_BORDER_BOX);
             o->color(FL_BACKGROUND2_COLOR);
             o->labelsize(11);
             o->align(Fl_Align(FL_ALIGN_BOTTOM_RIGHT|FL_ALIGN_INSIDE));
-          } // Fl_Box* o
-          { Fl_Box* o = new Fl_Box(402, 136, 30, 40, "2");
+          } // fltk3::Box* o
+          { fltk3::Box* o = new fltk3::Box(402, 136, 30, 40, "2");
             o->box(FL_BORDER_BOX);
             o->color(FL_BACKGROUND2_COLOR);
             o->labelsize(11);
             o->align(Fl_Align(FL_ALIGN_BOTTOM_RIGHT|FL_ALIGN_INSIDE));
-          } // Fl_Box* o
-          { Fl_Box* o = new Fl_Box(387, 131, 30, 40, "1");
+          } // fltk3::Box* o
+          { fltk3::Box* o = new fltk3::Box(387, 131, 30, 40, "1");
             o->box(FL_BORDER_BOX);
             o->color(FL_BACKGROUND2_COLOR);
             o->labelsize(11);
             o->align(Fl_Align(FL_ALIGN_BOTTOM_RIGHT|FL_ALIGN_INSIDE));
-          } // Fl_Box* o
+          } // fltk3::Box* o
           print_collate_group[1]->end();
         } // Fl_Group* print_collate_group[1]
         o->end();

Modified: branches/branch-3.0-2011/src/print_panel.h
===================================================================
--- branches/branch-3.0-2011/src/print_panel.h	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/print_panel.h	2011-01-09 17:05:31 UTC (rev 8230)
@@ -32,12 +32,12 @@
 
 #ifndef print_panel_h
 #define print_panel_h
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Double_Window.H>
 #include <fltk3/Fl_Group.H>
 #include <fltk3/Fl_Choice.H>
 #include <fltk3/Fl_Button.H>
-#include <fltk3/Fl_Box.H>
+#include <fltk3/Box.h>
 #include <fltk3/Fl_Round_Button.H>
 #include <fltk3/Fl_Input.H>
 #include <fltk3/Fl_Spinner.H>

Modified: branches/branch-3.0-2011/src/ps_image.cxx
===================================================================
--- branches/branch-3.0-2011/src/ps_image.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/ps_image.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -32,7 +32,7 @@
 #include <string.h>
 
 #include <fltk3/Fl_PostScript.H>
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/Fl_Pixmap.H>
 #include <fltk3/Fl_Bitmap.H>
  

Modified: branches/branch-3.0-2011/src/screen_xywh.cxx
===================================================================
--- branches/branch-3.0-2011/src/screen_xywh.cxx	2011-01-09 16:40:38 UTC (rev 8229)
+++ branches/branch-3.0-2011/src/screen_xywh.cxx	2011-01-09 17:05:31 UTC (rev 8230)
@@ -26,7 +26,7 @@
 //
 
 
-#include <fltk3/Fl.H>
+#include <fltk3/run.h>
 #include <fltk3/x.H>
 #include <config.h>
 
@@ -145,9 +145,9 @@
   } else { // ! XineramaIsActive()
     num_screens = 1;
     int mm = DisplayWidthMM(fl_display, fl_screen);
-    dpi[0][0] = mm ? Fl::w()*25.4f/mm : 0.0f;
+    dpi[0][0] = mm ? fltk3::w()*25.4f/mm : 0.0f;
     mm = DisplayHeightMM(fl_display, fl_screen);
-    dpi[0][1] = mm ? Fl::h()*25.4f/mm : dpi[0][0];
+    dpi[0][1] = mm ? fltk3::h()*25.4f/mm : dpi[0][0];
   }
 }
 #else
@@ -156,9 +156,9 @@
   num_screens = 1;
   if (!fl_display) fl_open_display();
   int mm = DisplayWidthMM(fl_display, fl_screen);
-  dpi[0] = mm ? Fl::w()*25.4f/mm : 0.0f;
+  dpi[0] = mm ? fltk3::w()*25.4f/mm : 0.0f;
   mm = DisplayHeightMM(fl_display, fl_screen);
-  dpi[1] = mm ? Fl::h()*25.4f/mm : dpi[0];  
+  dpi[1] = mm ? fltk3::h()*25.4f/mm : dpi[0];  
 }
 #endif // WIN32
 
@@ -166,7 +166,7 @@
 /**
   Gets the number of available screens.
 */
-int Fl::screen_count() {
+int fltk3::screen_count() {
   if (!num_screens) screen_init();
 
   return num_screens;
@@ -178,7 +178,7 @@
   \param[out]  X,Y,W,H the corresponding screen bounding box
   \param[in] mx, my the absolute screen position
 */
-void Fl::screen_xywh(int &X, int &Y, int &W, int &H, int mx, int my) {
+void fltk3::screen_xywh(int &X, int &Y, int &W, int &H, int mx, int my) {
   if (!num_screens) screen_init();
 
 #ifdef WIN32
@@ -235,19 +235,19 @@
   (void)my;
 #endif // WIN32
 
-  X = Fl::x();
-  Y = Fl::y();
-  W = Fl::w();
-  H = Fl::h();
+  X = fltk3::x();
+  Y = fltk3::y();
+  W = fltk3::w();
+  H = fltk3::h();
 }
 
 /**
   Gets the screen bounding rect for the given screen. 
   \param[out]  X,Y,W,H the corresponding screen bounding box
-  \param[in] n the screen number (0 to Fl::screen_count() - 1)
+  \param[in] n the screen number (0 to fltk3::screen_count() - 1)
   \see void screen_xywh(int &x, int &y, int &w, int &h, int mx, int my) 
 */
-void Fl::screen_xywh(int &X, int &Y, int &W, int &H, int n) {
+void fltk3::screen_xywh(int &X, int &Y, int &W, int &H, int n) {
   if (!num_screens) screen_init();
 
 #ifdef WIN32
@@ -278,20 +278,20 @@
   (void)n;
 #endif // WIN32
 
-  X = Fl::x();
-  Y = Fl::y();
-  W = Fl::w();
-  H = Fl::h();
+  X = fltk3::x();
+  Y = fltk3::y();
+  W = fltk3::w();
+  H = fltk3::h();
 }
 
 
 /**
  Gets the screen resolution in dots-per-inch for the given screen. 
  \param[out]  h, v  horizontal and vertical resolution
- \param[in]   n     the screen number (0 to Fl::screen_count() - 1)
+ \param[in]   n     the screen number (0 to fltk3::screen_count() - 1)
  \see void screen_xywh(int &x, int &y, int &w, int &h, int mx, int my) 
  */
-void Fl::screen_dpi(float &h, float &v, int n)
+void fltk3::screen_dpi(float &h, float &v, int n)
 {
   if (!num_screens) screen_init();
   h = v = 0.0f;

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'.