Approximate Progress List Overall estimate: 85+% Done: FLTK FLTK.Asks FLTK.Devices FLTK.Devices.Surface FLTK.Devices.Surface.Copy FLTK.Devices.Surface.Display FLTK.Devices.Surface.Image FLTK.Devices.Surface.Paged FLTK.Devices.Surface.Paged.Postscript FLTK.Devices.Surface.Paged.Printers FLTK.Draw FLTK.Environment FLTK.Errors FLTK.Event FLTK.File_Choosers FLTK.Filenames FLTK.Help_Dialogs FLTK.Images FLTK.Images.Bitmaps FLTK.Images.Bitmaps.XBM FLTK.Images.Pixmaps FLTK.Images.Pixmaps.GIF FLTK.Images.Pixmaps.XPM FLTK.Images.RGB FLTK.Images.RGB.BMP FLTK.Images.RGB.JPEG FLTK.Images.RGB.PNG FLTK.Images.RGB.PNM FLTK.Images.Shared FLTK.Images.Tiled FLTK.Labels FLTK.Menu_Items FLTK.Screen FLTK.Static FLTK.Text_Buffers FLTK.Tooltips FLTK.Widgets FLTK.Widgets.Boxes FLTK.Widgets.Buttons FLTK.Widgets.Buttons.Enter FLTK.Widgets.Buttons.Light FLTK.Widgets.Buttons.Light.Check FLTK.Widgets.Buttons.Light.Radio FLTK.Widgets.Buttons.Light.Round FLTK.Widgets.Buttons.Light.Round.Radio FLTK.Widgets.Buttons.Radio FLTK.Widgets.Buttons.Repeat FLTK.Widgets.Buttons.Toggle FLTK.Widgets.Charts FLTK.Widgets.Clocks FLTK.Widgets.Clocks.Updated FLTK.Widgets.Clocks.Updated.Round FLTK.Widgets.Groups FLTK.Widgets.Groups.Browsers FLTK.Widgets.Groups.Browsers.Check FLTK.Widgets.Groups.Browsers.Textline FLTK.Widgets.Groups.Browsers.Textline.Choice FLTK.Widgets.Groups.Browsers.Textline.File FLTK.Widgets.Groups.Browsers.Textline.Hold FLTK.Widgets.Groups.Browsers.Textline.Multi FLTK.Widgets.Groups.Color_Choosers FLTK.Widgets.Groups.Help_Views FLTK.Widgets.Groups.Input_Choices FLTK.Widgets.Groups.Packed FLTK.Widgets.Groups.Scrolls FLTK.Widgets.Groups.Spinners FLTK.Widgets.Groups.Tabbed FLTK.Widgets.Groups.Text_Displays FLTK.Widgets.Groups.Text_Displays.Text_Editors FLTK.Widgets.Groups.Tiled FLTK.Widgets.Groups.Windows FLTK.Widgets.Groups.Windows.Double FLTK.Widgets.Groups.Windows.Double.Cairo FLTK.Widgets.Groups.Windows.Double.Overlay FLTK.Widgets.Groups.Windows.OpenGL FLTK.Widgets.Groups.Windows.Single FLTK.Widgets.Groups.Windows.Single.Menu FLTK.Widgets.Groups.Wizards FLTK.Widgets.Inputs FLTK.Widgets.Inputs.Text FLTK.Widgets.Inputs.Text.File FLTK.Widgets.Inputs.Text.Floating_Point FLTK.Widgets.Inputs.Text.Multiline FLTK.Widgets.Inputs.Text.Outputs FLTK.Widgets.Inputs.Text.Outputs.Multiline FLTK.Widgets.Inputs.Text.Secret FLTK.Widgets.Inputs.Text.Whole_Number FLTK.Widgets.Menus FLTK.Widgets.Menus.Choices FLTK.Widgets.Menus.Menu_Bars FLTK.Widgets.Menus.Menu_Buttons FLTK.Widgets.Progress_Bars FLTK.Widgets.Valuators FLTK.Widgets.Valuators.Adjusters FLTK.Widgets.Valuators.Counters FLTK.Widgets.Valuators.Counters.Simple FLTK.Widgets.Valuators.Dials FLTK.Widgets.Valuators.Dials.Fill FLTK.Widgets.Valuators.Dials.Line FLTK.Widgets.Valuators.Rollers FLTK.Widgets.Valuators.Sliders FLTK.Widgets.Valuators.Sliders.Fill FLTK.Widgets.Valuators.Sliders.Horizontal FLTK.Widgets.Valuators.Sliders.Horizontal_Fill FLTK.Widgets.Valuators.Sliders.Horizontal_Nice FLTK.Widgets.Valuators.Sliders.Nice FLTK.Widgets.Valuators.Sliders.Scrollbars FLTK.Widgets.Valuators.Sliders.Value FLTK.Widgets.Valuators.Sliders.Value.Horizontal FLTK.Widgets.Valuators.Value_Inputs FLTK.Widgets.Valuators.Value_Outputs Partially Done: Fl_Graphics_Driver / FLTK.Devices.Graphics To-Do: Fl_GDI_Graphics_Driver Fl_GDI_Printer_Graphics_Driver Fl_Glut_Window Fl_Positioner Fl_Postscript_Graphics_Driver Fl_Quartz_Graphics_Driver Fl_Sys_Menu_Bar Fl_Table Fl_Table_Row Fl_Tree Fl_Xlib_Graphics_Driver Doesn't need an internal Graphics_Driver: Fl_Surface_Device (is supplied a driver by constructor) Fl_Display_Device (is supplied a driver by constructor) Fl_Image_Surface (doesn't start with a driver) Fl_Paged_Device (doesn't start with a driver) Needs an internal Graphics_Driver'Class: Fl_Copy_Surface (via internal Quartz/GDI/Xlib surface) Fl_Printer (via internal Fl_System_Printer (win/mac) or Fl_PostScript_Printer (linux)) Fl_PostScript_File_Device (internal Fl_PostScript_Graphics_Driver) Never: (C++ binary plugins) (I have no idea how to bind these) Fl_Device_Plugin Fl_Plugin Fl_Plugin_Manager (XForms legacy compatibility) (why did I bind Fl_Chart/Fl_Clock/Fl_Positioner then?) Fl_FormsBitmap Fl_FormsPixmap Fl_FormsText Fl_Free Fl_Timer (docs explicitly say to use Fl_Printer instead) Fl_Postscript_Printer Fl_System_Printer Bugs to fix: Fl_Wizard draw() method private/protected GNAT bug with type_invariant combined with derived type and a begin section in a package, eg dialogs.adb Fl_Bitmap / Fl_XBM_Image instances will always have fail() return ERR_NO_IMAGE Non-widgets with incomplete APIs: FLTK FLTK.Devices.Graphics FLTK.Draw FLTK.Images (static attributes, draw_empty, Get_Data_Size?) FLTK.Images.Bitmaps (attributes) FLTK.Images.Pixmaps (constructor) FLTK.Images.Shared (images(), compare) FLTK.Menu_Items FLTK.Text_Buffers Widgets with incomplete APIs: Widgets Widgets.Groups Widgets.Groups.Browsers.Check (Set_Checked) Widgets.Groups.Input_Choices (menu) Widgets.Groups.Scrolls (attributes, resize, type, protected) Widgets.Groups.Text_Displays Widgets.Groups.Text_Displays.Text_Editors Widgets.Groups.Windows Widgets.Menus Widgets.Valuators (format) (a few derivative classes need type() checked too)