1CHANGES IN FLTK 1.3.8 RELEASED: Nov 20 2021 2 3FLTK 1.3.8 is a maintenance release with some fixes and enhancements. 4 5Details: 6 7 Albrecht Schlosser: 8 Make "FLTK_CONSOLIDATE_MOTION" user-definable (issue #76) 9 Fix compiler warnings (backported from 1.4) 10 Add new dialog fl_choice_n() with extended return values (#282) 11 12 ManoloFLTK: 13 Account for deprecation of [NSBitmapImageRep initWithFocusedViewRect:] 14 in macOS 10.14 15 macOS: fix fullscreen window when other windows were created before 16 Fix issue #287: "FLTK 1.3.6 doesn't handle fullscreen on macOS" 17 Fix issue #288: "FLTK 1.3.6+ doesn't notify window movement on macOS" 18 Fix issue #279: "HiDpi issue on macOS with retina display" 19 macOS: Allow building with non-Apple compiler that may not support blocks 20 21 22CHANGES IN FLTK 1.3.7 RELEASED: Jul 25 2021 23 24FLTK 1.3.7 is a maintenance release for macOS only. It fixes one 25regression introduced in FLTK 1.3.6 and two long standing timer 26issues on macOS. 27 28Other platforms than macOS are not concerned. 29 30Changes: 31 32 Avoid premature FL_RELEASE event at start of drag-n-drop operation 33 Fix a timer inconsistency and prevent a crash 34 Fl::add_timeout() must always create a new timer (#248) 35 36 37 38CHANGES IN FLTK 1.3.6 RELEASED: May 15 2021 39 40There have been no changes since FLTK 1.3.6rc2. 41 42 43CHANGES IN FLTK 1.3.6rc2 RELEASED: May 04 2021 44 45FLTK 1.3.6rc2 fixes some minor issues of 1.3.6rc1, particularly macOS 46bundle generation. It addresses an issue that bundles can't be executed 47on macOS 11.3 Big Sur if built with configure/make after downloading 48the release tarball because of the macOS "quarantine" feature. 49 50Details: 51 52 Albrecht Schlosser: 53 Rename file 'VERSION' to 'fltk_version.dat' (#191) 54 Fix version number in doxygen docs 55 Fix build with Cairo for CMake < 3.13 56 CMake: fix old (pre 3.13) link_directories() usage 57 Enhance CMake build configuration summary 58 Refactor macOS bundle generation to avoid "quarantine" 59 Fix a new compiler warning 60 61 62CHANGES IN FLTK 1.3.6rc1 RELEASED: Apr 26 2021 63 64FLTK 1.3.6 is a maintenance release with new macOS Big Sur support 65and some bug fixes. macOS Big Sur is supported on both Intel and the 66new Apple Silicon (M1) chips. 67 68CMake support has been improved but is not yet "perfect". Documentation 69has been enhanced, bundled image libraries have been updated to current 70versions. 71 72The following lists are subsets of all commits. References in '(...)' 73are either STR numbers (STR xxxx) or GitHub Issues or Pull Requests 74(#nnn). 75 76 77Bug fixes and other improvements 78 79 Albrecht Schlosser: 80 Fix Fl::add_timeout() in draw() under Linux (STR 3188) 81 X11: Fix X Input Methods (XIM) (STR 3502, 3192) 82 Fix overly restrictive JPEG filter (#81) 83 Fix DND in read-only Fl_Input (Fl_Output) (#113) 84 Fix offscreen drawing under X11 (STR 3384) 85 Fix potential fluid crashes (STR 3420) + memory leak 86 Fix X11 copy-paste and drag-and-drop target selection (#182) 87 Fix CMake install procedure (#212) 88 Avoid "Bogus FL_MOVE/FL_DRAG events" (#76) 89 CMake: Document FLTKConfig.cmake and set FLTK_INCLUDE_DIR 90 91 Greg Ercolano: 92 Fix issue92, added -d debug flag to fluid (#92) 93 Merge pull request #176 from ComputerNerd/errmsg-fix-13 94 95 ManoloFLTK: 96 X11: add support for copy+paste of image within one app 97 Windows: add bitmap version of graphics when copying to clipboard 98 Fix use of Xrender extension with old, 16-bit framebuffers. 99 Fix for Fl_Native_File_Chooser under macOS 10.15 Catalina and ... 100 Restore macOS capacity to turn window fullscreen encompassing several screens. 101 Improve Fl_Copy_Surface under macOS 102 Set OPTION_USE_SYSTEM_LIBPNG/JPEG off under macOS by default 103 Have Fl_Pack::draw() call Fl_Group::init_sizes() on its parent group. 104 CMake support of the Darwin+XQuartz test platform 105 Add support of macOS "Big Sur" 11.0 106 Fix when building with SDK 10.15 and running with 11.0 Big Sur 107 Backport fix for issue #185 "Shared Image reload() loses initial dimensions" from branch 1.4 108 Fix fl_endpoints() for macOS platform that was not effective. 109 Fix stack corruption when loading GIF (pull request #200) 110 Restore ./configure --enable-x11 on macOS 111 Fix crash when terminating any macOS app by cmd-Q 112 113 OKAMURA, Yasunobu: 114 Fix JIS Keyboard dead keys 115 116 117CHANGES IN FLTK 1.3.5 RELEASED: Mar 03 2019 118 119Bug fixes and other improvements 120 121 - Updated CHANGES for release, removed one wrong entry 122 123 124CHANGES IN FLTK 1.3.5rc2 RELEASED: Feb 17 2019 125 126Bug fixes and other improvements 127 128 - Fix Xcode FLTK project for use under macOS 10.14 129 130 131CHANGES IN FLTK 1.3.5rc1 RELEASED: Feb 11 2019 132 133New features and enhancements (highlights) 134 135 - Add support for macOS 10.13 "High Sierra" and 10.14 "Mojave". 136 - Add FL/platform.H for compatibility with FLTK 1.4 and higher. 137 - Improve OpenGL(3+) support. 138 - Improve Cairo support and (CMake) Cairo detection. 139 140Bug fixes and other improvements 141 142 - Fix for STR 3473 (and its duplicate STR 3507) to restore configure-based 143 builds on recent Linux/Unix distributions where the freetype-config 144 command has been replaced by pkg-config. 145 - Fix Fl_Tree::insert() with pos out ouf range (issue #18). 146 - Fix Fl_GIF_Image Color Table handling (STR 3491). 147 - Make sure not to access Fl_Menu_ widgets if the widget gets 148 deleted while the menu (pulldown) is open (STR 3503). 149 - Fix CMake build (fluid) on case sensitive macOS file systems. 150 - Windows/OpenGL: improve pixel format detection (STR 3119). 151 - Add support for macOS 10.14 "Mojave": all drawing to windows is done 152 through "layer-backed views" when the app is linked to SDK 10.14. 153 - MacOS platform: fix regression in macOS 10.13 where an unbundled app 154 had its system menu bar unresponsive. 155 - MacOS 10.10 platform: Fl_Window::fullscreen() and fullscreen_off() 156 no longer call Fl_Window::hide() + Fl_Window::show(). 157 The new procedure essentially resizes the window, as done on 158 the X11+EWMH and Windows platforms. This improves in particular 159 the possibility to turn an Fl_Gl_Window fullscreen on and off. 160 - MacOS platform: Support \r\n as end of line used by recent 161 MS Office apps in clipboard. 162 - Fix Fl_Text_Editor overstrike mode (STR 3463). 163 - More consistent and optimized "gleam" scheme box drawing. 164 - Fix a MinGW build error with new MinGW versions as of Feb 2018 165 (undefined S_OK and __FD_ISSET), see STR 3454. 166 - Windows/CMake: Add missing definition of WIN32 for Windows builds. 167 This seems to be necessary for VS2017 and other compilers that 168 don't #define WIN32, but FLTK relies on this preprocessor macro. 169 Autoconf/configure and bundled IDE files #define WIN32 as well. 170 - Fix illegal memory access after free when closing fluid (valgrind 171 reports "Invalid read of size 4"), see also STR 3427. 172 - Fix crash when closing fluid with Fl_Table (STR 3427). 173 - Fix ignored buffer pre-allocation (requestedSize) in Fl_Text_Buffer. 174 See fltk.general "Fl_Text_Buffer constructor bug" on Dec 5, 2016. 175 - Fix Fl_Browser background and text color parsing (STR 3376). 176 - Fix Windows CreateDC/DeleteDC mismatch (STR 3373). 177 - Update bundled configure scripts config.guess and config.sub. 178 - Fix configure --enable-cairo --enable-cairoext, 179 see report in fltk.general: 180 https://groups.google.com/forum/#!topic/fltkgeneral/x80qQ6wt0s4 181 - Fix macOS timer implementation (STR 3387). 182 - Fix drop-to-FLTK-widget under MSWindows when the desktop is 183 rescaled (STR 3390). 184 - Add support for macOS 10.13 "High Sierra". Subwindows don't 185 move correctly under 10.13 without this fix. 186 187 188CHANGES IN FLTK 1.3.4-1 RELEASED: Nov 15 2016 189 190Bug fixes and other improvements 191 192 - Fix Windows IDE solutions VisualC2008 and VisualC2010 to 193 build properly if the FLTK source directory is located 194 in a path that contains spaces. 195 196 Note: this is a source tar file update that is only necessary 197 if you build one of the above mentioned Visual Studio IDE 198 solutions in a path with spaces. Nothing else changed, no 199 documentation updates. 200 201 202CHANGES IN FLTK 1.3.4 RELEASED: Nov 11 2016 203 204Bug fixes and other improvements 205 206 - Fix test/native-filechooser help display artifact (STR #3349). 207 - MacOS: fix a crash when closing a fullscreen window. 208 - Accept empty Fl_Pixmap in Fl_RGB_Image c'tor (STR #3348). 209 - MacOS: fix drawing error when a window containing a hidden subwindow 210 is changed to fullscreen (error visible with the tabs test program). 211 - MacOS: fix possible crash when enabling fullscreen in test/scroll. 212 - Add a snapshot of known STR's and RFE's (KNOWN_BUGS.html). 213 214CHANGES IN FLTK 1.3.4rc3 RELEASED: Oct 31 2016 215 216 Bug fixes and other improvements 217 218 - Fix string truncation in fluid (STR #2722 continued). 219 - MacOS: fix a small problem where the Command-Quit menu hotkey 220 may not work if Fl_Native_File_Chooser is used before any 221 window is shown. 222 223 224CHANGES IN FLTK 1.3.4rc2 RELEASED: Oct 24 2016 225 226 Bug fixes and other improvements 227 228 - Make sure the "File Systems" menu item of Fl_File_Chooser 229 lists "/" as the first mounted file system (Linux/Unix platform). 230 - Added line numbers to fluid Edit -> Show Source Code viewer. 231 - Improved fluid's template handling (STR #3335). 232 233 234CHANGES IN FLTK 1.3.4rc1 RELEASED: Oct 17 2016 235 236 New features and extensions 237 238 - Added support for Mac OS 10.11 "El Capitan" and 10.12 "Sierra". 239 - Added full support of true subwindows to the Mac OS X platform. 240 Window nesting to any depth is possible. An Fl_Gl_Window window or 241 subwindow can contain Fl_Window's as subwindows. 242 - Fluid now supports external editors (STR #3213) 243 See: Edit -> GUI Settings -> Use external editor 244 - Added method Fl_Widget::is_label_copied(). 245 - Added methods Fl_Copy_Surface::w(), Fl_Copy_Surface::h(), 246 and Fl_Copy_Surface::draw_decorated_window(). 247 - Added method Fl_Image_Surface::draw_decorated_window(). 248 - Added method Fl_Shared_Image *Fl_Image_Surface::highres_image() 249 to draw into a high-resolution bitmap image (Mac OS X only). 250 - Added support for OpenGL version 3 and later. 251 - Added method Fl_Mac_App_Menu::custom_application_menu_items() 252 allowing customization of the application menu (Mac OS X only). 253 - Added 'fluid -u' command-line switch to upgrade fluid files in 254 batch mode. This option opens a fluid ('.fl') file and saves it 255 overwriting the old file with the current syntax and library version 256 number. Use with care (input file is overwritten unconditionally). 257 - Added FL_ZOOM_GESTURE gesture for OS X (only). Needs implementation 258 on other platforms. 259 - Added FL_ABI_VERSION, FL_API_VERSION, Fl::abi_version(), and 260 Fl::api_version(). Constants can be used to determine the compiled 261 FLTK version. Functions can be used to find the linked library version. 262 - Added Fl::abi_check() method to test if the runtime (linked) 263 ABI version is correct. 264 - Added Fl_Image::fail() to test if an image was loaded successfully 265 to allow for easier error detection when loading images (STR #2873). 266 - Added line numbers to fluid's source code viewer for New -> Code 267 268 New configuration options (ABI version) 269 270 - FLTK's ABI version can now be configured with 'configure', CMake, or 271 by editing a supplied file when using the bundled IDE projects. 272 See documentation in README.abi-version.txt. 273 274 1.3.4 ABI FEATURES 275 276 - Added deactivated user icon to Fl_Tree. 277 - Added Fl_Shared_Image::scale(width, height) which gives a shared 278 image its own drawing size, independently of the size of the 279 underlying image. This improves image drawing on high resolution 280 surfaces such as Laser printers, PDF files, and Apple retina displays. 281 282 Other improvements 283 284 - Configure now correctly sets HAVE_* variables only if both the 285 library and the header files were found. The configuration process 286 is aborted if Xft was requested explicitly with --enable-xft and 287 Xft was not found. The configuration summary now shows _found_ 288 options as opposed to requested options. 289 - Improved drawing of rounded box (STR #2943). 290 - Full support of Apple 'retina' displays for which one drawing unit 291 corresponds to two pixels. 292 - The Mac OS X platform no longer uses the deprecated AGL 293 (Apple GL library) to draw OpenGL data. Instead, it uses standard 294 Cocoa APIs. This allows FLTK to support drawing GL scenes at high 295 resolution when an Fl_Gl_Window is mapped to a 'retina' display. 296 - Added Fl_Gl_Window::pixel_w(), Fl_Gl_Window::pixel_h(), and 297 Fl_Gl_Window::pixels_per_unit() useful for high resolution OpenGL windows. 298 - fl_read_image() now captures all pixels within the rectangle 299 described by its arguments, whether they belong to a GL scene 300 or not (STR #3142). It also captures subwindows of GL windows. 301 - Fl::delete_widget() now hides the widget or window immediately 302 (i.e. when called) - only destruction is delayed as before. 303 - FLTK header files don't expose X11 definitions in user code any more 304 unless requested by including FL/x.H explicitly or implicitly. 305 - The PostScript code output when printing images under Linux/Unix 306 is now much smaller by using lossless compression techniques. 307 - The Linux/Unix printer dialog now uses BSD-style printing commands 308 (lpr/lpq) when SystemV-style commands (lp/lpstat) are not available. 309 - Drawing alpha-blended images under X11 is now accelerated with 310 Xrender. 311 - The font used for the FL_COURIER font family was changed on the Mac OS X 312 platform from 'Courier New' to 'Courier' because it was too thin. 313 - Text drawing on the Mac platform supports Unicode 'variation selectors' 314 in the range [0xFE00-0xFE0F]. 315 - Added a Mac OS implementation of Fl_Window::wait_for_expose() that 316 became necessary with Mac OS 10.10 "Yosemite". 317 - Added the libfltk target to the Xcode project producing a static 318 version of the FLTK library (Mac OS X). 319 - Restored the possibility to call Fl::set_font() before main() starts. 320 - Allow using the --enable-x11 configure option on the Mac OS platform 321 which produces an X11 version of the FLTK library (don't use unless 322 you know what you're doing). 323 - FLTK code and fluid-generated code can be used in static initializers. 324 - Added light gray separator line to fluid's widget browser (STR #2997). 325 - Improved tooltip behavior for huge tooltips: remove flicker, support 326 key/mouse dismiss (STR #2650). 327 - Modifier key names displayed in shortcut labels can now be localized. 328 See documentation of fl_shortcut_label(). You can set modifier key 329 names for Ctrl, Alt, Shift, and Meta by assigning global string 330 pointers to your translated modifier key names. 331 - Many documentation improvements and fixes. 332 - Fixed many compiler warnings (STR #2988). 333 - Fluid now generates code with less compiler warnings (STR #2813). 334 - Many CMake improvements and fixes. Note: CMake is mostly operating 335 now, but not yet recommended for production use. Please test and 336 report issues. 337 - Updated bundled zlib from 1.2.5 to 1.2.8. 338 - Updated bundled libjpeg from jpeg-8c to jpeg-9a. 339 340 341 Bug fixes 342 343 - Fix potential crash when using keyboard navigation on Fl_Tabs 344 widget without children (STR #3333). 345 - Fix potential crash if Fl_Window::icon(NULL) was called to clear 346 (reset) a window icon. This is now legal and documented behavior. 347 The same applies to Fl_Window::default_icon(). 348 - Allow widget callback to be NULL, i.e. no callback (STR #2835). 349 - Fixed Fl_Help_View buffer overflow (STR #3275). 350 - Fl_Browser now correctly adjusts its scrollbars when the default 351 text size is changed with textsize(int) (STR #3057). 352 - Fixed Fl_Text_Display/Fl_Text_Editor slow scrolling, line number 353 display, wrap mode "hiding" text behind scrollbars, and more 354 scrollbar handling (alignment) (STR #3272). 355 - Fixed valgrind warning (uninitialized variable) in Fl_Window. 356 Visible only with FLTK_ABI_VERSION >= 10303, since FLTK 1.3.3. 357 - Fixed Windows drag'n'drop not showing insert position if the drop 358 target is inside the same window or process (STR #3209). 359 - Fixed undefined reference building shared cairo library (STR #3276). 360 - Fixed Fl_Browser if text argument to some methods is NULL (STR #3269). 361 - Fixed missing image release in fluid (STR #2840). 362 - Fixed out-of-bounds memory access in fluid (STR #3263). 363 - Fixed trailing white space in fluid .fl files (STR #3239). 364 - Several box types were not drawn correctly when deactivated. 365 The background color for deactivated widgets is now correct: 366 fl_inactive(color()) (STR #2907). 367 - Fix inconsistent interpretation of ld() in image handling 368 (STR #3308). This is a minor issue since ld() is usually 0 or 369 w()*d(). Documentation has been fixed, and ld() handling is now 370 consistent in Fl_(RGB_)Image and fl_draw_image() and friends. See 371 documentation of Fl_Image and Fl_RGB_Image for more information. 372 - Fixed Fl_Pixmap (background) drawing to respect the clip region 373 (STR #3206). 374 - Fixed reading .pbm image files: 1 is now interpreted as black, 375 and images whose width are a multiple of 8 are correctly read. 376 Note: if you relied on the faulty behavior you may need to fix 377 your image files. 378 - Restored window background drawing, particularly the 'plastic' 379 scheme's background (STR #3059). This was a regression since 380 FLTK 1.3.0. 381 - Prevent sending (FL_SHORTCUT) events to inactive widgets (STR #3216). 382 - Fixed button label clipping (STR #3237). 383 - Fixed Fl_Menu_::item_pathname() handling of descending submenu 384 pointers (STR #3177). 385 - Fl_Text_Display: style buffer colors are no longer manipulated by 386 fl_contrast() for normal text drawing (fltk.coredev thread started 387 04/08/15, Subject: "RFC: Fl_Text_Display style buffer color weirdness") 388 - Fl_Tree::deactivate() now affects draw color of items (must have 389 ABI 1.3.3 or higher enabled). For icons to draw deactivated, 390 enable ABI 1.3.4. (test/tree has a 'deactivate tree' button) 391 - Fl_Tree::find_item() did not find items if the pathname contained 392 identical strings (STR #3234). 393 - Fixed possible bad border effect when a set of radio menu items 394 is located first in its menu (STR #3176): Fl_Menu_Item::set_only() 395 is deprecated and replaced by Fl_Menu_::set_only(Fl_Menu_item*). 396 - Restore the correct state of mouse buttons and keyboard modifier keys 397 after closing a file or printer dialog (STR #3221). 398 - Fix for deactivate colors issue with Fl_Text_Display/Editor (STR #3219). 399 - Fixed issue with MSWindows platform where the program kept running 400 after closing all its windows (STR #3165). 401 - Fix potential buffer overflow (MSWindows: BEX64 error) and problem with 402 MSWindows environment variables "HOME"(MinGW) vs. "UserProfile"(DOS) 403 - Fix issue with MSWindows platform where a window would decrease 404 in size after each close/open (STR #3167). 405 - Fix undefined reference XGetUtf8FontAndGlyph (STR #3191). 406 - Fix potential keyboard hangup (STR #3192). 407 - Fix for: .xbm images were not previewed (STR #3131). 408 - Fixed crash on Mac platform when resizing a not yet shown() Fl_Gl_Window. 409 - Fixed potential Windows GDI leak (STR #3254). 410 - Fixed Linux/Unix potential program hang when dialog pops up while 411 a menu is open (STR #3179). 412 - Fixed a crash when a Unix/Linux program calls take_focus() before any 413 window has been show()n. 414 - Fixed an error on the Mac platform when drawing to an Fl_Image_Surface 415 object without using the Fl_Image_Surface::draw() method. 416 - Fixed STR #3268 where a fullscreen window could become relocated 417 behind the menu bar and dock (Mac OS only). 418 - Fixed STR #3207: ^C not working when numlock or capslock is on. 419 - Fixed code editor in Fluid (STR #3184). 420 - Fixed a potential hangup of the Fl::awake() queue under Windows if 421 a window is resized or moved while the Fl::awake() message is sent 422 (STR #3143). 423 - Fixed a regression: restore the possibility to call 424 fl_draw_image(buf,X,Y,W,H,D,L) with negative D and/or L arguments. 425 - Fixed overflow in Fl_Valuator::precision(int) to 0...9 (STR #3280). 426 427 428CHANGES IN FLTK 1.3.3 RELEASED: Nov 03 2014 429 430 New features and extensions 431 432 - New class Fl_Copy_Surface allows copying graphical data to the 433 clipboard in a cross-platform way (STR #3058). 434 - Support for pasting graphical data from the clipboard to a widget. 435 - New class Fl_Image_Surface allows drawing into an Fl_Image object. 436 - Methods Fl::add_clipboard_notify() and Fl::remove_clipboard_notify() 437 to get notifications whenever the clipboard changes (STR #2636). 438 - New method Fl_Window::wait_for_expose() (STR #3124, STR #3129). 439 - New bilinear scaling method for RGB images (STR #2869, STR #3062). 440 - New method Fl_Widget::top_window() (STR #2948). 441 - New method Fl_Widget::top_window_offset() (part of STR #2944). 442 - New Fl_Tree_Item methods label_x(), label_y(), label_w(), label_h(). 443 - New methods Fl::enable_im() and Fl::disable_im() to enable/disable 444 system Input Methods (IM). 445 - New methods Fl::add_system_handler() and Fl::remove_system_handler() 446 to intercept low level system events. 447 - New FLTK scheme "gleam" (STR #2672). 448 - New method Fl::is_scheme() to compare the current scheme name. 449 - New method to set custom icons for windows (STR #2816), 450 see Fl_Window::icon() for more info. 451 - New method to set any custom cursor, based on a Fl_RGB_Image object. 452 Also changed fallback cursors to use this method, so that fallback 453 cursors are handled in a platform independent manner (STR #2660). 454 - New ability to convert Fl_Pixmap to Fl_RGB_Image (STR #2659). 455 - Support for full screen windows over multiple monitors. 456 - New optional line numbers in Fl_Text_Display and options to control 457 line numbers and word wrapping (on/off) in example test/editor.cxx. 458 - On Linux/Unix, class Fl_Native_File_Chooser uses file dialogs from 459 the Gnome environment (provided by the libgtk dynamic library) if 460 available, and falls back to Fl_File_Chooser if not (STR #3088). 461 Use option Fl::OPTION_FNFC_USES_GTK to enable/disable this feature. 462 - New support for the Mac OS text input system that deals with character 463 composition and input of languages with large character sets (e.g. 464 Chinese and Japanese). This implementation has been reported to work 465 well for Chinese. Superficial testing suggests it's also operational 466 for Japanese. In-depth testing remains needed though. 467 468 Other improvements 469 470 - Many CMake improvements (e.g. STR #2962, 2977, 2994, 3045, 3055). 471 - Some autoconf, configure improvements. 472 - Removed 1024 bytes constraint in labels and browser lines (STR #2990). 473 - Mac OS version of Fl_Native_File_Chooser: when using filters in a 474 save file dialog, the output file extension gets changed when the 475 user modifies the output file type. 476 - Many Mac OS X improvements related to Fl_Sys_Menu_Bar. 477 - Improved Mac OS X keyboard handling of special keys or combinations. 478 - General Mac OS X improvements, incl. high resolution (Retina) 479 displays, and support up to Mac OS X 10.10. 480 - Documentation improvements and clarifications. 481 - Printing support improvements, including GL windows. 482 - Many improvements related to Fl_Tree (some of them only as ABI 483 breaking features, see below). 484 - Some static data has been made 'const' to improve memory usage 485 with shared libraries. 486 - Don't grab navkeys with modifiers (CTRL, ALT), as the application 487 may want them (STR #3104). 488 - Check compiler support of -fvisibility, -fvisibility-inlines-hidden, 489 and use it, if available. Reduces shared library size. 490 - Drag'n'drop behaves better now: if text is dropped in the widget it 491 comes from, then it works like cut and paste. 492 - Other improvements of DND handling when dragging text from other 493 applications, e.g. Firefox and Thunderbird. 494 - Windows message WM_QUIT is processed like SIGTERM, i.e. as a 495 request to terminate the program. 496 - Fluid no longer closes the code window when hitting ESC (STR #2997). 497 - Improved Fl_Widget::when() handling in Fl_Tabs (STR #2939). 498 - Improved support for more recent compilers (clang and gcc) that 499 issue more warnings, and fixed some 32-/64-bit compilation issues. 500 - Added method Fl_Window::clear_modal_states() to make it possible 501 to remove the modal or non-modal state from a window (STR #3123). 502 503 Bug fixes 504 505 - Fixed word selection dragging in text input (STR #3014). 506 - Fixed border padding for special cases (STR #3061, Windows only). 507 - Fixed crash if Fl_Window::flush() called while window not shown() 508 (STR #3028). 509 - Fixed segfault in fl_set_fonts_xft.cxx when loading fonts not named 510 as expected (STR #2976). 511 - Fixed a memory leak in font loading/allocation (STR #3069). 512 - Fixed minor memory leaks in handling/freeing of X11 objects. 513 - Fixed OS X fl_read_image() and Fl_Paged_Device::print_window_part() 514 when using a Retina display. 515 - Fixed MinGW build if configure didn't find strcasecmp() (STR #2994). 516 - Fixed access of protected member under Linux/Unix (STR #2903). 517 - Fixed various Mac specific OpenGL issues (STR #2944) 518 - Fixed PostScript printing with non-english locale (STR #3130). 519 - Fixed a regression in Fl_File_Chooser since FLTK 1.1.8: the 520 Enter key now selects the file again. 521 - Fixed a bug in Fl_Native_File_Chooser (Windows) for some file name 522 input filters (STR #3101). 523 - Fixed out-of-bounds memory access in Fl_Text_Display (STR #2730). 524 525 1.3.3 ABI FEATURES 526 527 To enable the following ABI features, put: 528 #define FLTK_ABI_VERSION 10303 529 ..at the top of your FL/Enumerations.H and rebuild FLTK and your app. 530 531 - Added Fl_Window::shape(const Fl_Image*) to create arbitrarily-shaped 532 windows 533 - Made Fl_Help_View::handle() public and Fl_Help_View::draw() protected 534 to enable inheritance and for consistency (STR #2834). 535 Note: both methods were private. 536 - Made Fl_Scroll::recalc_scrollbars() protected so that it can be used 537 in derived widgets to calculate scrollbar visibility and positions. 538 - Added Fl_Table::tab_cell_nav() for controlling Tab key navigation of table 539 - Added Fl_Tree::get_selected_items(), returns the selected items as an array 540 - Added Fl_Tree::item_draw_callback(), letting one define a custom draw 541 function for Fl_Tree_Item's. 542 - Fl_Tree: various related changes: 543 o Added horizontal scrollbar 544 o Separated draw() and tree size calculation 545 o Added new public methods: 546 > resize() -- uses optimized dim calc, avoids tree recalc 547 > next_item() -- added parameters: direction, visibility 548 > extend_selection() -- added parameters, improved algorithm 549 > calc_dimensions() -- calc tix/y/w/h, tox/y/w/h and scrollbars 550 > calc_tree() -- calc tree_w/tree_h 551 > recalc_tree() -- schedules calc_tree() 552 > first_visible_item(), last_visible_item(), next_visible_item() 553 > first_selected_item(), last_selected_item(), next_selected_item() 554 o Added protected variables: 555 > _tix/y/w/h -- tree widget 'inner' dimension 556 > _tox/y/w/h -- tree widget 'outer' dimension 557 > _tree_w,_tree_h -- entire tree hierarchy width/height 558 o Deprecated: 559 > item_clicked() -- use callback_item() instead 560 > first_visible() -- use first_visible_item() instead 561 > last_visible() -- use last_visible_item() instead 562 563 - Fl_Tree_Item: various related changes: 564 o Added Fl_Tree ptr: needed for auto-recalc when item modified directly 565 o Added new methods tree(), recalc_tree() 566 o Added new ctor that accepts Fl_Tree* 567 o draw() parameters changed to include tree size calculations 568 o Deprecated: 569 > ctor using Fl_Tree_Prefs parameter (Fl_Tree* version better, 570 and must be used for 1.3.3 ABI features to work correctly) 571 > next_displayed() -- use next_visible() instead 572 > prev_displayed() -- use prev_visible() instead 573 - test/tree: added tests for newly added features 574 575CHANGES IN FLTK 1.3.2 RELEASED: Dec 12 2012 576 577 - Removed unnecessary drawing calls (STR #2898) 578 - Fixed regression in FLTK 1.3.1 for unbundled Mac OS FLTK applications 579 that did not appear in dock nor have a menu bar (STR #2890). 580 - Fl_Table::clear() now calls table->clear() for consistency. (STR #2889) 581 - Fixed Fl_Scroll widget that fails under Mac OS X 10.8 and Retina 582 display (STR #2887). 583 - Prevents scrollbars from drawing when widget is sized too small 584 to be visible (STR #2886). 585 - Documented how to make a Mac OS X FLTK application launchable 586 by dropping files on its icon. 587 - Fixed a Mac-specific issue that appeared with OS 10.8 (Mountain Lion): 588 long delay before opening when the application is started by dragging 589 a file on the application icon. 590 - Fixed use of PNG image from in-memory data (STR #2884). 591 - Added static Fl_RGB_Image::max_size(size_t) to limit the maximum 592 memory size allowed to RGB images (STR #2881). 593 594CHANGES IN FLTK 1.3.1 RELEASED: Nov 06 2012 595 596 - Fixed utf_strncasecmp and utf_strcasecmp 597 - Moved all inline constructors into source file to avoid bad DLLs 598 - Fixed Fl_Widget::copy_label() and Fl_Window::copy_label() when 599 called with the old label() (STR #2836) 600 - Fixed Fl_Input_::maximum_size() documentation and replace() method 601 to honor maximum_size() as number of allowed characters (STR #2747). 602 - Fixed a potential crash if Fl_Double_Window::flush() was called 603 before show() 604 - Fixed regression (in FLTK 1.3.0) that could clear a radio 605 button by using the keyboard (space or shortcut) (STR #2748) 606 - Fixed fl_pie() drawing too small on X11 (STR #2703) 607 - Fixed Fl_Menu issue with unusual menu flags (STR #2680) 608 - Fixed Windows DLL import of fl_xid() (STR #2670) 609 - Added Fl::screen_work_area() functions that compute the work area 610 of a screen. These functions improve the positioning of menus. 611 Changed Fl::x(), Fl::y(), Fl::w(), Fl::h() functions 612 to return the origin and size of the work area of the main screen 613 (STR #2695 + 2697) 614 - Created the FL_SCREEN_CONFIGURATION_CHANGED event that is triggered 615 when a screen is added, removed, moved or when resolution is changed 616 (STR #2600) 617 - Improved the description of page size and orientation by 618 Fl_PostScript_File_Device. 619 - Added support for horizontal wheel movement under X11 and Windows 620 Vista and above (STR #2644). 621 622 1.3.1 ABI FEATURES 623 (To enable the following ABI features, put: #define FLTK_ABI_VERSION 10301 624 at the top of your FL/Enumerations.H and rebuild FLTK and your app) 625 - Fl_Tree optimized to support large trees (eg. 100k items): 626 Added _next_sibling and _prev_sibling to Fl_Tree_Item class, 627 and support methods. 628 629 630CHANGES IN FLTK 1.3.0 RELEASED: Jun 16 2011 631 632 New Features 633 634 - Added UTF-8 Unicode support throughout FLTK and Fluid 635 - Added Fl_Tree widget for hierarchical views 636 - Added Fl_Table widget for widget layout 637 - Added Fl_Native_Filechooser as a widget and global options 638 - Added printing support (Fl_Printer class and friends) for native 639 printing on Windows and Mac OS X, PostScript printing on X11 640 with CUPS or lp, and PostScript file output on all platforms 641 - Added basic Fl_Device abstraction layer for all drawing functions 642 - Moved OS X code base to the more modern Cocoa toolkit thanks 643 to the awesome work of Manolo Gouy (STR #2221) 644 645 API and ABI Compatibility to FLTK 1.1.x 646 647 - All strings are expected to be in UTF-8 Unicode encoding 648 - Replaced Fl_Scroll::position(int,int) with scroll_to(int,int) 649 to avoid overriding Fl_Widget::position(int,int) (STR #1303) 650 - Although FLTK 1.3 maintains source code compatibility as good 651 as possible, the binary interface changed considerably. 652 - Updated the bundled libpng to v1.5.1 (released Feb 3, 2011) 653 - Updated the bundled libjpeg to v8c (released Jan 16, 2011) 654 - Updated the bundled zlib to v1.2.5 (released Apr 19, 2010) 655 656 API Enhancements and Changes 657 658 - Changed font index to 32 bit 659 - Changed font size to 32 bit 660 - Changed widget coordinates to 32 bit 661 - Corrected const methods of Fl_Text_{Buffer|Display|Selection} 662 to be declared const, corrected an Fl_Text_Buffer attrib. typo 663 - All draw() methods of widgets are now protected (STR #2142). 664 - Changed Fl_Group::clip_children() to public (STR #2017) 665 - Changed socket library to winsock2 (ws2_32.dll) instead of 666 wsock32.dll for Windows. The dll is now loaded dynamically only 667 if/when needed. 668 - Changed hide() and show() methods. They are now virtual from 669 Fl_Widget. 670 - Added new label and image alignments (STR #2269) 671 - Added global UI options (STR #2471) 672 - Added class Fl_Widget_Tracker to simplify safe handling of widget 673 deletion in callbacks. This is used in Fl_Widget::do_callback() 674 to prevent accessing widgets after deletion in the callback. 675 - Added sorting to Fl_Browser_ (STR #2113) 676 - Added new method client_area() for easier positioning of children 677 in Fl_Tabs (STR #2480) 678 - Added interface to set color chooser mode (STR #2407) 679 - Added Fl_Menu_::find_item by callback 680 - Added loading jpeg images from memory 681 - Added support for shortcuts for Fl_Input_, Fl_Value_Input, and 682 Fl_Text_Display derived widgets (STR #1770) 683 - Added Fl_Menu_ methods: insert(), find_index(), clear_submenu() 684 - Hotspot behavior of fl_message() and other common dialogs is now 685 optional (STR #2561). 686 - Common dialogs like fl_message() and fl_ask() can now have a window 687 title (STR #2562). 688 689 IDE Support and Command Line Build Options 690 691 - FLTK now supports Apple Xcode 3, MS VisualC 2008, and 692 MS VisualC 2010. MS VisualC 6 support is maintained as a 693 compatibility base for VisualC.net, etc. . FLTK continues 694 to support configure/make and improved CMake build files. 695 - Added step by step README's for MSWindows, OS X, and four 696 Linux distros. 697 - Added "ide" subdirectory for all IDE support files 698 - Added template to generate new projects with Xcode. 699 - Added --enable-cairo and --enable-cairoext configure options. 700 - redesigned CMake files (STR #2317). 701 - The new configure option --enable-x11 (lowercase 'x') enables 702 Cygwin builds under Windows (with --enable-cygwin) to use X11 703 instead of GDI drawing (STR #2147, #2183) and is ignored otherwise. 704 - Changed "fltk-config --post foo" to create an application 705 bundle rather than attaching a resource fork. 706 - Changed default for configure option --with-links for common 707 misspellings on case sensitive file systems like Unix/Linux. 708 The new default is --without-links; use --with-links on 709 Unix/Linux only if you need the links (e.g. lowercase '.h') 710 711 Fluid 712 713 - Added argument-less constructor in Fluid Widget Class 714 - Added jpeg support to Fluid image() element 715 - Added binary data type to Fluid 716 - Empty functions in Fluid no longer create an 717 implementation (STR #2259) 718 - Fixed internationalisation of menus using Fluid (STR #2246) 719 - Fixed menu item counting issue in Fluid (STR #2322) 720 - Fixed lost top item in Fluid's tree browser (STR #2233) 721 - Fixed Fluid dependency on X11 (STR #2261) 722 - Fixed Fluid textcolor output (STR #1992) 723 - Fixed wrong default value of Fl_Spinner in Fluid (STR #1991) 724 725 Documentation 726 727 - Added documentation for event delivery (STR #1983) 728 - Added Fl_Scroll::bbox() documentation (STR #1893) 729 - Updated documentation for Fl_Input_ 730 - Updated Copyright dates to 2010 (STR #2036) 731 - Updated mirror sites in documentation (STR #2220) 732 - Fixed documentation for Fl_Progress (STR #2209) 733 - Fixed documentation (added missing COMCTL32.LIB dependency) 734 735 Other Improvements 736 737 - Added drag'n'drop support for Fl_Text_* 738 - Added visual feedback for button shortcuts (STR #2372) 739 - Added callback when double-clicking file in a file chooser 740 (STR #2346) 741 - Added alternative Xft font names (STR #2215) 742 - Added mouse!=0 check in Fl_Glut_Window::handle (STR #2381) 743 - Added indexing to Fl_Preferences 744 - Added OS X cursor control to Fl_Input (STR #2169) 745 - Added menu shortcut alignment for OS X 746 - Added drop box to UTF-8 test that will show the UTF-8 encoding 747 for the first dropped character 748 - Added flexible gap size for text buffer (STR #2046) 749 - Added clarification to Fl_GL_Window mode function (STR #1945) 750 - Added alternative text input awareness on OS X 751 - Improved handling of composed keys in OS X 10.5 and up 752 - Improved stability of fl_read_image (STR #2021) 753 - Much faster fl_read_image() for Windows (STR #2387). 754 - Improved support for faulty X11 clients (STR #2385) 755 - Integrated default menu into Demo test app 756 - Replaced _WIN32 symbols that had come with UTF-8 and the 757 new Fl_Table widget with WIN32 758 - Widgets now remove stale entries from the default callback 759 queue when they are deleted (STR #2302) 760 - Managing all Widget flags in a single location now (STR #2161) 761 - File chooser preview now recognizes UTF-8 encoded 762 text files (STR #2218) 763 - Setting a default font for Xft (STR #2216) 764 - Restructured the unittest application 765 - Fl_Preferences.H now doesn't include windows.h any more 766 (Windows only, STR #2173). 767 - Fl_Window::draw() now doesn't reset its x/y-coordinates to 0 768 anymore before drawing itself and its children. 769 - Fl_Help_View handles HTML2 font color specification (STR #890) 770 - Widgets now remove themselves from their parent group (if any), 771 when destroyed (STR #1894) 772 - Changed Fl_Group and Fl_Scroll to resize themselves before 773 resizing their children (STR #2032) 774 775 Bug Fixes 776 777 - Fixed potential crash in fl_xid() on Linux (STR #2635) 778 - Fixed keyboard navigation in fl_choice() (STR #2591) 779 - Fixed alpha blending under X11 when line data size != 0 (STR #2606) 780 - Fixed Fl_Tabs selection border drawing, if tabs are at the bottom 781 of the widget (STR #2480) 782 - Fixed Compiling with mingw-w64 (STR #2308). 783 - Fixed crashes when detecting illegal UTF-8 sequences 784 in Fl_Text_* widgets (STR #2348) 785 - Fixed Fl_Text_Display Tabulator calculations (STR #2450) 786 - Fixed file access code to use UTF-8 strings (STR #2440) 787 - Fixed ARM Unicode cross compilation issue (STR #2432) 788 - Fixed xclass support for Fl_Window (STR #2053) 789 - Fixed Caps Lock handling in X11/XIM (STR #2366) 790 - Fixed handling of missing fonts in Xft (STR #2355) 791 - Fixed OpenGL hide/show issue in OS X (STR #2260) 792 - Fixed File Chooser preview hang if a device was choosen 793 - Fixed blinking of selection when the mouse was dragged 794 outside of the Fl_Text_* widget 795 - Fixed Unicode support for Fl_Text_* widgets 796 - Fixed menu and shortcut handling (STR #2243) 797 - Fixed fltk-config to give --libs on one line (STR #2408) 798 - Fixed outside label redraw damage areas (STR #2436) 799 - Fixed compile errors when HAVE_LIBJPEG was not defined 800 (STR #2382) 801 - Fixed special handling for ISO back-tab keycode (STR #2369) 802 - Fixed static allocation in Fl_Tabs (STR #2370) 803 - Fixed Fl_Widget::measure_label() to const (STR #2406) 804 - Fixed unbalanced Windows OleInitialize/OleUnitialize calls 805 when loading/unloading the FLTK dll (STR #2417) 806 - Fixed X11/XDBE double buffering (STR #2152, #2197) 807 - Fixed menu and tooltip window animation bug under X11 (compiz) 808 by setting an appropriate window type (STR #2082) 809 - Fixed max. fd calculation, if USE_POLL is enabled (STR #2324) 810 - Fixed clipping for offscreen rendering (OSX, STR #2330) 811 - Fixed possibility of wrong flags() in Fl_Window::iconlabel() 812 (STR #2161) 813 - Fixed Scrollbar events when max is less than min (STR #2283) 814 - Fixed crash in test/Editor when freeing buffer 815 too soon (STR #2294) 816 - Fixed Fl_Preferences Cygwin wide character bug (STR #2164) 817 - Fixed sorting in Fl_Browser - last item would not 818 be sorted (STR #2300) 819 - Fixed window levels in OS X Cocoa (STR #2316) 820 - Fixed a buffer overflow in fl_utf8from_mb() (STR #2279) 821 - Fixed a Windows GDI leak when testing alpha blending capabilities 822 - Fixed crashes for recursive common dialogs (STR #1986, #2150) 823 - Fixed a name conflict with new (VS 2008 Express) winsock2.h 824 versions and another conflict that produced compile errors 825 with VS 2008 Express (STR #2301) 826 - Fixed all color related calls to Fl_Color type (STR #2208) 827 - Fixed Fl_Choice contrast with light-on-dark settings (STR #2219) 828 - Fixed X server "lock", if a modal dialog window is opened 829 while a menu is active (STR #1986) 830 - Fixed Windows compile bug with "#define USE_COLORMAP 0" 831 (STR #2241) 832 - Fixed glibc 2.10 compiler problems (Fedora 11 and others) 833 with scandir() and strchr() (STR #2222) 834 - Fixed OpenGL shared context handling (STR #2135) 835 - Fixed gray-scale images with alpha channel (STR #2105) 836 - Fixed unexpected shortcut behavior for Win32 (STR #2199) 837 - Fixed fl_draw_image to obey the alpha channel (OS X only) 838 - Fix for multiple popups, when dragging and calling fl_alert() 839 and friends from the callback (STR #2159) 840 - Fixed control key keycodes with modifiers on OS X 841 - Fixed bad system menu handling in OS X (STR #2153) 842 - Fixed File Input mouse pointer dragging (STR #2181) 843 - Fixed 'del' keycode on OS X 844 - Fixed OS X support for sending and receiving dnd data as UTF-8 845 - Fixed Copy/Paste operations with UTF-8, UTF-16 support and 846 fltk1.1 compatibility. (STR #2104, 2121). 847 - Fixed fl_set_spot() for Windows (STR #2101) 848 - Fixed callback that would not be called when shortcut was used 849 with radio and toggle buttons in default FL_RELEASE mode. 850 - Fixed a problem with TrackMouseEvent() (Windows only) that would 851 generate wrong FL_LEAVE events with subwindows. TrackMouseEvent 852 is now enabled by default (it was disabled for GNU compilers). 853 It can be disabled by defining NO_TRACK_MOUSE. 854 Improved test/subwindow.cxx (STR #2079) 855 - Fixed menu position close to screen border (STR #2057) 856 - Fixed adding an idle handler during a draw() call (STR #1950) 857 - Fixed first modifier key event (STR #1952) 858 - Fixed Fl_Scroll inside Fl_Scroll (STR #265) 859 860 Removed Features 861 862 - Removed Watcom compiler support because it was introduced in 863 1.1.6 as a partial solution and never completed. 864 - Removed an XForms compatibility "feature" that prevented the 865 down array of Fl_Menu_Button from drawing (STR #2141). 866 - Removed support for gcc 2.x (or older) 867 - Removed redundant Fl_Group casts 868 869 870CHANGES IN FLTK 1.1 871 872 See CHANGES_1.1 873 874 875CHANGES IN FLTK 1.0 876 877 See CHANGES_1.0 878