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