Article #1086: FLTK 1.3.0 final version released!

GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 Home  |  Articles & FAQs  |  Bugs & Features  |  Documentation  |  Download  |  Screenshots  ]

Return to Articles | Show Comments | Submit Comment ]

Article #1086: FLTK 1.3.0 final version released!

Created at 14:07 Jun 16, 2011 by matt

FLTK is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes.

FLTK 1.3.0 has been a huge step in the successful FLTK 1 series. All strings in FLTK are now handled in UTF-8 format and support the full range of Unicode character sets everywhere. International Input Methods are supported on all platforms. Two great new widgets were added, Fl_Tree and Fl_Table. Printing is now as easy as drawing into a window, and supports window printing of FLTK GUIs including OpenGL.

Internally, FLTK has been upgrade to run on current Unices, MS Windows 7, and OS X via Cocoa. All graphics calls now use device abstraction.

FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking.

For a complete list of features, full documentation, and source code downloads, please visit .

This is the final FLTK 1.3.0 release. Enjoy!


New Features

  • Added full UTF-8 Unicode support throughout FLTK and Fluid
  • Added Fl_Tree widget for hierarchical views
  • Added Fl_Table widget for widget layout
  • Added Fl_Native_Filechooser as a widget and global options
  • Added printing support (Fl_Printer class and friends) for native printing on Windows and Mac OS X, PostScript printing on X11 with CUPS or lp, and PostScript file output on all platforms
  • Added Fl_Device abstraction layer for all drawing functions
  • Moved OS X code base to the current Cocoa toolkit thanks to the awesome work of Manolo Gouy (STR #2221)

API and ABI compatibility to FLTK 1.1.x

  • All strings are expected to be in UTF-8 Unicode encoding
  • Replaced Fl_Scroll::position(int,int) with scroll_to(int,int) to avoid overriding Fl_Widget::position(int,int) (STR #1303)
  • Although FLTK 1.3 maintains source code compatibility as good as possible, the binary interface changed considerably.
  • Updated the bundled libpng to v1.2.40 (released Sep. 10, 2009)
  • Update lib png access (STR #2442)

API enhancements and changes

  • Changed font index to 32 bit to allow more than 256 fonts
  • Changed font height to 32 bit to allow fonts taller than 256 pixels
  • Changed widget coordinates to 32 bit
  • Corrected const methods of Fl_Text_{Buffer|Display|Selection} to be declared const, corrected an Fl_Text_Buffer attrib. typo
  • All draw() methods of widgets are now protected (STR #2142).
  • Changed Fl_Group::clip_children() to public (STR #2017)
  • Changed socket library to winsock2 (ws2_32.dll) instead of wsock32.dll for Windows. The dll is now loaded dynamically only if/when needed.
  • Changed hide() and show() methods. They are now virtual from Fl_Widget.
  • Added new label and image alignments (STR #2269)
  • Added global UI options (STR #2471)
  • Added class Fl_Widget_Tracker to simplify safe handling of widget deletion in callbacks. This is used in Fl_Widget::do_callback() to prevent accessing widgets after deletion in the callback.
  • Added sorting to Fl_Browser_ (STR #2113)
  • Added new method client_area() for easier positioning of children in Fl_Tabs (STR #2480)
  • Added interface to set color chooser mode (STR #2407)
  • Added Fl_Menu_::find_item by callback
  • Added loading jpeg images from memory
  • Added support for shortcuts for Fl_Input_, Fl_Value_Input, and Fl_Text_Display derived widgets (STR #1770)
  • Added Fl_Menu_ methods: insert(), find_index(), clear_submenu()
  • Added Fl::screen_dpi API

IDE support and command line build options

  • FLTK now support Apple Xcode 3, Xcode 4, MS VisualC 2008 and  MS VisualC 2010. MS VisualC 6 support is maintained as a compatibility base for, etc. .  FLTK continues to support configure/make and improved CMake build files.
  • Added step by step README's for MSWindows, OS X, and four Linux distros.
  • Added "ide" subdirectory for all IDE support files
  • Added template to generate new projects with Xcode.
  • Added --enable-cairo and --enable-cairoext  configure options.
  • redesigned CMake files (STR #2317).
  • The new configure option --enable-x11 (lowercase 'x') enables Cygwin builds under Windows (with --enable-cygwin) to use X11 instead of GDI drawing (STR #2147, #2183) and is ignored otherwise.
  • Changed "fltk-config --post foo" to create an application bundle rather than attaching a resource fork.


  • Added argument-less constructor in Fluid Widget Class
  • Added jpeg support to Fluid image() element
  • Added binary data type to Fluid
  • Added Table and Tree support to Fluid
  • Fixed internationalization of menus using Fluid (STR #2246)
  • Fixed menu item counting issue in Fluid (STR #2322)
  • Fixed lost top item in Fluid's tree browser (STR #2233)
  • Fixed Fluid dependency on X11 (STR #2261)
  • Fixed Fluid textcolor output (STR #1992)
  • Fixed wrong default value of Fl_Spinner in Fluid (STR #1991)


  • Added documentation for event delivery (STR #1983)
  • Added Fl_Scroll::bbox() documentation (STR #1893)
  • Updated documentation for Fl_Input_
  • Updated Copyright dates to 2010 (STR #2036)
  • Updated mirror sites in documentation (STR #2220)
  • Fixed documentation for Fl_Progress (STR #2209)
  • Fixed documentation (added missing COMCTL32.LIB dependency)

... and many many bug fixes...

Listing ]


Submit Comment ]

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