Article #1086: FLTK 1.3.0 final version released!

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 
 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-2023 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to ''.