Date (GMT) Author SVN# Git Commit Commit Comments
Fri Nov 30 09:29:08 2018 Manolo Gouy 13143 f53c7fd128
macOS: rewrite opengl_plugin_device() to use less memory.
Fri Nov 30 09:05:58 2018 Manolo Gouy 13142 b04700397e
Comments only: correct the header of 2 source files.
Fri Nov 30 09:01:12 2018 Manolo Gouy 13141 c33d3c6aaa
Remove unused arguments from the Fl_Device_Plugin::print() member function.
Thu Nov 29 17:50:55 2018 Manolo Gouy 13140 b511f6a7a4
Use the Fl_Gl_Device_Plugin mechanism to simplify the construction of a layer-backed GL window.
Thu Nov 29 09:20:08 2018 Manolo Gouy 13139 d600ccc034
Remove unnecessary platform-specific #if / #endif clauses.
Thu Nov 29 00:06:33 2018 Albrecht Schlosser 13138 2ef3b39c6a
Fix FL_PUSH event handling of Fl_Check_Browser (STR #3004).
    Test if the FL_PUSH event is inside the widget area and inside
    the scrollbars (if scrollbars are visible).
Wed Nov 28 18:01:02 2018 Manolo Gouy 13137 91bb8bce1f
Create default implementation of Fl_Screen_Driver::get_system_scheme() and use it for macOS and Windows.
Tue Nov 27 12:41:39 2018 Manolo Gouy 13136 46f08f6d21
Documentation: reveal where the Fl_Preferences text files are located on each platform.
Tue Nov 27 09:57:45 2018 Manolo Gouy 13135 4881b982a3
Documentation: replace several instances of "pixels" by "FLTK units" to account for screen rescaling.
Mon Nov 26 20:55:23 2018 Manolo Gouy 13134 db1206065a
Windows: Have Fl::x(), Fl::y(), Fl::w() and Fl::h() change their values when the screen is rescaled.
Mon Nov 26 09:21:40 2018 Manolo Gouy 13133 d8c4447c84
MacOS: slightly simpler implementation of Fl_Cocoa_Window_Driver::wait_for_expose().
Fri Nov 23 09:47:08 2018 Manolo Gouy 13131 3be39b03b4
MacOS: further support of scenarios mixing miniaturize/deminiaturize/change screen configurations.
    Test scenario:
    - use 2-screen configuration, one retina, one non-retina as main screen
    - put subwindow-containing window on retina
    - miniaturize window
    - close retina screen
    - de-miniaturize window
    The subwindow was wrong without this change.
Thu Nov 22 11:55:04 2018 Manolo Gouy 13129 97c0c6a024
MacOS: fix redraw of subwindow when display resolutions before miniaturize and after deminiaturize differ.
Wed Nov 21 11:55:04 2018 Manolo Gouy 13128 7e5b04cab5
macOS: remove two useless statements for layer-backed OpenGL windows.
Tue Nov 20 16:52:35 2018 Manolo Gouy 13127 3e6d8903d4
Minor reorder of operations performed when layered window is 1st drawn.
Tue Nov 20 12:51:03 2018 Manolo Gouy 13126 95aa03d86d
macOS: reorganize the code running when windows are moved between retina and non-retina displays.
Fri Nov 16 11:58:39 2018 Manolo Gouy 13124 de797c7101
MacOS: introduce classes FLViewLayer and FLGLViewLayer to handle layer-backed views.
    Both new classes are derived from FLView.
Fri Nov 16 09:11:54 2018 Manolo Gouy 13123 015d460c49
MacOS: simpler implementation of extra code necessary at first display of layer-backed GL windows
Sat Nov 10 09:00:45 2018 Manolo Gouy 13121 d312284099
Account for property graphicsPort of NSGraphicsContext being deprecated in 10.14
Fri Nov 9 14:35:55 2018 Manolo Gouy 13119 43b511b784
Fix macOS 10.14 Mojave support of the FLTK-cairo interface.
    After experimenting with a modified cairo_test program that draws both with
    cairo and with regular FLTK drawing functions to the same window, it seems
    necessary to control for possible changes to the graphics context made by
    cairo in Fl_Cocoa_Window_Driver::make_current() rather than in
Thu Nov 8 17:48:18 2018 Manolo Gouy 13117 b325a6b4b2
Add guard against gl_draw(const char*, int) called with null 2nd argument.
Thu Nov 8 17:09:24 2018 Manolo Gouy 13115 ff20361f5a
Support of macOS 10.14 Mojave: take care of the FLTK-Cairo interface.
    Discussion "Screen buffer flipped in OSX Mojave running 1.4.x"
    in fltk.general,
    describes a Cairo-using FLTK app that runs well after this modification.
Mon Nov 5 19:05:21 2018 Albrecht Schlosser 13113 055de59c1d
Fix comment only (wrong STR number).
Fri Nov 2 12:21:06 2018 Manolo Gouy 13109 09abaf4339
Further fix to support gl_start()/gl_finish() under MacOS platform.
Fri Nov 2 09:27:04 2018 Manolo Gouy 13108 8a04aeb146
MacOS Mojave and gl_start(): fix for 10.14 but not 10.14.1
Thu Nov 1 20:33:35 2018 Manolo Gouy 13106 6a201d7070
Add useful cast
Thu Nov 1 14:34:22 2018 Manolo Gouy 13105 3a2439e31c
MacOS Mojave: restore use of gl_start()/gl_finish()
Wed Oct 31 12:45:51 2018 Manolo Gouy 13104 6c8115ee9b
Remove use of Fl_Gl_Window_Driver.H in file src/
    Thus, is completely independent from code of libfltk_gl.
Wed Oct 31 09:05:26 2018 Manolo Gouy 13103 22bcc7b4ca
Remove all dependency to libfltk_gl from
Tue Oct 30 08:12:03 2018 Manolo Gouy 13100 9e20113757
Fix issue when moving window between retina/non-retina screens while window is under progressive redraw.
    The problem was visible with test/mandelbrot and with layer-backed views.
Mon Oct 29 19:59:57 2018 Greg Ercolano 13099 d65a5a073c
Control resizing behavior of UI buttons
Mon Oct 29 19:33:11 2018 Greg Ercolano 13098 554d7d3639
Tooltip for browse button, and include a fallback label if icon not found.
Mon Oct 29 18:33:37 2018 Greg Ercolano 13097 cfe555f410
Print both returned path and relative path in tty.
Mon Oct 29 17:20:31 2018 Manolo Gouy 13096 c146ba344c
Removed temporary comment.
Mon Oct 29 17:12:53 2018 Greg Ercolano 13094 cf5f3fbca2
Fixes STR#3500 - "Must type two leading slashes to enter an absolute path"
Mon Oct 29 17:09:37 2018 Manolo Gouy 13093 71d7a9db79
Fix handling of layer-backed sub GL window moved between retina and non-retina screens.
Mon Oct 29 15:49:15 2018 Manolo Gouy 13091 ac60de1a92
Fix error in Fl_Cocoa_Gl_Window_Driver::make_current_before()
    Fl_Gl_Window_Driver::invalidate() instead of Fl_Gl_Window::invalidate() was called.
Mon Oct 29 15:30:44 2018 Manolo Gouy 13090 61eb23a9ea
Fix handling of GL window moved between retina and non-retina screens.
    Part of the fix applies both to layer-backed and non layer-backed windows.
Mon Oct 29 10:14:09 2018 Manolo Gouy 13089 185934b9b0
Fix handling of layer-backed GL window moved between retina and non retina screens.
Sun Oct 28 16:22:05 2018 Manolo Gouy 13087 2106f867b6
Fixed first drawing of a layer-backed OpenGL window.
Sun Oct 28 14:20:44 2018 Manolo Gouy 13086 d666a6f234
MacOS Mojave 10.14 support: fix creation of several OpenGL windows.
Sun Oct 28 02:35:02 2018 Manolo Gouy 13085 50f90a6970
Fix suppport of tabbed windows.
Fri Oct 26 07:47:47 2018 Manolo Gouy 13084 318a756a60
Stop using viewFrameDidChangeNotification and implement drawRect:(NSRect) for FLViewGL.
Mon Oct 22 01:04:57 2018 Albrecht Schlosser 13081 0321ce7a1c
Add missing include file <string.h>.
    Preparing for another commit...
Sun Oct 21 07:07:38 2018 Manolo Gouy 13080 3370226f4f
Mention added support for MacOS 10.14
Sat Oct 20 22:09:28 2018 Manolo Gouy 13078 ab51dfc636
Support GL windows on retina display when app does not set Fl::use_high_res_GL(1)
Sat Oct 20 07:42:15 2018 Manolo Gouy 13076 e32b7e1fca
Fix resize of layer-backed, top-level GL windows: no more blank window.
Sat Oct 20 07:24:27 2018 Manolo Gouy 13075 1741a6c128
Minor improvement of macOS 10.14 mojave support: draw window views with the displayLayer: method
    The doc recommends to draw views with the displayLayer: method when the view manages itself
    completely its own bitmap:
           If your delegate implements the displayLayer: method, that implementation is responsible
           for creating a bitmap and assigning it to the layer’s contents property.
Fri Oct 19 16:50:57 2018 Albrecht Schlosser 13073 75b6cee6cc
Document that Fl_Widget::GROUP_RELATIVE bit is not used.
Fri Oct 19 16:44:50 2018 Albrecht Schlosser 13072 1f3c17c8b9
Windows/OpenGL: fix pixel format detection (STR #3119).
    This patch fixes two aspects described in STR #3119:
     (a) enables detection and prefers pixel formats with composition
     (b) selects no more than 32 bit colors (8 bits per pixel)
    (a) was the reason for this STR, (b) was reported repeatedly in
    fltk.general (see STR #3119).
Fri Oct 19 05:17:24 2018 Manolo Gouy 13071 dd8e60a956
Add support for macOS 10.14 Mojave.
    MacOS apps running under 10.14 AND linked with SDK 10.14 use a completely different way
    to draw to the screen in comparison with the same app running under 10.13 or earlier:
    all views are "layer-backed".
    This commit makes FLTK apps running under 10.14 and linked with SDK 10.14 explicitly
    use layers to draw to the screen.
    FLTK apps remain downward compatible with earlier macOS versions.
Thu Oct 18 19:33:09 2018 Manolo Gouy 13070 7331900ef8
Remove compilation error when using clang 8:
    error: non-constant-expression cannot be narrowed from type 'int' to 'CGFloat'
Thu Oct 18 16:21:45 2018 Albrecht Schlosser 13069 bd16bad416
Update makesrcdist to work with Git. Work in progress.
    This is a working version of makesrcdist and "commandline compatible" with the
    previous svn version.
    Todo: There will likely be more or other commandline arguments to be more flexible
    when building source tarballs or snapshots.
Tue Oct 16 09:28:25 2018 Manolo Gouy 13067 b79f3ed1f2
Prepare for support of MacOS 10.14 Mojave.
Tue Oct 16 09:27:36 2018 Manolo Gouy 13066 1367048df2
Fix Fl_OpenGL_Display_Device::capture_gl_rectangle(Fl_Gl_Window*) by making current the window's GL context.
    The problem was visible with test/cube: when the window was minimized, only the left GL subwindow
    was captured in the window icon.
Tue Oct 9 19:56:33 2018 Matthias Melcher 13065 f58c1d85b8
Fluid inlined text data must be 'const'
Tue Oct 9 19:53:05 2018 Matthias Melcher 13064 b10524fce2
Avoiding crash when accessing free'd memory.
Mon Oct 8 20:09:30 2018 Albrecht Schlosser 13063 17e593b254
Update (reformat) README.bundled-libs.txt.
    --This line, and thupose below, will be ignored--
Fri Oct 5 10:47:16 2018 Manolo Gouy 13062 506b60a3f9
MacOS 10.14 Mojave: fix support of window capture  - continued.
    Window capture by initWithFocusedViewRect: does not work if the app is linked against 10.14 SDK
    and run under 10.14. In that case, capture is performed instead by CGWindowListCreateImage().
    Detection of whether the app was linked against 10.14 SDK is done by checking whether
    the FLView possesses a CALayer.
Fri Oct 5 00:38:12 2018 Albrecht Schlosser 13061 a84dec9510
Update dependencies.
Thu Oct 4 07:54:18 2018 Manolo Gouy 13060 61c01d9f9a
MacOS 10.14 Mojave: fix support of window capture that 10.14 broke.
Mon Oct 1 17:59:06 2018 Albrecht Schlosser 13059 6986a57bfc
Update release date. (Test commit)
Sun Sep 30 13:46:13 2018 Manolo Gouy 13058 08910b74ac
macOS: check for non-nil image before using it as miniaturized window icon.
Thu Sep 27 05:42:57 2018 Manolo Gouy 13057 f76d2a2bf8
Support for macOS 10.14 Mojave: apps linked with SDK 10.14 did not draw anything in their windows.
Sat Sep 22 07:24:57 2018 Manolo Gouy 13055 673d95b99c
MacOS: fix is_bundled() function for case when [NSBundle mainBundle] is nil.
Tue Sep 18 16:32:15 2018 Albrecht Schlosser 13054 58fbb5cfd2
Update for new Git repository on GitHub.
Sun Sep 16 10:17:23 2018 Manolo Gouy 13050 3131757e9c
MacOS: fix regression in OS 10.13 where an unbundled app had its system menu bar unresponsive.
    The regression was detected by "FLTK 1.4 on macOS: Trouble compiling my Application with Makefile"
    in fltk.general.
    The fix is to have unbundled apps initialize under MacOS 10.13 as under earlier OS,
    thus the new initialization procedure introduced for 10.13 is for bundled apps only.
    Tested OK on 10.13.6 and 10.14 public beta 10.
Fri Sep 14 14:49:23 2018 Manolo Gouy 13049 f235678851
X11 under Ubuntu: read screen scaling information - continued
    the first scaling value set at 2 is retained.
Fri Sep 14 14:38:06 2018 Manolo Gouy 13048 d23892ef52
X11 under Ubuntu: read screen scaling information from file $HOME/.config/monitors.xml
Fri Sep 14 12:13:56 2018 Albrecht Schlosser 13047 a0fcfa55d6
Fix (remove) C++11 extension in header file.
    Found with clang [-Wc++11-extensions] (example):
    Building CXX object src/CMakeFiles/fltk.dir/Fl_x.cxx.o
    In file included from ../../src/Fl_x.cxx:40:
    ../../src/drivers/X11/Fl_X11_Screen_Driver.H:36:10: warning: unelaborated
      friend declaration is a C++11 extension; specify 'class' to befriend
      'Fl_Screen_Driver' [-Wc++11-extensions]
      friend Fl_Screen_Driver;
    1 warning generated.
Wed Sep 12 15:12:11 2018 Manolo Gouy 13046 07f18a5190
MacOS: Fix rounding to nearest int for negative screen coordinates.
    The previous method   int(x + 0.5) is incorrect when x < 0
Wed Sep 12 12:46:09 2018 Manolo Gouy 13045 b0e0e0912c
MacOS ≥ 10.10: Fl_Window::fullscreen() and fullscreen_off() no longer call Fl_Window::hide() + Fl_Window::show()
    The new procedure essentially resizes the window, as done on the X11+EWMH and Windows platforms.
    This improves in particular the possibility to turn an Fl_Gl_Window fullscreen on and off.
    MacOS ≥ 10.10 is required because the procedure isn't stable (random crashes during fast switches) with 10.9.
Fri Sep 7 09:24:35 2018 Manolo Gouy 13044 b6f65b1c87
X11: simplify the use of member function Fl_X11_Screen_Driver::init_workarea().
Thu Sep 6 12:56:08 2018 Manolo Gouy 13042 3669f9a8cc
MacOS: fix turning GL window to/from fullscreen state.
    This fix completes that at r.13039.
Thu Sep 6 11:26:34 2018 Manolo Gouy 13041 6e5c5d58e8
X11: fix Fl::w() and Fl::h() when the screen is rescaled.
Mon Sep 3 17:16:07 2018 Manolo Gouy 13040 9a105ea686
Less code is enough to start the OpenGL 3 window fullscreen.
Mon Sep 3 15:47:48 2018 Manolo Gouy 13039 ee3fbb849e
MacOS: fix creation of fullscreen GL window
Mon Sep 3 09:12:47 2018 Manolo Gouy 13038 821be0b0eb
Complete proper initialisation of the unique Fl_Cocoa_Screen_Driver object.
Sun Sep 2 21:00:18 2018 Albrecht Schlosser 13037 0314c3c7ea
Revert test commit.
Thu Aug 30 10:41:16 2018 Albrecht Schlosser 13036 86b0756e15
Update dependencies and fluid files, fix typos.
Thu Aug 30 08:31:53 2018 Manolo Gouy 13035 b3b29632fb
Doc only: better doc of recently added events: FL_SCREEN_CONFIGURATION_CHANGED, FL_FULLSCREEN,...
Wed Aug 29 19:54:10 2018 Greg Ercolano 13034 d1df5376f1
Added example of dynamically setting style buffer with text editor.
    This example greatly simplifies the test/editor example to focus on
    just the mechanics of dynamic style buffer manipulation via the
Wed Aug 29 16:42:41 2018 Manolo Gouy 13033 f50e9170dc
MacOS: slightly simplify [FLAppDelegate applicationDidChangeScreenParameters:]
Tue Aug 28 12:33:27 2018 Manolo Gouy 13032 d0739e8712
Slightly simpler implementation of Fl_Cocoa_Gl_Window_Driver::alpha_mask_for_string() - continued.
Tue Aug 28 12:12:20 2018 Manolo Gouy 13031 9289a63af2
Slightly simpler implementation of Fl_Cocoa_Gl_Window_Driver::alpha_mask_for_string().
Tue Aug 28 07:42:52 2018 Manolo Gouy 13030 8df4a051ef
Fix typo.
Mon Aug 27 11:06:51 2018 Matthias Melcher 13029 40add7bc5f
MacOS X: Fixed Fluid CMake to use the included Info.plist instead of the CMake template. This will teach Fluid to accept .fl and .fld files again.
Mon Aug 27 09:26:49 2018 Matthias Melcher 13028 982b21bd58
Fixed indenting and some wording in previous changes to Fluid
Sat Aug 25 15:38:25 2018 Matthias Melcher 13027 1156e8b305
Beautified some of the code. Removed size calculation error.
Sat Aug 25 15:17:16 2018 Matthias Melcher 13026 011e5c498a
Added new functionality to Fluid: the 'binary data' type can now include text files as well as binary files into the source code. There is an additional check box in the dialog. Terminology is now "inlined data" instead of "binary data". Texts were modified to reflect the changes.
Thu Aug 23 14:14:56 2018 Manolo Gouy 13025 8de0a3c445
Remove the need to call fl_open_display() before using Fl::screen_scale(int, float).
Tue Aug 21 09:26:01 2018 Manolo Gouy 13024 ec88e4a7c0
Show also how to create the OpenGL3 GLUT window fullscreen.
Tue Aug 21 07:45:32 2018 Manolo Gouy 13023 153b175d90
Better doc for using OpenGL version 3.
Mon Aug 20 15:56:39 2018 Manolo Gouy 13022 a3529e7c3f
Improved documentation related to access to OpenGL 3 under X11 platform.
Mon Aug 20 15:12:10 2018 Manolo Gouy 13021 c0e04da27f
Fix creation of OpenGL3+ context under X11 platform
    The procedure given in
    is now followed. This gives access to contexts for the highest OpenGL version supported by the hardware
    when flag FL_OPENGL3 is used in the call to Fl_Gl_Window::mode(int).
Mon Aug 20 12:31:59 2018 Matthias Melcher 13020 b26ace4b18
Added comment to Fl_Help_Dialog so users will know to link with fltk_images.
Sun Aug 19 15:23:41 2018 Albrecht Schlosser 13019 0762f06886
A test commit. Please revert.
Tue Aug 14 15:53:39 2018 Albrecht Schlosser 13018 02de79e6fa
Update FLTK 1.4.0 release year.
Fri Aug 10 23:49:43 2018 Albrecht Schlosser 13017 6b3db108ac
Remove file with Windows crlf line endings from .gitattributes.
    This is preliminary. These files will probably be added again after
    the real migration to Git. Needs more investigation.
Fri Aug 10 15:44:39 2018 Manolo Gouy 13014 1b25d1d3a0
Support recent MS Office apps that use \r\n as end of line in pasteboard.
    FLTK now transforms that into \n as is expected under MacOS.
    Older MS Office apps used \r as old MacOS software.
Thu Aug 9 11:51:38 2018 Manolo Gouy 13013 a9e2a78bb0
Improve the documentation of scaling factor-related operations.
Thu Aug 9 11:25:56 2018 Manolo Gouy 13012 1dd21622f5
Fix typo in Doxygen doc
Wed Aug 8 20:08:10 2018 Manolo Gouy 13011 cd399d9898
Support for GUI scaling: add API to get/set the scaling factor value.
    Also, define an FLTK event triggered when the scaling is changed and an option
    to disable the transient window showing the new scaling factor.
Tue Aug 7 09:01:32 2018 Albrecht Schlosser 13010 fb0f940c51
Update doxygen files to fix broken PDF generation.
    Note: PDF generation "worked" with the previous configuration up to
    doxygen 1.8.6 on my "old" Ubuntu 14.04 system but did no longer work
    with doxygen 1.8.7 - 1.8.13 (the latter on Ubuntu 18.04).
    Tests showed that 1.8.14 is seriously broken and git:master (aka 1.8.15,
    but not yet released as of today) is not usable as well. Hopefully there
    will be some doxygen fixes in the future.
Tue Aug 7 07:24:36 2018 Manolo Gouy 13009 72cc8b9b23
Fix for STR #3483: support for tiled images when the display is rescaled.
Mon Aug 6 18:04:46 2018 Greg Ercolano 13008 205570d134
Fl_Tree documentation fixes for html/pdf, doxygen 1.8.5
Mon Aug 6 16:51:02 2018 Albrecht Schlosser 13007 339ba4c8b3
Fix crash when a program exits before it opens a window (STR #3484).
    This crash and the fix are Windows specific.
Mon Aug 6 15:17:39 2018 Albrecht Schlosser 13006 6d276aed27
Add missing FL_EXPORT statements.
    This fixes a regression causing 'fluid-shared' build to fail (only if
    configured with --enable-shared, obviously).
Sat Aug 4 16:42:32 2018 Manolo Gouy 13005 a4194a40ab
Have the Doxygen doc of fl_draw_pixmap() show the default value of the last argument.
Fri Aug 3 18:54:08 2018 Manolo Gouy 13004 61e53a8cd4
Fix regression seen with test/input under X11: the cursor becomes a grey square instead of FL_CURSOR_NONE
Fri Aug 3 18:20:37 2018 Manolo Gouy 13003 643bb3bbbb
Remove private member variable Fl_X11_Window_Driver::current_cursor_ that's no longer used.
Fri Aug 3 09:18:07 2018 Albrecht Schlosser 13001 c37ea8b6ca
Fix line endings and other (svn) properties of
    Remove executable property.
    Set line ending to LF.
Thu Aug 2 20:42:28 2018 Manolo Gouy 13000 7ea50c2018
Move Fl_Window::shape() from file Fl_Window_Driver.cxx to Fl_Window.cxx
    Consequently, the Doxygen documentation of Fl_Window::shape() will reappear.
Tue Jul 31 10:05:54 2018 Albrecht Schlosser 12999 82e26c661c
Update GitLab CI configuration (comments only).
    Document where the HTML documentation will be installed.
Tue Jul 31 08:52:23 2018 Albrecht Schlosser 12998 d26b29a8f1
Update gitlab CI configuration (comments only).
Sat Jul 28 09:16:12 2018 Albrecht Schlosser 12995 cdb7a68b8f
Add git attributes file.
Sat Jul 28 09:11:28 2018 Albrecht Schlosser 12994 29981da5ca
Remove no longer needed file from .gitignore
Fri Jul 27 09:05:12 2018 Albrecht Schlosser 12993 bf19362179
Add missing Fl_Cairo_Window constructors (STR #3160).
Fri Jul 20 05:21:14 2018 Greg Ercolano 12992 1f5588c3dd
Added fallthru indication in Fl_Button::handle()
Tue Jul 10 10:51:02 2018 Manolo Gouy 12991 99cf1dd858
Make Fl_Graphics_Driver::newMainGraphicsDriver() public rather than private.
    An FLTK app may be interested in calling it.
Mon Jul 2 15:21:57 2018 Manolo Gouy 12990 305e5dd21e
Try dummy commit
Sun Jul 1 10:45:47 2018 Albrecht Schlosser 12989 0ecb83b298
Update bundled nanosvg lib to latest upstream version.
    $ git log -2 master
    commit 06c1f0f3bb041d69a73bb74067d063a700215b0e
    Merge: 1f17a7e d6eabf2
    Author: Mikko Mononen <>
    Date:   Sat Apr 14 06:50:42 2018 +0300
        Merge pull request #116 from porglezomp-misc/master
        Parse <svg> percentage width for automatic sizing
    commit d6eabf29c9c10038924e823e693dddef281abee5
    Author: Caleb Jones <>
    Date:   Fri Apr 13 19:57:06 2018 -0400
        Parse <svg> percentage width for automatic sizing
        Instead of calculating percentage coordinates relative to 1px, we calculate them
        relative to 0px width, that way an explicit <svg width="100%"> will be converted
        to <svg width="0px"> and trigger the bounding-box sizing calculation.
Sat Jun 30 05:57:21 2018 Manolo Gouy 12988 7483651aaa
Avoid giving same name (s) to 2 variables.
Wed Jun 27 20:44:46 2018 Albrecht Schlosser 12987 d490abdce3
Update dependencies.
Wed Jun 27 20:44:21 2018 Albrecht Schlosser 12986 76d5ed4f4b
Update Makefile + ignored files.
Wed Jun 27 14:44:42 2018 Manolo Gouy 12985 8328349135
Set correct file properties.
Wed Jun 27 14:43:17 2018 Manolo Gouy 12984 e0cfcc5dda
Add proper FLTK header and footer to this new source file.
Wed Jun 27 12:26:49 2018 Manolo Gouy 12983 8473a71e48
Remove a few useless 'friend' statements.
Wed Jun 27 12:00:40 2018 Manolo Gouy 12982 87d186d68c
Remove useless 'friend' statements from declaration of class Fl_Image_Surface
Wed Jun 27 11:09:13 2018 Manolo Gouy 12981 73613f8c2f
Use #include <FL/platform_types.h> to define type Fl_Offscreen
Wed Jun 27 09:27:04 2018 Manolo Gouy 12980 51389ca460
Add examples/SVG_File_Surface.cxx and refer to it in the doc of class Fl_Surface_Device
    This example code shows how to subclass Fl_Surface_Device and Fl_Graphics_Driver to
    endow FLTK with a new kind of graphics output.
Tue Jun 26 14:38:25 2018 Manolo Gouy 12979 f6a7602cfc
Moving headers Fl_XXX_Driver.H from FL/ to src/ --- continued
Tue Jun 26 14:26:33 2018 Manolo Gouy 12978 0272bcf5a7
Move Fl_Gl_Window_Driver.H from FL/ to src/ --- continued
Tue Jun 26 14:23:51 2018 Manolo Gouy 12977 3199e3331b
Move Fl_Gl_Window_Driver.H from FL/ to src/
Tue Jun 26 14:12:43 2018 Manolo Gouy 12976 7046e99f96
Move Fl_System_Driver.H from FL/ to src/
Tue Jun 26 14:04:09 2018 Manolo Gouy 12975 26cb08badb
Move Fl_Screen_Driver.H from FL/ to src/
Tue Jun 26 13:43:18 2018 Manolo Gouy 12974 7ebe8e21b0
Move Fl_Window_Driver.H from FL/ to src/
Tue Jun 26 09:34:50 2018 Albrecht Schlosser 12973 17b6e87bb7
Fix dependencies.
    This dependency issue affects only the autotools (configure/make) build
    and shows that (IMHO) CMake is superior, at least for the way FLTK's
    build is configured currently.
    Todo: get rid of pre-configured makedepend files and hand-edited
    dependencies in Makefile's. The latter is *really* important in our
    new "driver model" build environment because there is not only one
    possible dependency whatever build options we select...
Tue Jun 26 07:38:54 2018 Manolo Gouy 12972 82c7a1baa7
Move Fl_Sys_Menu_Bar_Driver.H from FL/ to src/
Mon Jun 25 10:22:17 2018 Manolo Gouy 12971 ca4601031c
Give private member variable _panel of class Fl_Quartz_Native_File_Chooser_Driver its true type, NSSavePanel*.
Sat Jun 23 20:50:22 2018 Matthias Melcher 12970 b8e97d7c28
Doxygen only: fixed all block comments starting with an asterisk to space-only, fixed doxygen keywords prepended with @ to use a backward slash instead. No code was changed.
Sat Jun 23 17:04:18 2018 Matthias Melcher 12969 b1598dc703
Removed macro FL_PORTING, as it has been more confusing than helpful.
    The original intention of FL_PORTING was to mark all places in the
    source code where changes are required to port FLTK to a new platform.
    Thanks to the driver system, this approach has become somewhat
    misleading, so I removed all references.
Sat Jun 23 16:47:40 2018 Matthias Melcher 12968 a9fd08ff5a
Doxygen: created Group to document drivers, disabled by default
    Uncomment `ENABLED_SECTIONS += DriverDev` in documentation/
    to enable driver documentation.
Sat Jun 23 10:46:28 2018 Matthias Melcher 12967 8c993648db
Android: Android Developer Documentation would work but needs some changes in Doxyfile:
    - if develoer doc is wantedn, add 'ENABLED_SECTIONS       = AndroidDev'
    - currently, Doxyfile enables everything related to drivers, so remove
      'EXCLUDE  = /Users/matt/dev/fltk-1.4.svn/src/driversxx/'
    With this, we get a sparsely filled module named 'Android Developer Documentation'
    and a lot of other driver related classes, which could also be encapsulated
    in doxygen '@if DriverDev'.
Sat Jun 23 10:18:58 2018 Matthias Melcher 12966 8923162f13
Android: added a few more Doxygen comments
Sat Jun 23 10:06:04 2018 Matthias Melcher 12965 f827a9eaf3
Android: fixed fl_beep to plat different sound for differen beep types, testing Doxygen to generate driver developer documentation
Fri Jun 22 16:31:30 2018 Albrecht Schlosser 12964 1690585b49
Activate GitLab CI and GitLab Pages (HTML docs).
    The GitLab CI control file enables continuous builds after every commit
    and generates the (doxygen) HTML documentation.
    The documentation is put online on GitLab pages at:
Fri Jun 22 08:35:05 2018 Albrecht Schlosser 12963 aafcaaef7d
Remove unnecessary inclusion of config_lib.h
Fri Jun 22 08:20:54 2018 Albrecht Schlosser 12962 448e4a00c2
Update bundled libraries docs (typos, errors).
Thu Jun 21 22:24:40 2018 Matthias Melcher 12961 7e8687f8c8
Android: listed all remianing issues with all test programs
Thu Jun 21 18:14:13 2018 Matthias Melcher 12960 7617a46b26
Android: roughly fixed Fl::grab() to make menus easier to navigate
Thu Jun 21 17:24:21 2018 Matthias Melcher 12959 448cf77855
Android: on-screen keyboard no longer pops up on text output widgets
Thu Jun 21 17:02:47 2018 Matthias Melcher 12958 333e718ae7
Android: Windows are now centered on screen if no position is defined, dialogs pop up in a more logical position.
Thu Jun 21 13:31:38 2018 Matthias Melcher 12957 22c21fa840
Android: Lazy scroll is working. AT some point we should implement fast scrolling
Thu Jun 21 12:45:24 2018 Matthias Melcher 12956 230ac73ce1
Android: More tests, must implement scrolling next
Thu Jun 21 12:36:02 2018 Matthias Melcher 12955 4ba6b96471
Android: Teaching FLTK to beep. test/button works.
Thu Jun 21 11:54:32 2018 Matthias Melcher 12954 a119928455
Android: Implemented window positioning and sizing
Thu Jun 21 11:17:07 2018 Matthias Melcher 12953 7911ae4279
Android: Updated to current Android Studio and NDK, fixed STL to use Google provided ANdroid STL.
Wed Jun 20 16:50:46 2018 Albrecht Schlosser 12952 63a48a399a
Remove obsolete #include statement (finally)
Wed Jun 20 15:52:58 2018 Albrecht Schlosser 12951 ec0ac46aa8
Move platform specific shortcut code to platform drivers.
    Tested on Windows and Linux (not tested on MacOS/Android).
Wed Jun 20 09:41:52 2018 Albrecht Schlosser 12950 0a6ebfea9d
Update for Git mirrors.
Tue Jun 19 16:29:20 2018 Matthias Melcher 12949 e1bf7b9202
Android: Clearing the desktop when a window is hidden.
Tue Jun 19 10:33:41 2018 Albrecht Schlosser 12948 ba58edb33c
Add missing winsock dll to variables.cmake (fixes fltk-config).
Tue Jun 19 09:30:37 2018 Albrecht Schlosser 12947 e34c06ffc9
Windows: Disable dynamic linking/loading of winsock dll.
    This *preliminary* commit disables dynamic linking/loading of winsock
    (ws2_32.dll) and links it statically to fluid and all FLTK test
    programs. This is done by conditional code (#if 0) that disables the
    old code and #defines some macros. This *must* be removed and replaced
    with the original socket interface once the code has proved to work as
    Note: example programs in the examples/ folder are not yet modified.
    Todo: check and fix examples/Makefile if necessary.
Mon Jun 18 22:49:04 2018 Ian MacArthur 12946 9e212ec6f9
Recent (circa early 2018) versions of the Mingw32 headers have changed the file header layout, breaking the build of fltk-1.4 for some users.
    These changes should give a working build once more - more complete rework is still needed to fully address the issues raised.
Mon Jun 18 12:48:34 2018 Manolo Gouy 12945 5e45b7d4fe
Better handling of very small input file when reading SVG image file.
Mon Jun 18 09:43:59 2018 Albrecht Schlosser 12944 35f5b97aa4
Add for GitHub and GitLab git repositories.
Fri Jun 15 07:42:17 2018 Manolo Gouy 12943 32b35e62d2
Turn static function Fl_Graphics_Driver * Fl_Graphics_Driver::newMainGraphicsDriver() private.
Fri Jun 15 06:19:56 2018 Manolo Gouy 12942 34990a9d30
Avoid repetitive calls to Fl_Screen_Driver::screen_count()
Thu Jun 14 09:26:42 2018 Manolo Gouy 12941 793a66ace5
Repair regression appeared after r.12939 for MSWindows before 8.1
Fri Jun 8 12:17:00 2018 Manolo Gouy 12940 39e2952e83
Complete construction of Fl_Image_Surface_Driver with Fl_Offscreen brought by the caller.
Fri Jun 8 11:31:30 2018 Manolo Gouy 12939 bfac49015c
Fix for STR#3475: X11 platform, re-use current screen scaling factor when processing a screen reconfiguration event.
Wed May 30 20:20:47 2018 Manolo Gouy 12938 f3971319b9
MacOS: have Fl_OpenGL_Display_Device::capture_gl_rectangle() capture also the overlay of GL windows.
Fri May 25 06:54:03 2018 Manolo Gouy 12937 8ef4035b6d
Replace Fl_Paged_Device::newPrinterDriver() by Fl_Printer::newPrinterDriver().
Fri May 25 04:36:49 2018 Manolo Gouy 12936 bbd5514691
Rewrite static function Fl_Image_Surface::rescale(Fl_Image_Surface*&) as member function Fl_Image_Surface::rescale().
Thu May 24 19:48:41 2018 Greg Ercolano 12935 b721f519ac
Added separate diagram for fl_arc(x,y,r,a1,a2) (very different from fl_arc(x,y,w,h,a1,a2))
Thu May 24 18:02:55 2018 Greg Ercolano 12934 2694217d76
Extra refs for fl_pie/fl_arc diagrams..
Thu May 24 17:30:49 2018 Greg Ercolano 12933 a4ff075c29
Added a diagram to clarify how fl_pie() and fl_arc() works.
Thu May 24 13:08:55 2018 Manolo Gouy 12932 b558eaac17
Document the constructor and destructor of class Fl_Copy_Surface.
Thu May 24 11:21:27 2018 Manolo Gouy 12931 8a4f6905a5
Slightly improve the doc of Fl::reset_marked_text().
Thu May 24 10:58:47 2018 Manolo Gouy 12930 c886fe9c33
Add documentation for Fl::reset_marked_text() and Fl::insertion_point_location().
Wed May 23 16:43:43 2018 Manolo Gouy 12929 af3625eb20
MacOS: use direct access to member variable in member function.
Wed May 23 16:42:43 2018 Manolo Gouy 12928 f90450ad05
Make static member function Fl_Window_Driver* Fl_Window_Driver::driver(const Fl_Window *) inline.
Wed May 23 16:19:37 2018 Manolo Gouy 12927 2576f57384
MacOS: account for GUI rescaling in support of text input methods.
Tue May 22 17:00:27 2018 Manolo Gouy 12926 ce71c4b679
Add Fl::screen_scale(int) function to get the scaling factor value of a screen.
    This allows to keep class Fl_Screen_Driver away from the public API.
Tue May 22 09:34:13 2018 Albrecht Schlosser 12925 4c65d976e4
Fl_Tabs: fix allocation of tab_width[] (STR #3472).
Tue May 22 08:39:39 2018 Manolo Gouy 12924 396e4f41cf
Check also proper RGB image deletion after use.
Thu May 17 14:27:41 2018 Manolo Gouy 12923 7ab8906ef0
Improve Fl_Screen_Driver::traverse_to_gl_subwindows() so it can be called for a window that is not current.
Mon May 14 14:58:21 2018 Manolo Gouy 12922 509c5be0d5
Remove useless #include directives.
Mon May 14 14:52:23 2018 Manolo Gouy 12921 680cb7dba9
Comments only: update the header part of the file
Sun May 13 07:42:44 2018 Manolo Gouy 12920 a4927c1d13
Fl_Scalable_Graphics_Driver::rect(): don't draw a rectangle if w or h is negative
Sat May 12 17:03:26 2018 Manolo Gouy 12919 10640df785
MacOS: move some code from file to file Fl_Darwin_System_Driver.cxx - continued
Sat May 12 17:01:33 2018 Manolo Gouy 12918 aba87e8bb0
MacOS: move some code from file to file Fl_Darwin_System_Driver.cxx
Sat May 12 16:59:03 2018 Manolo Gouy 12917 4c45bec127
MacOS: move some code from file to file Fl_Cocoa_Window_Driver.cxx
Sat May 12 16:44:31 2018 Manolo Gouy 12916 6fd216d759
MacOS: move timer-related code from file to file Fl_Cocoa_Screen_Driver.cxx
Sat May 12 09:36:36 2018 Manolo Gouy 12915 8b7f7c78b2
Remove public member function Fl_Window_Driver *Fl_Window::driver() so class Fl_Window_Driver is not in FLTK public API.
    This function is replaced by static Fl_Window_Driver* Fl_Window_Driver::(const Fl_Window *win).
    The purpose is to have class Fl_Window_Driver outside from FLTK ABI.
Fri May 11 06:37:50 2018 Manolo Gouy 12914 5e785121e0
Mention new member functions Fl_Paged_Device::begin_job() and begin_page().
Fri May 11 06:25:35 2018 Manolo Gouy 12913 1d8edbead1
Fix typo.
Thu May 10 09:55:29 2018 Manolo Gouy 12912 bf04697a05
Comments only: describe the Inheritance diagram for classes Fl_Surface_Device and Fl_Graphics_Driver
Wed May 9 15:22:26 2018 Manolo Gouy 12911 a0d7addea8
Fix fl_overlay_rect() for MacOS platform when GUI is scaled.
Wed May 9 14:16:35 2018 Manolo Gouy 12910 2b7aac129b
Rename Fl_Paged_Device::start_job() to begin_job() and Fl_Paged_Device::start_page() to begin_page().
    The new function names begin_job() and begin_page() better match end_job() and end_page() with which
    they must be used by pair.
    The old names start_job() and start_page() are maintained for API compatibility with FLTK 1.3.x
Wed May 9 12:27:38 2018 Manolo Gouy 12909 8081899934
Remove a bunch of useless #include <FL/Fl_Printer.H> statements.
Mon May 7 21:24:06 2018 Greg Ercolano 12908 28807a3fab
Added convenience method update_menubutton(),
    which tries to keep the menu synchronized with the Fl_Input field,
    assuming there's a match.
Mon May 7 13:43:28 2018 Manolo Gouy 12907 4ede9cec29
New Fl_Image_Surface::rescale() class function and document equivalence between Fl_Offscreen-based and Fl_Image_Surface-based approaches.
Mon May 7 10:24:19 2018 Manolo Gouy 12906 d2355dd53b
Documentation: in the programming manual, mention new class Fl_SVG_Image and member function Fl_Image::scale()?
Sun May 6 15:59:08 2018 Manolo Gouy 12905 c6109d9a18
Deprecate Fl_Image_Surface::highres_image() because Fl_Image_Surface::image() is enough now images are scalable.
Sun May 6 15:03:04 2018 Manolo Gouy 12904 41eb376060
Make member function Fl_Image_Surface::get_offscreen_before_delete() be private.
Sun May 6 10:20:45 2018 Manolo Gouy 12903 ccae86b291
Remove useless #include <FL/Fl_Shared_Image.H> following usage of the new Fl_Image::scale() member function.
Sun May 6 07:14:13 2018 Manolo Gouy 12902 5c16dcb65b
Simplify Fl_XXX_Window_Driver::capture_titlebar_and_borders() using Fl_Image::scale().
Sun May 6 06:46:40 2018 Manolo Gouy 12901 aab1b72af4
Improve fl_overlay_rect() when GUI is scaled.
Sat May 5 17:35:09 2018 Manolo Gouy 12900 e6929834c7
Fix Fl_Screen_Driver::traverse_to_gl_subwindows() to support Fl_Widget_Surface::print_window_part().
Sat May 5 10:59:27 2018 Manolo Gouy 12899 13b328e75a
Improve Fl_Screen_Driver::traverse_to_gl_subwindows(), still needs to be completed.
Sat May 5 10:22:55 2018 Manolo Gouy 12898 eee5c5800c
Fix Fl_X11_Screen_Driver::read_win_rectangle() when GUI is scaled.
Sat May 5 08:30:34 2018 Manolo Gouy 12897 c68328c2bf
Add checks for NULL pointer, just in case.
Fri May 4 16:06:08 2018 Manolo Gouy 12896 733b4de91d
Simplify Fl_Gl_Device_Plugin::print() using the Fl_Image::scale() member function.
Fri May 4 15:44:23 2018 Manolo Gouy 12895 a8054a719f
Documentation: improve doc of Fl_Widget_Surface::print_window_part() and Fl_Widget_Surface::printable_rect().
Fri May 4 15:11:47 2018 Manolo Gouy 12894 20ccb6b7f2
Shorten the list of virtual member functions used to support Fl_Widget_Surface derived classes.
    Change Fl_Cocoa_Screen_Driver::read_win_rectangle() so it captures only
    from the current window and ignores its subwindows, as do other Fl_Screen_Driver derived classes.
    Remove Fl_Cocoa_Printer_Driver::print_window_part() that is no longer necessary.
    Remove Fl_Printer::print_widget() and Fl_Printer::print_window_part() that
    are no longer necessary.
    Stop Fl_Widget_Surface::print_window_part() from being virtual because its platform-independent
    implementation should suffice.
Fri May 4 08:25:45 2018 Manolo Gouy 12893 d4eeb75ac6
MacOS: improve fl_overlay_rect() when GUI scale factor = 1.7
Thu May 3 08:39:16 2018 Manolo Gouy 12892 7ef645a91f
Simplify fl_overlay_rect() using the Fl_Image::scale() member function.
Thu May 3 08:37:58 2018 Manolo Gouy 12891 bd4679f8d4
Fix fl_overlay_rect() under X11 and Windows when GUI is scaled.
Wed May 2 10:39:34 2018 Manolo Gouy 12890 5da16bbd36
Simplify Fl_Widget_Surface::print_window_part() using the new Fl_Image::scale() member function.
Tue May 1 17:09:15 2018 Manolo Gouy 12889 b73ff860cc
Make virtual void Fl_Surface_Device::end_current_() have no argument because none is used.
Tue May 1 11:08:38 2018 Albrecht Schlosser 12888 e70733b46f
fluid: update copyright year.
    This is particularly useful for fluid/about_panel.{fl,cxx,h}.
Tue May 1 10:58:16 2018 Albrecht Schlosser 12887 2e9ba0a10e
Update fluid (.fl) files.
    src/Fl_Help_Dialog.fl: Add one missing declaration.
    Other files: update (fluid -u) and update source (fluid -c).
Tue May 1 09:37:03 2018 Albrecht Schlosser 12886 da68d85935
Add missing function fl_define_FL_ICON_LABEL() (STR #3468).
Mon Apr 30 09:25:52 2018 Manolo Gouy 12885 599909135b
Extend documentation of fl_begin_offscreen()
Mon Apr 30 08:36:52 2018 Albrecht Schlosser 12884 4ad52ebaf7
Fix indentation.
Sun Apr 29 19:04:24 2018 Manolo Gouy 12883 3d70c8c90f
Fl_WinAPI_System_Driver::paste() : fix handling of clipboard containing top-down DIB image.
Sun Apr 29 17:28:57 2018 Manolo Gouy 12882 41b0245163
Fl_WinAPI_System_Driver::paste() : fix indentation only.
Sun Apr 29 17:25:33 2018 Manolo Gouy 12881 6cdfd92247
Pasting image from clipboard: partial support of top-down DIB image (still needs completion)
Sun Apr 29 16:29:13 2018 Manolo Gouy 12880 09f15fcac0
Slightly simplify examples/clipboard.cxx using Fl_Image::scale().
Sun Apr 29 11:02:34 2018 Manolo Gouy 12878 7dba27a404
Fix Fl_WinAPI_System_Driver::paste() when clipboard contains GIF image
Sun Apr 29 07:35:06 2018 Manolo Gouy 12877 ba4559701f
Fix Fl_WinAPI_System_Driver::paste() when the clipboard contains an image as a DIB and for GUI scale support.
Fri Apr 27 16:50:27 2018 Manolo Gouy 12876 929efec855
Expand the doc of class Fl_Graphics_Driver.
Thu Apr 26 12:11:26 2018 Manolo Gouy 12875 cd3d1f9dd5
Documentation: complete doc of Fl_Image_Surface::offscreen()
Thu Apr 26 12:00:49 2018 Manolo Gouy 12874 9c389d34f9
Simplify API for Fl_Image_Surface::Fl_Image_Surface(int w, int h, int high_res, Fl_Offscreen off) with non-null offscreen.
    The caller no longer needs to call Fl_Image_Surface::get_offscreen_before_delete() before object deletion,
    because the object destructor knows the offscreen has not been created by the Fl_Image_Surface constructor.
Thu Apr 26 11:51:28 2018 Manolo Gouy 12873 dd93cbd888
Fix Fl_WinAPI_System_Driver::paste() when clipboard contains an image and the GUI is scaled.
Thu Apr 26 09:05:20 2018 Manolo Gouy 12872 069ab1b54f
Fix Fl_GDI_Graphics_Driver::copy_offscreen() when the destination surface is an Fl_Copy_Surface object.
Wed Apr 25 16:03:27 2018 Manolo Gouy 12871 3ec2f96877
class Fl_Xlib_Image_Surface_Driver : Remove unused member variable.
Wed Apr 25 15:52:53 2018 Manolo Gouy 12870 527df2dc7f
Have Fl_WinAPI_Window_Driver::capture_titlebar_and_borders() restore the window's device context before return
Wed Apr 25 11:19:44 2018 Manolo Gouy 12869 e59a06f753
Windows: fix fl_copy_offscreen() when input offscreen is scaled and output surface is printer.
Tue Apr 24 10:45:30 2018 Manolo Gouy 12868 c82fca51fa
Windows: avoid changing the current Fl_Surface_Device when drawing an Fl_Double_Window.
    This change was previously attempted at r.12792 but the test/offscreen demo did not run well with it.
    This commit fixes the problem: the global fl_window should not be changed when drawing to
    an Fl_Double_Window.
Mon Apr 23 16:04:09 2018 Manolo Gouy 12867 ece56437a6
Undo change at r12792 (24 march 2018) because test/offscreen does not work with it.
Sat Apr 21 06:22:27 2018 Manolo Gouy 12866 50c3568aff
Complete Fl_Android_Graphics_Driver::cache() functions that should assign the image's cache_w_ and cache_h_ member variables.
Fri Apr 20 12:37:08 2018 Manolo Gouy 12865 de4026aeca
Fix Fl_GDI_Graphics_Driver::cache(Fl_Pixmap *) where 2 distinct Fl_GDI_Graphics_Driver objects should be used in the right way.
Fri Apr 20 09:04:24 2018 Manolo Gouy 12863 7e234e3abc
Remove debugging statement
Fri Apr 20 08:46:49 2018 Manolo Gouy 12862 de762fca2b
Fix direct use of fl_draw_pixmap() whithout Fl_Pixmap object.
Thu Apr 19 13:51:17 2018 Manolo Gouy 12860 bd9a57be29
Fix background color when drawing pixmap data both directly or as an Fl_Pixmap object.
Thu Apr 19 13:14:37 2018 Manolo Gouy 12859 374ea9e9eb
Fix handling of bg argument of fl_draw_pixmap(char**, int , int , Fl_Color bg) during direct drawing of pixmap image data.
Thu Apr 19 10:39:46 2018 Manolo Gouy 12858 54b697cd49
Reorganise access to the value of the GUI scaling factor with public getter and protected, virtual setter member functions.
Thu Apr 19 08:43:19 2018 Manolo Gouy 12857 d375918a5e
Documentation: place Doxygen doc next to function implementation
Thu Apr 19 08:29:33 2018 Manolo Gouy 12856 eb3664edf1
Documentation: add doc for Fl_Graphics_Driver::cache_size()
Thu Apr 19 07:46:44 2018 Manolo Gouy 12855 0196998ea6
Documentation: simplify example code for Fl_Image::scale()
Thu Apr 19 07:20:01 2018 Albrecht Schlosser 12854 5bba4776ae
Fix documentation formatting.
    Move image out of 'note'.
Wed Apr 18 18:28:46 2018 Greg Ercolano 12853 8c32c708a9
Clarified the fl_choice ordering in first example with an image and arrows,
    as it's not clear in the text how the code order is reversed on-screen.
    Also, the whole 'three musketeers' thing with the case values not matching
    the numeric button names has always been confusing:
         case 0: .. // One
         case 1: .. // Two (default)
         case 2: .. // Three
    Changed that so it's a Zero/One/Two example instead.
         case 0: .. // "Zero"
         case 1: .. // "One" (default)
         case 2: .. // "Two"
Wed Apr 18 15:36:45 2018 Manolo Gouy 12852 71d23d5574
Add comments: "Implementation note about how Fl_Pixmap objects get printed under Windows"
Wed Apr 18 15:03:51 2018 Manolo Gouy 12851 15e3f4b2d2
Simplify the implementation of printing of Fl_Pixmap images under Windows.
Wed Apr 18 14:41:54 2018 Manolo Gouy 12850 231e0edff6
Fix crash in test/device after scale-GUI + Fl_Printer + Fl_Image_Surface
Wed Apr 18 13:20:15 2018 Albrecht Schlosser 12849 c79f82edd1
Fix Fl_Text_Editor overstrike mode (STR #3463).
Wed Apr 18 09:52:00 2018 Greg Ercolano 12847 6ada360174
Docs for fl_choice() clarify argument order, added missing image for one of the examples.
Tue Apr 17 06:53:28 2018 Manolo Gouy 12846 2bae646a3c
Only fix correct indenting of function fl_convert_pixmap()
Mon Apr 16 13:21:54 2018 Manolo Gouy 12845 c5ab11bbec
Comments only: extend "Implementation note about image drawing" to describe the mask_bitmap virtual member function.
Mon Apr 16 13:06:31 2018 Matthias Melcher 12844 447e33c607
Getting rid of warning in Xcode 9.3
Mon Apr 16 13:00:29 2018 Manolo Gouy 12843 26aabc91e1
Remove virtual member Fl_GraphicsDriver::mask_bitmap(char **) and its re-implementations.
Mon Apr 16 10:43:28 2018 Manolo Gouy 12842 9b01ff63e7
Remove Fl_PostScript_Graphics_Driver::mask_bitmap(char **) that is useless.
Mon Apr 16 08:03:16 2018 Manolo Gouy 12841 e85fd31f54
Comments only: complete "Implementation note about image drawing" about how to destroy cached images.
Mon Apr 16 07:59:49 2018 Manolo Gouy 12840 a70846730b
Add Fl_Android_Graphics_Driver::delete_bitmask() needed to uncache a cached Fl_Bitmap image.
Mon Apr 16 07:56:52 2018 Manolo Gouy 12839 f089bd6445
Remove useless re-implementation of this virtual member function.
Sun Apr 15 06:44:50 2018 Manolo Gouy 12838 ecc1f90506
Comments only: extend the description of how Fl_Graphics_Driver derived classes support image classes.
Sun Apr 15 05:53:01 2018 Manolo Gouy 12837 dbc37a29c0
Restore building for X11 with HAVE_XRENDER = 0
Sat Apr 14 15:26:42 2018 Manolo Gouy 12836 25d39c1b57
Remove useless 'friend' statements from class Fl_Graphics_Driver
Sat Apr 14 15:10:59 2018 Manolo Gouy 12835 82e70fae04
Comments only: more extensive explanation of how virtual member functions of Fl_Graphics_Driver can support image drawing.
Sat Apr 14 13:37:47 2018 Manolo Gouy 12834 bfac5462be
Remove Fl_Pixmap::prepare() and Fl_Bitmap::prepare() that were used only once.
Fri Apr 13 13:22:15 2018 Manolo Gouy 12833 2abe8bd413
Homogenise and simplify the API of Fl_Graphics_Driver::cache(image-type *) virtual member functions.
Fri Apr 13 11:50:20 2018 Manolo Gouy 12832 e440b8859f
Simplify code for image drawing by PostScript graphics driver.
Thu Apr 12 19:56:34 2018 Albrecht Schlosser 12831 4a0c13ac34
Update 'examples' (test) documentation, add images.
    Add missing documentation of demo programs in the 'test' directory.
    Some images were added as well.
Thu Apr 12 15:51:50 2018 Manolo Gouy 12830 dcaf201239
SVG support: improve printed SVG images by increasing the resolution when printing.
Thu Apr 12 14:54:53 2018 Manolo Gouy 12829 178343b2ee
Image drawing: simplify the code organisation to better support Fl_Image::scale() - continued
    This completes changes introduced at r.12828.
Thu Apr 12 13:07:00 2018 Manolo Gouy 12828 16705ef734
Image drawing: simplify the code organisation to better support Fl_Image::scale().
    Graphics drivers now use up to 6 virtual member functions to support Fl_Image
    drawing in the context of GUI and image rescaling :
      virtual void draw_pixmap(Fl_Pixmap *pxm, int XP, int YP, int WP, int HP, int cx, int cy)
      virtual void draw_bitmap(Fl_Bitmap *bm, int XP, int YP, int WP, int HP, int cx, int cy)
      virtual void draw_rgb(Fl_RGB_Image *rgb, int XP, int YP, int WP, int HP, int cx, int cy)
      virtual void draw_fixed(Fl_Pixmap *pxm, int XP, int YP, int WP, int HP, int cx, int cy)
      virtual void draw_fixed(Fl_Bitmap *bm, int XP, int YP, int WP, int HP, int cx, int cy)
      virtual void draw_fixed(Fl_RGB_Image *rgb, int XP, int YP, int WP, int HP, int cx, int cy)
Thu Apr 12 12:58:10 2018 Albrecht Schlosser 12827 efc3ec1b7b
Remove unnecessary dependency on FL/Fl_Rect.H.
    Fl_Rect.H is no longer included by Fl_Group.H to avoid unnecessary
    dependencies on Fl_Rect.H. Currently it is only needed to access the
    array returned by the protected method bounds().
    Also clarified documentation.
Tue Apr 10 21:10:53 2018 Albrecht Schlosser 12826 5e98a9e292
Remove unused variable, update dependencies.
Tue Apr 10 18:41:34 2018 Albrecht Schlosser 12825 e71fc7e4c3
Document Fl_Rect::r() and b() to be outside the rectangle.
Tue Apr 10 18:37:18 2018 Greg Ercolano 12824 c7080e826e
General description: mention how to move items around
Thu Apr 5 21:05:08 2018 Manolo Gouy 12823 798823f7dc
X11: Fix drawing of sliders with gtk+ scheme and GUI scaling >= 2 -- continued
    Other places where line_delta_ is to be used.
Thu Apr 5 19:52:37 2018 Greg Ercolano 12822 bf0c9d4c6a
Added global Fl::visible_focus() checkbox.
    Also fixed tab navigation order of some widgets, and +/1 heights with a few checkboxes.
Thu Apr 5 12:23:07 2018 Manolo Gouy 12821 43000a228c
X11: Fix drawing of sliders with gtk+ scheme and GUI scaling >= 2 that left footprints when moved.
    The fix is to use the X11 graphics driver's line_delta_ private member variable also when drawing complex
    shapes with fl_begin_loop(). The gtk+ scheme does use fl_begin_loop() to draw its frames.
Mon Apr 2 18:28:42 2018 Greg Ercolano 12820 fe6499790a
Fixes STR #3459.
Sun Apr 1 16:16:12 2018 Matthias Melcher 12819 532099da23
Android: Drawing RGB and monochrome image data on the fly from a buffer. Untested.
Sun Apr 1 16:06:12 2018 Matthias Melcher 12818 f49267e85b
Android: Drawing RGB image data on the fly via callback
Sat Mar 31 21:29:33 2018 Matthias Melcher 12817 936fbd096f
Android: Drawing RGB image data (and probaly rgba and grayscale as well). Testing unsing test/color_chooser.cxx
Sat Mar 31 17:29:23 2018 Greg Ercolano 12816 e4916d617e
Added mention of the new Fl::menu_linespacing() in the Fl_Menu_ docs.
Sat Mar 31 17:17:37 2018 Greg Ercolano 12815 309d9a61b9
Added Fl::menu_linespacing() to solve STR# 2927.
    Method name follows Fl_Tree::linespacing().
    Implemented similarly to Fl::scrollbar_size(), since its use crosses Fl_Menu_Item and 'menuwindow' classes.
Fri Mar 30 10:11:24 2018 Albrecht Schlosser 12814 69584dda96
Minimal code edit, no functional change.
Thu Mar 29 15:09:32 2018 Albrecht Schlosser 12813 59af6563db
Refactor and simplify Fl_Group::resize().
    I renamed variables (more consistent names), fixed code formatting, and
    refactored the code around the resizing of widgets. I put common code
    before and after the conditional '#if 1' that separated old code from
    new "much simpler code from Francois Ostiguy" as a comment in the existing
    code mentioned. Then I deactivated the old code and activated the new
    "much simpler" code. Tested, works well.
Wed Mar 28 16:27:43 2018 Albrecht Schlosser 12812 ef0f00d357
Add more display scaling factors for testing.
    These scaling factors can be activated by defining the preprocessor
    macro TEST_SCALING.
    Note: this feature may be changed or removed in the future.
Wed Mar 28 13:00:12 2018 Manolo Gouy 12811 458d063643
Image classes: memorise the width and the height of the cached form of the image to support GUI scaling
Tue Mar 27 21:54:04 2018 Matthias Melcher 12810 29bda776bb
Android: Implemented Pixmap drawing, also much cleanup in Fl_Android_Graphics_Driver.
Tue Mar 27 15:31:26 2018 Matthias Melcher 12809 e52b55c09d
Android: Fl_Android_Graphics_Driver now derives from Fl_Graphics_Driver and no longer from the dpi-aware scaling version. I may add this level of complexity later, but for now, unscaled drivers are difficult enough. Also, the new setup lets me easily find unimplemented methods of the driver.
Mon Mar 26 21:39:02 2018 Matthias Melcher 12808 daca2a95cf
Android: New version of the IDE Android Studio 3.1 . All still working fine.
Mon Mar 26 21:28:18 2018 Matthias Melcher 12807 3b7e1a5ec6
Android: Draws Fl_Bitmap.
Mon Mar 26 16:17:00 2018 Manolo Gouy 12806 5040bbff1f
Fix for STR#3457: Fl_SVG_Image handling of invalid width/height
Mon Mar 26 15:42:08 2018 Matthias Melcher 12805 4df5c6d0b0
Android: Avoids hiding and showing keyboard when focus changes from text input to text input
Mon Mar 26 15:33:22 2018 Matthias Melcher 12804 e8818e968c
Android: Widgets can now request the on-screen keyboard when they get focus. This may fail if visible_focus is disabled.
Mon Mar 26 14:48:13 2018 Matthias Melcher 12803 20ed92fca4
Android: Keyboard handles modifiers like Shift and Alt... .
Mon Mar 26 08:20:17 2018 Manolo Gouy 12802 77cc7b147a
Documentation: give more detail for Fl_Image::w(int W) and Fl_Image::h(int H)
Sun Mar 25 22:27:21 2018 Matthias Melcher 12801 ca8f680000
Android: Added keycodes to make arrow keys, delete, return, and other non text-keys work. ALso added a Java helper class to make Java call easier. We may need more Java/JNI in the future.
Sun Mar 25 16:48:44 2018 Matthias Melcher 12800 eb09ab161a
Android: Separating keyboard stuff into a new file
Sun Mar 25 16:34:40 2018 Matthias Melcher 12799 832377fc21
Android: Improved event handling to handle all pending events before redrawing the interface.
Sun Mar 25 06:15:50 2018 Manolo Gouy 12798 0e765c6cd8
Documentation: explain how images are best handled in the context of GUI rescaling.
Sat Mar 24 21:36:55 2018 Matthias Melcher 12797 d7520d5a71
Android: Tried to fix flaws in the Android Native interface. Only
             solution I found involves Java, so, no.
Sat Mar 24 18:14:05 2018 Manolo Gouy 12796 d1fd225767
Remove GUI scale factor values above 300% which were here for development only.
    300% is also the max scaling value Firefox allows.
Sat Mar 24 17:21:36 2018 Matthias Melcher 12795 5f8cec6383
Android: Even rougherer cut to make the keyboard pop up.
Sat Mar 24 17:08:25 2018 Matthias Melcher 12794 fada3a8291
Android: Rough, verz rough kezboard handling.
Sat Mar 24 13:06:59 2018 Matthias Melcher 12793 79b31708de
Android: Made popup and menu windows work, fixed Fl::wait() recursion,
             fixed incompatible Fl::wait() behavior.
Sat Mar 24 08:08:32 2018 Manolo Gouy 12792 db55dfbbd6
Windows: avoid changing the current Fl_Surface_Device when drawing an Fl_Double_Window.
Fri Mar 23 23:11:35 2018 Matthias Melcher 12791 a3a5a3d924
Android: Using floating point calls to make thigs look slightly better.
Fri Mar 23 23:09:24 2018 Matthias Melcher 12790 5843a450bc
Android: Using xlib shortcut to draw circles and ellipses.
Fri Mar 23 23:01:13 2018 Matthias Melcher 12789 d695ccb2d2
Android: Further testing. Need circle drawing rountines.
Fri Mar 23 22:50:26 2018 Matthias Melcher 12788 aeafea2041
Android: Added fl_polygon and fl_loop calls. All boxtypes draw well now.
Fri Mar 23 21:41:36 2018 Matthias Melcher 12787 514782864e
Android: Posting well behaved pie drawing method. Needs refactoring.
Fri Mar 23 17:03:24 2018 Manolo Gouy 12786 b8a50851fd
Fix Fl_Image::copy() and its versions for derived image classes following the introduction of Fl_Image::scale()
Thu Mar 22 21:36:09 2018 Matthias Melcher 12785 bd5ec33148
Android: Posting pretty buggy pie method; must visit later!
Thu Mar 22 16:38:38 2018 Manolo Gouy 12784 9f9631e685
Rename Fl_Image::pixel_w() and pixel_h() to Fl_Image::data_w() and data_h().
    The docs of class Fl_Image and of Fl_Image::scale() are beefed up.
Thu Mar 22 15:27:02 2018 Matthias Melcher 12783 0b8116ff72
Android: Implemented vector drawing and polygons.
             Started to implement arc and pie drawing
Wed Mar 21 14:57:15 2018 Greg Ercolano 12782 3a20682764
Fixed title bar
Wed Mar 21 06:36:58 2018 Manolo Gouy 12781 d90a286bcd
X11: Remove tentative, uncompiled code to cache RGB images with Xrender Picture instead of Pixmap
    The speed benefit is not obvious.
Tue Mar 20 17:23:08 2018 Manolo Gouy 12780 aaf5c60aaa
Extend the doc of Fl_Image::scale() member function.
Tue Mar 20 16:30:58 2018 Albrecht Schlosser 12779 f3b0598ee4
Fix, optimize, and comment "gleam" scheme box drawing.
    Some border lines were too short or too long, the shading code would draw
    too many shaded lines, and the code was hard to understand.
    With this commit all background pixels of the box are drawn exactly once.
    The border lines are consistent, but some pixels of the border are not
    drawn at all so the background shines through. This is intended for
    backwards compatibility.
    A minor change is that the drawn background does no longer overlap the
    border lines. Hence undrawn pixels that previously displayed the colored
    box background are now transparent and show the parent's background color.
    This commit adds comments and implementation notes to make the code
    easier to understand and better maintainable (hopefully).
Tue Mar 20 12:57:51 2018 Manolo Gouy 12777 3b4c3e3295
Remove compilation warning with gcc-6.3 and -Wreorder
Mon Mar 19 17:43:18 2018 Manolo Gouy 12776 916b44e361
New member function Fl_Image::scale(int width, int height) to set the FLTK size of an image.
    Each image has now two sizes implemented as follows:
       - the pixel size is stored in private members pixel_w_ and pixel_h_
        with public accessors pixel_w() and pixel_h()
       - the FLTK size is stored in private members w_ and h_ and read by w() and h()
       - when the image is constructed, the two sizes have the same value
       - the protected w(int) and h(int) member functions set both FLTK and pixel sizes.
       - the public scale(int, int) member function is essentially nothing but
       set the FLTK size and don't change the pixel size.
       - when the image is drawn, its FLTK size determines how big it is drawn, its pixel
       size determines how much data are available to draw it.
    FLTK 1.3.4 with FL_ABI_VERSION=10304 contained an equivalent member function
    but only for the Fl_Shared_Image class.
Mon Mar 19 06:45:18 2018 Manolo Gouy 12775 c4f7c09b7b
Remove useless member function declaration.
Sun Mar 18 20:04:43 2018 Matthias Melcher 12774 c3573d16f3
Android: Implemented font changing ( Fl::set_font(ix, name); )
             and other font stuff. Fixed horizontal and vertical line
             drawing to include last pixel. Added stippling to focus rect.
             Added point drawing (slooow).
Sun Mar 18 15:25:08 2018 Albrecht Schlosser 12773 6dbe7ca8ed
Fix a doxygen warning, update copyright.
Sun Mar 18 14:58:25 2018 Matthias Melcher 12772 d252801a31
Android: Fixed another bug when deleting complex clipping areas
             Better complex region cleanup - should be compete now...
Sun Mar 18 13:44:37 2018 Matthias Melcher 12771 5900d824e9
Android: Fixed bug when deleting complex clipping areas
             Tested FLTK schemes - nice!
             Fixed crashbug in timer
             Fixed crashbug in mouse handler
Sat Mar 17 21:54:09 2018 Matthias Melcher 12770 7ff40388cb
Android: intersetcing a complex clipping region with a rectangle
    However I did disable the complex region optimizer - too tired to get
    the pointers right... .
Sat Mar 17 21:30:46 2018 Matthias Melcher 12769 0c8ae29b79
Android: added text clipping in all its uglyness.
    Next: intersetcing a complex clipping region with a rectangle
Sat Mar 17 20:33:51 2018 Matthias Melcher 12768 6bf8fe983d
Android: added fontattributes, so formatting works well now.
    Next: add clipping
Sat Mar 17 19:32:05 2018 Matthias Melcher 12767 e599a0194d
Android: added font access into Android package via Assets, added font
             fallbacks, added emergency font as an asset, added graceful
             behavior when absolutely no font could be loaded.
    Next: add other font related calls, add clipping
Sat Mar 17 17:41:16 2018 Matthias Melcher 12766 07f18616cb
Android: added chaching
    Next: add other font related calls, add clipping,
          add font paths for package resources
Sat Mar 17 16:23:40 2018 Matthias Melcher 12765 0016617ad4
Android: yes, we can unicode; cleanup; documentd
    Next: add caching, add other font related calls, add clipping,
          add font paths for package resources
Sat Mar 17 13:15:39 2018 Matthias Melcher 12764 69e534b48f
Android: basic font management structure is complete.
    Next: cleanup, document, add caching, add other font related calls,
          add clipping, add font paths for package resources
Fri Mar 16 21:49:58 2018 Matthias Melcher 12763 1084602fec
Android: loading and rendering multiple fonts at multiple sizes.
    This code is still a total mess and incredibly inefficient.
Fri Mar 16 20:27:12 2018 Matthias Melcher 12762 9bf59b88bd
Android: finally founded font functionality, freakishly fluttered first
             files, further fostering follows.
    Or, to put it bluntly, I forgot how the font system works, and now I am
    digging through the implementations of other drivers, carrying bits and
    pieces together. But you know that I will clean my files eventually... .
Fri Mar 16 17:53:09 2018 Matthias Melcher 12761 6c234ad12e
Android: starting to handle user clipping regions, but first I will
    render better text, so I have something to test this on.
Fri Mar 16 17:39:16 2018 Matthias Melcher 12760 b6858cef56
Android: added function to optimize complex regions
Fri Mar 16 14:12:05 2018 Albrecht Schlosser 12759 e0a15603dd
CMake/fltk-config: update fltk-config (LDFLAGS) for MacOS.
    This is a preliminary patch to enable linking with pango on MacOS
    when fltk-config is used. A better solution is under development.
Fri Mar 16 12:48:29 2018 Matthias Melcher 12758 bdb63b3f07
Android: clipping regions code grew so big, they moved into their own
    header and source file.
Fri Mar 16 12:48:27 2018 Albrecht Schlosser 12757 0e4b7bbb49
Fix whitespace and comments only.
Thu Mar 15 22:23:17 2018 Matthias Melcher 12756 803747d580
Android: commented the iterator code of the complex clipping area.
Thu Mar 15 21:50:27 2018 Matthias Melcher 12755 ce5371cbf0
Android: clipping code cleanup, xy and yx lines are clipped
Thu Mar 15 21:17:16 2018 Matthias Melcher 12754 6a145ed63a
Android: window clipping working fl_rectf.
    This code is not very beautiful, but the resulting class should be
    easy to use. A range-based loop can be used to find all relevant
    clipping rectangles for a drawing call.
Thu Mar 15 16:52:27 2018 Albrecht Schlosser 12753 726cb77717
Improve X11 coordinate clipping.
    Make clipping methods non-virtual so they can be inlined.
Thu Mar 15 16:34:09 2018 Albrecht Schlosser 12752 7d985f842a
Fix a potential internal stack overflow in Xlib graphics driver.
Thu Mar 15 15:34:37 2018 Albrecht Schlosser 12751 6e4ed88f40
Remove unused #include files and FL_CFG_* conditional code.
Thu Mar 15 10:08:53 2018 Matthias Melcher 12750 30d1a1687f
Fixing Tabs, typos, and comments.
Thu Mar 15 09:49:07 2018 Matthias Melcher 12749 f36963610f
Fixing FIXME's and tab characters in fl_shortcut.cxx.
    Yes, I am bored otherwise.
Thu Mar 15 09:34:20 2018 Matthias Melcher 12748 67f0018dca
Removed warning for Android. Fixed "FIXME" in Fl_Tooltip. Removed tab characters.
Thu Mar 15 00:07:53 2018 Matthias Melcher 12747 630fc8e983
Android: implemented good complex clipping, but unoptimized.
    fl_rectf is so far the only function that uses the complex clipping
    region successfully. Code is slow, but works.
Wed Mar 14 23:13:48 2018 Matthias Melcher 12746 1bb5eea696
Android: implemented complex clipping at the first level.
    Clipping areas are calculated for overlapping windows, named "Desktop
    Windows". The first level implementation works if the resulting complex
    region is just a rectangle. Higher complexity (sub-rectangles) is next.
Wed Mar 14 21:46:01 2018 Matthias Melcher 12745 737d8bef24
Android: adding stress test for complex clipping.
    Complex clipping is needed to allow popup dialogs and menu window while
    still correctly rendering windows that are "below" those popups.
Tue Mar 13 22:11:17 2018 Albrecht Schlosser 12744 c023f26fb0
Improve and simplify X line and rect 16-bit clipping.
    Back to 16-bit coordinate limit clipping (actually +/- (2**15 - 8).
    The clipping range is now constant, symmetrical, and stored in the
    driver object.
    Also fixed a bug in Liang-Barsky line clipping algorithm.
Mon Mar 12 20:54:27 2018 Matthias Melcher 12743 ac04494e91
Android: fixed Fl_Rect.H commit.
    Cleaned up some driver code.
Mon Mar 12 20:10:49 2018 Matthias Melcher 12742 b0a514366e
Android: added support for Fl::add_timeout() and friends.
Mon Mar 12 12:57:28 2018 Matthias Melcher 12741 1b52ead802
Android: Reinstated working simple cliping functionality based on an
     improved Fl_Rect_Region class instead of Fl_Rect. Commented out
     complex clipping.
     Android lib and apps now use C++11 because they can (and I like it).
Mon Mar 12 09:42:45 2018 Manolo Gouy 12740 371cfd1476
Make Fl_Graphics_Driver constructor protected, as it was in FLTK 1.3.x
Sun Mar 11 22:00:59 2018 Matthias Melcher 12739 88ce4aec17
Android: Made Fl_Rect virtual. Maybe a bad idea?
    Also, added rectangular clipping which works.
    Expanding now to a more complex clipping scheme to make multiple
    windows work.
Sun Mar 11 16:24:36 2018 Albrecht Schlosser 12738 0b1fd7ee37
Document fl_numericsort() and fl_casenumericsort().
    Note: These two functions are not yet UTF-8 aware. Results may be unexpected.
    Possible test case: run test/file_chooser or any FLTK program with
    Fl_File_Chooser. The default display order is determined by fl_numericsort():
      Fl_File_Chooser::sort = fl_numericsort;
Sun Mar 11 14:49:09 2018 Manolo Gouy 12737 d8d04bf772
Documentation: homogenize to 'scale factor' and 'drawing unit'
Sun Mar 11 08:33:36 2018 Manolo Gouy 12736 e82e430c3b
Documentation of fl_create_offscreen: give more details useful because the screen scale factor can now vary.
Sun Mar 11 08:09:50 2018 Manolo Gouy 12735 a45afd2b99
Documentation: homogenize the use of "screen" rather than "display" and "FLTK units".
Sun Mar 11 07:17:20 2018 Manolo Gouy 12734 7ab977ac86
Documentation: homogenize uses of "FLTK units" and "drawing units".
Sat Mar 10 17:38:51 2018 Manolo Gouy 12733 67fc24f3d2
Remove mention of -DFLTK_HIDPI_SUPPORT which was removed.
Sat Mar 10 17:35:00 2018 Matthias Melcher 12732 70e629b05d
Android: finally taught AndroidStudio where the SVN root directory is
    located. No more SVN from the command line.
Sat Mar 10 17:29:25 2018 Manolo Gouy 12731 329f43eaf7
Documentation: describe the new GUI scaling feature of FLTK 1.4
Sat Mar 10 16:22:44 2018 Matthias Melcher 12730 1cf4371b69
Android: fixed some variables to avoid crashing.
Sat Mar 10 13:17:41 2018 Matthias Melcher 12729 5591ba811a
Android: adding and fixing to the graphics clipping code
    Android has no classic window manager, so FLTK has to
    make sure that popup windows, dialog boxes and multi
    window interfaces work as expectd.
Sat Mar 10 06:55:57 2018 Manolo Gouy 12728 2adaadbd94
Remove useless #include statement.
Sat Mar 10 06:46:13 2018 Manolo Gouy 12727 fd1696d18e
Fl_Xlib_Graphics_Driver::scale_clip: restrict the computed X11 region to the 16-bit coordinate space.
    This member function transforms the current clip region from FLTK units to pixel units
    multiplying FLTK units by the current value of the scale factor to get pixel units.
    The current clip region has been, by construction, restricted to the 16-bit coordinate space.
    But these data can evade this space after multiplication by the scale factor.
    Thus, it's necessary to enforce the 16-bit space here which is done with Fl_Xlib_Graphics_Driver::XRectangleRegion.
Sat Mar 10 00:46:12 2018 Matthias Melcher 12726 c0cbf0fbde
Android: crude graphics clipping
Fri Mar 9 22:30:07 2018 Albrecht Schlosser 12725 dc2fb581b7
Improve X11 (16-bit) clipping of lines and rectangles.
    In FLTK 1.3.x only horizontal and vertical long lines with endpoints
    outside the 16-bit coordinate space could be drawn with proper X11
    coordinate clipping. Now arbitrary lines are clipped so they can be
    drawn with X11 functions.
    All rectangles are clipped as well (as in 1.3).
    Todo: The code needs better documentation and clipping of polygons,
    circles, curves etc. is still missing. The next step should be the
    clipping of polygons...
Fri Mar 9 21:21:23 2018 Matthias Melcher 12724 7b3e9347ba
Android: move Android specific platform events to FL/android.H
Fri Mar 9 16:27:27 2018 Manolo Gouy 12723 7f78b1ef14
Windows: remove necessity to compile with -DFLTK_HIDPI_SUPPORT to make WIN32 FLTK apps DPI-aware.
    At this point, Windows FLTK apps detect HighDPI displays and rescale their GUI accordingly. They also
    all reply to ctrl/+/-/0/ keystrokes to enlarge/shrink/reset their windows.
Thu Mar 8 23:09:23 2018 Albrecht Schlosser 12722 12f6285147
Fix X11 clip region outside 16-bit coordinate space.
    This is the first commit of X11 16-bit coordinate space (clipping) fixes.
    More to follow...
Wed Mar 7 23:06:55 2018 Matthias Melcher 12721 ad10e4adaf
Cleaning FLTK namespace
Wed Mar 7 23:01:50 2018 Matthias Melcher 12720 626ecbfca0
Android: specific event for Android. Use Fl::add_system_handler() and Fl::event(), for example: FL_ANDROID_EVENT_LOW_MEMORY
Wed Mar 7 22:12:34 2018 Matthias Melcher 12719 2e5b983f4b
Android: moved all Android code from the main app into the driver system. All non-driver-FLTK code and main app are now Android-free.
Wed Mar 7 21:07:35 2018 Matthias Melcher 12718 f058d3a99c
Android: using wait_for_expose to sync screen and windows
Wed Mar 7 16:29:31 2018 Matthias Melcher 12717 dcc10a6a0a
Android: improvements to Fl:flush() implementation. Initial draw, no wasted draw cycles.
Wed Mar 7 11:55:38 2018 Manolo Gouy 12716 2df5cb850a
Comments: update comment of class Fl_Scalable_Graphics_Driver to indicate what platforms use it.
Wed Mar 7 10:12:50 2018 Manolo Gouy 12715 358bdf577e
MacOS: add more detail to the doc of global variable fl_mac_os_version
Tue Mar 6 20:26:44 2018 Matthias Melcher 12714 93c59c914e
Android: yet another name for the .bat file
Tue Mar 6 13:03:24 2018 Manolo Gouy 12713 e94dd318be
Windows: complete support for GUI rescaling.
Mon Mar 5 23:27:31 2018 Matthias Melcher 12712 1e96cc6b2f
Android: moved include files as well
Mon Mar 5 23:17:51 2018 Matthias Melcher 12711 3ed5e71da7
Android: moved to IDE directory.
Mon Mar 5 22:57:33 2018 Matthias Melcher 12710 b47db80af3
Android: drawing behaves nice enough. Fl::flush seems to bring the expected results, although optimization is required at some point.
Mon Mar 5 21:26:51 2018 Matthias Melcher 12709 8c51282770
Android: more cleanup. Trying to solve the problem of undefined screen buffer content. Moved gradlew.bat into to make some svn's happy.
Sun Mar 4 13:22:52 2018 Matthias Melcher 12708 900457f0b4
Android: beautified the Fl_Android_Application interface.
Sat Mar 3 14:37:53 2018 Matthias Melcher 12707 774503e35b
Android: reorganizing
Sat Mar 3 14:11:58 2018 Matthias Melcher 12706 b57199097a
Android: case of .h and .H
Sat Mar 3 14:05:18 2018 Matthias Melcher 12705 6ba638f5d6
Android: need more source files
Fri Mar 2 22:46:47 2018 Matthias Melcher 12704 8bb4ab025d
Android: removed crud from original sample code
Fri Mar 2 20:57:02 2018 Matthias Melcher 12703 5365d9f716
Android: minor simplifications
Fri Mar 2 20:16:51 2018 Albrecht Schlosser 12702 4b00b0f320
Set svn properties on new Android source files.
    The Android example files in directory Android/... are not touched.
Fri Mar 2 20:12:55 2018 Matthias Melcher 12701 b9dac8f6f6
Android: should build and run
Fri Mar 2 20:06:31 2018 Matthias Melcher 12700 e8a2c4621a
Android: added missing file.
Fri Mar 2 20:03:04 2018 Matthias Melcher 12699 42555053a1
More Android changes.
Fri Mar 2 17:36:15 2018 Matthias Melcher 12698 b2da1fcbaf
Fixing Android CMake files
Fri Mar 2 17:26:30 2018 Matthias Melcher 12697 ca98f4b70c
Updated Android README
Fri Mar 2 16:35:59 2018 Matthias Melcher 12696 abbd7b9918
CMake rules to integrate Android drivers.
Fri Mar 2 16:34:43 2018 Matthias Melcher 12695 b19efed409
Adding crude Android native screen driver
Fri Mar 2 16:30:45 2018 Matthias Melcher 12694 9e29ea8a00
Commiting Android sample project structure
Fri Mar 2 16:07:23 2018 Matthias Melcher 12693 f01eb0ec25
Removing obsolete Android stuff
Sun Feb 25 19:25:45 2018 Albrecht Schlosser 12692 5c2d98a5fc
CMake + configure: improve generation of fltk-config.
Sun Feb 25 19:24:45 2018 Albrecht Schlosser 12691 0e60b49b52
Update dependencies.
Sun Feb 25 16:54:21 2018 Manolo Gouy 12690 ba5106e758
Replace calls to Fl_Surface_Device::set_current() by calls to Fl_Surface_Device::push_current()
Sun Feb 25 14:40:05 2018 Albrecht Schlosser 12689 ff64d09cf7
Remove obsolete -DUSE_OPENGL32 from configure and fltk-config.
    This definition was introduced in svn r6657 (STR #2147) but never used.
    The new driver model in FLTK 1.4 makes it (the intention described in
    STR #2147) even more obsolete.
Sun Feb 25 06:53:34 2018 Manolo Gouy 12688 7049da0445
Documentation: make code examples use Fl_Surface_Device::push_current()/pop_current()
    instead of the deprecated Fl_Surface_Device::set_current().
Sat Feb 24 13:44:06 2018 Albrecht Schlosser 12687 c9d4df288c
CMake: fix fltk-config generation for MacOS.
Fri Feb 23 19:41:52 2018 Albrecht Schlosser 12686 7d1488507d
CMake: Fix fltk-config for Windows and Unix/Linux.
    This update ought to work with
      fltk-config [--use-images] [--use-gl] --compile <c source file>
    on both Windows and Unix/Linux when built with CMake. It was tested
    under Windows and Linux using fltk-config directly from the build tree,
    but it should work as well after installation.
Thu Feb 22 17:04:37 2018 Manolo Gouy 12685 a0863e393a
Document that fl_mac_set_about() is deprecated, MacOS-specific and replaced by cross-platform Fl_Sys_Menu_Bar::about().
Thu Feb 22 06:00:28 2018 Manolo Gouy 12684 9dce38099a
Make forms_timer.cxx platform-independent calling virtual function Fl_System_Driver::gettime().
Wed Feb 21 06:56:21 2018 Manolo Gouy 12683 7aaaf59e15
Remove "#ifdef _WIN32" that made this source file break the separation between platform-independent and -dependent files.
    Several other platform-independent source files (e.g., Fl_Browser.cxx, Fl_Group.cxx) use malloc/realloc/free without
    including a special header file for the Windows platform. Thus, Fl_Table.cxx can just be likewise.
Tue Feb 20 12:48:48 2018 Manolo Gouy 12682 fb7d2b770d
Remove unnecessary #ifdef _WIN32
Tue Feb 20 12:09:32 2018 Manolo Gouy 12681 31848b8565
MacOS: correct handling of window tabbing/untabbing together with GUI rescaling.
Tue Feb 20 09:08:38 2018 Manolo Gouy 12680 06b925964d
Remove Fl::run_also_windowless() and FL::wait_also_windowless() from planned public FLTK 1.4 API.
    These were introduced at r12647, that is, during development of the 1.4 API.
    These functions provided windowless support only on the MacOS platform,
    where this can be obtained without those functions.
    Windowless support on other platforms would require changing the event
    loop. There's no evidence from STR's there's a demand for windowless mode
    on other platforms.
Mon Feb 19 10:18:55 2018 Manolo Gouy 12678 78183fb45b
Don't use FLTK's way to support HighDPI screens when the app has set a DPI awareness through a manifest - cont'd.
    It's also necessary to prevent FLTK from rescaling windows moved between screens with different DPI's.
Sun Feb 18 16:58:38 2018 Manolo Gouy 12677 288d61a953
Don't use FLTK's way to support HighDPI screens when the app has set a DPI awareness through a manifest.
    FLTK reads during fl_open_display() the scaling factor of each screen and uses that to transform
    FLTK units into screen units. This change avoids this reading if the app declared to be DPI-aware
    though a manifest, a symptom that the app supports HighDPI independently from FLTK.
Sun Feb 18 12:31:16 2018 Albrecht Schlosser 12676 6721ba67eb
CMake: fix generated fltk-config for Windows (partially).
    This makes 'fltk-config --compile' work with simple test applications
    like hello.cxx etc.
    It may not yet work with other options though, particularly with
    --use-gl or --use-images, but it's an improvement.
Sun Feb 18 11:25:51 2018 Albrecht Schlosser 12675 50f351e5a5
CMake: fix debug macro for CMake versions before 3.4.
    Note: string(APPEND ...) was introduced in CMake 3.4.
Sun Feb 18 08:04:57 2018 Manolo Gouy 12674 a401c6c038
Fix Fl_Cocoa_Window_Driver::size_range() to make it support GUI rescaling.
Sat Feb 17 13:58:47 2018 Manolo Gouy 12673 3266594e91
Fix 2 typos.
Sat Feb 17 08:28:51 2018 Manolo Gouy 12672 b6c790a93f
Slight documentation fix for class Fl_Sys_Menu_Bar.
Sat Feb 17 08:00:54 2018 Manolo Gouy 12671 1884ebf501
Documentation: fix inconsistency in doc of Fl::wait(double).
Fri Feb 16 17:12:23 2018 Manolo Gouy 12670 5bf7e5ece7
Fix Fl_Cocoa_Screen_Driver::screen_work_area() when the GUI is scaled - continued.
Fri Feb 16 17:10:06 2018 Manolo Gouy 12669 38b924e12b
Fix Fl_Cocoa_Screen_Driver::screen_work_area() when the GUI is scaled.
Fri Feb 16 16:24:32 2018 Manolo Gouy 12668 0cef82d746
Remove Fl_Window_Driver::current_cursor() and its platform-specific forms that are now unused.
    This became unused when window scaling no longer involved window destruction/recreation.
Thu Feb 15 07:02:26 2018 Manolo Gouy 12667 5f553ebd2a
OpenGL apps need to use Fl_Gl_Window::pixel_w() and pixel_h() when calling glViewport() to support GUI scaling.
Mon Feb 12 09:16:04 2018 Manolo Gouy 12666 838168defc
Restore documentation of function Fl_Mac_App_Menu::custom_application_menu_items()
Mon Feb 12 07:18:36 2018 Manolo Gouy 12665 f5bd951f5c
Slight rewording of the documentation of types fl_intptr_t and fl_uintptr_t.
Sun Feb 11 18:33:20 2018 Manolo Gouy 12664 36bcbe8eb0
Rewording of the documentation of types fl_intptr_t and fl_uintptr_t.
Sun Feb 11 18:25:11 2018 Manolo Gouy 12663 3ca12a3a02
Document platform-dependent types fl_intptr_t and fl_uintptr_t
    Most other platform-dependent types of FL/platform_types.h are also documented.
Sat Feb 10 17:51:17 2018 Manolo Gouy 12662 4dde3e5485
Documentation: separate the doc of the 2 versions of Fl::add_fd() as Doxygen mandates.
Sat Feb 10 17:49:01 2018 Manolo Gouy 12661 c489f3bf6a
Fix error when running Doxygen (continued).
Sat Feb 10 16:55:25 2018 Manolo Gouy 12660 f42e2bfc4f
Documentation: separate docs of Fl::wait() and Fl::wait(double) as Doxygen mandates.
    Also, for Fl::run_also_windowless() and Fl::wait_also_windowless(), mention that
    MacOS is a platform supporting the windowless mode and what happens with
    platforms that don't support it.
Sat Feb 10 00:02:09 2018 Ian MacArthur 12659 b8ad5c2bd6
Fix trivial typo that was upsetting doxygen
Fri Feb 9 20:51:15 2018 Albrecht Schlosser 12658 c7b5d61eb0
CMake: add macro fl_debug_var to debug variables.
    Some debug messages are included, but currently disabled.
Fri Feb 9 17:26:20 2018 Manolo Gouy 12657 0012debf37
After r.12653, it is also necessary to remove Fl_Cocoa_Window_Driver::bitmap_from_window_rect()
Fri Feb 9 16:59:34 2018 Manolo Gouy 12656 6f5340d430
Windows: fix fl_overlay_rect() when scaling factor value is > 2
Fri Feb 9 14:39:42 2018 Albrecht Schlosser 12655 52ae3582a2
Replace "WIN32" with "_WIN32" or "Windows".
    Replace compiler/preprocessor/platform macro "WIN32" with "_WIN32".
    Replace "WIN32" in text and documentation with "Windows".
    Replace "MSWindows" with "Windows".
    To do: README.Windows.txt (and maybe other documentation as well)
    needs updates.
Fri Feb 9 13:59:04 2018 Albrecht Schlosser 12654 30dad6a4aa
CMake: More consistent usage of (IDE) source groups.
    Also: add generated header files to project fltk's header files.
Fri Feb 9 13:48:22 2018 Manolo Gouy 12653 c472d5d8b7
Fix fl_read_image() under MacOS platform when GUI is rescaled.
    This commit also simplifies the platform-dependent support of fl_read_image():
    only Fl_XXX_Screen_Driver::read_win_rectangle() contains platform-specific
    code to capture pixels from the current window or from an offscreen buffer.
    Platform-independent function Fl_Screen_Driver::traverse_to_gl_subwindows()
    captures subwindows that intersect with the area fl_read_image() targets.
Thu Feb 8 12:47:40 2018 Manolo Gouy 12652 b78b2f7f5f
Move xxx_also_windowless member functions from Fl_System_Driver to Fl_Screen_Driver.
    Because these functions are related to Fl_Screen_Driver::wait(double)
Thu Feb 8 07:37:43 2018 Manolo Gouy 12651 0c8ca7944a
Documentation: add \version info to new member functions.
Wed Feb 7 15:34:44 2018 Manolo Gouy 12650 dcc82d8926
STR#3450: Draw text with OpenGL using textures on all platforms.
Tue Feb 6 17:56:47 2018 Manolo Gouy 12648 90630409cb
Beef up documentation of how FLTK handles cmd-Q/Quit xxx events under MacOS.
Tue Feb 6 17:26:11 2018 Manolo Gouy 12647 425ab2e8bc
Add support for detection and processing of clean program termination request.
    The default handling of cmd-Q/Quit program under MacOS was to terminate the
    program if all its windows are closed without returning from FLTK's event loop.
    This was running against a strong design feature of FLTK that programs
    should always complete their event loop and return from main() when cleanly
    In the new code for the MacOS platform, cmd-Q/Quit program no longer terminates
    the program. Instead, the event loop is interrupted and a call to Fl::program_should_quit()
    allows to detect that program termination has been requested, if necessary.
Sun Feb 4 21:39:50 2018 Albrecht Schlosser 12646 4ebaee0f40
Reorganize nanosvg bundled library.
    Rename altsvgrast.h to its original name nanosvg.h and use a new
    GitHub fork of nanosvg to maintain FLTK specific patches.
    The diff files (altsvgrast.diff and nanosvg.diff) are no longer necessary
    and have been removed. For more information see README.bundled-libs.txt.
Sun Feb 4 21:31:54 2018 Albrecht Schlosser 12645 c97fe2e58f
Update svn properties.
Fri Feb 2 17:28:41 2018 Albrecht Schlosser 12644 b4079d6fd3
Fix typos.
Wed Jan 31 22:49:52 2018 Albrecht Schlosser 12643 716924d1d4
Fix remaining issue in FL/porting.H.
    This file is not used in the normal build process but was intended to
    be used as a template for a platform specific file. This is likely
    obsolete anyway since the new driver approach no longer uses #ifdef's
    to separate platform specific code.
Wed Jan 31 22:34:48 2018 Albrecht Schlosser 12642 1d97f94e56
Fix broken Windows and macOS builds.
    The check whether mac.H or win32.H were included directly was wrong
    after the recent rename of x.H to platform.H.
Wed Jan 31 21:17:17 2018 Albrecht Schlosser 12641 42d8aba117
Replace FL/x.H with FL/platform.H - step 2 (STR #3435).
    This second step replaces FL/x.H with FL/platform.H in all source files.
    Dependencies have been adjusted as well.
    This commit completes the replacement of FL/x.H with FL/platform.H.
Wed Jan 31 17:46:48 2018 Albrecht Schlosser 12640 cc595ce4ed
Replace FL/x.H with FL/platform.H - step 1.
    This first step replaces FL/x.H with FL/platform.H but keeps a small
    FL/x.H that #include's FL/platform.H for backwards compatibility.
    Documentation sources in documentation/src/*.dox have been fixed,
    but references in other source files need to be fixed in another step.
    Dependencies have been adjusted.
Thu Jan 18 13:45:45 2018 Manolo Gouy 12639 12a2fc2a4d
X11+pango: correct y position of text in line that was bad for some non-latin scripts and some pango versions.
Tue Jan 16 23:45:45 2018 Albrecht Schlosser 12638 18d9891970
Add missing CMake variable FL_VERSION for doxygen docs generation.
    Thanks to Jakub Tata-Tyczyński for finding this and reporting it in
Tue Jan 16 23:37:14 2018 Albrecht Schlosser 12637 6408823b3c
Remove obsolete replacement of CMAKE_SOURCE_DIR.
    The correct fix in the previous commit (svn r12636) would have been to
    no longer used in doxygen docs generation. Sorry for the noise.
Tue Jan 16 22:17:58 2018 Ian MacArthur 12636 98413277a8
Implement Jakub's patch for the missing FLTK_SOURCE_DIR in
    the doxyfile generation of the html docs.
Tue Jan 16 06:21:16 2018 Manolo Gouy 12635 fab28479c7
Avoid crash in Fl_Pixmap::copy() when the source Fl_Pixmap contains bad pixmap data.
Tue Jan 16 03:05:35 2018 Albrecht Schlosser 12634 a000e12d6c
Fix invalid porsche1.xpm file.
    test/pixmaps/porsche1.xpm was likely an experimental version of file
    test/pixmaps/porsche.xpm. I fixed it instead of removing because it
    looks nice as well.
Mon Jan 15 15:02:13 2018 Albrecht Schlosser 12633 fbcd3a908a
Clarify documentation of Fl_Boxtype.
    Fl_Boxtype enum values with leading underscore are reserved and should
    not be used. Use the name w/o leading underscore instead.
Mon Jan 15 07:09:52 2018 Manolo Gouy 12632 8a179b577f
configure: add checks to avoid incompatible options --disable-xft and --enable-pango and to detect if pango is found but not Xft.
Sun Jan 14 19:34:39 2018 Albrecht Schlosser 12631 baffc84fa1
CMake: test option compatibility: Pango requires Xft.
    Abort CMake configuration/generation if Xft is disabled or not found
    but Pango is requested because Pango requires Xft support. A detailed
    warning message is issued before the CMake generation is aborted.
Wed Jan 10 20:49:03 2018 Albrecht Schlosser 12630 7aef0cad39
CMake: enable building FLTK in a subdirectory of another project.
    Basically replace CMAKE_XXX_DIR with CMAKE_CURRENT_XXX_DIR where
    Patch proposal by cleanrock, FLTK PR #4:
    Patch modified to fix target dirs for test programs and doxygen docs.
Tue Jan 9 21:12:35 2018 Manolo Gouy 12629 b47dc05909
Fl_Sys_Menu_Bar under MacOS: prevent the FLTK object from receiving events.
Tue Jan 9 07:26:49 2018 Manolo Gouy 12628 3b437dae8c
Put a default implementation of parse_color() in Fl_Screen_Driver and only Fl_X11_Screen_Driver reimplements it.
Mon Jan 8 20:52:48 2018 Manolo Gouy 12627 9f0e9ff813
MacOS + CMake: restore use of OPTION_APPLE_X11 under MacOS 10.13
    It's necessary to compile with -mmacosx-version-min=10.8
    and to link with -lfontconfig when Xft is used
Mon Jan 8 10:19:19 2018 Manolo Gouy 12626 c462635e88
MacOS configure --enable-x11: add needed compilation option under MacOS 10.13
Sun Jan 7 18:16:52 2018 Manolo Gouy 12625 46d8ef2c1d
MacOS: More accurate coordinate computation in rect_to_NSBitmapImageRep() when GUI is rescaled.
    The modified statement uses the window height in graphics coordinates that has been truncated to
    integer at window creation and resize.
Fri Jan 5 16:01:39 2018 Manolo Gouy 12622 8befad4dba
Make Fl_Quartz_Graphics_Driver treat line width similarly with lines and loops
Fri Jan 5 08:16:42 2018 Manolo Gouy 12621 32676b5f56
Some cleaning in comments
Thu Jan 4 15:45:59 2018 Manolo Gouy 12620 b4521fd1bf
Add necessary inline implementation of Fl_SVG_Image::copy(void).
Thu Jan 4 15:23:18 2018 Manolo Gouy 12619 1a341391e7
Add Doxygen comments explaining the purpose of Fl_Window_Driver::draw_begin()/draw_end().
Wed Jan 3 16:28:00 2018 Manolo Gouy 12618 8fccb73842
Restore correct fl_overlay_rect() when GUI is scaled (was broken by commit r.12595)
Sat Dec 30 10:43:36 2017 Manolo Gouy 12617 5d97cf1f96
Fix comment.
Fri Dec 29 18:47:28 2017 Greg Ercolano 12616 a7a4098644
Remove the requirement for opengl in fltk-config.
    opengl apps were left out of the targets list on purpose
    so that only non-opengl apps would build.
    TODO: Determine a way to detect the presence of fltk opengl libs
          from within the Makefile using only fltk-config, so as to
          conditionally build the opengl examples.
          Do NOT use fltk's own build system (../makeinclude or cmake)
          to determine this, so the Makefiles will work as user examples.
Fri Dec 29 07:45:27 2017 Manolo Gouy 12615 2d7a670e28
Remove 'friend class Fl_PicoSDL_Window_Driver' from Fl_Window.H
Fri Dec 29 07:25:50 2017 Manolo Gouy 12614 b2ce33fcfd
Definition of class Fl_Window: use 'private:' more accurately
Thu Dec 28 22:59:44 2017 Albrecht Schlosser 12612 cf198735de
CMake: Fix missing WIN32 definition on Windows platforms.
    Although some Windows compilers still #define WIN32, more and more
    standard compliant compilers only #define _WIN32. FLTK *did* #define
    WIN32 for all Windows targets with autoconf/configure, but that bit
    was lost for CMake builds. This is necessary until we replace WIN32
    with _WIN32 throughout the Windows specific code.
Wed Dec 27 13:54:52 2017 Manolo Gouy 12610 d13bb6b40f
GUI rescaling under MacOS: fix Fl_Cocoa_Screen_Driver::read_image() - continued
Wed Dec 27 13:51:41 2017 Manolo Gouy 12609 7abda5a59b
GUI rescaling under MacOS: fix Fl_Cocoa_Screen_Driver::read_image() when reading from scaled offscreen buffer
Wed Dec 27 11:02:14 2017 Manolo Gouy 12608 7aa6b582ee
Support for GUI rescaling: fix fl_copy_offscreen() to PostScript surface under X11.
Wed Dec 27 07:48:52 2017 Manolo Gouy 12607 c6045962db
Continue support for GUI rescaling under MacOS: fix test/resize() application - continued
Wed Dec 27 07:46:50 2017 Manolo Gouy 12606 d6a0e4a010
Continue support for GUI rescaling under MacOS: fix test/resize() application
Tue Dec 26 16:07:51 2017 Manolo Gouy 12605 7758d472c2
Continue support for GUI rescaling under MacOS: fix fl_XXX_offscreen() functions and Fl_Image_Surface class
Sun Dec 24 07:20:25 2017 Manolo Gouy 12604 8ee87d15e3
Continue support for GUI rescaling under MacOS: fix Fl_Cocoa_Window_Driver::capture_titlebar_and_borders()
Sat Dec 23 06:34:42 2017 Manolo Gouy 12603 e1893334fd
Continue support for GUI rescaling under MacOS: fix Fl_Overlay_Window.
    This patch also improves by simplification the code of class Fl_Quartz_Image_Surface_Driver:
    because, under the driver model, there's a separate graphics content for the display and for
    each offscreen buffer, it's possible to reverse the drawing orientation (draw from top to bottom)
    once at offscreen creation. It's thus no longer necessary to reverse orientation in
    Fl_Quartz_Graphics_Driver::restore_clip() specifically for offscreen buffers.
Tue Dec 19 14:14:42 2017 Manolo Gouy 12602 c44382e973
Scaling capability under MacOS platform: fix capture of scaled window.
Tue Dec 19 13:26:38 2017 Albrecht Schlosser 12601 d8911c5603
Update .clang-format, improve comments.
Tue Dec 19 12:56:24 2017 Manolo Gouy 12600 5a579962a6
Fix Fl_GDI_Graphics_Driver::uncache(Fl_RGB_Image*,...) that did not delete correctly the cached offscreen object.
    This bug was detected by a test program that rotates an SVG image. But it's not related to SVG,
    and concerns any Fl_RGB_Image on the WIN32 platform. It was introduced when
    image support was modified according to the driver model.
Tue Dec 19 12:52:57 2017 Albrecht Schlosser 12599 52d4fef698
Fix indenting and formatting according to the CMP.
    Sorry for the big commit. There were so many indenting and formatting
    issues in src/Fl_win32.cxx that I decided to reformat it with clang-format
    (see previous commit). However, this commit is not the direct result
    of using clang-format - I adjusted some parts of the code manually.
    Other manual changes: I ...
     - reordered some #define's and added comments
     - added comments to switch/case/break statements and {} for clarity
     - moved a few 'break' statements inside or outside of braces {}
    There should not be any code changes though, i.e. the compiled object
    code should be identical.
Tue Dec 19 12:41:47 2017 Albrecht Schlosser 12598 2c112af865
Add an experimental .clang-format file.
    This file can be used with clang-format to format c and c++ source
    files according to the FLTK CMP -- at least "almost" in its current
    version. It should not (yet) be used without further checking of the
    Note: there are some deliberate non-conformant formattings in current
    source files, such as formatting like (better readable?) tables with
    columns etc.. Such special formatting can be preserved with clang-format
    "pragma's" (see documentation in .clang-format), but this needs source
    file changes before formatting.
Mon Dec 18 16:34:59 2017 Manolo Gouy 12597 0a4dcddfcd
Fix bug when drawing text with Fl_OpenGL_Graphics_Driver and scaled GUI.
    The bug appeared in test/cube where the "Text" string was mispositioned
    when the app was rescaled.
Mon Dec 18 15:19:15 2017 Manolo Gouy 12596 d361de4d0d
STR#3437 : Support display of windows in tabbed form as in MacOS 10.12 Sierra
Mon Dec 18 12:13:33 2017 Manolo Gouy 12595 f24ee501b9
STR#3320 continued: make sure there's no undrawn space between nested rectangles and images.
Mon Dec 18 08:52:55 2017 Manolo Gouy 12594 3f9f4debbb
STR#3444: Add MacOS support for application rescaling (not quite complete)
    With this, most MacOS FLTK app can be scaled with command/+/-/0/ keystrokes.
    A scaling problem remains, visible in test/cube, where the "Test" string is not positioned correctly.
    GLUT apps can also be scaled (across platforms).
    SVG images are re-rasterized after app scaling for optimal drawing.
Sun Dec 17 06:47:37 2017 Manolo Gouy 12593 31f16205cb
Fl_Window_Driver constructor: initialise wait_for_expose_value to 0.
Sat Dec 16 13:29:51 2017 Manolo Gouy 12592 e3d9c46869
Initialize all member variables in the Fl_Window_Driver constructor.
Fri Dec 15 13:04:07 2017 Albrecht Schlosser 12591 0e1916de51
Remove VS specific #pragma comment (lib, ...).
    This Visual Studio specific pragma hides missing library references
    on Visual Studio builds, but since comctl32 is not the only necessary
    Windows dll and this has never been extended to other libs, this pragma
    is unnecessary and potentially confusing, so I removed it.
    Documentation of dependencies mentions comctl32 (and more) and future
    CMake generation of user project VS IDE files can reference the FLTK
    dependencies by internal (CMake) means anyway.
Wed Dec 13 18:30:19 2017 Albrecht Schlosser 12590 0a61f9d739
Improve schemes unittest (add selection colors to buttons).
    Use check and radio buttons with different selection colors to
    verify selection colors with different schemes.
Wed Dec 13 15:32:20 2017 Manolo Gouy 12589 bc4662fd23
SVG images: fix image printing under MacOS when not used as a scaled Fl_Shared_Image
Tue Dec 12 09:23:48 2017 Manolo Gouy 12588 d9a99c64fd
Doxygen doc of class Fl_Shared_Image: add that the SVG format is also supported.
Fri Dec 8 12:26:50 2017 Albrecht Schlosser 12587 31e816786e
Fix spelling and clarify documentation.
    Add a hint that localization of shortcut modifiers fl_local_ctrl
    etc. should not be done in static initializers because random static
    initialization order might overwrite strings with internal values.
Thu Dec 7 16:10:21 2017 Manolo Gouy 12586 eb763ae432
Further simpler code to initialise the MacOS-specific implementation of Fl_Sys_Menu_Bar_Driver
Thu Dec 7 15:35:07 2017 Manolo Gouy 12585 2da4cf8b9f
Simpler code to initialise the MacOS-specific implementation of Fl_Sys_Menu_Bar_Driver
Thu Dec 7 08:43:37 2017 Manolo Gouy 12584 dc569ef8fb
Make sure GUI is updated after activation of a menu item from Fl_Sys_Menu_Bar
Wed Dec 6 07:38:05 2017 Manolo Gouy 12583 24a5fa7632
MacOS: support running fl_open_display() in static initializer.
Tue Dec 5 16:17:12 2017 Manolo Gouy 12582 fdbee3daed
Doxygen: remove warning
Tue Dec 5 16:05:35 2017 Manolo Gouy 12581 0a26b0dd68
Some code simplification for class Fl_Sys_Menu_Bar
Mon Dec 4 17:41:09 2017 Manolo Gouy 12580 82312ed61b
Set svn properties.
Mon Dec 4 17:39:19 2017 Manolo Gouy 12579 8612fea277
Make Fl_Sys_Menu_Bar class usable in static initializers.
Sun Dec 3 15:46:12 2017 Manolo Gouy 12578 6586b77975
Restore possibility to run fl_open_display() within a static initializer.
Sun Dec 3 14:34:47 2017 Manolo Gouy 12577 f609261697
Remove from list of input files
Sat Dec 2 19:17:31 2017 Manolo Gouy 12576 ad7628afed
Set proper properties
Sat Dec 2 16:20:30 2017 Manolo Gouy 12575 34dd1b15fb
Converted class Fl_Sys_Menu_Bar to the driver model.
Thu Nov 30 16:14:13 2017 Manolo Gouy 12574 a8fe10cf88
MacOS: use rounded bottom corners when drawing windows
Thu Nov 30 13:55:19 2017 Manolo Gouy 12573 08f72d626c
Fl_Widget_Surface::draw(Fl_Widget *widget,...): clip drawing to the window bounds when widget is a window.
Mon Nov 27 20:57:52 2017 Manolo Gouy 12572 c354268f44
Top-level menus should not be inactivated. Their items can be.
Thu Nov 23 19:34:33 2017 Greg Ercolano 12570 0fb2a55fc8
Fixes issued raised in STR #3422; Fl_Text_Display constructor order issues;
    organize member initialization first, method calls last.
        Reorg'ed member initialization to match order in .H
        to detect missing member inits.
        Noticed member mModifyingTabDistance is unused.
        Tagged with XXX: but left in place, since it's
        a protected member, and might be utilized by user code.
        We should probably remove this member.
Wed Nov 22 12:42:42 2017 Manolo Gouy 12569 02d58597e9
MacOS native file chooser: STR#3406 continued - restore broken filename preset in save dialog.
Sun Nov 19 01:18:16 2017 Greg Ercolano 12568 310c545179
Fixes STR#3428: allows command line to specify alternate html file on Mac platform
Sat Nov 18 18:13:06 2017 Albrecht Schlosser 12567 a877466a21
Fix illegal memory access after free when closing fluid (STR #3427).
Sat Nov 18 17:55:47 2017 Albrecht Schlosser 12565 16db9a0c82
Fix crash when closing fluid with Fl_Table (STR #3427).
    Many thanks to Chris for the patch!
Fri Nov 17 17:25:33 2017 Albrecht Schlosser 12563 853a716610
Replace remaining calls of getenv() with fl_getenv().
    Note: don't use fl_getenv() in Fl_System_Driver and derived classes.
Fri Nov 17 06:52:27 2017 Manolo Gouy 12562 f300e00f79
Proper return value from test window::handle() when the event is not processed.
Mon Nov 13 21:41:33 2017 Manolo Gouy 12561 15750ea378
MacOS: Fix STR#3406 where native file chooser does not show preset file
Mon Nov 13 14:47:49 2017 Manolo Gouy 12560 00eef649ca
MacOS: complete commit at r.12559 that contained a typo.
Mon Nov 13 14:43:58 2017 Manolo Gouy 12559 b171a28de4
MacOS: make -[FLWindowDelegate windowShouldClose:] more robust by testing for NULL pointer.
Sun Nov 12 18:00:45 2017 Albrecht Schlosser 12558 f3896460d6
Replace chdir() with new wrapper fl_chdir().
Sun Nov 12 08:00:21 2017 Manolo Gouy 12557 cfdc38f760
MacOS: improve drawing of rounded corners of window titlebar
Sat Nov 11 21:23:15 2017 Albrecht Schlosser 12556 f4f4030cc2
Refactor Fl_WinAPI_System_Driver string conversion and more.
    Remove duplicated code by using local (static) string conversion functions.
    This makes the code better maintainable and removes redundancies.
    Rename some variables (particularly one-letter names) to more useful
    names, minor code reformatting to be more compatible with the CMP.
    To do: check for potential memory leaks, maybe free temporary buffers.
Sat Nov 11 10:54:52 2017 Manolo Gouy 12555 10143bc50a
Test commit
Sat Nov 11 09:46:58 2017 Manolo Gouy 12554 9646c04b54
Test commit
Sat Nov 11 09:45:16 2017 Manolo Gouy 12553 6a7008684f
Test commit
Sat Nov 11 09:44:09 2017 Manolo Gouy 12552 5ac0d892c1
Test commit
Sat Nov 11 09:04:26 2017 Manolo Gouy 12551 ee929944ce
Minor reformatting
Sat Nov 11 09:01:51 2017 Manolo Gouy 12550 7356d4ef21
Make a comment more detailed
Fri Nov 10 12:56:00 2017 Albrecht Schlosser 12549 4a088d28f5
Add missing platform wrapper fl_chdir() for chdir().
    Tested under Windows and Linux, but not yet used in library code.
Thu Nov 9 15:27:26 2017 Manolo Gouy 12548 ff1e508e5d
MacOS: improve drawing of the rounded corners of window titlebars.
Tue Nov 7 17:01:20 2017 Manolo Gouy 12547 9aaf6df90c
MacOS: fix capture of window titlebar under MacOS 10.13 "High Sierra"
Sun Nov 5 20:43:44 2017 Albrecht Schlosser 12546 660f4160af
Fix compiler warning [-Wunused-result].
    Full warning:
      ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’,
      declared with attribute warn_unused_result [-Wunused-result]
    Note: added "FIXME ...": current code ignores file read error.
Sun Nov 5 19:56:41 2017 Albrecht Schlosser 12545 c348189008
Fix doxygen docs: missing excludes and CMake paths.
    This commit fixes two issues:
    Doxygen build with CMake needs paths relative to CMake source dir.
    Missing excluded files taken from STR #3320, file #42 (by Manolo):
Sun Nov 5 15:47:17 2017 Manolo Gouy 12544 b74d0b8a94
Fix drawing of tab characters when display is rescaled.
    The problem is announced in comment #99 of
Sun Nov 5 04:18:44 2017 Greg Ercolano 12543 f47c0e9e51
fl_text_extents(): added example, included reference to fl_font() and fl_measure().
Sat Nov 4 06:11:45 2017 Greg Ercolano 12542 a20d472faf
Updated scrollbar size's instructions, increased font size.
Fri Nov 3 12:09:20 2017 Manolo Gouy 12541 8f52feac84
Remove 1 deprecation warning.
Fri Nov 3 10:36:15 2017 Manolo Gouy 12540 54571fcacf
Remove 3 deprecation warnings.
Fri Nov 3 09:04:56 2017 Manolo Gouy 12539 3d53e5b496
Doxygen doc: minor rewording for the Fl_SVG_Image class.
Thu Nov 2 21:14:40 2017 Greg Ercolano 12538 127147ca97
Addresses STR# 3423; adds missing scrollbar_size() methods and honors global Fl::scrollbar_size().
    Includes mods to unittest's scrollbar size test.
Thu Nov 2 03:03:12 2017 Greg Ercolano 12537 3256932e2a
test/valuators demo modified to use Fl_Simple_Terminal.
    Also added missing callback to show Fl_Spinner values.
    Improved callback messages to indicate which widget's value is being displayed.
Tue Oct 31 16:56:23 2017 Manolo Gouy 12536 839f52bc18
Fix for STR#3421: Fl_SVG_Image crashes if passed an svg file that is a static const char* string
Mon Oct 30 03:57:33 2017 Greg Ercolano 12535 b1cff66e86
Added check if nanosvg is enabled or not.
    The example posts a warning dialog if it's not (vis a vis test/cube demo)
Mon Oct 30 03:43:42 2017 Greg Ercolano 12534 78c699caa0
Makefile for new example.
Mon Oct 30 03:43:25 2017 Greg Ercolano 12533 a9d17eca1a
Added a new example to demonstrate using Fl_SVG_Image.
Sat Oct 28 21:54:38 2017 Greg Ercolano 12532 a035d10d37
Solves STR# 2682, Albrecht's comment #13. Applied slightly modified version of
    chris's test_02.diff patch (comment #19).
Sat Oct 28 21:23:35 2017 Greg Ercolano 12531 9c2b0d743f
Fixes STR# 3420; fluid crash on certain static functions.
Fri Oct 27 17:03:55 2017 Greg Ercolano 12530 2a3e869210
STR #3395: Revisions as per chris's comment #4.
Thu Oct 26 16:07:53 2017 Greg Ercolano 12529 a27da5e582
Solves STR#3395.
Thu Oct 26 03:45:16 2017 Greg Ercolano 12528 6774852be5
Removing test line added a while ago.
Wed Oct 25 11:34:03 2017 Manolo Gouy 12527 31e3d3758e
MacOS: replace deprecated message by its recommended successor.
Wed Oct 25 10:58:26 2017 Albrecht Schlosser 12526 eb772d027d
Fix scrollbar issue of Fl_Text_Display (STR #3412).
    This fix disables a part of the optimization introduced in svn r11208
    (STR #3272).
    For more information see comments in STR #3412.
Wed Oct 25 05:26:49 2017 Manolo Gouy 12525 eb440f2d70
Doxygen doc: separate the doc of the getter and the setter member functions.
Mon Oct 23 16:09:26 2017 Manolo Gouy 12524 84aba46e8a
Refer to the preferred Fl_Surface_Device::push_current()/pop_current() functions.
Sun Oct 22 06:35:03 2017 Manolo Gouy 12523 554ab20b80
MacOS: replace [[NSRunningApplication currentApplication] isActive] requiring 10.6 by [NSApp isActive]
Sun Oct 22 06:29:04 2017 Manolo Gouy 12522 cf13e6c2cd
MacOS: improve handling of dropped files at launch time for MacOS 10.13
     Because opening a file can call the event loop and thus access the list of dropped files,
     it's necessary to remove the object from the list before opening the file.
Sun Oct 22 02:58:35 2017 Greg Ercolano 12520 1a41a89e94
Small doc tweaks for clarity.
Sat Oct 21 14:02:55 2017 Manolo Gouy 12519 1a153d7899
Fl_SVG_Image: remove use of gzdirect() that is absent in some old versions of zlib
Sat Oct 21 10:31:47 2017 Albrecht Schlosser 12518 071f4912a7
Revert accidentally committed part of r12511 (STR #2788).
    r12511: "Addresses STR #2788 for cursor positioning with mouse-click ..."
    The here reverted part was the proposed patch of STR #3412:
    "Fl_Text_Display scroll bug (style table with font != textsize() + wrap)".
    See patch file:
Thu Oct 19 10:15:12 2017 Manolo Gouy 12517 4593081b69
Add details to the doc of fl_open_callback().
Wed Oct 18 15:48:29 2017 Greg Ercolano 12516 69533fecad
Fixes STR# 3388, format_char(0) can cause array overruns/garbage characters.
Wed Oct 18 14:53:05 2017 Manolo Gouy 12514 dba6b85b4d
Mac OS 10.13 "High Sierra": restore possibility to run app from a command line and find it activated.
Wed Oct 18 12:35:03 2017 Manolo Gouy 12512 4ec7403f12
MacOS: make sure all files dropped to the app at launch time are open when Fl_Window->wait_for_expose() is used.
Wed Oct 18 07:16:46 2017 Greg Ercolano 12511 bc42454074
Addresses STR #2788 for cursor positioning with mouse-click on different sides of character.
    Applying guyben's patch (with small mods suggested by albrecht & greg in comments 7-11).
Wed Oct 18 04:24:51 2017 Manolo Gouy 12510 a92b628774
MacOS: slightly simpler implementation of Fl_Cocoa_Window_Driver::wait_for_expose().
Tue Oct 17 09:01:28 2017 Manolo Gouy 12508 fae02f2b4d
Mac OS: complete changes needed for 10.13 "High Sierra" regarding how FLTK applications start.
    With MacOS 10.13 "High Sierra", it was necessary to change what happens at application start time.
    The new procedure is:
    fl_open_display() calls [NSApp run], and during this call:
         the main event loop is started;
         the app delegate receives an openFile: message for each file dropped on the app icon. Each
               such filename is memorised in an NSMutableArray called dropped_files_list;
         the app delegate receives applicationDidFinishLaunching and stops the main event loop
               (this seems to occur unpredictably after the first openFile: message or after all of them).
    When the FLTK event loop begins, it checks whether dropped_files_list is empty. If it is not,
       the first element of this list is a filename which is opened and is removed from dropped_files_list.
    This new setup allows to turn resizable windows fullscreen and back as expected under MacOS,
    and to support launching apps while dropping file(s) on its icon.
Tue Oct 17 00:38:38 2017 Greg Ercolano 12507 dbc9f1131c
Changed Fl_Simple_Terminal::draw() public -> protected
Tue Oct 17 00:28:56 2017 Greg Ercolano 12506 68f07db58a
Added Fl_Simple_Terminal widget, and mods to test+example programs (STR #3411).
Mon Oct 16 20:39:02 2017 Albrecht Schlosser 12505 93ef00cca6
Fix typo.
Sun Oct 15 17:36:58 2017 Manolo Gouy 12503 507e39fd19
MacOS 10.13: fix problem with window made fullscreen by clicking on green window button - continued.
Sun Oct 15 17:04:53 2017 Manolo Gouy 12502 a8dbc90d99
MacOS 10.13: fix problem with window made fullscreen by clicking on green window button.
    With MacOS 10.13 "High Sierra", when a window is made fullscreen by clicking on the green window button,
    the window hides the system menubar, but it's not possible to show the menubar by moving the pointer
    to the very top of the window. This new way of starting apps fixes this problem.
Sun Oct 15 13:04:45 2017 Albrecht Schlosser 12501 06ca7993a5
Replace remaining calls to getcwd() with fl_getcwd().
Sun Oct 15 12:34:24 2017 Albrecht Schlosser 12500 f9cfe1378d
Rename fl_open_ext() parameter 'translation' to 'binary'.
    The default (0) is 'text' mode, non-zero is 'binary' mode on platforms
    that distinguish text and binary mode.
    Currently Windows is the only supported platform that needs this.
Sun Oct 15 11:47:01 2017 Albrecht Schlosser 12499 1ff9144801
Replace remaining calls to access() with fl_access().
Sun Oct 15 10:46:16 2017 Albrecht Schlosser 12498 a8b58f6b79
Replace inappropriate usage of __WATCOM__ with _MSC_VER.
    Note: this is in parts temporary since some of the functions redefined
    for Visual Studio will be replaced with fl_*() functions in later commits.
Sun Oct 15 10:37:29 2017 Albrecht Schlosser 12497 1af23ab32f
Fix doxygen and other comments, coding style, and alignment.
    Replace QT style doxygen markers "/*!" with Javadoc markers "/**".
    This commit does not change executable code.
Sun Oct 15 10:18:53 2017 Albrecht Schlosser 12496 41f92be2f1
Replace remaining calls to unlink() with fl_unlink().
    Tested under Linux, MinGW, and Visual Studio 2015.
Sat Oct 14 08:54:48 2017 Albrecht Schlosser 12495 6bfa08c63d
Fix conditional compilation under Windows.
    Target of the condition was MS Visual Studio, hence the replacement
    of "ifndef __WATCOMC__" with "#if defined(_MSC_VER)".
    Tested under Windows with MinGW and Visual Studio 2015.
Sat Oct 14 08:35:38 2017 Albrecht Schlosser 12494 ad967af70c
Fix confusing (QT style) doxygen comment marker.
    Add a space between '/*' and '!'.
    Other changes: comment alignment.
Fri Oct 13 15:00:06 2017 Albrecht Schlosser 12493 aff3a0ac12
Update dependencies.
Fri Oct 13 14:58:30 2017 Albrecht Schlosser 12492 66b1690aa8
Replace remaining calls to getenv() with fl_getenv().
    ... except in driver code that uses Fl_System_Driver::getenv().
    Todo: Check if all remaining calls of getenv() in driver code are correct
    or might use ::getenv() to avoid one calling level for optimization.
Fri Oct 13 07:17:01 2017 Manolo Gouy 12491 db83933f58
Remove the Fl_SVG_Image::fl_gzopen() member function that is less useful with the new fl_open_ext() function.
Thu Oct 12 14:54:47 2017 Manolo Gouy 12490 b5027d4f29
Mention new function fl_open_ext().
Thu Oct 12 14:42:12 2017 Manolo Gouy 12489 789ed089c9
Add fl_open_ext() to control whether the file is opened in binary/text mode.
    This new function allows to write Fl_SVG_Image::fl_gzopen() in a completely platform-independent way.
Thu Oct 12 13:05:00 2017 Manolo Gouy 12488 a526818778
Remove undesired rounding when Fl_Shared_Image::scale() is called with proportional = 0.
Wed Oct 11 15:19:45 2017 Manolo Gouy 12486 193c611fc2
Better implementation of Fl_Cocoa_Window_Driver::wait_for_expose() for Mac OS 10.13 High Sierra.
Wed Oct 11 01:35:07 2017 Greg Ercolano 12485 2eeff9d310
Small clarification in dev docs.
Mon Oct 9 02:41:42 2017 Greg Ercolano 12484 5488a4a1e7
Added docs for the mLineStarts[] array, and related mNVisibleLines.
Sun Oct 8 20:38:36 2017 Greg Ercolano 12483 d0e1d16ae8
Added printf() and vprintf() to Fl_Text_Buffer
Fri Oct 6 23:30:07 2017 Greg Ercolano 12482 73f1c43474
Fixed seemingly random whitespace..
Fri Oct 6 12:37:31 2017 Manolo Gouy 12481 2678cb64f9
Fix compiler warning under Visual Studio.
Fri Oct 6 12:13:41 2017 Manolo Gouy 12480 784ff3b52d
Fl_SVG_Image::fl_gzopen(): write it more platform-independently (still not completely though)
Thu Oct 5 18:32:52 2017 Albrecht Schlosser 12479 63420dd956
Fix name clash with zlib gzopen on (64-bit) Linux.
    Compilation error message:
    src/Fl_SVG_Image.cxx:80:21: error: out-of-line definition of 'gzopen64' does
    not match any declaration in 'Fl_SVG_Image'; did you mean 'gzopen'?
    void* Fl_SVG_Image::gzopen(const char *fname) {
    /usr/include/zlib.h:1709:20: note: expanded from macro 'gzopen'
    #    define gzopen gzopen64
    The culprit was the macro defined in zlib.h (above).
Wed Oct 4 21:34:03 2017 Manolo Gouy 12478 0cec3f7e9d
Fl_SVG_Image constructor: handle case where file cannot be opened.
Wed Oct 4 16:26:51 2017 Manolo Gouy 12477 0b797d704c
Fl_SVG_Image class: add support for compressed .svgz image files.
Wed Oct 4 12:21:46 2017 Manolo Gouy 12476 7a9d5be6cb
Undo commit at r.12475 that is not adequate.
Wed Oct 4 11:46:33 2017 Manolo Gouy 12475 5e6bf76b0a
Fl_SVG_Image class: add support for compressed .svgz image files.
Tue Oct 3 05:15:10 2017 Greg Ercolano 12474 6434d5d602
Added missing accessor for Fl_Text_Display's cursor_style()
Mon Oct 2 11:18:41 2017 Albrecht Schlosser 12472 64052828ca
Add public accessor Fl_Shared_Image::original().
    This public, inline, and read-only accessor is intended for debugging
    purposes but can be useful for user code as well.
Wed Sep 27 03:30:13 2017 Greg Ercolano 12471 37a8ef98f0
Small doc simplification/shortening
Mon Sep 25 12:20:11 2017 Manolo Gouy 12470 c68ec2026f
Change copyright year
Sun Sep 24 08:23:23 2017 Manolo Gouy 12469 71f66a8d12
Update the doc of the Fl_Image_Surface constructor to reflect HiDPI support by the WIN32 and X11 platforms.
Sat Sep 23 14:54:23 2017 Manolo Gouy 12468 0a37e2875a
Make function gnome_scale_factor() more robust by checking each gnome key exists before asking for its value.
Sat Sep 23 14:51:00 2017 Manolo Gouy 12467 28d6a56f2a
Change copyright year to reflect date of last commit.
Sat Sep 23 13:31:14 2017 Greg Ercolano 12466 9ccaf26097
Testing svn commits for manolo to see if this triggers website access problems.
Sat Sep 23 07:33:40 2017 Manolo Gouy 12465 615cea792f
Remove obsolete include directive.
Wed Sep 20 15:35:26 2017 Manolo Gouy 12464 5cff9760e5
X11 platform: Allow running with old (< 2.36) versions of libglib-2.0
    These versions require calling g_type_init(). Newer versions don't.
Tue Sep 19 19:33:54 2017 Manolo Gouy 12463 da2d4a8ee5
Convert the initialisation of global variables fl_local_shift, fl_local_meta, etc... using the driver approach.
    This avoids repeating the default values "Shift", "Meta", etc... for several platforms.
Tue Sep 19 17:17:44 2017 Greg Ercolano 12462 213b955442
Added control for when() to test browser's callback behavior.
Tue Sep 19 11:38:51 2017 Manolo Gouy 12461 cc93c29f14
Fl_XXX_System_Driver::clocale_printf() : use thread-specific, locale-setting APIs where possible
    This commit uses thread-specific, locale-setting functions under Linux and MSWindows-Visual Studio
    They are already used by the Mac OS system driver, when possible.
Mon Sep 18 12:15:08 2017 Manolo Gouy 12460 b258f4b029
SVG support: avoid re-rasterizing an image that was previously rasterized at higher resolution.
Thu Sep 14 00:50:36 2017 Greg Ercolano 12459 e483ee8885
Reverting to previous; apparently this was a bug in doxygen 1.7.4's support of header markdown.
    The following is valid, documented, "standard markdown" for headers in doxygen:
        This is a level 1 header
        This is a level 2 header
    Upgrading doxygen from 1.7.4 to 1.8.13 fixed the problem.
    So beware of 1.7.4 wrt to these kinds of header markdown;
    the result in the docs was no header, the header text + underbars
    were appearing inline with the text, crlfs removed.
    Not sure exactly what version of doxygen this was fixed in;
    a search in their bugzilla for 'headers' seemed to show no
    directly relevant matches, other than maybe bug #681898.
Wed Sep 13 23:25:59 2017 Greg Ercolano 12458 b2c94264d9
Doxygen fix: The trick of using a line of dashes under a section heading no longer works.
    This has been working fine for years, not sure what version of doxygen dropped this.
    I'm running 1.7.4 here, and that trick isn't working for the Fl_Browser_.H docs.
    Changed to using <B> and </B> and <BR> which seems to work OK in both HTML and PDF
Wed Sep 13 21:56:49 2017 Greg Ercolano 12457 5a95655c99
Fixed small doxygen inconsistencies for do_callback value.
    Internally Fl_Browser passes the raw value of when() as the
    "do_callbacks" value, so it's important that ALL non-zero values
    mean "do the callback' (and not just 1).
Wed Sep 13 16:15:34 2017 Manolo Gouy 12456 435d135825
SVG support: draw images at full screen resolution also when there are several pixels per graphical unit, as with Apple retina displays.
Wed Sep 13 07:28:35 2017 Manolo Gouy 12455 be7e7f0ee8
Mac OS: use Fl_Graphics_Driver::has_feature(PRINTER) to detect when drawing to a printer.
Wed Sep 13 06:29:16 2017 Manolo Gouy 12454 8767da2dfd
Mac OS: explain more accurately in comments how the tricky part of printing an Fl_RGB_Image is handled.
Tue Sep 12 20:12:47 2017 Greg Ercolano 12453 a1ab2eb7b2
Demo image for Fl_Multi_Label docs.
Tue Sep 12 20:12:21 2017 Greg Ercolano 12452 6779015697
Add reference to image in docs.
Tue Sep 12 20:10:25 2017 Greg Ercolano 12451 e2a28fa071
Add divider above Quit menu item. (needed for demo screenshot)
Tue Sep 12 15:26:36 2017 Albrecht Schlosser 12450 900314d4f4
Documentation and copyright updates.
Tue Sep 12 13:44:15 2017 Albrecht Schlosser 12449 141c3594d2
Fluid: remove redundant code, fix FL_IMAGE_LABEL labeltype.
    Remove leading underscore from _FL_IMAGE_LABEL.
    Remove redundant assignment of image().
    Thanks to Greg for finding these issues.
Tue Sep 12 13:05:48 2017 Albrecht Schlosser 12448 a6803d71c6
Remove leading underscore from labeltyps as far as possible.
    Removed obsolete '\todo' item from docs (done with recent commits).
    Removed redundant code from label assignment (e.g. use FL_IMAGE_LABEL
    instead of label type assignment + use of _FL_IMAGE_LABEL).
    See recent commits.
Tue Sep 12 12:55:30 2017 Albrecht Schlosser 12447 e629a9275b
Fluid: align internal tables (no code changes).
    Note: tab width 8.
Tue Sep 12 12:49:48 2017 Albrecht Schlosser 12446 163b2d4868
Update ignored files: new example howto-menu-with-images.
Mon Sep 11 21:27:53 2017 Greg Ercolano 12445 3fe7b8c396
Doxygen Fl_Multi_Label example code added. (STR #3400)
Mon Sep 11 19:06:32 2017 Albrecht Schlosser 12444 3d90148065
Remove leading underscore from labeltype(s) in new demo.
    Since svn r12443 we can use all labeltypes (including FL_IMAGE_LABEL and
    FL_MULTI_LABEL) w/o leading underscore. We can also use both documented
    variants to assign an FL_MULTI_LABEL to an Fl_Menu_Item.
Mon Sep 11 18:54:10 2017 Albrecht Schlosser 12443 322208b855
Add missing Fl_Labeltype and Fl_Boxtype definitions.
    Some labeltypes and boxtypes were missing a #define for the enum
    without a leading underscore and the corresponding setup function
    to initialize the internal table of boxtypes and labeltypes, for
    instance _FL_MULTI_LABEL. This is now fixed so (hopefully) all boxtypes
    and labeltypes can and _should_ be used w/o leading underscore.
    Note: if there are still boxtypes or labeltypes that can't be used w/o
    leading underscore this should be considered a bug and is to be fixed ASAP.
Mon Sep 11 18:36:35 2017 Greg Ercolano 12442 2670903db9
Simplified the example's menu item callback.
Mon Sep 11 18:12:58 2017 Greg Ercolano 12441 2a41af1fc3
Applied Manolo's recommendation (fltk.coredev), removing unnecessary item->image(*pixmap) call.
Mon Sep 11 00:50:06 2017 Greg Ercolano 12440 88204a5524
Added example code to demonstrate Fl_Multi_Label for STR#3400.
Sun Sep 10 11:38:23 2017 Albrecht Schlosser 12439 b0a2223642
Fix compiler warning and potential error in PNG error handling.
    Compilation with gcc -Wall -Wextra displayed the following warning:
    Fl_PNG_Image.cxx: In member function ‘void Fl_PNG_Image::load_png_(const char*, const unsigned char*, int)’:
    Fl_PNG_Image.cxx:118:9: warning: variable ‘fp’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Wclobbered]
    Making the variable static and initializing it properly avoids this
    potential error in the PNG lib's error handling.
Sat Sep 9 15:58:22 2017 Manolo Gouy 12438 4a8e829f09
Set svn ps for this new file.
Sat Sep 9 15:53:10 2017 Manolo Gouy 12437 c0cc3d4160
These files are no longer used. They are replaced by nanosvg.h and nanosvg.diff.
Sat Sep 9 15:51:06 2017 Manolo Gouy 12436 9dfef1c5f7
Differences between the FLTK-modified and the nanosvg versions of file nanosvg.h
Sat Sep 9 15:47:04 2017 Manolo Gouy 12435 a0e7cbfa57
Fix nanosvg implementation of nsvg__atof() to allow compilation with Visual Studio 7.
Sat Sep 9 12:52:39 2017 Manolo Gouy 12434 a03f8490e6
#include <locale.h> is no longer needed.
Sat Sep 9 12:35:06 2017 Manolo Gouy 12433 8e558595e6
Make virtual member function Fl_Image::draw_scaled(int X, int Y, int W, int H) protected rather than private.
    Consequently, remove the trailing _ from its name reserved for private class members.
Fri Sep 8 15:02:04 2017 Albrecht Schlosser 12432 ae983b74f2
Enhance howto-drag-and-drop example program.
    Refer to discussion if fltk.general, thread "Drag and drop issue"
    in August September 2017.
Thu Sep 7 20:16:08 2017 Manolo Gouy 12431 0bf5f9809a
Modify nanosvg.h to support compilation by Visual Studio 7.
    This is a new implementation that does not tamper with the program's locale.
Wed Sep 6 19:38:56 2017 Manolo Gouy 12430 a222837123
Simplify code using plain atof() instead of implementing function nsvg__atof().
Wed Sep 6 18:06:30 2017 Greg Ercolano 12429 457fb7c0b2
Changed AC_CHECK_HEADER -> AC_CHECK_HEADERS, since two files are being tested, e.g.
Wed Sep 6 17:49:05 2017 Greg Ercolano 12428 3ef0e0d1c4
Small fix to remove an extra paren introduced in r12153
Wed Sep 6 16:52:10 2017 Manolo Gouy 12427 d5cc04b2bc
Set svn ps for this new file
Wed Sep 6 16:51:14 2017 Manolo Gouy 12426 d383b82e7e
Gives differences between FLTK and original versions of file nanosvg.h
Wed Sep 6 16:49:05 2017 Manolo Gouy 12425 a2d9a6a6c4
Return fl_nanosvg.h close to nanosvg.h, without reformatting.
    fl_nanosvg.h had before been reformatted by Xcode.
Wed Sep 6 16:38:11 2017 Manolo Gouy 12424 0dd8392ae9
Set svn ps for this new file
Wed Sep 6 16:25:42 2017 Manolo Gouy 12423 950ec3e863
Modify how the nanosvg source code is used to support compilation with Visual Studio 7.
    1) The original nanosvg.h file is modified for FLTK in file fl_nanosvg.h. The only change is
    to remove the implementation of function nsvg__atof().
    2) FLTK provides an implementation      of nsvg__atof() based on sscanf().
    3) FLTK changes the LC_NUMERIC locale to "C" before calling nanosvg
    and resets it to its previous state after.
Wed Sep 6 00:02:33 2017 Greg Ercolano 12422 16f968b40f
Added the new OPTION_USE_NANOSVG to the README.CMake.txt file.
Tue Sep 5 22:37:07 2017 Greg Ercolano 12421 a4433ca19d
Emphasize in the docs that ".." at the end of cmake commands is
    not an elipsis, but is part of the command.
Mon Sep 4 08:38:06 2017 Manolo Gouy 12420 276b8255e2
Improve doc of the Fl_SVG_Image public constructor.
Mon Sep 4 08:30:19 2017 Manolo Gouy 12419 dd9f32c3f5
Fix typo in documentation of Fl_SVG_Image.
Mon Sep 4 08:06:26 2017 Manolo Gouy 12418 c42b4717a9
Fix erroneous Doxygen command in doc of Fl_SVG_Image::resize().
Mon Sep 4 07:55:21 2017 Manolo Gouy 12417 722faf50cf
Class Fl_SVG_Image: use fl_fopen() to open files with non-ASCII characters in name.
    Also, have copy() copy the value of the image's proportional member variable.
Sun Sep 3 14:20:31 2017 Manolo Gouy 12416 8f81b81beb
Annonce the new Fl_SVG_Image class and related configure/CMake options.
Sun Sep 3 13:20:52 2017 Manolo Gouy 12415 d6349e180a
Set svn:keywords
Sun Sep 3 13:18:07 2017 Manolo Gouy 12414 227b040590
Set eol-style to native.
Sun Sep 3 13:14:25 2017 Manolo Gouy 12413 1a28d85dc3
Add new Fl_SVG_Image class to support scalable vector graphics images using the (modified) nanosvg software.
Sun Sep 3 13:13:53 2017 Manolo Gouy 12412 da31ff4569
Add the nanosvg directory to hold source code belonging to the nanosvg software.
Wed Aug 30 17:44:09 2017 Manolo Gouy 12411 df8c9ba80c
Add missing default values for virtual member functions.
Wed Aug 30 15:49:58 2017 Manolo Gouy 12410 eae09e7fa0
Create virtual Fl_Image::draw_scaled_(int X, int Y, int W, int H) and its implementations for image classes.
    This allows to use the virtual function mechanism to adapt scaled image drawing both to the
    image type and the graphics driver type.
Wed Aug 30 10:21:56 2017 Manolo Gouy 12409 1b77509133
Modify Fl_Shared_Image::scale(int, int) for the case of an erroneous image object.
Wed Aug 30 09:10:40 2017 Manolo Gouy 12408 6ac3d87d31
Move Fl_Graphics_Driver::draw(Fl_Shared_Image* from Fl_Shared_Image.cxx to Fl_Graphics_Driver.cxx where it belongs.
Wed Aug 30 08:59:50 2017 Manolo Gouy 12407 9fc2d43102
Improve Doxygen comments related to image drawing
Mon Aug 28 11:10:01 2017 Albrecht Schlosser 12406 fa5851b292
Fix typos (comments and documentation).
Sun Aug 27 08:01:55 2017 Manolo Gouy 12405 52249a960d
Associate gl_font() and gl_draw() calls.
Sun Aug 27 07:58:38 2017 Manolo Gouy 12404 ab7c915bf0
Fix for STR#3397: find adequate X font to use it with GL.
Sat Aug 26 14:15:20 2017 Manolo Gouy 12402 04565cdcad
Fl_WinAPI_Window_Driver::capture_titlebar_and_borders(): remove a few unnecessary statements.
Sat Aug 26 14:10:56 2017 Manolo Gouy 12401 1fdf15d8eb
WIN32: allow to change the active drawing surface between Fl_Display_Device and Fl_Image_Surface and keep the clipping region correct.
Fri Aug 25 18:04:56 2017 Manolo Gouy 12400 a57381e804
Fl_Scalable_Graphics_Driver::draw(Fl_RGB_Image *,...) : change how the current scaling factor is taken into account.
Fri Aug 25 17:42:46 2017 Manolo Gouy 12399 86e60e9068
X11 and WIN32: slightly change Fl_XXX_Graphics_Driver::cache(Fl_Pixmap*) to use the Fl_Image_Surface object.
Fri Aug 25 15:33:05 2017 Manolo Gouy 12398 9eeac9c737
X11+xft-pango: have Fl::set_fonts() show fonts with black, light, medium, demi bold, oblique styles.
Fri Aug 25 15:02:25 2017 Manolo Gouy 12397 475d2504bd
WIN32: have Fl_win32.cxx #include "config_lib.h"
Thu Aug 24 12:40:29 2017 Manolo Gouy 12396 c7405a22a8
X11 platform: cleaner implementation of changing the active drawing surface and maintaining clip regions.
Sun Aug 20 20:18:15 2017 Manolo Gouy 12395 c2d5cf4067
Simplify using Fl_XXX_Graphics_Driver::copy_offscreen() instead of Fl_Scalable_Graphics_Driver::copy_offscreen_unscaled()
Sun Aug 20 11:41:53 2017 Manolo Gouy 12394 4331fdf46b
Remove undesirable statement.
    A bug was visible in test/unittests when moving between lines and rectangles.
Sat Aug 19 07:29:26 2017 Manolo Gouy 12393 c51cbd0a50
Prevent situation where SetProcessDPIAwareness was called after Fl_WinAPI_Screen_Driver::init().
    The effect was that the file_chooser test app did not recognize the window scaling factor.
Fri Aug 18 15:46:20 2017 Albrecht Schlosser 12392 b4e434774f
Remove unnecessary #include files from Fl_Help_View.H
Fri Aug 18 15:18:46 2017 Albrecht Schlosser 12391 3a5e2f074b
Update dependencies.
Fri Aug 18 15:16:08 2017 Albrecht Schlosser 12390 2828cbde2c
Avoid #include's of unrelated system headers in Fl_Table*.H.
    Possible side effect: programs that relied upon inclusion of unrelated
    system headers by FL/Fl_Table.H or FL/Fl_Table_Row.H may fail to compile.
    Removed include files (some only on certain platforms, list may be incomplete):
    #include <FL/Fl.H>             // moved to implementation (.cxx)
    #include <FL/Fl_Box.H>         // moved to implementation (.cxx)
    #include <FL/Fl_Scrollbar.H>   // moved to implementation (.cxx)
    #include <sys/types.h>
    #include <string.h>            // memcpy
    #include <malloc.h>            // WINDOWS only: malloc/realloc
    #include <stdlib.h>            // UNIX: malloc/realloc
Fri Aug 18 15:00:06 2017 Albrecht Schlosser 12389 638fba6020
Documentation: remove unnecessary item from TODO list.
Wed Aug 16 15:41:59 2017 Manolo Gouy 12388 46288a2bdb
class Fl_GDI_Image_Surface_Driver: remove member variable 'previous' that is useless.
Tue Aug 15 16:45:38 2017 Albrecht Schlosser 12387 51c788095a
Add missing #include "config_lib.h" in Fl.cxx.
Tue Aug 15 15:26:50 2017 Manolo Gouy 12386 1c818271b1
Complete previous commit at r.12385 that was partial.
Tue Aug 15 14:52:50 2017 Manolo Gouy 12385 d42e7374a5
Update support of rescaling which no longer involves hide/show of the window.
Tue Aug 15 14:44:35 2017 Manolo Gouy 12384 108a5e8de2
Complete previous commit at r.12383 that was partial.
Tue Aug 15 14:30:48 2017 Manolo Gouy 12383 6bcadf536f
Fl_XXX_Surface_Driver::set_current() : call Fl_Surface_Device::set_current() first to get fl_window right.
Tue Aug 15 14:26:25 2017 Manolo Gouy 12382 f7f2e06fe4
Remove _sgc private member of Fl_GDI_Image_Surface_Driver that is not necessary.
Mon Aug 14 17:10:26 2017 Albrecht Schlosser 12381 ec951ce695
Remove unnecessary #include statements and compilation guards.
    Currently src/drivers/OpenGL/Fl_OpenGL_Graphics_Driver.cxx wouldn't
    contribute any code to the lib, but it is kept for future extensions.
    This file is no longer compiled (see src/CMakeLists.txt and src/Makefile).
    Tested (only) under Windows and Linux.
Mon Aug 14 15:44:41 2017 Albrecht Schlosser 12380 4198caa780
Make 'driver' header include guards more standard.
Mon Aug 14 11:42:34 2017 Albrecht Schlosser 12379 5a9c159350
Remove unnecessary #include statement.
Sun Aug 13 13:51:14 2017 Manolo Gouy 12378 01a885f911
Fl_Xlib_Graphics_Driver::set_fonts() with Pango: handle case when 'Regular' is not alone in face name.
Sun Aug 13 11:50:47 2017 Manolo Gouy 12377 67a63d40e0
Fl_Xlib_Graphics_Driver::set_fonts() with Pango: account better for variety of possible font styles.
Sat Aug 12 15:28:44 2017 Manolo Gouy 12376 44a3f9fce9
Fix error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
Sat Aug 12 15:16:35 2017 Manolo Gouy 12375 7a6124bda6
Improve Fl_Xlib_Graphics_Driver::set_fonts() when using Pango to build standard FLTK font names prefixed with I,B, or P.
Sat Aug 12 14:53:39 2017 Albrecht Schlosser 12374 7fc5bfc1ca
Add tooltips to new draggable-group example program.
    ... as suggested by Greg.
Sat Aug 5 16:44:49 2017 Albrecht Schlosser 12372 f643714879
Add draggable-group example program.
Sat Aug 5 14:25:09 2017 Manolo Gouy 12371 6126e8cb0e
Strenghten Fl_WinAPI_System_Driver::paste(): the widget's handle method may change Fl::e_text.
    The widget's handle method may change the value of Fl::e_text.
    This occurs for instance if this method calls fl_choice().
    So, memorize the value of Fl::e_text before, to delete the correct array after the call to the handle method.
Sat Aug 5 09:55:22 2017 Albrecht Schlosser 12370 090f325780
Fix compiler warning [-Wunused-result].
Sat Aug 5 09:43:12 2017 Albrecht Schlosser 12369 e7af621409
Fix whitespace and comments.
Mon Jul 31 07:47:48 2017 Manolo Gouy 12368 87b1ff244d
Improve Fl_Widget_Surface::print_window_part() with better quality when scaling factor > 1.
Sun Jul 30 16:21:57 2017 Manolo Gouy 12367 c4e04e4c7f
Improve rescaling when window moved across screens: make sure center stays on new screen.
Sun Jul 30 15:19:36 2017 Manolo Gouy 12366 5a7a954ebd
Fix Fl_Widget_Surface::print_window_part() that was not correct for scaling factor values < 1.
Sat Jul 29 07:36:04 2017 Manolo Gouy 12365 16d69ff7aa
Fix Fl_Screen_Driver::read_image() that was not correct with scaling factor < 1.
Fri Jul 28 15:51:05 2017 Manolo Gouy 12364 c88466928d
Replace static protected bool Fl_Window_Driver::is_a_rescale by a private static variable and a public getter.
Fri Jul 28 14:06:18 2017 Manolo Gouy 12363 879c4df5bd
Fix Fl_Native_File_Chooser::filter_value()
Fri Jul 28 07:46:33 2017 Manolo Gouy 12362 60567b12ef
Rewrite Fl_X11_Window_Driver::resize_after_screen_change() to call Fl_Window_Driver::resize_after_scale_change()
Fri Jul 28 07:23:03 2017 Manolo Gouy 12361 bf033e7191
Remove temporary code used for development only.
Thu Jul 27 15:11:33 2017 Manolo Gouy 12360 7bd24a428d
IsIconic() is the adequate WINAPI function to detect a minimised window.
Thu Jul 27 14:48:27 2017 Manolo Gouy 12359 4a85b82ffe
Simpler initialisation of the 'scale' local variable in WndProc().
Thu Jul 27 14:38:35 2017 Manolo Gouy 12358 3f572e327f
Rename Fl_Window_Driver::in_resize_after_scale_change to 'is_a_rescale' which is more expressive.
Thu Jul 27 08:30:20 2017 Manolo Gouy 12357 813bc06b19
Fix window iconize/deiconize when multiple screens with distinct scaling factors.
Wed Jul 26 12:32:13 2017 Albrecht Schlosser 12356 6b24b20966
Fix confusing behavior of class Fl_Text_Selection.
    Fl_Text_Selection got a new method length() and returns 0 in length()
    and in all offsets (start(), end(), position()) if no text is selected
    (selected() == false).
    The behavior in FLTK 1.3 and earlier versions (returning undefined
    values if !selected()) was confusing.
Wed Jul 26 07:45:59 2017 Manolo Gouy 12355 4c999258f1
X11 platform, resize window when moved across screens: remove hide()/show() calls.
Tue Jul 25 18:44:19 2017 Albrecht Schlosser 12354 463b3e5d9d
Fix blocks demo keyboard handling, add new shortcut.
    The blocks demo was unintentionally intercepting ctrl/+ which was
    introduced in FLTK 1.4.0 to change scaling for HiDPI screens. Now this
    is separated: use ctrl/+/-/0 to change scaling, use '+' alone to change
    the game level.
    The new keyboard shortcut ALT+SHIFT+H allows users to reset their high
    scores without editing the preferences file.
Tue Jul 25 18:15:52 2017 Albrecht Schlosser 12353 768ba675b0
Fix test/blocks "runaway timer" bug.
    Bug #1: When entering the next level an _additional_ timeout was started,
    hence multiple timers would run in parallel and increase the game's speed
    more than (supposedly) intended.
    Bug #2: When the game was over, these additional timers were not stopped,
    hence level 1 was never again as slow as it should be.
    This is fixed in this commit. Additionally the timer values are defined
    as preprocessor macros (constants) for easier fine tuning. To compensate
    for the lower speed in higher levels the LEVEL_FACTOR was reduced from
    0.95 to 0.90 so the higher levels are slightly faster than without this
    Note: the result of this fix (generally less speed increase per level)
    may result in higher scores.
Tue Jul 25 17:25:51 2017 Albrecht Schlosser 12352 7aea5b50a0
test/blocks: improve timer test code.
    This commit does not change operative code but adds the ability to test
    the timer callback under Windows and improves the timer statistics.
    The code has been formatted in some parts, but not "everywhere".
Tue Jul 25 15:28:43 2017 Manolo Gouy 12351 5a8a2e1ee5
Remove virtual Fl_Window_Driver::reuse_icons() no longer useful after r.12349.
Tue Jul 25 11:31:19 2017 Manolo Gouy 12350 9c47bc322c
Remove Fl_Window_Driver::reuse_cursor() that is no longer used since commit r12349.
Tue Jul 25 10:57:24 2017 Manolo Gouy 12349 225c3d6da3
Rewrite Fl_Window_Driver::resize_after_scale_change() removing calls to Fl_Window::hide() and Fl_Window::show().
    Windows are now rescaled with a call to Fl_Window::resize() which has been slightly modified.
    Static member variable bool Fl_Window_Driver::in_resize_after_scale_change is created,
    and is true if and only if Fl_Window::resize() is called by Fl_Window_Driver::resize_after_scale_change().
    This new flag allows Fl_Window::resize() to perform correctly the rescaling of the window.
    Fl_Gl_Window::resize() and Fl_Double_Window::resize() also consult the value of
    the Fl_Window_Driver::in_resize_after_scale_change flag.
    The platform-specific Fl_WinAPI_Window_Driver::resize() and Fl_X11_Window_Driver::resize()
    also use  the Fl_Window_Driver::in_resize_after_scale_change flag.
Mon Jul 24 15:20:59 2017 Manolo Gouy 12348 2b529dc25d
Remove useless statement.
Mon Jul 24 06:32:26 2017 Manolo Gouy 12347 649a68dc0c
Fix incorrect difference between branches 1.3 and 1.4 in an Fl_Overlay_Window constructor.
Sat Jul 22 08:43:14 2017 Albrecht Schlosser 12346 8047691006
Update list of files excluded from documentation.
Thu Jul 20 15:16:37 2017 Albrecht Schlosser 12345 a8c4f77d50
Improve docs of Fl_Widget::callback() and do_callback().
    Clarify that all variants of do_callback() call clear_changed() after
    the callback and that 'long Fl_Widget::argument()' may truncate the
    user_data value on some (particularly Windows 64-bit) platforms.
    Some code has been reformatted and refactored with better variable names,
    but there are no effective code changes.
    Obsolete, inactive code was removed.
Thu Jul 20 15:06:11 2017 Albrecht Schlosser 12344 db1f29fdb5
Update Fl_Widget_Tracker docs with better example code.
Thu Jul 20 11:04:59 2017 Manolo Gouy 12343 94c9d70f7c
Make Fl_Widget_Surface::draw(Fl_Widget *wid, int, int) draw also the overlay if 'wid' is an Fl_Overlay_Window.
Thu Jul 20 09:25:49 2017 Manolo Gouy 12342 ae2cc54519
Remove unnecessary local variable.
Thu Jul 20 08:54:01 2017 Manolo Gouy 12341 e1972d2868
Remove Fl_Cocoa_Window_Driver::flush_double() because it is equal to Fl_Window_Driver::flush_double()
Thu Jul 20 08:10:45 2017 Manolo Gouy 12340 4764b9bc2e
Fl_Window_Driver::flush_single() needs not be a virtual member function.
    It is really an accessor to protected method Fl_Window::flush().
    Rename it to Fl_Window_Driver::flush_Fl_Window to reflect that.
Wed Jul 19 16:19:15 2017 Manolo Gouy 12339 864c7609c7
Remove unwanted difference in one Fl_Double_Window constructor between branches 1.3 and 1.4.
Tue Jul 18 20:15:02 2017 Albrecht Schlosser 12338 9d10d08ed0
[CMake] Add an option to use High-DPI support (Windows only).
    This option can be used with CMake to configure the experimental
    high-DPI support under Windows. The option may be removed once high-DPI
    support under Windows is complete.
Tue Jul 18 15:34:12 2017 Albrecht Schlosser 12328 7dda366286
Remove documentation of STR #3374 from CHANGES.
    We don't need to document STR fixes of bugs that have been introduced
    and fixed in FLTK 1.4.0 svn since this is not a regression since 1.3.x.
Tue Jul 18 14:35:05 2017 Manolo Gouy 12327 cfe6e8e4b6
Simplify handling of the windowDidMove notification since MacOS 10.10
Tue Jul 18 05:54:25 2017 Manolo Gouy 12325 65b334777f
Added support for MacOS 10.13 "High Sierra".
Mon Jul 17 17:08:37 2017 Albrecht Schlosser 12323 bd1ba631fb
Add script to update bundled config files, and update files.
    The bundled scripts misc/config.guess and misc/config.sub should be
    updated from time to time to get support for new platforms.
    The new script 'misc/update_config_scripts' can be used to download
    the latest versions of config.guess and config.sub.
Mon Jul 17 01:20:00 2017 Greg Ercolano 12322 38f134c1ed
Some compilers probably need string.h for strcmp()..
Mon Jul 17 01:13:28 2017 Greg Ercolano 12321 0173358351
Added new example program 'nativefilechooser-simple.cxx'
    (Simpler than the application example)
Sun Jul 16 17:42:28 2017 Manolo Gouy 12320 e9741d01f0
X11 platform: Fix bug in test/overlay where overlay is clipped when using button shortcuts.
    In branch 1.3, file src/Fl_Overlay_Window.cxx, function Fl_Overlay_Window::flush(),
    part of line 49 was not reproduced in branch 1.4.
    This fix reproduces in branch 1.4 the equivalent of the code in branch 1.3.
Fri Jul 14 19:58:28 2017 Manolo Gouy 12318 a74cca3219
Support of MacOS 10.13 to appear soon: fix handling of window moves in presence of subwindows.
Fri Jul 14 06:56:20 2017 Manolo Gouy 12317 872406c871
FLDropTarget::DragEnter() replace call to Fl_Screen_Driver::get_mouse(int&, int&) by call to GetCursorPos(POINT*)
Thu Jul 13 11:42:45 2017 Manolo Gouy 12315 196d0a73b4
Fix for STR#3390 Drop to FLTK widget fails when desktop is scaled - new solution.
Wed Jul 12 21:51:42 2017 Albrecht Schlosser 12313 c92fee897b
Fix Visual Studio shared library build (STR #3389).
Wed Jul 12 21:49:19 2017 Albrecht Schlosser 12312 b7851fac8e
Add missing #include in fltk-versions example program.
Tue Jul 11 17:19:25 2017 Manolo Gouy 12308 f84b9040f7
WIN32 platform: Fix drag-n-drop to FLTK widget when the desktop is scaled and FLTK_HIDPI_SUPPORT is not defined.
Tue Jul 11 13:22:56 2017 Manolo Gouy 12307 b601e9558d
Add missing definition of the 'uchar' type in FL/x.H
Tue Jul 11 12:03:05 2017 Manolo Gouy 12306 9276dad42f
End of fix for STR#3387 "Bug of timer implementation on macosx"
Fri Jul 7 21:00:17 2017 Matthias Melcher 12305 a8f4fbc2ef
STR #2823.2/2: Improved Fl_Preferences "dirty" flag handling.
Fri Jul 7 20:34:28 2017 Matthias Melcher 12304 7542e8cb16
STR #2823.1/2: avoiding setting "dirty" flag in a read operation.
Fri Jul 7 19:42:12 2017 Albrecht Schlosser 12303 d9460d787b
Update dependencies (makedepend).
Fri Jul 7 19:16:40 2017 Albrecht Schlosser 12302 0c210ae867
Introduce Fl_Group::bounds(), deprecate Fl_Group::sizes().
    The new method Fl_Group::bounds() replaces Fl_Group::sizes() whose
    internal array structure was not documented.
    Fl_Group::bounds() uses the new and documented class Fl_Rect for its
    internal structure.
    src/Fl_Tile.cxx now uses bounds() instead of sizes().
Fri Jul 7 18:28:10 2017 Albrecht Schlosser 12301 27d7736475
Fix some typos.
Fri Jul 7 16:23:22 2017 Matthias Melcher 12300 bec74afb39
More logical data path name
Fri Jul 7 16:19:26 2017 Matthias Melcher 12299 1a7dc77851
STR #2034: Fl_Preferences::getUserdataPath()  is much more careful when creating a pathname based on the preferences filename. Among other things, remove a possible buffer overflow.
Fri Jul 7 15:06:51 2017 Manolo Gouy 12298 9f69df923f
Define Fl_WinAPI_Screen_Driver::DWM_scaling_factor() only without FLTK_HIDPI_SUPPORT.
Fri Jul 7 14:31:40 2017 Manolo Gouy 12297 7847c2d87a
WIN32 HiDPI support: fix copy and paste of image data when rescaling is applied.
Fri Jul 7 14:16:35 2017 Manolo Gouy 12296 22d90078bd
Fix Fl_WinAPI_Window_Driver::border_width_title_bar_height() when built without FLTK_HIDPI_SUPPORT
Fri Jul 7 09:33:17 2017 Manolo Gouy 12295 23e3535257
WIN32 HiDPI support: fix scaling support for Fl_Copy_Surface.
Fri Jul 7 08:09:31 2017 Manolo Gouy 12294 90f2bba62b
Fix Fl_GDI_Graphics_Driver::point_unscaled() so points are also enlarged when scaling increases.
Fri Jul 7 08:04:45 2017 Manolo Gouy 12293 9d024ceb7e
Fix drag-n-drop for WIN32 platform when rescaling is active.
Wed Jul 5 17:15:16 2017 Albrecht Schlosser 12292 e562ec02a6
Update several README files, remove obsolete information.
    To be continued ...
Wed Jul 5 15:02:43 2017 Matthias Melcher 12291 ae22b98442
Added CMake build instructions for MacOS and Xcode
Wed Jul 5 13:53:31 2017 Albrecht Schlosser 12290 2a8d11bb37
Fix compiler warning [-Wunused-variable].
Wed Jul 5 13:41:16 2017 Albrecht Schlosser 12289 90a6c3eb35
Remove obsolete comment, fix code formatting.
Tue Jul 4 18:55:05 2017 Manolo Gouy 12288 ab208735fa
HiDPI support under WIN32: fix fullscreen when several monitors of distinct resolution.
Tue Jul 4 17:15:23 2017 Manolo Gouy 12287 976959c98e
Slight improvement of Fl_WinAPI_Window_Driver::border_width_title_bar_height()
Mon Jul 3 17:38:20 2017 Manolo Gouy 12286 99615372a6
Fix Fl_WinAPI_Gl_Window_Driver::pixels_per_unit() when on secondary monitor.
Mon Jul 3 17:31:57 2017 Manolo Gouy 12285 8dccfc8838
HiDPI support under WIN32 platform: completed.
Sat Jul 1 10:12:10 2017 Manolo Gouy 12284 ba10af9edb
WIN32: fix error when building without FLTK_HIDPI_SUPPORT.
Thu Jun 29 18:27:07 2017 Albrecht Schlosser 12283 601e86fba5
CMake: fix potential compiler warning in test file.
    clang reports: control reaches end of non-void function [-Wreturn-type]
Thu Jun 29 18:12:57 2017 Albrecht Schlosser 12282 90f6c8ee26
Update copyright year(s).
Thu Jun 29 17:51:27 2017 Albrecht Schlosser 12281 3eb6b7ea58
CMake: replace improperly used variables with correct ones.
    CMake variables FLTK_SOURCE_DIR and FLTK_BINARY_DIR are only defined
    if the project name is exactly "FLTK" (all uppercase). These variables
    are generated (set) by CMake as <PROJECT_NAME>_SOURCE_DIR etc.
    The correct variables are CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR,
    respectively, which are always defined.
    This commit enables future changes of the FLTK project name, e.g. to
    "fltk" or "fltk-1.4.0" (a versioned project name), if we like...
Thu Jun 29 09:44:35 2017 Manolo Gouy 12280 7dc496e97d
HiDPI support for WIN32 platform: begin to support screen-specific scale factor.
Thu Jun 29 01:13:05 2017 Albrecht Schlosser 12279 c6c4e8d426
Remove unnecessary Fl_Widget_Tracker from Fl_Dial's handle().
    handle_push() doesn't call a callback, hence Fl_Widget_Tracker is not
    Added FALLTHROUGH and NOTREACHED comments.
Wed Jun 28 20:34:05 2017 Albrecht Schlosser 12278 14a6e9d103
Fix code formatting and typos.
    Added some braces around the bodies of one-statement for loops for clarity.
Wed Jun 28 17:07:09 2017 Manolo Gouy 12277 85724f00a0
Better implementation of Fl_WinAPI_Window_Driver::reuse_cursor() that will also work with custom cursors.
Wed Jun 28 15:15:34 2017 Manolo Gouy 12276 582701ba07
HiDPI support: keep window's icons after rescaling
Wed Jun 28 13:33:53 2017 Manolo Gouy 12275 322b62a9f1
HiDPI support: keep window's cursor after rescaling.
Tue Jun 27 13:01:12 2017 Albrecht Schlosser 12274 9041a3dc70
Fix fluid's widget_panel coordinates and widget order.
    Added comments to hidden widgets and (also hidden) resizable box.
Tue Jun 27 12:17:29 2017 Manolo Gouy 12273 7f15c3010c
WIN32 platform: more progress for full HiDPI support
Tue Jun 27 07:39:58 2017 Manolo Gouy 12272 7fbf318c53
Exact computation of scaled clipping region for X11 platform.
    Each rectangular component of the clipping region is transformed exactly as by Fl_Xlib_Graphics_Driver::rectf_unscaled()
Mon Jun 26 15:20:25 2017 Manolo Gouy 12271 66200436bf
Fix for STR#3387 Bug of timer implementation on macosx
Wed Jun 21 20:00:28 2017 Albrecht Schlosser 12270 51ed4e2162
Code formatting only. No significant changes.
    In preparation of adding Fl_Scroll_Tabs.
Wed Jun 21 16:08:32 2017 Manolo Gouy 12269 93a99431ed
Move line_width_ protected member variable from Fl_Xlib_Graphics_Driver to Fl_Scalable_Graphics_Driver
Mon Jun 19 17:30:03 2017 Manolo Gouy 12268 fa3d8c6259
HiDPI support under WIN32: fix bugs with tile demo and with fullscreen demo.
Mon Jun 19 11:48:16 2017 Manolo Gouy 12267 cd1fd95f05
HiDPI support under WIN32: fix fullscreen mode when scaling factor is > 1.
Mon Jun 19 11:37:01 2017 Manolo Gouy 12266 4e72aac792
HiDPI support under WIN32 platform: fix Fl_WinAPI_Window_Driver::capture_titlebar_and_borders() under XP.
Sun Jun 18 16:01:53 2017 Manolo Gouy 12265 701fa00c7c
Advancing HiDPI support for the WIN32 platform - still incomplete.
    It's still necessary to compile with -DFLTK_HIDPI_SUPPORT
    to activate the new HiDPI support.
    Default builds get the same HiDPI support as in FLTK 1.3
Sat Jun 17 06:53:44 2017 Manolo Gouy 12264 2cda5a4fa6
Make Fl_Screen_Driver::get_mouse(int&, int&) return the number of the mouse-containing screen.
Fri Jun 16 15:07:53 2017 Manolo Gouy 12263 ea56e744af
Allow calling Fl_Window::decorated_w() with const Fl_Window object and also for decorated_h (cont'd)
Fri Jun 16 09:29:54 2017 Manolo Gouy 12262 24b40a2e47
Allow calling Fl_Window::decorated_w() with const Fl_Window object and also for decorated_h.
Thu Jun 15 15:39:55 2017 Albrecht Schlosser 12261 e14c387e8e
Limit initial scaling factor to sensible values.
    FLTK_SCALING_FACTOR=0 or negative values would issue unexpected
    X11 warnings or crash immediately.
    Also commented out scaling factor output statements (printf).
Tue Jun 13 10:35:18 2017 Albrecht Schlosser 12260 a10eae7443
Remove copy constructor from Fl_Rect.
    As suggested by Manolo in STR #3385, comment #7.
Mon Jun 12 12:35:22 2017 Albrecht Schlosser 12259 60d7c41742
Add first version of FL/Fl_Rect.H.
    This version is not yet used in existing code. It may be extended with
    more methods if we find we need them.
Sun Jun 11 06:12:20 2017 Manolo Gouy 12258 ac4b59abf5
Scaling for WIN32 platform: avoid undrawn right and bottom window margins when manually resizing windows
Sat Jun 10 06:28:12 2017 Manolo Gouy 12257 fe4f37519d
Remove temporary code used for development of the scaling support.
Sat Jun 10 06:20:01 2017 Manolo Gouy 12256 741c2970fc
Remove warning when compiled with -Wmisleading-indentation
Sat Jun 10 06:10:37 2017 Manolo Gouy 12255 8de22cfa42
Scaling for X11 platform: avoid undrawn right and bottom window margins when manually resizing windows
Tue Jun 6 19:09:02 2017 Manolo Gouy 12254 6b2c5fcd09
X11 platform: Accurate box graphics at wide range of scaling factor values.
Tue Jun 6 07:38:39 2017 Manolo Gouy 12253 a6e2c33ffd
MacOS system menus: replace 'rank' by 'index' to denote a number identifying a menu item.
Sun Jun 4 14:39:05 2017 Albrecht Schlosser 12252 9ee09b1f90
Fix Fl_Browser background and text color parsing (STR #3376).
Fri Jun 2 14:04:31 2017 Manolo Gouy 12251 822f14c77a
Fix problem introduced at r.12247
Fri Jun 2 09:18:59 2017 Manolo Gouy 12250 c6cb25aa1b
Fix typo.
Fri Jun 2 09:13:47 2017 Manolo Gouy 12249 7b52aafcec
Document new HiDPI support under the X11 platform.
Fri Jun 2 07:16:43 2017 Manolo Gouy 12248 37bcc744c8
Make sure the scaling factor has been initialised when setting a font.
Thu Jun 1 17:41:42 2017 Manolo Gouy 12247 12fd93485f
Remove the 'defined(WIN32)' and 'defined(__APPLE__)' preprocessor directives introduced at r.12239
Thu Jun 1 15:23:26 2017 Manolo Gouy 12246 0960d07315
Additional check in Fl_Xlib_Graphics_Driver::font_unscaled(Fl_Font, Fl_Fontsize) to recognize if current font is unchanged.
Thu Jun 1 14:05:47 2017 Manolo Gouy 12245 90efebb97e
Divide virtual Fl_Screen_Driver::open_display() in a platform-specific part followed by a platform-independent part.
Mon May 22 14:42:06 2017 Manolo Gouy 12244 3a390bfb5f
X11 + Pango platform: improve text drawing with angle.
    Make sure that text length computed without angle is equal to text length drawn with angle.
    This property is essential so that rotated text appears at controlled location at both ends.
Mon May 22 14:34:38 2017 Albrecht Schlosser 12243 c364bb73f6
Make some methods of Fl_Tabs protected and/or virtual (STR #3211).
    Patch proposed by Teklad (STR #3211, file #7):
    with minor modifications and adjustments for FLTK 1.4.0.
    Method which() is now also virtual, as suggested by guyben in comment #24.
Mon May 22 13:59:22 2017 Manolo Gouy 12242 0489d79085
Fix warnings: 'Fl_Xlib_Graphics_Driver::scale' hides overloaded virtual function [-Woverloaded-virtual]
Sun May 21 14:48:44 2017 Albrecht Schlosser 12241 58c21c0bc6
Fix Visual Studio build with HiDPI support.
Thu May 18 17:26:34 2017 Manolo Gouy 12240 f2c27b5090
Add void fl_scale_offscreen(Fl_Offscreen &ctx) to support the rescaling of an offscreen buffer.
Wed May 17 11:54:18 2017 Manolo Gouy 12239 f48750b0f4
Introduce HiDPI + rescaling support for the X11 platform (+ partial support for WIN32)
    Corresponds to STR #3320
    1) HiDPI support consists in detecting the adequate scaling factor for the screen on which
    FLTK maps a window, and scaling all FLTK units by this factor. FLTK tries to detect the correct
    value of this factor at startup (see more details below). Environment variable
    FLTK_SCALING_FACTOR can also be used to set this value.
    2) Rescaling support consists in changing the scaling factor of all FLTK windows
    in reply to ctrl/+/-/0/ keystrokes.
    More details for the various platforms :
    - X11: Support is very advanced. Some details need still to be improved.
    Automatic detection of the correct starting value of the scaling factor works well
    with the gnome desktop. The present code contains no support for this on
    other desktops.  FLTK_SCALING_FACTOR provides a workaround.
    -WIN32: Support is incomplete at this point, although many test
    applications have partial or complete HiDPI and scaling support.
    The current value of the system's scaling factor is correctly detected
    at application startup. Apps respond to changes of this value in real time.
    Support needs to define the FLTK_HIDPI_SUPPORT preprocessor variable
    at compile time. This way, standard builds produce a code with the
    default WIN32 HiDPI support, that is, where all graphics goes to an internal
    buffer that gets enlarged by the system and then mapped to the HiDPI
    display. To experiment with (or develop) the new HiDPI support requires
    a modified build procedure in which  FLTK_HIDPI_SUPPORT is defined
    at compile time. When the support will be complete, the requirement for the
    definition of this preprocessor variable will be removed. The present commit
    contains support for a single scaling factor. Eventually, per-screen scaling
    factors should be implemented, as done for X11.
    - MacOS: this commit does not give new HiDPI for this platform.
    Eventually, window rescaling in reply to command/+/-/0/ is desirable.
    Per-screen scaling factor makes no sense on this platform because
    the OS itself takes care of the difference between the resolutions of
    traditional and retina displays.
Mon May 15 15:35:30 2017 Albrecht Schlosser 12238 22a5dd4fcf
Fix typo.
Mon May 15 15:30:52 2017 Albrecht Schlosser 12237 a1d3936554
Allow to disable shadows in Fl_Clock and derived widgets.
    As discussed on 2017-05-15 in fltk.general, thread "Fl_clock".
Mon May 15 14:26:02 2017 Albrecht Schlosser 12236 034148b289
Improve and clarify Fl_Clock documentation.
Thu May 11 11:44:06 2017 Greg Ercolano 12235 039beaf26a
Added some example code to Fl_Gl_Window::draw() docs..
Sat May 6 07:36:40 2017 Manolo Gouy 12234 39b2976f88
De-duplicate code to load pointer to the TransparentBlt() system function at run-time.
Fri May 5 16:27:59 2017 Manolo Gouy 12233 0794cc0ceb
Fix erroneously cased include file names
Thu May 4 22:24:01 2017 Greg Ercolano 12232 5769ac6210
Added Fl_Table docs for how to deselect.
    Issue raised by Mich Paw today on fltk.general.
Tue May 2 12:44:54 2017 Manolo Gouy 12231 139c5d9c2d
Add Doxygen documentation for fl_create_bitmask() and fl_delete_bitmask().
Thu Apr 27 16:29:30 2017 Greg Ercolano 12230 501b4f7a52
Document Fl_Table's protected member variables.
Thu Apr 27 01:40:21 2017 Greg Ercolano 12229 1bb2ef7b0b
Small doc clarifications for the Fl_Table::TableContext enum.
Wed Apr 26 20:12:34 2017 Greg Ercolano 12228 afd118047b
Fl_Table was missing doxygen docs for several public + protected members.
    Solves STR# 3381.
    Also: standardized doxygen comment style in both files;
          > /** */ doxygen commenting
          > 2 space indent
    Removed some confusing non-doxygen comments, and rewrote some confusing ones.
    Removed old license info Matt had imported from my original 2002 widget..
    there was no reason for it to be in there; the Fl_Table code inside FLTK
    is licensed under the FLTK GPL license, no need for the extra noise in the docs.
Tue Apr 25 17:05:17 2017 Manolo Gouy 12227 18a84d073d
Remove Fl_Translated_GDI_Graphics_Driver and have its functions performed by Fl_GDI_Graphics_Driver.
Tue Apr 25 12:42:22 2017 Manolo Gouy 12226 2ddc89fb61
Add an argument to the private, virtual member function void Fl_Surface_Device::end_current_().
    The X11 platform uses this argument to restore the correct clipping state after
    drawing to an Fl_Image_Surface object.
Mon Apr 24 21:19:20 2017 Albrecht Schlosser 12225 f15f477243
Remove unused variable from class Fl_Xlib_Image_Surface_Driver.
Mon Apr 24 19:58:07 2017 Manolo Gouy 12224 cd8909f903
Slight improvement of Fl_Image_Surface::image()
Mon Apr 24 10:43:24 2017 Manolo Gouy 12223 05b9f2bc98
Undo change at r.12221 because it's done at r.12222 in a cross-platform fashion.
Mon Apr 24 09:23:33 2017 Manolo Gouy 12222 d91b3d80e5
Allow the use of  Fl_Image_Surface::image() also when the Fl_Image_Surface object is not the current drawing surface.
    This fixes an issue uncovered in a thread of fltk.general entitled
    fl_pop_clip: clip stack underflow! warning on X11
Sun Apr 23 10:43:48 2017 Albrecht Schlosser 12221 da31ffd952
Fix Fl_Image_Surface::image() as discussed in fltk.general
    See thread "fl_pop_clip: clip stack underflow! warning on X11"
    started on Thu, 20 Apr 2017.
Fri Apr 21 21:10:12 2017 Albrecht Schlosser 12220 3ec23df83a
Fl_Help_View: fix table header in help_dialog.html (STR #3227).
    The html code in the example (test/help_dialog.html) was broken.
    Fixing the example html code was enough, no code changes needed.
Wed Apr 12 16:16:42 2017 Manolo Gouy 12219 660a65ed01
Mention fix for STR#3374
Wed Apr 12 12:41:47 2017 Manolo Gouy 12218 ed807788ff
Fix for STR#3374: Crash with pango enabled when changing default font
Tue Apr 11 21:53:50 2017 Albrecht Schlosser 12217 cd10796251
Fix Windows CreateDC/DeleteDC mismatch (STR #3373).
Sat Apr 8 06:26:23 2017 Manolo Gouy 12216 81ffbd2bf7
Document the new OPTION_USE_PANGO platform-specific option.
Fri Apr 7 16:42:23 2017 Manolo Gouy 12215 1c0b4d9b60
Fixed typo in warning message.
Sun Apr 2 09:31:05 2017 Albrecht Schlosser 12214 04339b8d05
Fix doxygen/latex warning.
Thu Mar 30 01:52:39 2017 Greg Ercolano 12213 4bff1e5e98
Suggestion for cmake docs for building FLTK with Visual Studio (e.g. VS7 shown)
Sun Mar 19 10:53:04 2017 Albrecht Schlosser 12212 680631b834
Fix dependencies.
Fri Mar 17 21:06:55 2017 Manolo Gouy 12211 eb2df7e3b9
Account for translation also in non-Pango code section.
Fri Mar 17 20:16:54 2017 Manolo Gouy 12210 b2afa612bf
Create Fl_Xlib_Graphics_Driver::scale_and_render_pixmap() to draw depth-4 or scaled RGB images using Xrender.
Fri Mar 17 17:42:50 2017 Albrecht Schlosser 12209 54596de1c3
[CMake] Fix Visual Studio header detection.
    This commit fixes a CMake issue if CMake is invoked from a desktop icon
    or the Windows menu, i.e. not within the correct environment to find all
    required header files.
    We recommend to run CMake from a "Developer Command Prompt for Visual Studio X",
    but sometimes users click on their desktop icon and run CMake without the
    correct context. In this case some header files in the Windows SDK's are not
    found by CMake.
    The solution is to issue a warning and "fix" the header detection by faking
    that the headers were found, because they are always available in Visual
    Studio. The affected headers <locale.h> and <GL/glu.h> were set to "found"
    in the bundles IDE's in FLTK 1.3 as well, so there should be no issue with
    this fix.
    It is also recommended by the CMake folks, i.e. they suggest not to search
    for these special header files that are known to exist always.
Fri Mar 17 17:32:00 2017 Albrecht Schlosser 12208 298692f55e
Revert temporary fix (attempt) introduced in svn r11644.
    The fix in src/Fl_Input.cxx in svn r11644 was an attempt to fix the
    Visual Studio (Windows) build because CMake would sometimes not find
    the correct header files, but this attempt opened a path where the
    variable 'legal_fp_chars' was not initialized.
    The (hopefully) correct fix will follow in my next commit...
Fri Mar 17 17:22:39 2017 Albrecht Schlosser 12207 cb90a53c86
Fix Linux build after removal of Fl_Translated_Xlib_Graphics_Driver.cxx
Fri Mar 17 16:56:06 2017 Manolo Gouy 12206 878cd0b0b3
The new Fl_Xlib_Graphics_Driver::draw_scaled() member function must also account for possible translation.
Fri Mar 17 16:33:14 2017 Manolo Gouy 12205 367e567b7b
Remove class Fl_Translated_Xlib_Graphics_Driver and move its processing to Fl_Xlib_Graphics_Driver.
Fri Mar 17 16:05:26 2017 Albrecht Schlosser 12204 300e0b32a9
OpenGL documentation fixes (included header files).
    Also reformatted very long lines, removed trailing spaces.
Fri Mar 17 15:59:07 2017 Albrecht Schlosser 12203 83b5df04fb
[CMake] Remove unused header test HAVE_GL_GL_H (GL/gl.h).
    Note: the test for OpenGL works slightly different with CMake vs. configure.
    The CMake (cache) variable HAVE_GL_GL_H was never used.
Fri Mar 17 15:02:08 2017 Albrecht Schlosser 12202 21da3f3755
Flush output of examples/fltk-versions for Windows (MinGW).
    MinGW wouldn't flush the output before closing the window.
Fri Mar 17 08:58:17 2017 Manolo Gouy 12201 0648489b9a
Fix the projective transformation matrix used for Xrender-based scaled image drawing.
Thu Mar 16 21:26:12 2017 Manolo Gouy 12200 bbbf91a4b5
Add scaled image drawing to the X11 platform using Xrender.
Thu Mar 16 12:47:49 2017 Manolo Gouy 12199 e92cea2414
Make image-related member functions of class Fl_Graphics_Driver protected, as in FLTK 1.3.x
    This helps ensure they are not part of the public API.
Tue Mar 14 17:51:20 2017 Manolo Gouy 12198 16b3326629
Give platform-independent default implementation to Fl_System_Driver::gettime()
Mon Mar 13 23:51:33 2017 Albrecht Schlosser 12197 b9b4d85379
Fix more svn properties.
Mon Mar 13 23:31:38 2017 Albrecht Schlosser 12196 3b73dece7b
Set missing svn properties.
Mon Mar 13 23:06:08 2017 Albrecht Schlosser 12195 0ae21376f1
Fix include file case (patch from Haiku port, thanks).
    commit 59c3cfbdf0412fb30f8312ed9ddd96f5affd2f0a by François Revol.
Sun Mar 12 21:33:33 2017 Albrecht Schlosser 12194 2b47a115e1
Remove superfluous semicolon.
Sun Mar 12 15:12:35 2017 Albrecht Schlosser 12193 3311119335
Fix svn attributes of *.c, *.cxx, *.cmake and others.
    - set svn:keywords Id
    - set svn:eol-style native
Sat Mar 11 23:26:32 2017 Albrecht Schlosser 12192 a1d555bd80
Separated Fl_Input_Choice.H and Fl_Input_Choice.cxx (STR #2750).
    As proposed in STR #2750 and #2752: only status quo, i.e.:
      - no new method Fl_Input_Choice::maximum_size(int) (STR #2750 and #2752)
      - no handling of FL_Down key to open menu (STR #2752)
Fri Mar 10 21:47:08 2017 Albrecht Schlosser 12191 5544404f7a
Enable Up/Down keys in Fl_Spinner if input has focus (STR #2989).
    Previously Up/Down keys worked only if one of the buttons was pressed
    before so that it had the focus.
    test/valuators.fl: The second Fl_Spinner widget (FL_FLOAT_INPUT) now has
    wrap mode disabled whereas the first one (FL_INT_INPUT) uses wrap mode
    (default, compatible with FLTK 1.3.x and older).
Fri Mar 10 18:49:44 2017 Albrecht Schlosser 12190 b67ba50f14
New method Fl_Spinner::wrap(int) to set wrap mode at bounds (STR #3365).
Thu Mar 9 22:08:29 2017 Albrecht Schlosser 12189 7123b78f3f
Separated Fl_Spinner.H and Fl_Spinner.cxx (STR #2776).
    Also removed deprecated (misspelled) method names mininum() and maxinum().
Tue Mar 7 17:04:31 2017 Manolo Gouy 12188 fdee9dbf5d
Have all Fl_Clock objects in a single FLTK app tick approximately at the same time.
    Before this change, clocks can tick at any point within a second, so 2 clocks
    can appear to disagree on the time they give (by less than a second).
    To see that, run the clock test program, icons one of the clocks,
    and uniconize it just before the other clock will tick.
Tue Mar 7 16:58:13 2017 Manolo Gouy 12187 c37744cde9
Add to Fl_System_Driver support for measuring time with split second resolution.
Tue Mar 7 00:20:26 2017 Albrecht Schlosser 12186 3c375f3977
Fix tab alignment.
Mon Mar 6 16:54:33 2017 Albrecht Schlosser 12185 18bb55545e
Fl_Tabs: improve tab label drawing (STR #3075, STR #3076).
    New method Fl_Tabs::tab_align() supports icons in tabs (STR #3076).
    This commit also enables drawing labels of Fl_Window children (STR #3075).
    Setting tab_align(FL_IMAGE_NEXT_TO_TEXT) draws images (icons) in the tab
    labels if the child has an image(). Currently this draws the image() even
    if the child is deactived (so it should presumably draw the deimage()).
    Todo: Label measurement and Fl_Windows as children still need fixups.
Sun Mar 5 14:52:10 2017 Albrecht Schlosser 12184 168979e6fb
Simplify Fl_Tabs label drawing code (remove code duplication).
Sun Mar 5 14:43:03 2017 Albrecht Schlosser 12183 843183478b
Fix tab group positions.
Sun Mar 5 11:27:30 2017 Albrecht Schlosser 12182 a804cbf366
Label alignment documentation clarifications.
Mon Feb 27 17:00:41 2017 Albrecht Schlosser 12181 a60f99d4a1
Improve label alignment docs and border case implementations.
    Make clear that some alignment bit combinations are "illegal" and yield
    undefined behavior that can be changed without notice.
    Fix label alignment in some border cases where illegal bit combinations like
    both set, respectively.
    Todo: There appears to be inconsistent handling WRT these "illegal" cases,
    for instance with inside labels as opposed to outside labels, such that
    the behavior seems to be unpredictable. See test/label.cxx.
Sat Feb 25 19:31:36 2017 Albrecht Schlosser 12180 2d18660f5c
Fix typo (case) in include file name.
Wed Feb 22 11:33:12 2017 Manolo Gouy 12179 aa917d709c
Avoid potential crash occurring after calling win->show(0,0)
    See [fltk.general] Drawing to Fl_Offscreen received signal SIGSEGV, Segmentation fault.
    that is unrelated to Fl_Offscreen but caused by calling win->show(0,0).
Mon Feb 20 12:57:40 2017 Manolo Gouy 12178 393e481756
Mac OS: remove unused members variables from platform-specific struct Fl_Window_Driver::shape_data_type
Mon Feb 20 12:40:50 2017 Pierre Ossman 12177 cebc3d71be
Pre-multiply alpha on cursors on X11, as required by XRender.
Sun Feb 19 15:49:48 2017 Manolo Gouy 12176 a2f22358cd
Fix line wrap at word end when string widths are true double values (non integer).
    Useful for rescaling that creates non-integer string widths.
Sun Feb 19 15:42:31 2017 Manolo Gouy 12175 3ce40f3faf
Reset offscreen surface when the window is hidden.
    This is necessary for compatibility with rescaling, so line widths are also rescaled.
Sun Feb 19 15:37:46 2017 Manolo Gouy 12174 9c6add4943
Fix typo
Wed Feb 15 20:28:13 2017 Albrecht Schlosser 12173 66cdcfcd1b
Fluid: Fix platform-specific build system (CMake + configure).
    Don't compile "empty" file (avoid warning: empty translation unit).
    Add '-u' (update) command switch to 'make rebuild'.
Sat Feb 11 16:39:19 2017 Albrecht Schlosser 12172 1e5826e84b
Add radio buttons to unittests_schemes in 4th tab.
Wed Feb 8 02:06:52 2017 Albrecht Schlosser 12171 16774ddc4e
Rename test/help demo program to test/help_dialog.
    This change avoids a name conflict with CMake's auto-generated target 'help'
    for "Unix Makefiles", "Ninja", and supposedly other generators as well.
Sat Feb 4 21:56:38 2017 Albrecht Schlosser 12170 759d2f1c99
Fix line number alignment in Fl_Text_Display/Editor (STR #3363).
Fri Feb 3 13:30:36 2017 Manolo Gouy 12169 cbc5a4842d
Incorporate the code of function handleUpdateEvent() in the unique code section which calls it.
Wed Feb 1 18:36:23 2017 Albrecht Schlosser 12168 a21f16486a
Fl_Text_Display documentation updates.
Thu Jan 26 08:13:19 2017 Manolo Gouy 12167 e7356529bb
Allow ESC to close window and don't transmit CTRL character to fl_draw()
Tue Jan 24 12:53:33 2017 Manolo Gouy 12166 782d34fc8f
MacOS: reduce the memory size of class gl_texture_fifo managing GL textures to draw strings under GL.
Fri Jan 20 17:18:38 2017 Manolo Gouy 12165 c8fc8cc241
Allow resizable Fl_Gl_Window drawn using the Fl_OpenGL_Graphics_Driver
Thu Jan 19 09:38:12 2017 Manolo Gouy 12164 898d2580d3
Remove USE_OksiD_style_GL_font_selection preprocessor variable because it is equivalent to !USE_XFT
Tue Jan 10 17:21:14 2017 Manolo Gouy 12163 ebae29222d
Fl_OpenGL_Graphics_Driver : use gl_font()/gl_draw() to draw text in a GL window - continued.
Tue Jan 10 15:33:14 2017 Manolo Gouy 12162 723012c2bd
Fl_OpenGL_Graphics_Driver : use gl_font()/gl_draw() to draw text in a GL window.
Tue Jan 10 15:12:42 2017 Manolo Gouy 12161 0e22ca28dd
Match glPushAttrib() with glPopAttrib()
Tue Jan 10 10:23:19 2017 Manolo Gouy 12160 28f1bdd408
Remove useless #include directives
Sun Jan 8 17:35:52 2017 Manolo Gouy 12159 d589dcd127
Correct spelling error: Armeninian --> Armenian
Fri Jan 6 13:47:51 2017 Albrecht Schlosser 12158 69353b5b11
Add "lorem ipsum" text file in different languages and scripts.
    This file can be used to test pango integration and potentially later
    also right-to-left text editing which is currently not supported.
    The image misc/lorem_ipsum.txt shows lorem_ipsum.txt in test/editor
    built with pango under Linux (Ubuntu 14.04 LTS).
Wed Jan 4 07:44:31 2017 Manolo Gouy 12157 06924c37cb
Add implementation explanatory comments about how the screen driver supports public function fl_read_image().
Mon Jan 2 09:48:23 2017 Manolo Gouy 12156 06b98099f9
Documentation: drawing a scaled shared image no longer involves resizing the source image under MSWindows.
Fri Dec 23 15:40:25 2016 Albrecht Schlosser 12155 3145e06585
Fix CMake config.h and compiler warnings.
    Fixed warnings: -Wsign-compare, -Wunused-but-set-variable.
Fri Dec 23 15:34:39 2016 Albrecht Schlosser 12154 60a9eee30d
Fix inverted configure logic for option --enable-print.
Wed Dec 21 15:05:02 2016 Manolo Gouy 12153 461750c38e
X11 platform: Add optional use of the pango library to draw text, gaining the possibility to draw text in any script supported by Unicode.
Wed Dec 21 14:52:16 2016 Manolo Gouy 12152 00ebcd23aa
Fix Fl_Xlib_Graphics_Driver::delete_bitmask() : the pixmap argument is to be deleted by XFreePixmap().
Tue Dec 20 23:27:29 2016 Greg Ercolano 12151 87f339249a
Fix for Brain Davis' bug report in fltk.general on 12/20/16.
    Subject: Fl_Glut_Window::Fl_Glut_Window(int w, int h, const char *title = 0)... err huh well no, but it should be
Mon Dec 19 14:35:08 2016 Manolo Gouy 12150 5a7f80c466
When targetting MacOS+X11, fltk-config should not bundle the executable.
Sat Dec 17 07:42:54 2016 Manolo Gouy 12149 936486cb1c
Handle non-ASCII characters when selecting a word or moving the cursor by one word.
Fri Dec 16 16:06:07 2016 Manolo Gouy 12148 d0f6ef5d32
Improve Fl_Graphics_Driver::copy_offscreen() so it accepts an Fl_Offscreen argument even if not created by fl_create_offscreen().
    With this, fl_copy_offscreen() can be used with any drawing surface (e.g., PostScript) and any Fl_Offscreen
    argument (e.g., returned by Fl_image_Surface::offscreen()).
Wed Dec 14 18:54:12 2016 Manolo Gouy 12147 1fc01c7cbb
Implement a platform-independent version of Fl_Graphics_Driver::copy_offscreen() usable when drawing to PostScript.
Wed Dec 14 18:38:01 2016 Manolo Gouy 12146 6645a6b225
It is better to reset the line width after having finished to draw with a modified width.
Mon Dec 12 20:50:16 2016 Albrecht Schlosser 12145 843aba4c68
Fix compiler warning [-Wsign-compare].
    warning: comparison between signed and unsigned integer expressions
Mon Dec 12 18:20:26 2016 Manolo Gouy 12144 d17f17e606
The virtual function Fl_Graphics_Driver::copy_offscreen() cannot be implemented in a platform-independent way.
Sat Dec 10 14:40:00 2016 Manolo Gouy 12143 d37f37e66e
Mention Fl_Surface_Device::push_current(new_surface) and Fl_Surface_Device::pop_current().
Fri Dec 9 18:07:08 2016 Manolo Gouy 12142 c33df704ab
Doxygen: more detailed descriptions of Fl_Image_Surface::offscreen() and Fl_Image_Surface::get_offscreen_before_delete().
Fri Dec 9 09:48:56 2016 Manolo Gouy 12141 40f977ccce
Simpler code path for a member function calling another member function of same class.
Wed Dec 7 15:09:52 2016 Manolo Gouy 12140 43935dffeb
Add static void Fl_Surface_Device::push_current(Fl_Surface_Device *new_current) and pop_current() to set/unset the current drawing surface.
Tue Dec 6 23:21:52 2016 Matthias Melcher 12139 0a1eed150a
Fixed OS X SDL double buffering issue and mouse dragging.
Tue Dec 6 19:20:34 2016 Albrecht Schlosser 12138 307dd033f0
[CMake] Rewrite pthreads checks for compatibility with configure.
    Main point: pthreads must not be checked under Windows (e.g. MinGW)
    since Windows always uses native Windows threads (unless Cygwin is used).
Tue Dec 6 18:49:22 2016 Albrecht Schlosser 12137 da816dff5d
Fix building without threads (pthreads).
    Note: 'configure --disable-threads' or 'cmake -DOPTION_USE_THREADS=OFF'.
Mon Dec 5 22:06:56 2016 Ian MacArthur 12136 b3c97970f3
For consistency, make the pre-processor check for the inclusion of "dlfcn.h" be
     the same as the check which is subsequently used before calling dlsym() and dlopen().
    Note that this may also work around an occasional issue observed when building
    for Windows with cmake and mingw-64, which was sometimes erroneously attempting
    to #include "dlfcn.h" - which is not generally appropriate on a Windows host.
Mon Dec 5 17:47:02 2016 Albrecht Schlosser 12135 780755e46a
Fl_Text_Display documentation clarifications.
Mon Dec 5 17:03:29 2016 Albrecht Schlosser 12134 b6bd386231
Fl_Text_Buffer constructor: fix "requestedSize ignored in mGapEnd".
    mGapEnd should reflect the total allocated size after the constructor
    is executed, i.e. the text buffer is empty. This was not the case.
    See thread "Fl_Text_Buffer constructor bug" (2016-12-05) in fltk.general.
    The bug was harmless, but the pre-allocation did not work as expected, i.e.
    the pre-allocated buffer size was allocated but effectively ignored later.
Sat Dec 3 06:59:26 2016 Manolo Gouy 12133 0701204518
Mention new --enable-print configure option.
Thu Dec 1 22:04:44 2016 Manolo Gouy 12132 c34e8d2725
Undo change at r.12129 that is OK but not really useful.
Thu Dec 1 17:31:29 2016 Manolo Gouy 12131 21781c3fe9
Add --enable-print option to configure to allow building without print support on X11 platforms.
    Also, the NO_PRINT_SUPPORT preprocessor variable is renamed FL_NO_PRINT_SUPPORT.
Thu Dec 1 06:40:17 2016 Manolo Gouy 12130 7f3f3f3e08
Rename Fl_Surface_Device::_surface private member variable to surface_ following the CMP.
Thu Dec 1 06:33:14 2016 Manolo Gouy 12129 1458f7e84b
CMake building with OPTION_PRINT_SUPPORT off: Fl_Posix_Printer_Driver.cxx should be excluded from compilation.
Thu Dec 1 06:31:25 2016 Manolo Gouy 12128 c794b5ecbd
MacOS platform: restore CMake building with OPTION_APPLE_X11 on.
Wed Nov 30 14:13:01 2016 Albrecht Schlosser 12127 d11db7adfa
Add missing configure options to
    Make config.h generated by configure and CMake better comparable.
    Note: these options were defined in and implemented
    only in CMake. Implementation in configure is still missing though.
Wed Nov 30 07:12:29 2016 Manolo Gouy 12126 e5d53b026c
Test program "device": add several calls to image destructors to exercise them.
Wed Nov 30 07:09:48 2016 Manolo Gouy 12125 5bb4e853c7
Remove Fl_Image_Surface::end_current() to be called after usage of the drawing surface.
    This ensures API compatibility with FLTK 1.3 where Fl_Surface_Device->set_current()
    is used to change the current drawing surface.
Mon Nov 28 11:32:59 2016 Manolo Gouy 12124 4755ace9e9
X11 platform: fix STR#3353 and correct drawing of depth-2 RGB images when XRender extension is present.
    Fl_RGB_Image's of depth-2, that is, monocolor and transparent, were not drawn using the XRender extension,
    when present, as are depth-4 images. With this change they are.
    A by-product of this change is that it fixes an erroneous drawing (STR#3353) that occurred when
    the image expands outside the window.
Fri Nov 25 15:15:09 2016 Albrecht Schlosser 12123 6fc796738d
Fix build with configure --enable-cairo --enable-cairoext.
    Add missing #include <config.h>, see this report in fltk.general:
Sat Nov 19 08:01:06 2016 Manolo Gouy 12122 e24409e3ed
Remove change at r.12120 because STR#3353 note #6 shows it is not OK.
Sat Nov 19 01:20:53 2016 Albrecht Schlosser 12121 6d4b93e9c7
Finally remove FLTK_ABI_VERSION preprocessor macro from code.
    FLTK_ABI_VERSION has been renamed to FL_ABI_VERSION in FLTK 1.4.0.
Fri Nov 18 15:32:33 2016 Manolo Gouy 12120 18d478055e
Fix for STR#3353: bad depth-2 image drawing when the window is resized smaller than the image.
    The problem is specific to the X11 platform. The cause is that depth-2 images were not considered
    in a previous change (r.10628) that introduced transparent image drawing with alpha blending.
    Depth-2 images can be processed just as depth-4 images with alpha-blending.
Fri Nov 18 15:02:34 2016 Manolo Gouy 12119 5cf12d94cb
X11 platform: Fl_RGB_Image::mask_ is always 0, so remove code to process mask_ in Fl_Xlib_Graphics_Driver.
Fri Nov 18 14:41:20 2016 Manolo Gouy 12118 d2378be968
Remove commented out code for what used to be : static int start_rgb()
Thu Nov 17 17:49:43 2016 Manolo Gouy 12117 22e6b7b4a3
Fix crash when resizing double-buffered window smaller than transparent image (STR#3353).
Thu Nov 17 13:52:16 2016 Manolo Gouy 12116 4b6dfbfb4c
WIN32 platform: Fix drawing of depth-4 scaled image when can_do_alpha_blending() is false.
Wed Nov 16 20:01:19 2016 Manolo Gouy 12115 10cddcd501
Remove file fl_line_style.cxx
Wed Nov 16 19:56:22 2016 Manolo Gouy 12114 2baeda448b
Replace global fl_line_width_  used only by X11 platform by Fl_Xlib_Graphics_Driver::line_width_
Wed Nov 16 14:04:57 2016 Albrecht Schlosser 12113 44ce401d45
Fix shared library build.
    Missing FL_EXPORT statements (attributes) affected only the configure/make
    build because some compiler and linker options (visibility etc) are not
    yet implemented in the CMake build.
Wed Nov 16 13:24:04 2016 Albrecht Schlosser 12112 e8fcc915e0
Remove obsolete comments from src/Makefile.
Mon Nov 14 15:00:37 2016 Manolo Gouy 12108 3b7d9185ef
Remove compilation warning apparent with -Wnull-conversion
Sat Nov 12 13:49:48 2016 Albrecht Schlosser 12107 169a8ee238
Avoid "empty translation unit" compiler warning.
    gcc "warning: ISO C forbids an empty translation unit [-Wpedantic]"
Sat Nov 12 13:28:53 2016 Albrecht Schlosser 12106 1358c434b2
Rename misspelled files.
Sat Nov 12 13:09:20 2016 Albrecht Schlosser 12105 8cdfb926f2
Reformat CHANGES and update dependencies (make depend).
    Saved a few columns in CHANGES so more text fits in 80 columns.
Fri Nov 11 21:18:42 2016 Albrecht Schlosser 12104 c57c3a1c6c
Fix ignored files, add 'build' directory to ignored files.
    The 'build' directory must never be used in the FLTK source.
    It is reserved as the recommended build directory for CMake.
Fri Nov 11 21:07:54 2016 Albrecht Schlosser 12103 7699cce0e2
Please ignore the last commit message (svn r12101).
    This is branch-1.4, and that commit was not intended to be in branch-1.4.
    branch-1.4 is the current active development branch for FLTK 1.4.
Fri Nov 11 19:43:49 2016 Albrecht Schlosser 12101 768fe9f3ff
Final commit to branch-1.3-porting *after* the release of FLTK 1.3.4.
    The new development branch is now branch-1.4.
    See important notes below.
    Note to svn (subversion) users: This branch (branch-1.3-porting)
    is finished since the release of FLTK 1.3.4.
    The new development branch is now branch-1.4 -- please checkout a new,
    clean svn working copy if you want to get branch-1.4 (previously
    Note to Git users: if you used the Git branch 'branch-1.3-porting'
    to get the FLTK 1.4 development branch, then you need to switch to
    branch-1.4 now, which is the official current development branch.
    Please checkout branch-1.4 (after git fetch or git pull), and you're
Fri Nov 11 17:55:44 2016 Albrecht Schlosser 12099 d5295c3bf7
Start branch-1.4 after rename from branch-1.3-porting.
    Added FLTK 1.3 CHANGES file as CHANGES_1.3, updated CHANGES to start
    release info (changelog) for FLTK 1.4.
    You can update the svn configuration of your working to get this
    branch if you previously used branch-1.3-porting:
     $ svn switch
    If you used branch-1.3 previously we recommend to checkout the new
    branch-1.4 in a new working copy.
Fri Nov 11 17:21:48 2016 Albrecht Schlosser 12098 aafd21a6d4
Create branch-1.4 from branch-1.3-porting.
Thu Nov 10 19:58:20 2016 Manolo Gouy 12095 2fd5752b89
Fl_Quartz_Graphics_Driver::uncache() should also reset mask_.
Wed Nov 9 20:55:50 2016 Manolo Gouy 12091 a873e414bd
Fix possible crash when turning fullscreen the scroll test program.
Wed Nov 9 09:49:48 2016 Manolo Gouy 12088 c530cdeda6
Use Fl_Graphics_Driver::default_driver() when convenient.
Wed Nov 9 07:00:16 2016 Manolo Gouy 12087 f08c414485
Reuse the same "data provider release callback" several times.
Tue Nov 8 21:59:26 2016 Manolo Gouy 12086 a5b584f8f6
MacOS:  use less temporary copies of image data for image printing.
Sun Nov 6 18:28:24 2016 Manolo Gouy 12083 0c878d136c
MacOS: fix possible issue with fullscreen windows containing hidden subwindows
    An error occurred with the tabs test program
    - activate the last tab (containing 3 subwindows)
    - activate another tab (the subwindows get hidden)
    - set window fullscreen ===> the subwindows are visible and they should not
    - reactivate the last tab ===> the subwindows are not where they should be
Sun Nov 6 18:20:58 2016 Manolo Gouy 12082 214b3c32b5
MacOS: another way to make sure windowDidResize does not access Fl_Window after [FLWindow close] message was sent
Sun Nov 6 10:48:40 2016 Albrecht Schlosser 12081 49a2e4206e
Fix test/native-filechooser help display artefact (STR #3349).
Sat Nov 5 06:00:52 2016 Manolo Gouy 12079 6eea76e187
Slightly improve the parameter list of member function int Fl_Graphics_Driver::start_image(...)
Thu Nov 3 21:28:09 2016 Manolo Gouy 12078 0c31411df9
Rename Fl_Bitmap::start() to Fl_Bitmap::prepare().
Thu Nov 3 16:34:13 2016 Manolo Gouy 12077 95a9edcb55
Factorize repeated code across platform-specific graphics drivers and image types
Wed Nov 2 21:08:15 2016 Manolo Gouy 12076 d3f1a3c167
Replace declarations such as "friend class Fl_Xlib_Graphics_Driver;" by platform-independent declarations.
Wed Nov 2 14:36:29 2016 Manolo Gouy 12075 5c2a7d9fed
Close small memory leak in Fl_File_Chooser: a bad image file creates an Fl_Shared_Image but never releases it.
Wed Nov 2 11:50:18 2016 Albrecht Schlosser 12074 fdbf426782
Accept empty Fl_Pixmap in Fl_RGB_Image c'tor (STR #3348).
Tue Nov 1 20:45:42 2016 Albrecht Schlosser 12070 af2dc3bce8
Minor CMake documentation clarification.
Tue Nov 1 16:38:37 2016 Manolo Gouy 12068 2714c7600e
MacOS: fix crash when closing a fullscreen window - continued
Tue Nov 1 16:36:08 2016 Manolo Gouy 12067 16d62ebbd4
MacOS: fix crash when closing a fullscreen window
Tue Nov 1 15:18:31 2016 Albrecht Schlosser 12066 351736c320
Documentation updates (IDE and CMake support).
Sun Oct 30 20:55:31 2016 Manolo Gouy 12063 3e8e2ea62e
Replace erroneous bitwise & by logical &&
Sun Oct 30 19:56:27 2016 Manolo Gouy 12062 62046664c7
Complete introduction of virtual Fl_RGB_Image *Fl_Image::as_rgb_image() begun at r.12061
Sun Oct 30 07:26:13 2016 Manolo Gouy 12061 3ae2b1d74e
Add virtual Fl_RGB_Image* Fl_Image::as_rgb_image() to detect whether an Fl_Image is derived from Fl_RGB_Image
Fri Oct 28 21:42:42 2016 Albrecht Schlosser 12060 2c043fb5b3
Fix string truncation in fluid (STR #2722 continued).
    This commit fixes the truncated string drawing that was partly fixed
    in svn r 9112 (FLTK 1.3.1, 2011-10-01).
    Combined port of svn r 12057 and 12059. The latter adds sanity checks
    and fixes potential buffer overflows.
Thu Oct 27 16:41:05 2016 Manolo Gouy 12056 4567268d2a
MacOS: fix a small problem where command Quit of the application menu may not work if Fl_Native_File_Chooser is used before any window is shown.
Sat Oct 22 11:42:20 2016 Manolo Gouy 12053 bbfd919773
WIN platform: implement Fl_GDI_Graphics_Driver::draw_scaled(Fl_Image *img,int,int,int,int) when img is a Fl_RGB_Image
    Implementation uses StretchBlt() when img->d() is  1 or 3 and AlphaBlend() when it is 2 or 4.
    This should turn useful to draw images on HighDPI displays using the display's true resolution.
Fri Oct 21 04:51:15 2016 Manolo Gouy 12052 52479a5ef1
Reorganize and simplify function Fl_Graphics_Driver::draw(Fl_Shared_Image *, int, int)
Wed Oct 19 17:25:53 2016 Manolo Gouy 12051 8970b21aa2
Remove erroneous uses of sizeof(filename) where filename is a char* and not a char array
Wed Oct 19 08:40:41 2016 Manolo Gouy 12050 da276e6efa
Add one more argument to virtual Fl_System_Driver::file_browser_load_filesystem() giving length of the filename argument
Wed Oct 19 08:31:48 2016 Manolo Gouy 12049 ec41e1a59b
Make sure "/" is always in the list of file systems reported by Fl_File_Chooser (Unix/Linux platform)
Mon Oct 17 19:20:36 2016 Greg Ercolano 12045 43c98c7c90
Bring over combined fix [r12044] from 1.3 current to the porting branch.
    Applied patch from STR #3335 to fix simple GUI issues.
Mon Oct 17 17:00:58 2016 Greg Ercolano 12043 de4572ffdd
Bring over combined fix [r12041/12042] from 1.3 current to the porting branch.
    Added line numbers to Edit -> Show Source Code viewer (source + header tabs)
    Fixes Aditya Siram's observation today on fltk.coredev.
Mon Oct 17 13:10:43 2016 Albrecht Schlosser 12039 5404646bb5
Update bundled config.sub to a slightly newer version.
Mon Oct 17 12:51:58 2016 Albrecht Schlosser 12037 183797e4a3
Minor fix of tree demo program (show tree widgets).
    Clicking "Rebuild Tree" after "Close All" did not show the widgets
    (Fl_Input test, ccc button, D1, D2). This is now fixed.
Mon Oct 17 12:51:05 2016 Albrecht Schlosser 12036 bacced2c92
Add non-const version of Fl_Tree_Item::tree().
Sun Oct 16 21:04:24 2016 Albrecht Schlosser 12033 ae419c9dd9
Documentation updates.
Sun Oct 16 15:12:46 2016 Manolo Gouy 12031 fc62d39db5
Add Doxygen note that class Fl_Device_Plugin is not intended for public use.
Fri Oct 14 16:35:52 2016 Albrecht Schlosser 12029 e3670dfda6
Fix inconsistent interpretation of ld() in image handling (STR #3308).
    Documentation has been fixed and clarified, and ld() handling is now
    consistent in Fl_(RGB_)Image, their subclasses and fl_draw_image()
    and similar functions.
Fri Oct 14 14:33:18 2016 Albrecht Schlosser 12027 242d5365e6
Documentation fixes.
Fri Oct 14 09:17:15 2016 Manolo Gouy 12025 7a81273a0c
MacOS: finer control of the compilation conditions under which Core text and ATSU are used or not.
    The compilation conditions depend on the targeted architecture, what version of the SDK is used,
    and what MacOS deployment version is used. Under most conditions, a single API is possible,
    and no pointer-to-member function is used.
    But the code supports building apps that can run both APIs depending on the version of the
    running MacOS.
Tue Oct 11 07:17:04 2016 Manolo Gouy 12024 2b5fbbacfc
Add public: to definition of class Fl_Quartz_Printer_Graphics_Driver.
Tue Oct 11 07:14:47 2016 Manolo Gouy 12023 04f1e4d1aa
Replace .h by .H in #include "Fl_Quartz_Graphics_Driver.h"
Mon Oct 10 21:19:39 2016 Manolo Gouy 12022 a6a79d80f3
Re-organisation of code to support CoreText and ATSU for drawing text.
    We avoid using one CoreText-related and one ATSU-related derived classes
    of class Fl_Quartz_Graphics_Driver. Thus, class Fl_Quartz_Graphics_Driver can
    be derived if useful and still support both text APIs.
Fri Oct 7 06:12:33 2016 Manolo Gouy 12019 0250b4af12
Remove Fl_Xlib_Graphics_Driver::global_gc() because identical to Fl_Graphics_Driver::global_gc()
Fri Oct 7 06:04:28 2016 Manolo Gouy 12018 07f2fcd308
Fl_Graphics_Driver::global_gc() is already implemented in Fl_Graphics_Driver.cxx
Thu Oct 6 17:03:30 2016 Manolo Gouy 12017 311c7d9b24
Correct function Fl_GDI_Graphics_Driver::gc(void*) that did not update the global variable fl_gc correctly.
Thu Oct 6 16:59:37 2016 Manolo Gouy 12016 b20e646676
Correct function Fl_Quartz_Graphics_Driver::gc(void*) that did not update the global variable fl_gc correctly.
Thu Oct 6 16:42:59 2016 Manolo Gouy 12015 c7c238675a
Introduce virtual void Fl_Menu_Bar::update() with a platform-specific reimplementation to support Fl_Sys_Menu_Bar.
Thu Oct 6 08:55:22 2016 Manolo Gouy 12014 a80ce48339
Make source code of test/file_chooser.cxx platform-independent.
Wed Oct 5 07:40:15 2016 Manolo Gouy 12013 c48dfb94cd
Fl_Native_File_Chooser on MacOS: improve handling of case where no chooser title is set.
Tue Oct 4 15:00:34 2016 Manolo Gouy 12011 1929cb109e
Improve Fl_Native_File_Chooser open dialog under Mac OS 10.12 that had lost its titlebar message.
Tue Oct 4 11:29:57 2016 Manolo Gouy 12009 31070778b7
Fix for STR#3308 - MacOS X-specific part.
Mon Oct 3 15:50:26 2016 Manolo Gouy 12006 6d616d3263
Xcode version 8 can
Sat Oct 1 22:43:56 2016 Albrecht Schlosser 12003 cf413d53fc
Fl_Shared_Image documentation enhancements and clarifications.
    Minor code changes (e.g. renaming of variables) included, but no functional
Sat Oct 1 21:22:20 2016 Greg Ercolano 12001 a82eed18e5
Bringing over fix [r12000] from 1.3 current to the porting branch.
    Applying my suggested patch to solve immediate issues with STR #3231.
    Probably more needs to be done (see STR), but at least solves the
    immediate issues.
Fri Sep 30 21:44:04 2016 Albrecht Schlosser 11999 7e273a9fd3
Configure fixes and enhancements, ported from branch-1.3.
    - Abort configure if Xft was requested explicitly, but not found.
    - Set config.h HAVE_* variables only if both library and header found.
    - Replace deprecated configure macros with recommended ones.
    - Improve indenting (clarify macro arguments).
    - Remove all autoconf warnings (see autoconf --warnings=all).
    - Normalize indenting with tabs+spaces.
Fri Sep 30 21:09:59 2016 Albrecht Schlosser 11998 6b278da83d
Rename to
Thu Sep 29 13:28:40 2016 Manolo Gouy 11993 eabbc41ef1
Avoid compilation warnings with -Wmaybe-uninitialized
Wed Sep 28 14:41:40 2016 Manolo Gouy 11992 42624dc17f
Avoid possible autorelease warning message sent by "fluid -c" that calls Fl_Window::size_range()
Tue Sep 27 15:11:46 2016 Manolo Gouy 11990 8ef05518bb
MacOS platform: fix building under OS 10.4 that may not have kCGBitmapByteOrder32Host #define'd
Mon Sep 26 19:35:20 2016 Manolo Gouy 11988 1b3e273fa7
Rename Fl_System_Driver::flNoValue to Fl_System_Driver::fl_NoValue to follow the CMP
Mon Sep 26 19:31:29 2016 Greg Ercolano 11987 aa8dc3ffe1
Bringing over fix [r11986] from 1.3 current to the porting branch.
    Small doc clarification for omitted word, caught by Albrecht via private email.
Mon Sep 26 16:57:37 2016 Manolo Gouy 11985 04c20514f6
Replace a few global variables by members of the Fl_Quartz_Graphics_Driver class
Mon Sep 26 16:49:13 2016 Manolo Gouy 11984 606cdf1c60
These files are no longer useful.
Mon Sep 26 16:46:31 2016 Manolo Gouy 11983 197d46240e
File src/drivers/Quartz/Fl_Quartz_Printer_Graphics_Driver.cxx is no longer useful.
Mon Sep 26 16:43:10 2016 Manolo Gouy 11982 5b5ba880f5
MacOS platform: the printer's graphics driver should also call Fl_Graphics_Driver::newMainGraphicsDriver()
Mon Sep 26 12:08:37 2016 Manolo Gouy 11981 45e6be7316
Mac OS platform: Remove old Carbon code from cairo/Fl_Cairo.cxx
Mon Sep 26 06:26:59 2016 Manolo Gouy 11979 7698a4b98e
MacOS platform: centralize check whether a font has been set before drawing text
Sun Sep 25 11:23:27 2016 Albrecht Schlosser 11978 34f5e4f752
X11: More explicit warning when using rotated text w/o Xft.
    The warning is issued to stderr only once (previously: every time rotated
    text was used).
Sat Sep 24 23:15:48 2016 Albrecht Schlosser 11976 c2fd05633c
Fl_Tree documentation fixes and two missing statements.
    Missing statements found while merging fixes from branch-1.3.
    Todo: check if they have been 'lost' in the porting process
      or removed deliberately in branch-1.3-porting.
Sat Sep 24 06:27:18 2016 Manolo Gouy 11974 6ad1d3f2e8
Add MAC_OS_X_VERSION_10_12 preprocessor variable
Sat Sep 24 06:21:37 2016 Manolo Gouy 11973 b3c16b4911
Mac OS platform: restore usability with SDK 10.3 and 10.4
Fri Sep 23 15:22:02 2016 Manolo Gouy 11972 cccb475fa8
Remove useless forward declaration.
Fri Sep 23 14:04:56 2016 Albrecht Schlosser 11971 67f98ae4f3
Fix potential crash when using keyboard nav. on Fl_Tabs (STR #3333).
    Also: more consistent use of 'const int nc = children()'. Added 'const'
    qualifier for clarity only. This does not change the behavior.
Fri Sep 23 13:56:07 2016 Manolo Gouy 11968 0250c5a98a
Move font-related member functions from Fl_Screen_Driver to Fl_Graphics_Driver.
Fri Sep 23 07:47:57 2016 Manolo Gouy 11967 63e33b1be3
Fl_Quartz_Graphics_Driver: separate CoreText- and ATSU-based code using new, derived classes.
    FLTK for the Mac OS platform draws text using 2 distinct system APIs depending on the
    version of the running OS. Classes Fl_CoreText_Graphics_Driver and Fl_ATSU_Graphics_Driver are defined
    and implement the same virtual functions of class Fl_Quartz_Graphics_Driver using
    CoreText and ATSU, respectively. The app allocates an object of one of these derived
    classes according to the running OS version.
Thu Sep 22 13:22:03 2016 Manolo Gouy 11966 0e33655853
Fl_Screen_Driver class: its platform dependent member functions should not be static.
Thu Sep 22 07:44:34 2016 Manolo Gouy 11965 02535d1222
Rewrite Fl::set_fonts(), Fl::get_font_sizes(), Fl::get_font_name() under the driver model.
Wed Sep 21 19:56:03 2016 Manolo Gouy 11964 145cca26bd
Remove a block of header comments in the middle of the file.
Wed Sep 21 19:25:47 2016 Manolo Gouy 11963 28044e71db
Restore building with X11 but not Xft
Wed Sep 21 06:13:38 2016 Manolo Gouy 11960 6bba205c93
Remove the 'suppressed' variable from cocoaMouseHandler(), a useless residue from ancient code.
Tue Sep 20 13:48:55 2016 Manolo Gouy 11958 6347dbde58
Restructure the code behind double Fl_Cocoa_Screen_Driver::wait(double time_to_wait)
Tue Sep 20 13:35:44 2016 Albrecht Schlosser 11957 26601983c6
Update dependencies.
Tue Sep 20 13:31:38 2016 Albrecht Schlosser 11956 eede707852
Update fluid files and copyright.
Tue Sep 20 12:58:51 2016 Manolo Gouy 11953 827fa250f3
Remove fl_wait() that is not part of the public API.
Mon Sep 19 16:59:59 2016 Manolo Gouy 11951 c06374378f
Remove fl_ready() not in public API and mostly same as Fl_XXX_Screen_Driver::ready()
Mon Sep 19 15:33:21 2016 Manolo Gouy 11950 3c0b74b284
Remove virtual bool Fl_Graphics_Driver::high_resolution() unlikely to be useful across platforms.
    HighDPI support is done with very different means across platforms, so a boolean
    value is unlikely to be meaningful across platforms.
Mon Sep 19 15:10:28 2016 Manolo Gouy 11949 6b86d9fbaf
Remove static bool Fl_Display_Device::high_resolution() which may not be really useful.
Fri Sep 16 20:29:13 2016 Greg Ercolano 11948 e7642ee999
Bringing over fix [r11947] from 1.3 current to the porting branch.
    Small size mods to prevent Fl_Help_View scrollbar and wordwrap,
    while keeping Albrecht's recent mods.
Fri Sep 16 09:27:32 2016 Manolo Gouy 11946 75e9a9f55c
Documentation: restructure the description of function Fl::paste().
Tue Sep 13 10:56:19 2016 Manolo Gouy 11942 cd7b6a8e87
Remove possible warnings when compiling with -Wundef
Tue Sep 13 00:59:04 2016 Albrecht Schlosser 11941 2bb91d900c
Fix native file chooser test program (STR #3326).
    Fix compilation error under Windows with MS compiler (Visual Studio) only.
    Also fix layout and resizing behavior.
Mon Sep 12 16:21:19 2016 Manolo Gouy 11938 de1af41923
Fix typo in macro __LP64__
Mon Sep 12 15:48:09 2016 Manolo Gouy 11937 c34255f8b9
Remove code requiring config.h from public header FL/x.H
Mon Sep 12 12:02:38 2016 Manolo Gouy 11936 b43a5cf1fe
Create virtual void Fl_Graphics_Driver::draw(Fl_Shared_Image*,...)
Mon Sep 12 11:26:05 2016 Manolo Gouy 11935 0af00dd0ac
Document function fl_open_callback()
Mon Sep 12 10:52:27 2016 Manolo Gouy 11934 8b04325226
Make clear that clipboard and drag-n-drop textual data are UTF-8 encoded.
Sun Sep 11 14:24:36 2016 Manolo Gouy 11932 70194e154a
Change FL/porting.H after having rewritten x.H and platform_types.h under the driver model.
Sun Sep 11 08:09:00 2016 Manolo Gouy 11931 e1f1b3898f
Make Fl_Native_File_Chooser_FLTK.cxx compilable with FL_PORTING on.
Sun Sep 11 07:12:11 2016 Manolo Gouy 11930 35a5148ee8
Put the code that defines the layout of struct _XRegion in FL/x.H
Fri Sep 9 15:56:33 2016 Manolo Gouy 11929 c5960df5fb
Rewrite fl_open_callback() under the driver model.
Wed Sep 7 16:05:55 2016 Manolo Gouy 11928 86e48ce2ca
configure build and Mac platform: make the colbrowser and help demo find their data file
Mon Sep 5 19:45:52 2016 Greg Ercolano 11926 5871340263
Bringing over fix [r11923] from 1.3 current to the porting branch.
    (Slightly different from 1.3 current patch, as files were split)
    Code indent consistency + doxygen \code indent fixes.
Mon Sep 5 19:31:13 2016 Greg Ercolano 11925 832e117f81
Bringing over fix [r11924] from 1.3 current to the porting branch.
    Help text typo
Mon Sep 5 16:56:54 2016 Greg Ercolano 11922 108e6d7b0d
Bringing over fix [r11920] from 1.3 current to the porting branch.
    Fixes STR#3200 issue with filter() on Win32.
Mon Sep 5 16:56:10 2016 Greg Ercolano 11921 f20152e5f2
Bringing over fix [r11919] from 1.3 current to the porting branch.
    Added "Filter" field to test filter strings.
Thu Sep 1 19:41:26 2016 Manolo Gouy 11915 36717ec845
Output also a bundled version of demo, as done for all other test apps under Mac OS platform.
Thu Sep 1 10:35:21 2016 Albrecht Schlosser 11913 9fd31ed94e
Fix buffer overflow in CR/LF conversion.
    An already present CR/LF combination causes us to jump two characters,
    but we failed to update the length counter when doing this.
    This also makes sure we handle the corner case of a CR as the last
    Note: porting Pierre Ossman's commit (svn r11873) to branch-1.3-porting.
Wed Aug 31 17:01:27 2016 Manolo Gouy 11912 89954986bb
Remove another instance of the USING_XCODE preprocessor variable
Wed Aug 31 16:59:22 2016 Manolo Gouy 11911 e5486b24d1
Fix Mac OS launching of the browser test program.
Wed Aug 31 16:14:39 2016 Manolo Gouy 11910 b1e25e4838
Remove one instance of the USING_XCODE preprocessor variable that is not necessary.
Wed Aug 31 16:12:28 2016 Manolo Gouy 11909 4d55e204f8
Remove the USING_XCODE preprocessor variable that became useless
Tue Aug 30 19:16:50 2016 Greg Ercolano 11908 09aa05ef3f
Bringing over fix [r11907] from 1.3 current to the porting branch.
    Fixes STR# 3325 - fixes scheme oriented focus box drawing problems when Fl_Choice height is <20
Tue Aug 30 06:00:57 2016 Greg Ercolano 11906 560e2d06ba
Bringing over fix [r11880] from 1.3 current to the porting branch.
    Limit line numbering to New>Code editor.
    (was affecting Properties->Callback and New>Code>Comment editors)
Sun Aug 28 15:37:45 2016 Manolo Gouy 11904 0e404ab7d7
Fix slight mis-scaling when pasting Enhanced metafile from clipboard
Sun Aug 28 06:45:59 2016 Manolo Gouy 11900 87d28f5eab
Use desktop scaling factor also when pasting an Enhanced Metafile
Sat Aug 27 15:54:51 2016 Manolo Gouy 11899 fd2da982b6
Fix Fl_Copy_Surface under Windows 10 when the desktop scaling factor value is > 100 %
Sat Aug 27 14:16:32 2016 Manolo Gouy 11897 f551d538f2
Add Doxygen comments for the Fl_RGB_Image::alloc_array and ::array public attributes.
    Also, document what is the value of alloc_array after construction of an Fl_RGB_Image object.
Sat Aug 27 06:59:54 2016 Manolo Gouy 11895 0e7ad720d1
Fix Fl_WinAPI_Window_Driver::border_width_title_bar_height() for displays where true DPI is not 96.
Thu Aug 25 12:42:50 2016 Manolo Gouy 11893 5dbfe413ae
Fix computation of Fl_Window::decorated_w() and decorated_h() when apps are resized through display setting.
    Under Windows 10:
    when the user sets the value of "Change the size of text, apps and other items" in display settings
    to above 100 %, the computation of Fl_Window::decorated_w() and decorated_h() has to
    take the scaling factor into account.
    This factor is also necessary to draw correctly window title bars.
Wed Aug 24 08:57:21 2016 Manolo Gouy 11892 a7ce881c7d
Remove unused variable.
Wed Aug 24 08:53:29 2016 Manolo Gouy 11891 4180cf5360
Add missing delete statements in ~Fl_XXX_Copy_Surface_Driver() and ~Fl_XXX_Image_Surface_Driver().
Tue Aug 23 16:57:39 2016 Albrecht Schlosser 11890 f07570e92f
Fix compiler warnings and simplify Fl_X11_Screen_Driver::init().
    This function sets the screen dimensions and tries to use Xrandr,
    Xinerama, and basic X11 functions (in this order) to get the screen
    sizes and resolutions (dpi).
    This commit simplifies conditional compilation and fixes "unused variable"
    compiler warnings under certain conditions as mentioned by Greg in
    fltk.general, thread "Can not change font size in Kubuntu 16.04" on
    Mon, 15 Aug 2016 00:25:32 -0700.
    Also merged in small improvements of branch-1.3-porting, basically "the
    same commit" as svn r11889 in branch-1.3.
    Todo: dpi resolutions acquired by using Xrandr are not per screen but use
    dpi value of screen 0 for all screens. Check if this can be improved.
Tue Aug 23 15:25:22 2016 Manolo Gouy 11888 616bcb6357
Step back from r11886 that is not correct.
Tue Aug 23 12:39:27 2016 Manolo Gouy 11887 b823bb0d45
Change comment describing return type of Fl_WinAPI_Screen_Driver::read_win_rectangle()
Tue Aug 23 11:35:42 2016 Manolo Gouy 11886 b7146df369
Make Fl_Gl_Window::make_current() set the value of the fl_window global variable under the X11 platform.
Tue Aug 23 11:25:52 2016 Manolo Gouy 11885 12f086cb7e
Remove special processing for Darwin+X11 that seems no longer necessary.
Tue Aug 23 09:38:46 2016 Manolo Gouy 11884 0267781cec
Change return type of Fl_Screen_Driver::read_win_rectangle() to Fl_RGB_Image*
Mon Aug 22 16:14:39 2016 Manolo Gouy 11883 9c8c062d6b
Use the HAS_ATSU preprocessor variable once more
Sat Aug 20 17:09:28 2016 Albrecht Schlosser 11882 707d7f0dda
Improve documentation, fix Fl_Window::icon(NULL).
    This is now documented as legal to reset a window icon.
Tue Aug 16 21:20:06 2016 Greg Ercolano 11880 4e7603f26e
Bringing over fix [11878+11879] from 1.3 current to the porting branch.
    Solves STR #3318: options for how to handle external editors on fluid quit
Tue Aug 16 20:23:51 2016 Greg Ercolano 11877 5f445ab306
Bringing over fix [r11875] from 1.3 current to the porting branch.
     Solves STR #3319: enable line numbers in fluid: Edit -> Show Source Code.
Tue Aug 16 18:24:09 2016 Manolo Gouy 11874 f814211547
Add missing #include directive
Fri Aug 12 16:59:06 2016 Manolo Gouy 11872 3932b1af7c
Remove uses of the '$(shell if test ...' syntax from Makefile that is not cross-platform
Thu Aug 11 12:41:17 2016 Albrecht Schlosser 11871 7659192447
Fix one compiler warning and one error on Windows 64-bit.
    These warnings and errors were found using gcc 6.1 (64-bit) under Windows.
    The error in examples/howto-add_fd-and-popen.cxx (-fpermissive) is due
    to the wrong definition of Fl_FD_Handler under Windows 64-bit (FL_SOCKET!).
    This should really be fixed in a better way in FLTK 1.4.
Tue Aug 9 15:20:54 2016 Albrecht Schlosser 11869 e7b9e77ba5
Fix typos, separate local variables of image scaling algorithms.
Tue Aug 9 14:11:42 2016 Albrecht Schlosser 11867 78d853891c
[CMake] Fix Windows dll build with Visual Studio generator.
    Now you can set OPTION_BUILD_SHARED_LIBS:BOOL=ON to build FLTK dll's with
    Visual Studio. Tested and works (Visual Studio 2010 + 2015).
    Note: Linux fixes included, tested and works (Ubuntu).
    Todo: dll names and target directories may need some changes.
    We really need to get rid of that "_SHARED" suffix in .so names.
Fri Aug 5 17:14:55 2016 Manolo Gouy 11864 e5e7fa9b1e
Fix CMake building under Apple platform that used to set HAVE_GL_GLU_H to 0
     On the Mac OS platform, file glu.h is not in a directory called GL.
Mon Aug 1 12:50:15 2016 Albrecht Schlosser 11862 fe0c247dbb
Documentation fixes.
Mon Aug 1 12:22:49 2016 Albrecht Schlosser 11860 6b0e38942f
More quoting fixes.
Mon Aug 1 08:33:05 2016 Albrecht Schlosser 11858 fa03b7c7b9
Fix quoting in
    There were two real errors (AC_MSG_ERROR, fixed in previous commit) and
    lots of less important missing quotes.
Mon Aug 1 05:00:19 2016 Greg Ercolano 11856 6c0908b39f
Bringing over fix [r11855] from 1.3 current to the porting branch.
    Fixes problem with AC_MSG_ERROR() macro which was causing this error
    when e.g. the X11 libs weren't found:
        configure: line 410: test: aborting.: integer expression expected
        configure: error: Configure could not find required X11 libraries
    For info on correct use of AC_MSG_ERROR(), see:
Fri Jul 29 18:50:24 2016 Albrecht Schlosser 11854 71ec2f2b5c
Remove copyright markers from abi-version.* (STR #3161).
    See STR comments #10 - #14.
Fri Jul 29 10:54:22 2016 Albrecht Schlosser 11852 524fb8ae27
Fix more Windows 64-bit g++ compiler warnings.
    Fixed warnings:
      42 cast to pointer from integer of different size [-Wint-to-pointer-cast]
Fri Jul 29 09:24:04 2016 Albrecht Schlosser 11850 17b9f6d6cb
Fix compiler warnings (gcc 6.1).
    Some of these warnings were benign (code formatting), but one of them
    showed a potential bug (zero divide in test/fraciewer.cxx).
    Fixed warnings:
     1 this 'while' clause does not guard... [-Wmisleading-indentation]
     1 this 'for' clause does not guard... [-Wmisleading-indentation]
     1 this 'else' clause does not guard... [-Wmisleading-indentation]
Sun Jul 24 08:55:02 2016 Albrecht Schlosser 11848 a633de6461
Doc changes: set fl_font before fl_measure() (STR #3243)
Sat Jul 23 04:48:40 2016 Manolo Gouy 11846 54dcf145fe
Fix Fl_X11_System_Driver::utf8locale() that did not work when no locale is set.
    Also, minor simplification of Fl_WinAPI_System_Driver::utf8locale().
Sat Jul 23 04:32:10 2016 Greg Ercolano 11845 67213cf0d8
Bringing over fix [r11844] from 1.3 current to the porting branch.
    Fixes STR #3270; when an image is used as a link,
    this mod synchronizes the link's hot spot with the image.
Fri Jul 22 10:30:34 2016 Greg Ercolano 11843 7b30c4720e
Bringing over fix [r11842] from 1.3 current to the porting branch.
    Fixes to fl_choice() docs, added screenshots.
Thu Jul 21 00:51:14 2016 Greg Ercolano 11841 e92fa6914b
Bringing over fix [r11840] from 1.3 current to the porting branch.
    Solves STR#3294; added methods to let user set the userdeicon,
    and removed the performance degrading automatic deicon creation.
Wed Jul 20 18:40:49 2016 Greg Ercolano 11839 aa5ac8656d
svn property mods..
Wed Jul 20 18:06:27 2016 Greg Ercolano 11836 d1dd240bd4
Bringing over fix [r11835] from 1.3 current to the porting branch.
    Improved fluid-org.png diagram.
Wed Jul 20 17:08:29 2016 Greg Ercolano 11834 ef110d5949
Bringing over fix [r11833] from 1.3 current to the porting branch.
    Added updated settings dialog screenshots to the fluid docs.
Wed Jul 20 02:25:15 2016 Greg Ercolano 11831 509ed5962a
Bringing over fix [r11188] from 1.3 current to the porting branch.
     Some code cleanup of FNFC Win32: no functional changes.
         > Replace huge static WCHAR wpattern[] array with dynamic in win32 FNFC (ABI 1.3.4)
           (Should decrease the memory weight WIN32 lib)
         > Simplify current working directory management
         > Comment simplification, CMP adherence
Wed Jul 20 01:07:10 2016 Greg Ercolano 11830 6465c2c544
Bringing over fix [r11756] from 1.3 current to the porting branch.
    Small doxygen doc fix for scrollbar_width().
Wed Jul 20 01:05:58 2016 Greg Ercolano 11829 508af6b48e
Bringing over fix [r11757] from 1.3 current to the porting branch.
    Doc mod to refer to fltk color chip table.
Wed Jul 20 01:03:33 2016 Greg Ercolano 11828 ebba50752d
Bringing over fix [r11758] from 1.3 current to the porting branch.
    (Enumerations.H had already been updated, but the enumerations.dox had not)
    Added references to the virtual colorcube.
Wed Jul 20 00:55:06 2016 Greg Ercolano 11827 d2d5573bc5
Bringing over fix [r11759] from 1.3 current to the porting branch.
    Fl_Text_Editor documentation mods for kf_xxx functions.
    (Discussion on fltk.coredev May 29 - 30th 2016)
Wed Jul 20 00:50:36 2016 Greg Ercolano 11826 1b238e52cd
Bringing over fix [r11766] from 1.3 current to the porting branch.
    Doc fix: fixes STR#3312.
Tue Jul 19 23:50:09 2016 Greg Ercolano 11825 f375b6098f
Bringing over fix [r11786] from 1.3 current to the porting branch.
    Some small Fl_Sys_Menu_Bar related doc mods as per STR#3317.
    WIP -- more to come; just checking in what I have for now..
            1) rank -> index
            2) Added docs for index \return values for some methods
            3) Some clarification in the internal docs about rank vs. index
            4) Enabled Fl_Menu_Item's enum flags to be able to be links (added @file
               to Fl_Menu_Item.H) so references to e.g. "::FL_MENU_TOGGLE" will show
               up as links in doxygen docs.
Tue Jul 19 23:27:34 2016 Greg Ercolano 11824 4f9345b40a
Bringing over this fix [r11798] from 1.3 current to the porting branch.
    Small doc improvements/elaborations.
Tue Jul 19 23:23:28 2016 Greg Ercolano 11823 2436521610
Bringing over this fix from 1.3 current to the porting branch.
    Document savefile() return value, see also references to/from outputfile()
Tue Jul 19 23:19:16 2016 Greg Ercolano 11822 ec4120795d
Removed ABI guards that snuck in with r11819.
Tue Jul 19 20:27:16 2016 Greg Ercolano 11821 b6e4668352
Bringing over this fix from 1.3 current to the porting branch.
    Applies small code simplification as suggested in comment #15 of STR#2828.
Tue Jul 19 20:18:18 2016 Greg Ercolano 11820 dfd97e4639
Bringing over this fix from 1.3 current to the porting branch.
    Fixes STR #3305; adds tab_nav() method allowing Fl_Text_Editor
    to honor tab key focus navigation.
Tue Jul 19 20:12:21 2016 Greg Ercolano 11819 dc8a00fbba
Bringing over this fix from 1.3 current to the porting branch.
    Fixes STR #3306; const version of bound_key_function().
    Also affects patches in STR #3305, which will be applied in next commit.
Mon Jul 18 21:12:25 2016 Greg Ercolano 11818 8850c5c822
Adds external editor capability to fluid for all platforms.
    Solves STR#3213. [CORRECTED]
Fri Jul 15 22:12:30 2016 Albrecht Schlosser 11815 bcb75b518f
Improve drawing of rounded box (STR #2943).
Fri Jul 15 19:23:32 2016 Albrecht Schlosser 11812 9713905710
Allow widget callback to be NULL (STR #2835).
Fri Jul 15 10:23:46 2016 Albrecht Schlosser 11809 db05cd1a92
Fix uninitialized variable warning.
Sat Jul 9 18:47:06 2016 Albrecht Schlosser 11804 d0fa58f700
Clarification and better documentation of ABI version configuration.
Sat Jul 9 17:14:22 2016 Albrecht Schlosser 11802 d1b9d1032f
Documentation fixes and clarifications.
Sat Jun 25 05:11:50 2016 Manolo Gouy 11800 05d60bd29d
Add handling of call before the screen layout has been computed.
Wed Jun 22 08:36:48 2016 Manolo Gouy 11796 984fcbaefc
Add dots-per-inch info to the screen data displayed by the fullscreen demo.
Wed Jun 22 07:45:53 2016 Manolo Gouy 11794 22596d3f5f
Make Fl_Gl_Window::pixels_per_unit() return a float (rather than int) value.
Wed Jun 22 07:22:08 2016 Manolo Gouy 11792 0ff9df96d9
Change copyright year
Wed Jun 22 07:04:00 2016 Manolo Gouy 11790 943d1cf987
Use Xrandr to get the true DPI of the display under the X11 platform.
Fri Jun 17 12:56:18 2016 Manolo Gouy 11785 a7af6ab04c
Make Fl_Sys_Menu_Bar::update() public and cross-platform.
    It was before protected and Mac OS-specific.
    This allows to call it after direct modification of menu items.
Thu Jun 16 16:35:05 2016 Manolo Gouy 11784 d7edc737aa
Fix for STR#3316 to match the size argument of glGenLists() and glDeleteLists() calls.
Tue Jun 14 11:33:29 2016 Albrecht Schlosser 11783 7700518fa9
Fix compiler warning under Linux [-Wunused-variable].
Tue Jun 14 11:15:22 2016 Albrecht Schlosser 11782 c8155bc7d1
Remove unnecessary #include statement.
Tue Jun 14 11:00:29 2016 Albrecht Schlosser 11781 ace85426bc
[CMake] Improve sound support detection.
Tue Jun 14 05:19:32 2016 Manolo Gouy 11779 68cf00ee09
THE best way to test for availability of dlsym().
Mon Jun 13 22:32:01 2016 Albrecht Schlosser 11777 1f81808b10
[CMake] Fix restoration of CMAKE_REQUIRED_LIBRARIES.
Mon Jun 13 12:29:54 2016 Manolo Gouy 11774 dc2fd2befc
Fix cases where function dlysym() is not in library libdl.
Sat Jun 11 05:49:36 2016 Manolo Gouy 11772 8232cac84f
Remove // "$id:  lines in the middle of the source code
Thu Jun 9 13:47:09 2016 Manolo Gouy 11771 ebd08c6340
Add missing variable declaration under AIX
Thu Jun 9 13:44:55 2016 Manolo Gouy 11770 343e97d579
Add missing variable declaration under NetBSD
Tue Jun 7 10:39:15 2016 Manolo Gouy 11769 cba54044a7
Fix building on FreeBSD that failed for test programs requiring audio output.
Fri Jun 3 11:38:40 2016 Manolo Gouy 11767 99941d13da
Fix for positionning of text after <HR> directive (part of STR #3227).
Tue May 31 12:09:52 2016 Albrecht Schlosser 11765 77f607224c
Fix compiler warnings.
Tue May 31 11:32:25 2016 Albrecht Schlosser 11764 5991a49ffe
Hopefully final fix of HTML entity handling
Tue May 31 09:25:56 2016 Manolo Gouy 11762 dc7d04c889
Give all virtual methods of class Fl_Graphics_Driver do-nothing implementations.
    Thus, Fl_Graphics_Driver can be subclassed and only that part of its virtual methods
    that is useful for an application is re-implemented.
Tue May 31 08:51:35 2016 Manolo Gouy 11760 1f4ca7ef83
Polishing conversions between char- and int-typed variables.
Wed May 25 16:08:04 2016 Albrecht Schlosser 11755 d812a06b9a
Generate Doxygen docs with the highest possible ABI version.
Mon May 23 10:48:59 2016 Albrecht Schlosser 11753 241634c2b6
remove duplicate '&dagger;'
Mon May 23 10:31:00 2016 Albrecht Schlosser 11750 cea813e6ee
Add another special test case "&dagger;" for Fl_Help_View.
    Note: &dagger; = &#x2020 = U+2020, i.e. 0x2020 & 255 = 0x20 = ' ' (space).
Sun May 22 13:36:40 2016 Albrecht Schlosser 11748 ffbcd89b53
Fix compiler warnings.
    FL/platform_types.h: C++ style comments are not allowed in ISO C90.
    src/Fl_Help_View.cxx: type qualifiers ignored on function return type.
    src/Fl_Image_Surface.cxx: (Linux) converting to non-pointer type
      ‘long unsigned int’ from NULL [-Wconversion-null]
      Line #70: In member function ‘Fl_Offscreen Fl_Image_Surface::offscreen()’
Thu May 19 16:50:09 2016 Manolo Gouy 11747 867e640cb8
Fix handing of html entities in copied text by Fl_Help_View widget.
Tue May 17 16:33:50 2016 Albrecht Schlosser 11746 ccf3681097
Fix Fl_Help_View buffer overflow (STR #3275).
    This version works much better than the previous one:
     - fixed buffer overflow ("stack corruption")
     - fixed potential long text truncation
     - fixed tab formatting at line start or any offset divisible by 8
     - better handling of HTML entities (aka quoted characters)
     - code simplifications, e.g. HV_Edit_Buffer::cmp() + width()
     - improve and standardize handling of HTML entities
     - more tests
    Missing features and known bugs:
     - strike out text (not implemented)
     - table and horizontal line formatting issues (STR #3227)
Tue May 17 16:10:12 2016 Albrecht Schlosser 11744 495d15cf7a
Add HTML entity tests to test/help-test.html.
Mon May 16 10:54:13 2016 Manolo Gouy 11741 8eb1517ffc
More accurate message about how to port the stat() function to a new platform.
Sun May 15 14:07:48 2016 Manolo Gouy 11740 a6b31a05af
CMake on Mac OS: copy support files to application bundles.
Sun May 15 14:06:01 2016 Manolo Gouy 11739 c68d4d52d8
Fix colbrowser.cxx for __APPLE__
Sun May 15 13:52:17 2016 Manolo Gouy 11738 e3d96c1bcf
Simpler test/help.cxx under Mac OS X
Fri May 13 13:02:39 2016 Albrecht Schlosser 11735 3db259007a
Fix typo in html file test/help-test.html
Fri May 13 06:45:40 2016 Manolo Gouy 11733 207d8fe09b
Add GLContext to the set of platform-dependent types defined in FL/platform_types.h
    If a platform does not support OpenGL, it can just typedef GLContext as void*
Fri May 13 06:41:33 2016 Manolo Gouy 11732 01c5b06fa0
Slightly simpler Fl_Graphics_Driver::default_driver() function.
Mon May 9 16:10:54 2016 Manolo Gouy 11728 cc35e003eb
Move GL-related member functions from class Fl_Cocoa_Screen_Driver to class Fl_Cocoa_Gl_Window_Driver
Mon May 9 11:29:59 2016 Albrecht Schlosser 11727 2dacc9a1db
Fix documentation of Fl_Tile (STR #3303).
    Clarify that the resizable() box should be the first child to ensure
    correct event delivery to children.
Sun May 8 17:17:31 2016 Manolo Gouy 11724 9a5a5b8739
Doxygen: put all driver classes in EXCLUDE_SYMBOLS
Sun May 8 17:08:15 2016 Manolo Gouy 11723 7d9fdcec25
Remove Doxygen warning.
Sun May 8 16:56:15 2016 Manolo Gouy 11722 f129964dc8
Make Fl_Cocoa_Gl_Window_Driver::draw_string() simpler
Sun May 8 16:45:11 2016 Manolo Gouy 11721 096cb38e1e
Fix typo in comment
Sun May 8 16:43:59 2016 Manolo Gouy 11720 188f80161a
Fix gl_draw() in normal window under WIN32.
Sun May 8 16:20:24 2016 Manolo Gouy 11719 8813f93ac1
Fix gl_draw() used in simple window under Mac OS X.
Sun May 8 15:51:11 2016 Manolo Gouy 11718 8fcccb05d4
Rewrite file src/gl_draw.cxx under the driver model.
Sun May 8 06:57:13 2016 Manolo Gouy 11717 268a2507e8
Set file properties
Sun May 8 06:42:57 2016 Manolo Gouy 11716 300747225c
Rewrite OpenGL-related code under the driver model.
    Class Fl_Gl_Window_Driver, with its platform-specific derived classes, is created
    to hold platform-specific, OpenGL code.
    File gl_draw.cxx still needs to be converted to the driver model.
Thu May 5 08:35:52 2016 Manolo Gouy 11714 048bb2b0f6
Documentation: detail ownership of the image data when pasting from an image-containing clipboard.
Thu May 5 07:42:48 2016 Manolo Gouy 11713 dcb26fc188
Remove unneeded extern declaration.
Thu May 5 06:53:59 2016 Manolo Gouy 11711 aec24973be
static function get_image_from_clipboard(Fl_Widget *) really returns Fl_RGB_Image* type
Wed May 4 05:59:18 2016 Manolo Gouy 11710 e6b4af2c47
Fix how to access clipboard content at program start.
Tue May 3 14:28:45 2016 Manolo Gouy 11709 d47b431750
Fix potential memory leak under X11 when pasted image is not accepted by the receiving app.
Sat Apr 30 15:07:16 2016 Manolo Gouy 11708 86a7bbe93a
Member function Fl_Widget_Surface::draw(Fl_Widget*,int,int) does not need to be virtual.
Thu Apr 28 16:49:07 2016 Manolo Gouy 11707 fde440f752
Restore CMake building with OPTION_PRINT_SUPPORT turned off.
Wed Apr 27 17:25:17 2016 Manolo Gouy 11706 5a4d10faea
Use standard fopen() as default implementation of virtual Fl_System_Driver::fopen()
Wed Apr 27 17:02:57 2016 Manolo Gouy 11705 b870641f34
Begin to remove platform-specific code.
Wed Apr 27 16:56:36 2016 Manolo Gouy 11704 9b186420ff
Add test to avoid null pointer crashes.
Wed Apr 27 16:42:20 2016 Manolo Gouy 11703 f4ec7192a9
Add tests to avoid null pointer errors
Wed Apr 27 16:27:30 2016 Manolo Gouy 11702 425fe6ac8c
Add tests to avoid null pointer crashes.
Tue Apr 26 11:04:00 2016 Manolo Gouy 11701 d3402eaa85
Remove compilation warnings:   suggest parentheses around operand of ‘!’ or change ‘&’ to ‘&&’
Tue Apr 26 07:25:53 2016 Manolo Gouy 11700 f428d0077d
Set svn file properties.
Tue Apr 26 06:23:27 2016 Manolo Gouy 11699 1e65c16b73
Set svn file properties.
Tue Apr 26 06:07:53 2016 Manolo Gouy 11698 2d83a11742
Make one version of Fl_OpenGL_Display_Device::capture_gl_rectangle() the default one.
Tue Apr 26 05:44:54 2016 Manolo Gouy 11697 25b4076b03
Set more accurately the protections of the members of class Fl_Display_Device.
Mon Apr 25 06:29:36 2016 Manolo Gouy 11696 8f9f17456b
Remove unnecessary #include directive.
Sun Apr 24 20:03:05 2016 Manolo Gouy 11695 ed56c01b6c
Set svn file properties.
Sun Apr 24 19:55:26 2016 Manolo Gouy 11694 c0944b7cee
Set svn file properties.
Sun Apr 24 19:49:06 2016 Manolo Gouy 11693 cf751f49de
Set svn file properties.
Sun Apr 24 19:39:27 2016 Manolo Gouy 11692 93d1c43b7a
Remove FL_ABI_VERSION directives
Sun Apr 24 19:30:17 2016 Manolo Gouy 11691 a877a2d06b
Add 2 Doxygen member function descriptions.
Sun Apr 24 16:22:38 2016 Manolo Gouy 11690 6d8b062453
Complete DOxygen documentation of the Fl_Graphics_Driver class.
Sun Apr 24 08:38:11 2016 Manolo Gouy 11689 98f071fa16
Add Doxygen comments for members of the Fl_Graphics_Driver class.
Sat Apr 23 17:55:08 2016 Manolo Gouy 11688 8dddcb2d1d
Move Doxygen comments of Fl_PostScript_File_Device members to Fl_PostScript_File_Device.H for Doxygen visibility.
Sat Apr 23 17:52:34 2016 Manolo Gouy 11687 9941c3c1d7
Move Doxygen comments of Fl_PostScript_File_Device members to Fl_PostScript_File_Device.H for Doxygen visibility.
Sat Apr 23 15:08:26 2016 Albrecht Schlosser 11686 1db8d51eae
Move typedef fl_(u)intptr_t to FL/platform_types.h.
Sat Apr 23 14:25:15 2016 Albrecht Schlosser 11685 c89a609be2
Fix compilation warnings.
Sat Apr 23 07:03:52 2016 Manolo Gouy 11684 ba60624ae9
Remove the src/drivers/ subtree from Doxygen indexing.
Sat Apr 23 06:48:14 2016 Manolo Gouy 11683 4fd7ece329
Remove Doxygen warning.
Sat Apr 23 06:43:04 2016 Manolo Gouy 11682 2cf555047d
Remove Doxygen warnings.
Sat Apr 23 06:27:31 2016 Manolo Gouy 11681 e2edfcbe4f
Add Doxygen definitions to the new Fl_XXX_Driver classes.
Sat Apr 23 04:39:14 2016 Manolo Gouy 11680 c393fb4faf
Remove Doxygen warning. Doxygen does not know that unsigned and unsigned int are the same type.
Sat Apr 23 04:30:39 2016 Manolo Gouy 11679 a56124c20b
Remove #if FLTK_ABI_VERSION >= xxx  directives.
Fri Apr 22 17:13:40 2016 Manolo Gouy 11678 5ec684f236
Minor simplification.
Fri Apr 22 15:46:23 2016 Manolo Gouy 11677 3d41fd7c67
Add necessary test of HAVE_X11_XREGION_H when the content of struct _XRegion is needed.
Wed Apr 20 07:19:19 2016 Manolo Gouy 11676 163c65dc6f
Avoid the expression "foreign language" in comments.
Wed Apr 20 07:14:50 2016 Manolo Gouy 11675 d57f762715
Remove unneeded declarations.
Wed Apr 20 07:03:29 2016 Manolo Gouy 11674 7102c38376
Adde necessary #include <FL/x.H> directive.
Wed Apr 20 04:49:36 2016 Manolo Gouy 11673 ae23f0cb5e
Progress toward support of CMake OPTION_APPLE_SDL
Wed Apr 20 04:09:01 2016 Manolo Gouy 11672 747e88abdc
Add missing typedef statement for CGContextRef.
Wed Apr 20 04:03:03 2016 Manolo Gouy 11671 c28b65f5f5
Clean #include directives used by x.H, mac.H, win32.H
Tue Apr 19 22:51:09 2016 Matthias Melcher 11670 f45389d2cf
Cleaning Pico
Tue Apr 19 22:49:05 2016 Matthias Melcher 11669 d40b765c86
Fixed Fl_X for Pico
Tue Apr 19 22:45:22 2016 Matthias Melcher 11668 769d151a12
Virtualized add_fd and remove_fd into System Driver
Tue Apr 19 20:47:25 2016 Manolo Gouy 11667 cd4498021e
Have headers x.H, win32.H and mac.H share a unique definition of class Fl_X
Tue Apr 19 20:44:35 2016 Matthias Melcher 11666 8a910fe8fb
Pico, fixed graphics scaling and circles
Tue Apr 19 20:05:24 2016 Matthias Melcher 11665 8d796c2cce
SDL fix.
Tue Apr 19 19:37:49 2016 Manolo Gouy 11664 1e8a53ecc4
Move private_dc from Fl_X for WIN32  platform to Fl_WinAPI_Window_Driver.
Tue Apr 19 17:34:15 2016 Manolo Gouy 11663 4aa388d4ff
Add static Fl_XXX_Window_Driver *driver(Fl_Window*) to get the platform-specific driver of a window.
Tue Apr 19 16:58:17 2016 Manolo Gouy 11662 9f78323574
Move GL-related static member functions of the Fl_X class on Mac OS to class Fl_Cocoa_Screen_Driver.
Tue Apr 19 16:00:30 2016 Manolo Gouy 11661 f29fb8c539
Complete the implementations of virtual Fl_X* Fl_Window_Driver::makeWindow() with the X11 platform.
Tue Apr 19 15:47:23 2016 Manolo Gouy 11660 24487a719f
Move Fl_X::make_fullscreen() for WIN32 platform to Fl_WinAPI_Window_Driver:: make_fullscreen().
Tue Apr 19 15:33:58 2016 Manolo Gouy 11659 1e060f6408
Transform Fl_X::make(Fl_Window*) for WIN32 platform into virtual Fl_X* Fl_Window_Driver::makeWindow().
Tue Apr 19 15:00:02 2016 Manolo Gouy 11658 6600993adc
Transform Fl_X::make(Fl_Window*) for Mac platform into Fl_X *Fl_Cocoa_Window_Driver::makeWindow()
Tue Apr 19 14:25:47 2016 Manolo Gouy 11657 f9edd86753
Move several of the methods of class Fl_X for Mac platform to class Fl_Cocoa_Window_Driver.
Tue Apr 19 12:46:07 2016 Manolo Gouy 11656 034cfc94a3
Move Fl_X::set_high_resolution() to classes Fl_Graphics_Driver and Fl_Quartz_Graphics_Driver
Tue Apr 19 06:34:40 2016 Manolo Gouy 11655 366f4bfbc9
Move the set_key_window() member function from class Fl_X to class Fl_Cocoa_Window_Driver.
Mon Apr 18 17:02:44 2016 Manolo Gouy 11654 c0f14ca2f0
Move other_xid member variable from class Fl_X to class F_Window_Driver.
Mon Apr 18 16:11:15 2016 Manolo Gouy 11653 e790ac9653
Move wait_for_expose member variable from class Fl_X to class Fl_Window_Driver.
Mon Apr 18 14:31:07 2016 Manolo Gouy 11652 0629b40afd
Move set_cursor() member functions from class Fl_X to classes Fl_Window_Driver and derived.
Mon Apr 18 13:40:34 2016 Manolo Gouy 11651 516d0e5f9c
Replace static void Fl_X::activate_window(Window) under X11 platform by void Fl_X11_Window_Driver::activate_window()
Mon Apr 18 13:17:09 2016 Manolo Gouy 11650 9df9ffdc4c
Replace Fl_X::sendxjunk() under USE_X11 by Fl_X11_Window_Driver::sendxjunk().
Mon Apr 18 12:48:40 2016 Manolo Gouy 11649 cb95d40067
Remove Fl_X::setwindow(Fl_Window*) from WIN32 and USE_X11 Fl_X classes.
Mon Apr 18 12:28:57 2016 Manolo Gouy 11648 3df26257d0
Move Fl_X::backbuffer_bad under USE_X11 to class Fl_X11_Wi,dow_Driver.
Mon Apr 18 12:12:17 2016 Manolo Gouy 11647 1d279de044
Remove Fl_X::x(w,X) and Fl_X::y(w,Y) on the USE_X11 platform that are unused in FLTK.
Mon Apr 18 11:58:46 2016 Manolo Gouy 11646 85b5f02a8b
Replace member function void Fl_X::flush() by virtual void Fl_Window_Driver::flush()
Sun Apr 17 18:07:11 2016 Matthias Melcher 11645 6818216c30
Fixes for Linux for recent commits.
Sun Apr 17 17:45:44 2016 Matthias Melcher 11644 e2495a760a
MSWindows fixes for previous commits.
Sun Apr 17 15:36:23 2016 Matthias Melcher 11643 cdf85352c4
virtualized some Region calls.
    There is a deeper issue here: regions should be handled by the graphics driver that is associated with the Fl_Window of this widget... .
Sun Apr 17 15:01:20 2016 Matthias Melcher 11642 c9d3eabf4e
virtualized Fl::set_color and free_color.
Sun Apr 17 14:45:25 2016 Matthias Melcher 11641 9ae4a99081
virtualized Fl_Graphics_Driver::global_gc(), a function that should probably not exeist.
Sun Apr 17 14:22:02 2016 Matthias Melcher 11640 cc57af841a
virtualizes fl_set_spot and fl_reset_spot
Sun Apr 17 10:12:42 2016 Manolo Gouy 11639 a4e5dc0267
Move q_release_context() from class Fl_X to class Fl_Cocoa_Window_Driver
Sun Apr 17 09:25:00 2016 Manolo Gouy 11638 16beb869a5
Move Fl_X::gc for Mac platform to the Fl_Cocoa_Window_Driver class
Sun Apr 17 06:00:49 2016 Manolo Gouy 11637 befd771dd6
Remove a few // TODO: check after having checked
Sun Apr 17 05:41:05 2016 Manolo Gouy 11636 c6c92e4037
Remove set_icons() from the virtual API of class Fl_Window_Driver because it is internal to some drivers.
Sat Apr 16 19:13:32 2016 Albrecht Schlosser 11635 67ccf3d216
Fix usage of preprocessor macro USE_X11.
Sat Apr 16 18:19:59 2016 Albrecht Schlosser 11634 160ac59070
Remove unused and "illegal" include statements.
    Header files from src/.. must not be included in public header files.
Sat Apr 16 13:15:49 2016 Manolo Gouy 11633 c4953935b0
Continue removing non window-related member-functions from class Fl_X.
Sat Apr 16 12:28:50 2016 Manolo Gouy 11632 b0ce80f56b
Continue removing non window-related member-functions from class Fl_X.
Sat Apr 16 12:05:55 2016 Manolo Gouy 11631 d3e2a88c09
Continue removing non window-related member-functions from class Fl_X.
Sat Apr 16 11:02:35 2016 Manolo Gouy 11630 d3d7597484
Continue removing non window-related member-functions from class Fl_X.
Sat Apr 16 09:01:19 2016 Manolo Gouy 11629 083e9ed06a
Begin moving non window-related member functions out of Fl_X class.
Sat Apr 16 08:37:15 2016 Manolo Gouy 11628 f8104524e8
Use more consistent naming for derived classes of Fl_Native_File_Chooser_Driver.
Sat Apr 16 08:07:32 2016 Manolo Gouy 11627 62a0bfb88a
Modify the FL_PORTING pragma message to make clear implementation is optional.
Sat Apr 16 07:55:51 2016 Manolo Gouy 11626 9fea9f3417
Add to Doxygen comments how to proceed for a platform where no file chooser is useful.
Sat Apr 16 07:25:58 2016 Manolo Gouy 11625 3caff18578
Remove the virtual destructor of class Fl_X that is no longer needed.
Sat Apr 16 02:00:21 2016 Albrecht Schlosser 11624 95052a4662
Fix typos in comments.
Sat Apr 16 01:49:15 2016 Albrecht Schlosser 11623 f3a0f4efc3
Fix C++ comments in C source files and headers.
Sat Apr 16 00:08:52 2016 Albrecht Schlosser 11622 fea2d9496c
Revert accidentally reverted file by svn r 11607.
    src/Fl_File_Chooser2.cxx contains now its contents of svn r 11606 plus
    Manolo's change in svn r 11609.
    Matt's intended modification (mkdir...) was dropped.
    Matt, please take care of this if still needed (I guess it's obsolete).
Fri Apr 15 21:26:13 2016 Matthias Melcher 11621 acba16a38f
Pico can draw lines rectf and arcs, so the top level driver does not have to
Fri Apr 15 19:10:02 2016 Matthias Melcher 11620 95bf8ef443
Fixed Pico again.
Fri Apr 15 15:36:10 2016 Manolo Gouy 11619 2fcb4f4192
Move platform-dependent implementations of fl_open/close_display() to the Fl_Screen_Driver class
Fri Apr 15 15:12:22 2016 Manolo Gouy 11618 15715cd898
Move platform-dependent implementations of Fl::en/dis/able_im() to the Fl_Screen_Driver class
Fri Apr 15 15:01:27 2016 Manolo Gouy 11617 397a3b83bf
Move platform-dependent implementations of fl_clipboard_notify_changes() to the Fl_System_Driver class
Fri Apr 15 14:49:46 2016 Manolo Gouy 11616 b1f8f3e2aa
Move platform-dependent implementations of Fl::clipboard_contains() to the Fl_System_Driver class
Fri Apr 15 14:32:13 2016 Manolo Gouy 11615 d683841f9f
Move the platform-dependent implementations of Fl::paste() to the Fl_System_Driver class.
Fri Apr 15 14:18:37 2016 Manolo Gouy 11614 7508a033c5
Continue moving to Fl_System_Driver the platform_dependent implementations of member functions of the Fl class.
Fri Apr 15 11:30:10 2016 Manolo Gouy 11613 3f64e2b28d
Continue removing from class Fl_X what is not window-related.
Fri Apr 15 11:09:10 2016 Manolo Gouy 11612 156d2e4053
Continue removing from class Fl_X what is not window-related.
Fri Apr 15 08:06:47 2016 Manolo Gouy 11611 a1de05784b
Fix position in window of string "Line styles".
Fri Apr 15 07:53:06 2016 Manolo Gouy 11610 d289d6bec7
Remove erroneous statement from Doxygen doc.
Fri Apr 15 07:33:26 2016 Manolo Gouy 11609 53d7191928
Remove S_IFMT from the public FLTK API
Thu Apr 14 22:09:04 2016 Matthias Melcher 11608 b9564c64cc
PicoSDL mostly running again
Thu Apr 14 21:29:02 2016 Matthias Melcher 11607 130a0ef8da
PicoSDL fixes - not working!
Thu Apr 14 20:58:20 2016 Manolo Gouy 11606 03e87bb270
Complete rewriting of Fl_Tree_Prefs.cxx under the driver model.
Thu Apr 14 20:44:23 2016 Manolo Gouy 11605 0e0ad95b22
Begin to rewrite Fl_Tree_Prefs.cxx under the driver model.
Thu Apr 14 20:41:16 2016 Manolo Gouy 11604 a409f7c338
Fix Quartz-specific graphics problem apparent in tree demo.
Thu Apr 14 06:06:59 2016 Manolo Gouy 11603 8a0ee7c1db
Set correct preprocessor condition for when the content of file src/scandir_posix.c is necessary.
Wed Apr 13 19:18:56 2016 Manolo Gouy 11602 7a580fd421
Remove FL_ABI_VERSION clauses from the Fl_Tree class source code
Wed Apr 13 14:41:55 2016 Manolo Gouy 11601 70f7738c92
Rewrite Fl_own_colormap.cxx under the driver model.
Wed Apr 13 14:19:13 2016 Manolo Gouy 11600 8653a5353e
Rewrite fl_encoding_mac_roman.cxx under the driver model.
Wed Apr 13 14:05:34 2016 Manolo Gouy 11599 b590bc49f9
Rewrite fl_encoding_latin1.cxx under the driver model.
Wed Apr 13 13:21:27 2016 Albrecht Schlosser 11598 a1ffa85a1e
Remove redundant if condition, fix indenting.
    Note: if (i && i->x); should have been: if (i && i->xid); [1]
      but this is redundant because we always have an xid when an Fl_X exists,
      at least in X11 (see Fl_X::set_xid(..) in src/Fl_x.cxx).
      This might change in the future.
    [1] Clang warning: address of function 'i->x' will always evaluate to 'true'.
        A similar warning was issued when using gcc 4.9.3 under Cygwin/X11.
Wed Apr 13 12:26:04 2016 Albrecht Schlosser 11597 737ae06381
Fix platform specific compilation errors.
    src/Fl_lock.cxx: remove static keyword (Cygwin).
    FL/platform_types.h: __int64 is MS VC only, use int instead.
    Todo: the latter fixes a compilation error on Windows 64-bit platforms
    (MinGW and/or Cygwin). FL_SOCKET needs an update anyway (see comment).
Wed Apr 13 10:48:14 2016 Manolo Gouy 11596 562d29bd7c
Remove platform-dependent code from Enumerations.H
Wed Apr 13 08:31:44 2016 Manolo Gouy 11595 d92a0c3961
Remove useless platform-dependent preprocessor directives.
Wed Apr 13 06:29:37 2016 Manolo Gouy 11594 120e8dca56
Use FL_CFG_WIN_X11 when appropriate
Wed Apr 13 06:23:02 2016 Manolo Gouy 11593 e840f496a9
Fix typo in config_lib.h
Wed Apr 13 06:00:19 2016 Manolo Gouy 11592 0a51aa91bb
Remove useless platform-specific #include directives from Fl_Help_View.cxx
Tue Apr 12 21:32:55 2016 Manolo Gouy 11591 e74f213704
Finish rewrite of Fl_File_Chooser2.cxx for the driver model.
Tue Apr 12 17:53:18 2016 Albrecht Schlosser 11590 7e04657ce7
Remove obsolete EMX (DOS, OS/2 extender) support.
    This commit changes all files except src/Fl_File_Chooser2.cxx.
Tue Apr 12 17:12:13 2016 Manolo Gouy 11589 f3e7251871
Remove compilation warnings
Tue Apr 12 17:06:20 2016 Manolo Gouy 11588 4ebdf97b70
Begin to rewrite Fl_File_Chooser2.cxx for the driver model.
    The parts with case-insensitive filename comparisons for WIN32
    and for WIN32 but not CYGWIN still have to be rewritten.
Tue Apr 12 13:47:38 2016 Manolo Gouy 11587 fce1483eb8
Rewrite fl_draw_pixmap.cxx under the driver model.
Tue Apr 12 07:07:21 2016 Manolo Gouy 11586 3d4ce29bd9
Add and correct a few Doxygen comments.
Tue Apr 12 06:45:35 2016 Manolo Gouy 11585 b9b313538c
Reorganize the implementations of the virtual member function Fl_System_Driver::getenv()
Mon Apr 11 19:19:02 2016 Manolo Gouy 11584 5273076bb0
Add missing #include directive
Mon Apr 11 19:14:47 2016 Manolo Gouy 11583 64b3d26daa
Create Fl_X11_System_Driver.{cxx,.H} and share Fl_Posix_System_Driver.{cxx,.H} between Darwin and USE_X11 platforms.
Mon Apr 11 13:50:41 2016 Manolo Gouy 11582 1411c11905
Improve use of struct stat for WIN32 platform.
Mon Apr 11 13:07:08 2016 Manolo Gouy 11581 5b44fe3bff
Remove compilation errors in Fl_File_Icon.cxx with MSVC compiler with new method Fl_System_Driver::file_type().
Mon Apr 11 00:46:11 2016 Albrecht Schlosser 11580 aafd8b6031
Fix VisualC++ build (Visual Studio 2015).
    IDE generated with CMake, still many warnings, but compiles and runs.
    Note: we *must* get rid of all VisualStudio-specific #define's like:
     #define unlink _unlink
    This one led to a compilation error (not a warning).
    src/Fl_File_Icon.cxx: I had to add _MSC_VER (WIN32) distinction as in
      previous code (FLTK 1.3). Obviously MinGW is more Unixy than MS VC++
      since MinGW compiled and linked the code. Needs a better fix ...
Sun Apr 10 20:48:48 2016 Manolo Gouy 11579 84122ac25a
Remove compilation warnings about functions defined but not used (WIN32 platform).
Sun Apr 10 20:38:04 2016 Manolo Gouy 11578 6879d54fc4
Rewrite Fl_lock.cxx under the driver model.
Sun Apr 10 19:37:18 2016 Manolo Gouy 11577 95fa60b71d
Rewrite Fl_get_system_colors.cxx under the driver model.
Sun Apr 10 18:45:59 2016 Manolo Gouy 11576 78213fc57e
Remove platform-dependent code from Fl_File_Icon2.cxx
Sun Apr 10 18:36:47 2016 Manolo Gouy 11575 99b3c6813a
Rewrite Fl_File_Input.cxx under the driver model.
Sun Apr 10 18:22:57 2016 Manolo Gouy 11574 c3f1877fd1
Remove platform-dependent code from Fl_PNG_Image.cxx
Sun Apr 10 18:02:26 2016 Manolo Gouy 11573 f9369a74ef
Remove platform-dependent code from Fl_Clock.cxx
Sun Apr 10 17:56:53 2016 Manolo Gouy 11572 7e20aa06f9
Fix error in WIN32 code when rewriting Fl_File_Browser.cxx for the driver model.
Sun Apr 10 08:15:51 2016 Manolo Gouy 11571 faaa2b6d1e
Rewrite Fl_Preferences.cxx under the driver model.
Sun Apr 10 06:33:19 2016 Manolo Gouy 11570 927774af85
Rewrite Fl_File_Browser.cxx under the driver model.
Sat Apr 9 18:29:40 2016 Albrecht Schlosser 11569 9ca66c6f3d
Fix Doxygen warning ("nested comment").
Sat Apr 9 17:55:12 2016 Albrecht Schlosser 11568 13d2f30a85
Add platform-independent internal UTF-8 header file.
Sat Apr 9 17:11:34 2016 Manolo Gouy 11567 6dff22f7ff
Add comment to make clear that fl_overlay.cxx is cross-platform at this point.
Sat Apr 9 16:37:24 2016 Manolo Gouy 11566 65e19a1d2d
Rewrite fl_shortcut.cxx for the driver model.
Sat Apr 9 15:37:40 2016 Manolo Gouy 11565 3bc5be71a3
Rewrite Fl_Tooltip.cxx for the driver model.
Sat Apr 9 15:21:34 2016 Manolo Gouy 11564 fe624b83fc
Add missing #include directive
Sat Apr 9 15:15:33 2016 Manolo Gouy 11563 8b672ee655
Rewrite fl_open_uri.cxx under the driver model.
Sat Apr 9 12:37:44 2016 Albrecht Schlosser 11561 d98a8e13e6
Fix compiler warning when compiled with USING_XCODE [-fpermissive].
Sat Apr 9 10:42:17 2016 Albrecht Schlosser 11560 d56e2ec9f0
Fix typos.
Sat Apr 9 10:15:42 2016 Albrecht Schlosser 11559 72ced0ddd3
Fix compiler warnings [-Wmissing-declarations].
Sat Apr 9 09:59:46 2016 Albrecht Schlosser 11558 9aa5e497ba
Fix C++ comment in C header file.
Sat Apr 9 09:48:34 2016 Manolo Gouy 11557 3ac718fd32
Rewrite Fl_Menu.cxx for the driver model.
    See the detailed description in menuwindow::handle(int e) of Fl_Menu.cxx
    of how the menu window class could require 1 or 2 less support functions from
    the Fl_System_Driver class.
Fri Apr 8 16:00:26 2016 Manolo Gouy 11556 1ba6928313
Rewrite filename_ext.cxx for the driver model.
Fri Apr 8 15:48:28 2016 Manolo Gouy 11555 90682dbd48
Rewrite filename_isdir.cxx for the driver model.
Fri Apr 8 15:17:39 2016 Manolo Gouy 11554 62952ea295
Rewrite filename_absolute.cxx for the driver model.
Thu Apr 7 16:54:20 2016 Manolo Gouy 11553 19b98e40de
Rewrite filename_expand.cxx under the driver model.
Thu Apr 7 15:29:54 2016 Manolo Gouy 11552 050dfb5504
Place #include <FL/platform_types.h> as first directive
Thu Apr 7 15:16:16 2016 Manolo Gouy 11551 56e9d58a60
Add missing :
Thu Apr 7 15:10:30 2016 Manolo Gouy 11550 23a60edb44
Rewrite filename_list.cxx under the driver model.
    One more platform-dependent type is necessary: struct dirent
    Create a new header file, FL/platform_types.h, to define all
    types whose definition is platform-dependent.
    This file is for C because it is included by scandir_XXX.c
Thu Apr 7 00:03:19 2016 Albrecht Schlosser 11549 406fcaf305
Improve Unicode documentation, fix typos.
Wed Apr 6 22:20:32 2016 Albrecht Schlosser 11547 f120334da3
Fix Doxygen warnings.
    There was one obvious warning in src/fl_read_image.cxx, but others
    have to do with incomplete code and platform specific definitions.
    I'm not entirely happy with these changes. Temporary changes have been
    marked with 'FIXME' and should be removed later if possible.
Wed Apr 6 20:33:53 2016 Manolo Gouy 11546 9fa4059f43
Rewrite Fl_get_key.cxx for the driver model - cont'd
Wed Apr 6 20:30:28 2016 Manolo Gouy 11545 f3462a2abe
Rewrite Fl_get_key.cxx under the driver model.
Wed Apr 6 19:39:15 2016 Manolo Gouy 11544 a2eeca92f0
Rewrite Fl_Input.cxx under the driver model.
Wed Apr 6 15:57:43 2016 Manolo Gouy 11543 2a36225036
Make Fl_Native_File_Chooser_FLTK.cxx platform-independent.
Wed Apr 6 15:49:52 2016 Manolo Gouy 11542 ae0d15f1a3
Begin to rewrite files using #include <sys/stat.h> under the driver model.
    struct stat is considered a platform-specific type.
    The Unix, Mac OS, and WIN32 platforms define it with #include <sys/stat.h>
    Other platforms may do that their own way.
Wed Apr 6 14:30:30 2016 Manolo Gouy 11541 d905769e69
Fix typos in macro names S_IBLK, S_ILNK, S_ICHR and S_IFIFO
Wed Apr 6 13:55:20 2016 Manolo Gouy 11540 888427f2fe
Remove unused #define directives
Wed Apr 6 13:16:33 2016 Manolo Gouy 11539 f7b70c6866
Remove unnecessary #include <sys/stat.h> directive
Wed Apr 6 13:13:14 2016 Manolo Gouy 11538 f62dfac8e1
Remove unneeded #include directives
Tue Apr 5 23:33:04 2016 Albrecht Schlosser 11537 1099338262
Clean up Makefile and CMakeLists.txt
Tue Apr 5 21:15:45 2016 Albrecht Schlosser 11536 020a96b4a8
Fix more compiler warnings.
Tue Apr 5 17:52:58 2016 Albrecht Schlosser 11533 f0f41708a4
Fix typo.
Tue Apr 5 15:08:21 2016 Manolo Gouy 11531 6f3825483f
Set correct svn properties.
Tue Apr 5 14:55:45 2016 Manolo Gouy 11530 7c3f3cef39
Delete this file. Its content is now in file Fl_Native_File_Chooser.cxx.
Tue Apr 5 11:25:35 2016 Manolo Gouy 11529 fa67aafa9d
Rewrite the Fl_File_Native_Chooser class under the driver model.
Mon Apr 4 11:57:34 2016 Manolo Gouy 11528 1dfe311998
Remove unused member function declaration (Mac OS platform)
Mon Apr 4 11:31:51 2016 Manolo Gouy 11527 a22791b691
Have the device demo operate also the Fl_PostScript_File_Device class.
Mon Apr 4 10:39:42 2016 Manolo Gouy 11526 01ef0a6ec6
Modify files keysym2Ucs.c, utf8Input.c, utf8Utils.c and utf8Wrap.c for the driver model.
Mon Apr 4 08:18:26 2016 Manolo Gouy 11525 bc11bd8d5f
Fix typo Fl --> FL
Mon Apr 4 05:15:37 2016 Manolo Gouy 11524 8be74c3fe4
Remove platform-dependent code from file is_spacing.c
Mon Apr 4 05:10:48 2016 Manolo Gouy 11523 2aa1088533
Remove platform-specific code from file case.c
Sun Apr 3 17:54:41 2016 Manolo Gouy 11522 664c2b6357
Remove code to draw rounded bottom window corners which is not effective.
Sun Apr 3 15:34:31 2016 Manolo Gouy 11521 2eecc67e7e
Fix error introduced in Fl_arg.cxx when converted to the driver model.
    fluid built by CMake no longer started under the finder.
Sun Apr 3 14:25:42 2016 Manolo Gouy 11520 d292de92ef
Rewrite fl_scroll_area.cxx under the driver model.
Sun Apr 3 08:47:52 2016 Manolo Gouy 11519 7c8e337942
Remove "(if fl_window is null)" from Doxygen comment.
Sun Apr 3 08:36:19 2016 Manolo Gouy 11518 b3af5591ca
Stop using fl_read_image() to read window decoration.
    Use instead an API internal to each platform code base.
    fl_read_image() is used only for its documented feature
    of reading inside the current window or an offscreen buffer.
Sun Apr 3 06:58:07 2016 Manolo Gouy 11517 9a97fc37fd
Delete because content is now in Fl_XXX_Screen_Driver.cxx
Sun Apr 3 06:51:09 2016 Manolo Gouy 11516 f1ffe2f1fe
Rewrite fl_read_image.cxx under the driver model.
    Files fl_read_image_mac.cxx and fl_read_image_win32.cxx are no longer used;
    their content is now in Fl_XXX_Screen_Driver.cxx
Sat Apr 2 16:24:57 2016 Manolo Gouy 11515 c88af210e7
Move function draw_layer_to_context() from Fl_Cocoa_Screen_Driver to Fl_Cocoa_Window_Driver
Sat Apr 2 16:08:56 2016 Manolo Gouy 11514 64c96b9098
Continue removing from class Fl_X all what is not window-related.
Sat Apr 2 15:47:54 2016 Manolo Gouy 11513 ddc95025fd
Fix lowercase typo.
Sat Apr 2 15:37:03 2016 Manolo Gouy 11512 6b6c71265f
Complete removal of platform-dependent code from fl_set_font.cxx
Sat Apr 2 15:12:44 2016 Manolo Gouy 11511 7a8f307fca
fl_font.o no longer depends on Fl_Font.H
Sat Apr 2 13:53:41 2016 Manolo Gouy 11510 09e0864f3e
Remove #include directive for Fl_Font.H from mac.H
Sat Apr 2 13:48:50 2016 Manolo Gouy 11509 851c17d43b
Remove platform-dependent code from src/fl_font.cxx
Sat Apr 2 13:26:17 2016 Manolo Gouy 11508 6ef97bc0c6
Delete this file replaced by one in each platform-specific subtree with same name.
Sat Apr 2 13:22:48 2016 Manolo Gouy 11507 d011d5b4f0
Replace src/Fl_Font.H by one file for each platform.
    This file contained nearly only platform-specific code.
Sat Apr 2 11:58:13 2016 Manolo Gouy 11506 c03f3d8946
Begin to rewrite src/Fl_Font.H in the driver model.
Sat Apr 2 09:44:00 2016 Manolo Gouy 11505 43d20bd18a
Remove now useless Fl_X::window_ref() function.
Sat Apr 2 09:41:11 2016 Manolo Gouy 11504 d0c8ff09f0
Make constant CoreText_threshold local to file Fl_Quartz_Graphcs_Driver_font.cxx
Sat Apr 2 09:34:17 2016 Manolo Gouy 11503 ab5252071c
Move Fl_X::next_marked_length to the Fl_Cocoa_Screen_Driver class.
Sat Apr 2 07:29:09 2016 Manolo Gouy 11502 4d4b43a6bc
Move function Fl_X::calc_mac_os_version() to class Fl_Darwin_System_Driver
Sat Apr 2 07:03:18 2016 Manolo Gouy 11501 77e5a5c11a
Move get_carbon_function() to the Fl_Darwin_System_Driver class where it belongs.
Sat Apr 2 06:42:34 2016 Manolo Gouy 11500 7b37960d95
Move intersect_region_and_rect() to the Quartz driver code where it belongs.
Fri Apr 1 15:37:19 2016 Manolo Gouy 11499 d756822c2b
Complete removal of platform-dependent code from Fl_Text_Display.cxx
Fri Apr 1 14:58:07 2016 Manolo Gouy 11498 a53297ebab
Begin to remove platform-specific code from Fl_Text_Display.cxx
Fri Apr 1 14:49:29 2016 Manolo Gouy 11497 20b00f29ce
Rewrite Fl_Text_Editor.cxx under the driver model.
    Fl_Cocoa_Screen_Driver contains the Mac OS-specific text editor key bindings.
Fri Apr 1 11:11:11 2016 Albrecht Schlosser 11496 88ab084e9a
correct typo, format line breaks < 80 columns in README.OSX.txt
Fri Apr 1 10:28:03 2016 Manolo Gouy 11494 f1a157bdd9
Replace Fl_System_Driver::driver() by Fl::system_driver()
    for coherence with the Fl::screen_driver() function.
Thu Mar 31 21:48:15 2016 Albrecht Schlosser 11492 524ebcef0b
Fix example programs after removal of some system #include's.
    This adds missing headers that were previously included in other
    FLTK header files.
Thu Mar 31 20:11:04 2016 Manolo Gouy 11491 8566b126c2
Remve useless extern declaration
Thu Mar 31 20:00:54 2016 Manolo Gouy 11490 03eb542e0d
Begin to remove platform-dependent code from Fl_Input.cxx
Thu Mar 31 19:55:03 2016 Manolo Gouy 11489 519673a776
Move dnd and character-composition related functions from Fl_System_Driver to Fl_Screen_Driver
Thu Mar 31 19:23:38 2016 Manolo Gouy 11488 5d12ea5ab1
Move marked text-related data to the Fl_Cocoa_Screen_Driver class.
Thu Mar 31 17:41:45 2016 Manolo Gouy 11487 740760109d
Finish removal of platform-dependent code from Fl_Input_.cxx
Thu Mar 31 17:25:18 2016 Manolo Gouy 11486 2de2f54968
Move the marked text support member functions from Fl_System_Driver to Fl_Screen_Driver.
Thu Mar 31 15:57:35 2016 Manolo Gouy 11485 ff83e355b0
Begin to remove platform-dependent code from Fl_Input_.cxx
Thu Mar 31 11:01:07 2016 Manolo Gouy 11484 56e145a1c8
Complete removing platform-dependent code from the Fl.H header file.
    Type FL_SOCKET is now declared in Fl_System_Driver.H with all other
    platform-dependent public types.
Thu Mar 31 06:47:15 2016 Manolo Gouy 11483 3ca402b609
Continue removing platform-dependent code from the Fl.H header file.
Thu Mar 31 06:24:26 2016 Manolo Gouy 11482 059664e7d4
Begin to remove platform-dependent code from the Fl.H header file.
Thu Mar 31 05:01:22 2016 Manolo Gouy 11481 62f9813e4e
Fix error with PostScript driver on the Mac platform.
Thu Mar 31 04:32:34 2016 Manolo Gouy 11480 9959aff368
Fix "warning: control may reach end of non-void function" in Fl_Darwin_System_Driver.cxx
Wed Mar 30 20:16:40 2016 Manolo Gouy 11479 d67f395031
Rewrite functions XRectangleRegion(), XDestroyRegion() under the driver model.
Wed Mar 30 17:38:26 2016 Manolo Gouy 11478 7799245100
Avoid vfprintf_l() that may be missing on Linux
Wed Mar 30 17:09:15 2016 Manolo Gouy 11477 5adda33f96
Finish removing platform-dependent code from Fl_PostScript.cxx
Wed Mar 30 16:27:41 2016 Manolo Gouy 11476 730f2d12b2
Continue removing platform-dependent code from Fl_PostScript.cxx
Wed Mar 30 15:57:19 2016 Manolo Gouy 11475 4a633d2aef
Make sure fl_mac_os_version is defined when the Fl_Darwin_System_Driver object is used.
Wed Mar 30 15:47:23 2016 Manolo Gouy 11474 2ac2b506a8
Begin to rewrite Fl_PostScript.cxx under the driver model.
Wed Mar 30 14:19:07 2016 Manolo Gouy 11473 fc7b00dad8
Delete this file which content has been transferred to fl_utf8.cxx
Wed Mar 30 13:59:55 2016 Manolo Gouy 11472 288ed8988e
Rewrite fl_utf.c under the driver model: the file disappears and its content is moved to fl_utf8.cxx
    All functions of fl_utf.c keep their C API in fl_utf8.cxx
Wed Mar 30 04:38:27 2016 Manolo Gouy 11471 53aced3dbd
Add an explicative comment.
Tue Mar 29 20:10:37 2016 Manolo Gouy 11470 532e564593
Add #include <FL/Fl_Widget.H> needed in mac.H
Tue Mar 29 19:59:34 2016 Manolo Gouy 11469 9a521b95b9
Remove useless #include <FL/Fl_Device.H>
Tue Mar 29 19:52:51 2016 Manolo Gouy 11468 08677d0cb6
Clean mac.H of a few useless #include directives.
Tue Mar 29 19:41:14 2016 Manolo Gouy 11467 fd600aa239
Rewrite fl_utf8.cxx under the driver model.
Tue Mar 29 19:00:48 2016 Manolo Gouy 11466 eff92c8211
Fix typo in comment.
Tue Mar 29 11:54:44 2016 Albrecht Schlosser 11465 109ebd2dc0
Fix Fl_Browser::textsize(int) to adjust the scrollbars (STR #3057).
    Setting a different text size didn't affect the scrollbars.
    Port of branch-1.3, r11453 and r11464.
Tue Mar 29 10:34:28 2016 Albrecht Schlosser 11463 1dca798b6e
[CMake] Revert r 11461.
    Sorry for the noise.
Tue Mar 29 09:58:49 2016 Albrecht Schlosser 11461 4e4a531f3e
[CMake] Fix library names.
Tue Mar 29 09:29:51 2016 Manolo Gouy 11459 4fcefc68f8
Remove the platform-dependent type xchar
    File fl_utf8.h defines the xchar type with a platform-dependent value (wchar_t or unsigned short).
    But it is used exclusively by WIN32 code (0 use in cross-platform code, 0 use in APPLE
    or in USE_X11 code).
    Thus, we can just get rid of this type and replace it by wchar_t where it is used.
Tue Mar 29 06:20:43 2016 Manolo Gouy 11458 21655099a7
Add a default value to the argument of Fl_System_Driver::dnd(int).
Tue Mar 29 06:12:12 2016 Manolo Gouy 11457 8ee4c7303f
Begin to clean fl_utf8.h from its platform-dependent content.
Mon Mar 28 17:41:13 2016 Manolo Gouy 11456 d9f5412413
This file has become useless under the driver model.
Mon Mar 28 17:36:07 2016 Manolo Gouy 11455 aacb5277e7
Rewrite Fl_dnd.cxx under the driver model.
Mon Mar 28 16:17:39 2016 Manolo Gouy 11454 4fbbab8b41
Rewrite Fl_compose.cxx under the driver model.
Mon Mar 28 15:22:20 2016 Manolo Gouy 11452 28d1a2d684
Rewrite Fl_abort.cxx under the driver model.
Mon Mar 28 10:53:37 2016 Manolo Gouy 11451 244a1a5bc4
Remove src/drivers/Quartz/Fl_Quartz_Display_Device.{H,cxx}
    These files contain no code and are unlikely to become necessary in the future.
Mon Mar 28 10:05:20 2016 Manolo Gouy 11450 9deee67a6c
Restore building with NO_PRINT_SUPPORT.
Mon Mar 28 09:35:44 2016 Manolo Gouy 11449 b26cae4773
Add Fl_System_Driver.cxx
Mon Mar 28 09:25:11 2016 Manolo Gouy 11448 6284720098
Rewrite file src/Fl_arg.cxx under the driver model. Begin giving flesh to the Fl_System_Driver class.
Sun Mar 27 20:59:39 2016 Albrecht Schlosser 11447 3dfec155ad
[CMake] Remove redundant linking in CMake build process (STR #3298).
    [CMake] Simplify CMake build files, remove redundancies.
    Ports of branch-1.3, svn r 11442 and 11444:
    Remove src/fl_call_main.c from non-Windows (static) libraries. It would
    be an empty object file anyway.
    Use CMake variables to set up used files and linked libraries to remove
    redundancies. All files and libs are used only in the definition of
    CMake variables and used later in static and shared builds, resp.
Sun Mar 27 19:15:35 2016 Manolo Gouy 11446 baf41cac1a
Remove platform-dependent code from Fl_Widget_Surface.cxx - last part.
Sun Mar 27 18:53:01 2016 Manolo Gouy 11445 21540390cb
Remove the platform-dependent code from Fl_Widget_Surface.cxx - first part.
Sun Mar 27 17:37:07 2016 Manolo Gouy 11443 c456dd4eb7
Remove a bunch of unnecessary #include <config.h> directives
Sun Mar 27 07:47:52 2016 Manolo Gouy 11441 2fd4dde9f5
Rewrite Fl_Menu_Window class under the driver model.
Sun Mar 27 06:58:54 2016 Manolo Gouy 11440 5f14fc3e9b
Rewrite Fl_Overlay_Window class under the driver model.
Sat Mar 26 23:06:08 2016 Manolo Gouy 11439 c7b1591486
Remove a few uses of the fl_graphics_driver global variable
Sat Mar 26 22:31:20 2016 Manolo Gouy 11438 120dc8fa95
Remove commented out code.
Sat Mar 26 22:22:46 2016 Manolo Gouy 11437 4d52fc463f
Replace the last bit of platform-dependent code in src/Fl.cxx by equivalent code.
    The replacement code does the same thing because driver is never NULL
    and the ewmh_supported() test is made inside Fl_X11_Window_Driver::take_focus().
Sat Mar 26 18:36:44 2016 Manolo Gouy 11436 6d8ca8eeb6
Move all content of the header after the anti-repetition guard.
Sat Mar 26 18:03:10 2016 Manolo Gouy 11435 24fd68560f
Public header files must not include files from the source tree.
Sat Mar 26 17:54:34 2016 Manolo Gouy 11434 e31adcf1b9
Add necessary #include <FL/x.H> directive
Sat Mar 26 17:49:54 2016 Manolo Gouy 11433 ba239c1ea1
Remove #include <FL/x.H> from all public include file (there remained one).
    This way, application programs will not have to include system headers.
Sat Mar 26 14:36:11 2016 Manolo Gouy 11432 915d6c643a
Isolate the definition of the 3 public, OS-dependent types (Fl_Offscreen, Fl_Region, Fl_Bitmask).
Sat Mar 26 14:33:20 2016 Albrecht Schlosser 11431 e86e4a6ab0
[CMake] Fix library name (Debug mode), add fluid dependencies.
    The library name in Debug mode must only be 'libname'd.a if the build
    is with MSVC; all other builds never appended the 'd' suffix to the name.
    This is also documented (see lib/README).
    Fluid did not regenerate the .cxx and .h files if the .fl file was changed.
    The DEPENDS keyword adds the necessary dependency.
    The MAIN_DEPENDENCY keyword "also suggests to Visual Studio generators
    where to hang the custom command" according to CMake docs.
    Ported from branch-1.3, svn r11430.
Sat Mar 26 11:38:38 2016 Manolo Gouy 11429 ff0ec68023
Add necessary #include directive under Mac OS.
Sat Mar 26 02:55:14 2016 Albrecht Schlosser 11428 29a9e89b39
Remove FLTK_ABI_VERSION from all but *tree*.* and documentation.
    Everything related to Fl_Tree and its test and demo programs has been
    Documentation needs updates.
Sat Mar 26 01:39:22 2016 Albrecht Schlosser 11427 de9dc764f1
Move fl_local_* decl. and short docs back to FL/Fl.H.
    Note: these declarations must be in an (official) public header.
    FL/Fl_System_Driver.H should not be included in user space.
    Maybe move FL/Fl_System_Driver.H to src/drivers ?
Sat Mar 26 01:34:10 2016 Albrecht Schlosser 11426 9de6339d81
Fix compiler warning.
Fri Mar 25 23:16:33 2016 Matthias Melcher 11425 259df57b81
Added current error messages of Android build as a reference.
Fri Mar 25 23:10:15 2016 Matthias Melcher 11424 6955d5d082
Completed the vector font.
Fri Mar 25 16:06:00 2016 Manolo Gouy 11422 01e991840c
Remove a bunch of useless #include <FL/x.H> directives.
Fri Mar 25 15:39:51 2016 Manolo Gouy 11421 8e14321df4
Remove duplicate #include directive
Fri Mar 25 13:08:48 2016 Manolo Gouy 11420 a69133d317
Separating platform-dependent from platform-independent code: make src/Fl.cxx cross-platform.
    File src/Fl_win32.cxx is now compiled instead of included in Fl.cxx.
Thu Mar 24 22:26:13 2016 Manolo Gouy 11419 2530120d7d
Rewrite Fl::handle_(int e, Fl_Window* window)  and Fl_Widget::damage() to remove their platform dependent parts
Thu Mar 24 06:25:18 2016 Manolo Gouy 11418 f432c17112
Move platform-dependent stuff away from src/Fl.cxx
Thu Mar 24 06:19:10 2016 Manolo Gouy 11417 1778ee8831
Fix the implementation of Fl_Window::default_icons(const Fl_RGB_Image *icons[], int count) under the driver model.
Thu Mar 24 05:59:35 2016 Manolo Gouy 11416 6e141d14df
Fix the "bizarre makefile build error" due to double declarations of fl_clip_region(Fl_Region).
Thu Mar 24 05:48:14 2016 Manolo Gouy 11415 2543075ea0
Fix bizarre makefile build error on Mac OS platform.
Thu Mar 24 01:20:08 2016 Albrecht Schlosser 11414 4a31fd7aed
Provide Fl_Window_Driver accessor methods for public Fl_Window attributes.
    These methods are intended to be used instead of pWindow->method()
    for better code readability and easier porting of methods from
    Fl_Window to Fl_Window_Driver.
    New methods: x(), y(), y(), h(), shown(), parent(), border(),
      visible(), and visible_r().
    We should add more such methods if appropriate.
Wed Mar 23 20:42:13 2016 Manolo Gouy 11413 abc12cd376
Rewrite Fl_Window::show(int argc, char **argv) under the driver model.
Wed Mar 23 20:16:23 2016 Manolo Gouy 11412 d3b33cdaea
Rewrite Fl_Window::hotspot(int X, int Y, int offscreen) under the driver model.
Wed Mar 23 18:00:37 2016 Manolo Gouy 11411 fdaad858ba
Rewrite Fl_Window::iconize() under the driver model.
Wed Mar 23 17:13:09 2016 Manolo Gouy 11410 e3ee1e7b81
Rewrite Fl_Window::size_range_() under the driver model.
Wed Mar 23 16:14:35 2016 Manolo Gouy 11409 6608db0b0c
Rewrite Fl_Window::border(int) under the driver model.
Wed Mar 23 14:39:02 2016 Manolo Gouy 11408 c2eb9d730f
Rewrite Fl_Window::offscreen_x() under the driver model - continued.
Wed Mar 23 14:36:58 2016 Manolo Gouy 11407 affdcdb525
Rewrite Fl_Window::fullscreen_x() under the driver model.
Wed Mar 23 14:02:25 2016 Albrecht Schlosser 11406 979740ce91
Enable definition of Unicode conv. options on compiler command line.
    Three documented pre-processor variables can now be defined on the
    compiler command line to avoid editing the FLTK src code. The default
    values still apply unchanged.
    Port of branch-1.3, svn r11404.
Wed Mar 23 13:56:46 2016 Albrecht Schlosser 11405 8d89d760fa
Fix Linux build: one include file and missing #include <config.h>.
Wed Mar 23 13:13:00 2016 Manolo Gouy 11403 a114e3ab4d
Rewrite Fl_Window::handle(int) under the driver model.
Wed Mar 23 07:08:17 2016 Manolo Gouy 11402 270b437500
Rewrite Fl_Window::hide() under the driver model.
Tue Mar 22 21:21:08 2016 Manolo Gouy 11401 bf7e4de688
Rewrite Fl_Window::resize() under the driver model.
Tue Mar 22 17:47:44 2016 Manolo Gouy 11400 6ec8ebc4f8
Rewrite Fl_Window::show() and Fl_Menu_Window::show() under the driver model.
Tue Mar 22 13:27:22 2016 Manolo Gouy 11399 6302b3da00
Move all icon-support data to the platform-specific Fl_XXX_Window_Driver class
    because these data are platform-specific.
Tue Mar 22 09:35:51 2016 Manolo Gouy 11398 b8e6c430e8
Make sure can_xdbe() from Fl_X11_Window_Driver.cxx is called after fl_open_display().
    This ensures fluid does not open the display when run with -c
Tue Mar 22 00:23:25 2016 Albrecht Schlosser 11397 92d3e1e03a
Update minimum required CMake version from 2.6 to 2.6.3.
    Verified build with CMake 2.6.3 (failed with 2.6.2).
    We need 2.6.3 for "unset" (unknown command in 2.6.2 and earlier).
    CMake 2.6.2 also fails when parsing nested brackets in logical
    expressions like the following one:
Mon Mar 21 22:51:23 2016 Albrecht Schlosser 11395 80c853b426
Fix some, but not all doxygen warnings.
Mon Mar 21 17:55:10 2016 Manolo Gouy 11394 3f34aba828
Rewrite Fl_Window::label(const char *name, const char *mininame) under the driver model.
Mon Mar 21 17:06:03 2016 Manolo Gouy 11393 9ba3889ae5
Implement Fl_Window::make_current() under the driver model.
Mon Mar 21 13:59:24 2016 Manolo Gouy 11392 ec0b695709
Improve the implementation of Fl_X11_Window_Driver::flush_double() and flush_overlay().
    The with/without Xdbe codes are well separated, and code repetition is avoided
    by the introduction of Fl_X??_Window_Driver::flush_double(int).
Sun Mar 20 19:20:30 2016 Manolo Gouy 11391 e4c90deee8
Fix Fl_Xdbe_Window_Driver::destroy_double_buffer() for an Fl_Overlay_Window.
Sun Mar 20 15:04:41 2016 Manolo Gouy 11389 02edfc29b7
More accurate #include directive.
Sun Mar 20 08:44:30 2016 Manolo Gouy 11388 4baca53944
Continue implementation of class Fl_Window_Driver according to Albrecht's plan.
    This removes a bunch of
       friend class Fl_XXX_Window_Driver;
    declarations from Fl_Window.H, and therefore allows
    to add a new window driver without modifying the platform-independent code.
    The Fl_PicoXXX_Window_Driver classes  have been modified but not tested ==> test needed.
    File Fl_X11_Window_Driver.cxx contained this:
    // DO NOT call this if the window is not mapped!
    static int can_xdbe()
     { ... }
    The new code does call can_xdbe() before any window is mapped,
    and does work. Since can_xdbe() asks the X server whether it supports
    the Xdbe extension, I don't see why this should not work without a
    mapped window. This point should be clarified by the author of
    "DO NOT call this if the window is not mapped!".
Sat Mar 19 23:04:28 2016 Manolo Gouy 11387 51030530f2
Advancing Albrecht's plan for the Fl_Window_Driver class.
Sat Mar 19 22:40:28 2016 Albrecht Schlosser 11386 c2067d81be
Fix Windows (CMake) build.
Sat Mar 19 22:23:34 2016 Albrecht Schlosser 11385 3d28ff46fb
Update dependencies.
    Note: the manually edited dep's have not been updated.
Sat Mar 19 22:22:19 2016 Albrecht Schlosser 11384 5c1a539d42
Minor Makefile (spaces/tabs) and CMakeLists.txt fixes.
Sat Mar 19 21:55:10 2016 Ian MacArthur 11383 a80f902fdb
Fix typo that was preventing the porting branch form building on OSX with a Makefile build.
    Note that the dependencies in the Makefile build are somewhat out-of-synch in the porting branch right now as things transition...
Sat Mar 19 21:31:28 2016 Manolo Gouy 11382 533c0a2179
Fix #include directive
Sat Mar 19 21:15:34 2016 Manolo Gouy 11381 8273b54354
Rename print support files to src/drivers/XXX/
Sat Mar 19 18:59:29 2016 Manolo Gouy 11380 e65d66e885
Reflect recent changes in Fl_Image_Surface and Fl_Copy_Surface classes.
Sat Mar 19 18:57:11 2016 Manolo Gouy 11379 258eec3d20
Reflect recent changes in Fl_Image_Surface and Fl_Copy_Surface classes.
Sat Mar 19 18:51:15 2016 Manolo Gouy 11378 06e7d0092d
Rename Fl_XXX_Image_Surface.cxx to Fl_XXX_Image_Surface_Driver.cxx
Sat Mar 19 18:44:37 2016 Manolo Gouy 11377 f55363776f
Deleted because renamed to src/drivers/XXX/Fl_XXX_Copy_Surface_Driver.cxx
Sat Mar 19 18:32:05 2016 Manolo Gouy 11376 5662eea6ee
Rename src/drivers/XXX/Fl_XXX_Copy_Surface.cxx to Fl_XXX_Copy_Surface_Driver.cxx
    because these files implement the Fl_XXX_Copy_Surface_Driver class.
Sat Mar 19 18:20:44 2016 Manolo Gouy 11375 dbad8f8a98
Remove unused files. Their content is now in src/drivers/XXX/Fl_XXX_Copy_Surface.cxx
Sat Mar 19 18:14:58 2016 Manolo Gouy 11374 f936eb1a96
Driver-based rewrite of the Fl_Copy_Surface class.
Sat Mar 19 16:59:54 2016 Manolo Gouy 11373 3dcc91d1f0
Remove these useless, empty files.
Sat Mar 19 16:56:57 2016 Manolo Gouy 11372 a8d32c57d6
Remove src/drivers/XXX/Fl_XXX_Image_Surface.H files that are no longer useful.
    Their content is now in src/drivers/XXX/Fl_XXX_Image_Surface.cxx
Sat Mar 19 16:48:33 2016 Manolo Gouy 11371 8711cf8be9
(hopefully) Final driver-based rewriting of the Fl_Image_Surface class.
Sat Mar 19 05:51:11 2016 Manolo Gouy 11369 f8bd5f3046
Fix potential memory error in Mac OS code to print window titlebars.
Sat Mar 19 05:11:05 2016 Manolo Gouy 11368 1179b53b0c
Implement Fl_PostScript_Graphics_Driver::has_feature(driver_feature mask)
Sat Mar 19 00:39:40 2016 Albrecht Schlosser 11367 55735c7930
Fix Windows build error (fluid: undefined symbol fl_clip_region()).
Fri Mar 18 21:53:31 2016 Albrecht Schlosser 11366 dfb09b2095
Fix #include <config.h>.
Fri Mar 18 21:48:23 2016 Albrecht Schlosser 11365 84ef7615d7
Fix potential crash in take_focus() (Linux).
Fri Mar 18 18:20:11 2016 Manolo Gouy 11364 fa9a33eaee
Beginning of Albrecht's plan for Fl_Window and Fl_Window_Driver classes.
    Still unclear whether the implementation of the flush() functions follows the plan.
    The Fl_Printer class is fully rewritten under the driver model.
Mon Mar 14 17:25:06 2016 Greg Ercolano 11363 3e0e68bb59
More carry from r11173 to porting..
Mon Mar 14 17:20:59 2016 Greg Ercolano 11362 91e747bbda
Carrying over r11173 fix to the new 1.3 porting branch.
Mon Mar 14 17:09:46 2016 Greg Ercolano 11361 aeaf3b1586
Carrying fix from 1.3-current (r11177) to the new porting branch.
Sun Mar 13 23:03:42 2016 Matthias Melcher 11360 5c3c42f464
Extended double buffering fix to Android
Sun Mar 13 22:16:37 2016 Matthias Melcher 11359 b496d18b85
Fixed 'flush()' code for single, double, and overlay buffering
Sun Mar 13 15:31:26 2016 Matthias Melcher 11358 30756ae350
Window functions to retrieve more detailed window type
Sat Mar 12 23:44:57 2016 Matthias Melcher 11357 5953f5a695
Quick fix for Fluid on X11. MSWindows version broken due to missing Fl_Printer::Helper::Helper
Sat Mar 12 22:24:20 2016 Matthias Melcher 11356 e6631a0f7f
Moved the Fl_Window::decorated_*() functions teh Window_Driver
Sat Mar 12 18:05:10 2016 Matthias Melcher 11355 4643f3e98c
PicoSDL: added crude event handling.
    Clipped vs. unclipped drawing issues!
Sat Mar 12 17:44:24 2016 Albrecht Schlosser 11354 c1fe316855
Add localization of modifier key names in shortcut labels.
    Modifier key names like Alt, Shift, Ctrl, Meta can now be localized by
    setting global string pointers. See documentation of fl_shortcut_label().
    Port branch-1.3, svn r 11321.
Sat Mar 12 17:34:13 2016 Matthias Melcher 11353 3b14342388
Add Android Touch events.
    "test/button" works now.
Fri Mar 11 22:01:55 2016 Matthias Melcher 11351 823a6cc2ad
Android "Hello" compiles and runs!
Fri Mar 11 20:32:48 2016 Manolo Gouy 11350 f11fe83e5e
Rewrite of Fl_Printer under the driver model - first step
    Next step will involve moving code to new, platform-specific files.
Fri Mar 11 17:12:21 2016 Matthias Melcher 11349 bd844a2abc
Android version compiles, links, launches, and receives commands.
    Still need to implement window creation and drawing.
Fri Mar 11 15:10:46 2016 Manolo Gouy 11348 75d66680cb
Fix small problem in win->wait_for_expose() for a window that has subwindows.
Fri Mar 11 09:28:56 2016 Manolo Gouy 11347 28f24b1b6f
Remove a few #include <FL/x.H> from public FLTK headers.
Fri Mar 11 08:31:36 2016 Manolo Gouy 11346 408d0672a4
Rewrite Fl_Window::wait_for_expose() using the window driver approach.
Fri Mar 11 07:07:42 2016 Manolo Gouy 11345 2952c530b8
Rewrite capture of window decorations using the window driver approach.
Fri Mar 11 01:01:58 2016 Matthias Melcher 11344 914248bbf0
Android version compiles and links. Won't run yet.
Fri Mar 11 00:19:27 2016 Matthias Melcher 11343 ac1932eaa7
(incomplete) Add files required to compile for Android via Pico driver.
    Don't get your hopes up just yet: this code does compile, but it doesn't fully link yet. If you like to test this, install the Android SDK and NDK, set the usual environment variables, then change into the "Android" direktory and run "mk". It will currently fail at the linker stage.
Thu Mar 10 22:26:40 2016 Manolo Gouy 11342 31fcd84ca9
Rewrite all window icon-related Fl_Window API with the window driver approach.
    It seems this allows not to #include <windows.h> in the public header files.
Thu Mar 10 18:45:50 2016 Manolo Gouy 11341 7098924b82
Add code to delete Fl_WinAPI_Window_Driver object.
Thu Mar 10 18:39:01 2016 Manolo Gouy 11340 9bffd04b3a
Remove useless Fl_Cocoa_Window_Driver::todelete_ member
Thu Mar 10 18:33:05 2016 Manolo Gouy 11339 1d7ce6ad41
Add deletion code for Fl_X11_Window_Driver object
Thu Mar 10 17:27:23 2016 Manolo Gouy 11338 11d3888fc2
Remove useless #niclude directive
Thu Mar 10 17:22:26 2016 Manolo Gouy 11337 5411b20fb8
Deleted because use f the window driver mechanism.
Thu Mar 10 17:19:34 2016 Manolo Gouy 11336 d4768073fa
Implement non-rectangular windows using the Window Driver mechanism.
Thu Mar 10 16:07:24 2016 Manolo Gouy 11335 79f79d292c
Remove redundant recursion (as suggested in [fltk.coredev] [porting] Remove redundant recursion)
Thu Mar 10 13:22:29 2016 Manolo Gouy 11334 2d5dbc3925
Add necessary #include directive
Thu Mar 10 10:18:57 2016 Manolo Gouy 11333 7260f919a0
Rename header files with .H extension
Thu Mar 10 10:18:12 2016 Manolo Gouy 11332 9e86a2c1a5
Rename header files with .H extension
Wed Mar 9 17:19:50 2016 Manolo Gouy 11331 18747277a9
Add necessary test for non-null pointer.
Wed Mar 9 16:17:36 2016 Manolo Gouy 11330 18098db3ae
Fix freeze of Fl_Native_File_Chooser occurring under Mac OS + X11 when printing to .ps file
Wed Mar 9 11:40:13 2016 Manolo Gouy 11328 d4577f0d0a
Simplify Fl_OpenGL_Display_Device::capture_gl_rectangle() under Mac OS.
Wed Mar 9 10:30:29 2016 Manolo Gouy 11327 fc3adbd7cb
Rewrite Fl_Gl_Device_Plugin.cxx in a platform-independent way.
    The platform-specific code lands in src/Drivers/OpenGL/Fl_OpenGL_Display_Device.cxx
    and the FL_PORTING clause should be compilable.
Wed Mar 9 06:59:12 2016 Manolo Gouy 11326 309213bfae
Simpler code for capture of OpenGL windows: the pixel array is converted to top-to-bottom earlier.
Tue Mar 8 22:22:03 2016 Manolo Gouy 11325 0b751e8175
Rewrite Fl_Gl_Device_Plugin::print() without any platform-specific code.
Tue Mar 8 22:19:57 2016 Manolo Gouy 11324 459b0d1d07
Restore high resolution support.
Tue Mar 8 22:18:59 2016 Manolo Gouy 11323 6f590b9a13
Simpler method to retain printed image data in memory until it is effectively used.
Tue Mar 8 16:08:34 2016 Matthias Melcher 11320 548ac7a623
A few more Pico fixes. Tests with single buffered windows render well for those parts that are implemented.
Tue Mar 8 15:49:45 2016 Matthias Melcher 11319 58eb525366
Compiling test/colbrowser
Tue Mar 8 13:51:01 2016 Albrecht Schlosser 11318 bcb756da38
Improve documentation of Fl_Valuator class.
Tue Mar 8 13:48:30 2016 Albrecht Schlosser 11317 ad230031f5
Fix overflow in Fl_Valuator::precision(int) to 0...9 (STR #3280).
Tue Mar 8 09:15:50 2016 Matthias Melcher 11313 ca54afe5f4
Add missing PicoSDL functions for command line build.
Tue Mar 8 00:35:00 2016 Matthias Melcher 11311 00750d4c33
Add very basic graphics support to PicoSDL.
Mon Mar 7 21:56:12 2016 Matthias Melcher 11310 b73bf4a73e
Fixes for MSWindow
Mon Mar 7 21:45:55 2016 Matthias Melcher 11309 c26880e2d2
Fixes for X11
Mon Mar 7 21:15:25 2016 Matthias Melcher 11308 12eef8e64d
Separating Fl_X and Fl_Window_Driver in Fl_Window.
    This was needed because Fl_X only exists if a window is mapped, but we need the driver from the very beginning. Adding Fl_X in the ctor would create hidden bugs. Strategy is now to remove system specific stuff from Fl_X and move it one-by-one to Fl_Window_Driver while maintaining a working code base. X11 and WIN32 fixups will follow in 15 minutes.
Mon Mar 7 20:50:18 2016 Matthias Melcher 11307 b6b99d84e9
Fix PicoSDL.
    Fixed some issues with Image_Surface and Copy_Surface for PicoSDL. Still have to virtualize the driver concept.
Sun Mar 6 22:33:41 2016 Manolo Gouy 11305 b33c9cffd1
Driver-based Fl_Double_Window implementation - continued.
Sun Mar 6 22:22:22 2016 Manolo Gouy 11304 5ca73da7b3
Driver-based Fl_Double_Window implementation - continued.
Sun Mar 6 21:33:07 2016 Manolo Gouy 11303 acfeee6d78
New, driver-based Fl_Double_Window implementation.
Sun Mar 6 21:01:54 2016 Matthias Melcher 11302 7e2dc9daf5
Trying to make Pico work after Surface driver addition.
Sun Mar 6 20:31:12 2016 Matthias Melcher 11301 a22cc4158f
Rename SDL driver files to PicoSDL.
    Renaming the files will keep the namespace clean if we decide to do a full blown SDL port one day.
    PicoSDL OTOH is merely there to explain how a Pico driver setup is started and improved.
Sun Mar 6 19:13:57 2016 Manolo Gouy 11300 00060ce587
Remove duplicate Fl_Image_Surface::(un)translate()
Sun Mar 6 18:53:10 2016 Manolo Gouy 11299 09cc0a9aab
Build with SDL driver needs to know also the Fl_Image_Surface class.
Sun Mar 6 14:31:33 2016 Albrecht Schlosser 11298 5c1e50b128
Fix include statements.
Sat Mar 5 16:41:04 2016 Albrecht Schlosser 11297 96a89d4300
Remove obsolete ide/Xcode4 directory.
Sat Mar 5 16:25:39 2016 Albrecht Schlosser 11296 aefd708ef1
Remove obsolete files.
Sat Mar 5 14:40:49 2016 Albrecht Schlosser 11294 b4126742f2
Fix and simplify exe name handling in demo (Windows).
Sat Mar 5 13:29:46 2016 Albrecht Schlosser 11292 420408e7d3
[CMake] Mark OPTION_USE_POLL as advanced.
Sat Mar 5 10:05:14 2016 Manolo Gouy 11290 95d5f00009
Remove warning message about signed/unsigned comparison.
Sat Mar 5 07:04:20 2016 Manolo Gouy 11289 e7a0f7c5d0
Complete the platform-neutral implementation of fl_XXX_offscreen() functions.
    It is necessary to have a stack of the fl_begin_offscreen() calls, so that nested
    such calls apply fl_end_offscreen() to the matching fl_begin_offscreen().
Sat Mar 5 00:53:40 2016 Albrecht Schlosser 11288 3f401f4477
Add Ian's offscreen test program.
    Same commit as branch-1.3, svn r11287.
Fri Mar 4 22:41:42 2016 Manolo Gouy 11286 79c64c461d
Fix a problem seen in fluid on the Mac OS platform - continued.
Fri Mar 4 22:30:18 2016 Manolo Gouy 11285 a46e324405
Fix a problem seen in fluid on the Mac OS platform.
Fri Mar 4 18:01:39 2016 Manolo Gouy 11284 7c5c803ca9
Fix bad #include directives
Fri Mar 4 17:47:29 2016 Manolo Gouy 11283 a9c986752e
Complete driver-based implementation of Fl_Image_Surface.
Fri Mar 4 16:44:23 2016 Manolo Gouy 11282 35214afddf
Protect platform-specific parts from Doxygen.
Fri Mar 4 13:11:05 2016 Ian MacArthur 11281 3c25a338c4
porting branch: Modify unittest_images.cxx to support "on the fly" update of the image test controls.
    This builds on the mechanism that Albrecht added to test flipped and inverted image drawing, but allows the settings to be changed at runtime rather than at compile time as previously.
    I'm commiting it here for testing use in the porting branch, but I'm not happy I've really tested it enough yet so reluctant to commit it in the main fltk-1.3.x branch until this code has been reviewed and tested by others.
Fri Mar 4 08:20:55 2016 Manolo Gouy 11280 d1d57d1253
Fix Fl_Xlib_Graphics_Driver::draw(Fl_RGB_Image *,...) that was incompletely changed in earlier commit.
Thu Mar 3 19:25:10 2016 Manolo Gouy 11279 750c372b29
Remove Fl_Copy_Surface::newPlatformSurface() that does not do much.
Thu Mar 3 19:16:22 2016 Manolo Gouy 11278 8782f2f925
Simpler implementation of Fl_Image_Surface.
Thu Mar 3 08:32:16 2016 Manolo Gouy 11277 8bd3ea6c8a
A hopefully clearer implementation of the fl_XXX_offscreen() functions.
    The Xlib driver is tricky because it uses two kinds of offscreen buffers.
Thu Mar 3 06:46:02 2016 Manolo Gouy 11276 78a539f695
Fix error in an #include directive.
Thu Mar 3 05:33:26 2016 Manolo Gouy 11275 8b0dec3406
Use more expressive variable names.
Thu Mar 3 00:07:17 2016 Matthias Melcher 11274 fcdc7f1212
Made Pico/SDL setup compile and run some minimal code.
Wed Mar 2 22:10:03 2016 Manolo Gouy 11273 2d52a3494d
Rewrite Fl_Image_Surface with full separation of public API and platform-specific implementation.
    File Fl_Image_Surface.cxx still needs to be cut in several platform-specific files.
Wed Mar 2 16:19:18 2016 Albrecht Schlosser 11272 76b240d79d
Fix negative 'd' and 'ld' args in fl_draw_image() (X11 + Windows).
    This commit fixes a regression in FLTK 1.3.x, where negative values
    of 'd' (pixel delta) and 'ld' (line delta) didn't work anymore under
    Unix/Linux (X11) and Windows.
    With this commit the regression is fixed on all supported platforms.
    Equivalent of branch-1.3, svn r11270.
Wed Mar 2 15:52:29 2016 Albrecht Schlosser 11271 5a8f3f908b
Enable negative 'd' and 'ld' arguments in fl_draw_image() test.
    This commit defines additional preprocessor macros to enable testing
    negative d and ld arguments of fl_draw_image(). Documentation (test
    scenario) has also been improved.
    Same commit as in branch-1.3, svn r11269.
Wed Mar 2 12:40:53 2016 Albrecht Schlosser 11268 35c4ae5527
Don't expose X11 headers in user space any more (mostly).
    Platform headers should not be #include'd in public FLTK header files,
    so that user space is not polluted by platform specific definitions.
    See discussion and test file in discussion in fltk.general:!topic/fltkgeneral/gzmdRk2LvAk
    This commit fixes FL/fl_utf8.h to #include X11 headers only if compiled
    in the FLTK library (same as in FLTK 1.3.4, svn r 11266).
    Todo (FLTK 1.4): Remove more unnecessary (unwanted) system header #include
    statements from FL/x.H and other public header files.
Wed Mar 2 12:36:37 2016 Manolo Gouy 11267 39fdbecd16
Finalize new implementation of Fl_Copy_Surface.
Wed Mar 2 10:53:25 2016 Albrecht Schlosser 11265 df94673b61
Fix C++ comment in C header file + typos.
Wed Mar 2 00:54:37 2016 Matthias Melcher 11262 53859c584f
Add support for SDL as a base library on OS X.
    This commit adds the basic setup in CMake to allow SDL as a base
    library for FLTK on OS X (and probably for other platforms as well).
    The SDL library driver set is derived from yet another new driver
    set named 'Pico'. 'Pico' is a base class for a driver that will
    allow porting of FLTK with the tinyest amount of effort. This
    implementation of the SDL driver shall be documented very well
    to explain the porting process.
Tue Mar 1 21:28:13 2016 Manolo Gouy 11261 f14de4048e
Fix a few Doxygen warnings.
Tue Mar 1 21:10:16 2016 Manolo Gouy 11260 2072fcd698
Allow fl_draw_image() with negative L parameter for Mac OS - continued.
Tue Mar 1 20:44:56 2016 Manolo Gouy 11259 9c77129a28
Allow running fluid -c without opening the X11 display.
Tue Mar 1 18:07:12 2016 Manolo Gouy 11258 a3d54d5d6c
Correct the headers included by FL/Fl_Copy_Surface.H, following the new implementation of this class.
    This change requires other changes in header inclusions by class Fl_Image_Surface.
Tue Mar 1 17:20:25 2016 Manolo Gouy 11257 7decb3d3b2
Rewrite the Fl_Copy_Surface class with strict separation of public API and platform-related code.
Tue Mar 1 16:06:11 2016 Matthias Melcher 11256 4af165781f
Added missing virtua function headers
Tue Mar 1 15:22:37 2016 Manolo Gouy 11255 c646ecc0d3
Have fl_draw_image(buf,X,Y,W,H,D,L) support negative D and/or L arguments on Mac OS X - continued.
Tue Mar 1 00:54:21 2016 Matthias Melcher 11253 95824506fe
Moved timer code to screen drivers. Not sure if this should be in System Drivers instead.
Mon Feb 29 17:37:17 2016 Manolo Gouy 11252 6521bb2562
Add missing implementation of Fl_Widget_Surface::origin(int x, int y).
Mon Feb 29 17:35:49 2016 Manolo Gouy 11251 6d34c647ca
Accept fl_draw_image(buf, X,Y,W,H,D,L) with negative D and/or L arguments on the Mac OS platform.
Sun Feb 28 06:28:19 2016 Manolo Gouy 11249 9f91e336a1
Remove "passing NULL to non-pointer argument" warning.
Sat Feb 27 18:05:36 2016 Manolo Gouy 11248 1883e9d386
Remove declaration of Fl_Quartz_Graphics_Driver::create_offscreen_with_alpha() no longer used.
Sat Feb 27 17:27:21 2016 Albrecht Schlosser 11246 d67e9ccb73
Fix compiler warnings (STR #2988) - final commit.
    This commit includes all fixes from branch-1.3 (svn r 11243) and additional
    fixes for warnings that crept in during the porting efforts, particularly
    C++ ("//") comments in C and included header files, and some more.
Sat Feb 27 14:07:22 2016 Manolo Gouy 11242 85b45416e7
Remove signed/unsigned comparison warning.
Sat Feb 27 13:52:27 2016 Manolo Gouy 11241 0b406baa0f
Rewrite all fl_XXX_offscreen() functions so they use an Fl_Image_Surface object.
    These functions become therefore platform-independent.
Sat Feb 27 01:28:02 2016 Albrecht Schlosser 11239 5d24872dc4
Yet another directory in src/Makefile.
Sat Feb 27 01:26:10 2016 Albrecht Schlosser 11238 425867ad2a
Update dependencies.
Sat Feb 27 01:24:32 2016 Albrecht Schlosser 11237 12b3e335ed
Fix Makefiles (particularly target 'clean').
Fri Feb 26 20:27:41 2016 Manolo Gouy 11236 81bd759b53
Remove Fl_Printer::driver() that is already implemented in a parent class.
Fri Feb 26 17:45:13 2016 Manolo Gouy 11235 169e422fee
Make the Fl_Widget_Surface's constructor protected.
    Because this object is not functional in itself, but needs to be subclassed.
Fri Feb 26 17:29:42 2016 Manolo Gouy 11234 c9eba2c3b5
Correct \file info for Doxygen
Fri Feb 26 17:25:38 2016 Manolo Gouy 11233 d8ac1b45c1
These files have been renamed from .h to .H
Fri Feb 26 17:17:20 2016 Manolo Gouy 11232 350cca5446
Use the FL_DOXYGEN preprocessor variable to remove all Doxygen warnings
Fri Feb 26 17:13:18 2016 Manolo Gouy 11231 e8a8cfc0b1
More .h renamed to .H
Fri Feb 26 16:31:08 2016 Manolo Gouy 11230 e45a7a25f7
Change another .h -> .H
Fri Feb 26 16:29:24 2016 Manolo Gouy 11229 fe1a32a0ff
Change #include following new file location
Fri Feb 26 16:26:24 2016 Manolo Gouy 11228 d9d5625028
Rename src/drivers/XXX.h to XXX.H - continued
Fri Feb 26 16:18:27 2016 Manolo Gouy 11227 83dddfbfab
Rename remaining src/drivers/XXX.h to XXX.H - continued
Fri Feb 26 16:12:43 2016 Manolo Gouy 11226 6287426b65
Rename all remaining src/drivers/XXX.h to XXX.H
Fri Feb 26 15:59:22 2016 Manolo Gouy 11225 df18e581af
Rename Fl_Quartz_Display_Device.h to Fl_Quartz_Display_Device.H
Fri Feb 26 15:57:11 2016 Manolo Gouy 11224 4df3376ba9
Rename Fl_Xlib_Graphics_Driver.h to Fl_Xlib_Graphics_Driver.H
Fri Feb 26 15:34:05 2016 Manolo Gouy 11223 51cd728c6e
Move PostScript-support files to a subfolder called src/drivers/PostScript - continued
Fri Feb 26 15:24:08 2016 Manolo Gouy 11222 cf4825eedf
Move PostScript-support files to src/drivers/PostScript/
Fri Feb 26 13:41:48 2016 Manolo Gouy 11221 53993d4bd1
Add virtual destructor to Fl_Screen_Driver.
    This is safer because Fl_Screen_Driver has virtual member functions and derived classes.
Fri Feb 26 12:51:47 2016 Manolo Gouy 11220 682f950796
Create class Fl_Widget_Surface that supports draw(Fl_Widget *, int, int).
    This simplifies the implementation of Fl_Copy_Surface and Fl_Image_Surface
    which now are made to derive from Fl_Widget_Surface.
Fri Feb 26 11:17:48 2016 Albrecht Schlosser 11219 e1f5f5f7ec
Update dependencies.
    Note: we should really get rid of that!
Fri Feb 26 11:13:43 2016 Albrecht Schlosser 11218 44f203e275
Fix Linux and Windows compilation error.
    Note: class Fl_Device has been removed.
Thu Feb 25 17:56:48 2016 Manolo Gouy 11217 7f17b915db
Remove the useless pseudo run-time type information supported by the Fl_Device class.
Thu Feb 25 10:14:28 2016 Manolo Gouy 11216 31793cbdba
Remove the global variable fl_mask_bitmap - put it in the graphics driver's virtual API.
Thu Feb 25 07:08:57 2016 Manolo Gouy 11215 e24f3f79a3
Remove useless declarations.
Thu Feb 25 07:01:10 2016 Manolo Gouy 11214 14759eb387
Mac OS platform: make fl_draw_image() draw correctly depth-4 images with transparent areas.
    This simplifies the drawing of Fl_Pixmap's.
Wed Feb 24 08:07:30 2016 Manolo Gouy 11213 6097c134d8
Avoid static initializers to allow FLTK usage in static initializers.
Tue Feb 23 20:37:22 2016 Manolo Gouy 11212 941c301ceb
Fix Fl_RGB_Image::uncache() and Fl_Bitmap::uncache().
    It is not possible to use fl_graphics_driver in these functions
    because when they are called *fl_graphics_driver may have been
    deleted. A solution is to use  Fl_Display_Device::display_device()->driver()
    instead which is always valid.
Mon Feb 22 17:33:02 2016 Albrecht Schlosser 11209 0f7e3ac086
Fix unused variable compiler warning.
Mon Feb 22 17:25:30 2016 Albrecht Schlosser 11208 7e94d7650b
Fix Fl_Text_Display line numbers and scrolling (STR #3272).
    Fix slow scrolling, line number display, and scrollbars (STR #3272).
    Optimized wrap mode - removed unnecessary wrap margin calculations.
    The speed-up is significant, but there is still room for improvements.
    Refactored parts of the code to make the decisions more modular and
    (hopefully) obvious.
    This commit also fixes some positioning issues with different scrollbar
    alignments and the new line number display.
    Fix line number display with wrap mode (hiding text behind scrollbars).
    Note: same changes as r11202 and r11205 in branch-1.3.
Mon Feb 22 17:21:17 2016 Albrecht Schlosser 11207 f54863db44
Add some test options to test/editor.cxx.
    These options are not enabled by default, but you can enable them by
    defining macro DEV_TEST. This adds buttons to toggle wrap mode,
    scrollbar positions, and to increase or decrease the window size (width).
    Note: this can be used to test STR #3272 and the fixes in a follow-up
    Note: same changes as r11204 in branch-1.3.
Sat Feb 20 16:41:05 2016 Albrecht Schlosser 11201 1b5fd476b9
Update copyright and comments of src/cmap.cxx (no code changes).
Sat Feb 20 16:24:11 2016 Albrecht Schlosser 11200 45026bbd8f
Document creation of src/fl_cmap.h with src/cmap.cxx.
    This is only for developer info.
    Note: cmap.cxx is not included in the library. It is only used to
    generate fl_cmap.h.
Sat Feb 20 15:56:13 2016 Albrecht Schlosser 11199 07ad8383ed
Fix include files.
    Note: ../../config_lib.h also includes <config.h>.
Fri Feb 19 22:46:00 2016 Matthias Melcher 11198 90c42cac3e
WinAPI fixes
Fri Feb 19 22:43:40 2016 Matthias Melcher 11197 093c0c7f73
Fixes for X11
Fri Feb 19 22:37:41 2016 Matthias Melcher 11196 399501783c
Add example code to Fl_Window_Driver.
    Some refactoring of a take_focus() function into driver structures (not too happy with it, because it has some kind of bug fix. However, shouldn't *all* Fl_Windows always have an FL_Window_Driver?)
Fri Feb 19 22:21:02 2016 Matthias Melcher 11195 052401a34e
Instantiate the right Fl_Window_Driver.
Fri Feb 19 21:42:46 2016 Matthias Melcher 11194 a072a412a1
Typo in X11 part of src/Makefile
Fri Feb 19 21:41:02 2016 Matthias Melcher 11193 22d302e242
Add System Driver and Window Driver.
    Adding two new driver types for each platform. Fl_..._System_Drivers exist once per application and provide an interface for to file and filename handling, timers, locking, multithreading, etc. .
     The Fl_..._Window_Driver class is instantiated once for every window in the system and corresponds closely to (and actually inherits from) Fl_X. The difference now is, that there is one Fl_X/Fl_Window_Driver base class, and one platform version that derives from it.
Fri Feb 19 12:47:45 2016 Manolo Gouy 11192 2b6482263b
Fix Fl_X11_Screen_Driver::wait(). The fractals demo is back.
Fri Feb 19 12:40:24 2016 Manolo Gouy 11191 1b5e231c90
Rename Fl_Graphics_Driver::set_gc(void*) to gc(void*) and Fl_Graphics_Driver::get_gc() to gc().
Fri Feb 19 11:52:45 2016 Manolo Gouy 11190 6d766cc681
Update the fl_gc global variable also when Fl_Graphics_Driver::set_gc() is called.
Thu Feb 18 16:21:51 2016 Manolo Gouy 11189 f33b45f1d3
Remove all uses of the fl_gc global variable. Towards a clean driver model.
    fl_gc remains usable by the application as a hook into the system.
Thu Feb 18 01:45:12 2016 Albrecht Schlosser 11187 6ce27012a9
Fix Fl::grab(win) under Linux (program crashed in menus).
Wed Feb 17 23:54:09 2016 Albrecht Schlosser 11186 b4e57e0e26
Fix flush() call (Linux) - makes drawing work again, but still buggy.
    With this fix drawing works again under Linux. Tiny diff, but ...
    Known bugs: opening Fl_Choice dropdown menus crashes the program.
    In my experience it takes a while (5-10 seconds) before the crash
    occurs. Maybe an endless loop that eventually "kills" the stack ?
Wed Feb 17 12:16:59 2016 Albrecht Schlosser 11185 4a1662f1da
Fix compilation under Linux - compiles, but doesn't work :-(
    I moved all timer related (X11) stuff from src/Fl.cxx to
    src/drivers/X11/Fl_X11_Screen_Driver.cxx and added externals as
    done by Ian in a previous commit for the WinAPI screen driver.
    I did not (yet) remove the code from Fl_x.cxx though, but disabled it. See:
      #if (0) // *FIXME* moved to src/drivers/X11/Fl_X11_Screen_Driver.cxx
    Current state is that FLTK can be compiled and linked again (under Linux)
    but doesn't work (shows empty windows only).
    I thought it was worth to commit my work, but can't check what's going on
    right now - other devs should feel free to continue this.
    PS: the new code in src/drivers/X11/Fl_X11_Screen_Driver.cxx was just
    dropped in, keeping the right order for usage of static helper functions,
    but should be fixed in all regards (order, logic, ...).
Wed Feb 17 11:23:26 2016 Albrecht Schlosser 11184 f7ef143c4f
Fix typos.
Tue Feb 16 22:15:47 2016 Manolo Gouy 11183 c5994ebb6f
Fix drawing of window decoration.
Mon Feb 15 17:28:50 2016 Manolo Gouy 11182 4bdfc28670
Mon Feb 15 17:25:57 2016 Manolo Gouy 11181 6c33971353
Restore compilability for the WIN32 platform.
Mon Feb 15 17:21:23 2016 Manolo Gouy 11180 88f20cfd15
Improve image drawing to double-resolution Fl_Image_Surface objects (Mac OS only).
Mon Feb 15 13:52:58 2016 Ian MacArthur 11178 5918384879
FL porting Win32 build fix:
    Fix a typo. in Fl_WinAPI_Screen_Driver.cxx that was
    preventing linking.
    Also hack around a build issue by adding some extra
    extern calls to Fl_WinAPI_Screen_Driver.cxx.
    I suspect that these are also needed in
    Fl_X11_Screen_Driver.cxx but do not have an X11 box
    here to test with.
    In any case, these added externs should probably be
    in an internal header somewhere, not in the code
    like I have done!
    Currently builds/runs OK on Win7 with these changes.
Sun Feb 14 22:57:48 2016 Albrecht Schlosser 11176 5bc3f5f5a7
Remove all Windows IDE files.
    Todo: remove Xcode4 files as well.
Sun Feb 14 19:50:57 2016 Albrecht Schlosser 11175 0c4804270b
Fix HTML entities in Fl_Help_View.
    Removed obsolete ENC() macro, fixed some encodings that were still
    Windows CP-1252: converted to correct Unicode values.
Sun Feb 14 10:29:54 2016 Manolo Gouy 11172 17fc58f6ad
Fl_Graphics_Driver::has_feature(Fl_Graphics_Driver::NATIVE) is useful here.
Sun Feb 14 06:36:20 2016 Manolo Gouy 11171 ec290bc9e0
Remove Fl_X::q_fill_context() used only once.
Sun Feb 14 06:19:26 2016 Manolo Gouy 11170 6439f34ee7
Remove Fl_X::q_clear_clipping() used only once.
Sun Feb 14 06:02:12 2016 Manolo Gouy 11169 a349dc994e
Move Fl_Quartz_Graphics_Driver::draw_CGImage() to Fl_Quartz_Graphics_Driver_image.cxx
Sat Feb 13 18:02:17 2016 Albrecht Schlosser 11168 8630bdbed2
[Cairo] Remove part of the dependency of FL/Fl.H on config.h.
    To use Fl_Cairo_Window one did not only need to configure with --enable-cairo,
    but also needed to #include <config.h> before #include <FL/Fl.H>.
    This commit removes the smaller part of the dependency of the public header
    file FL/Fl.H on config.h. This needs a better solution in FLTK 1.4.0.
    The user still needs to define FLTK_HAVE_CAIRO _before_ #include <FL/Fl.H>.
    Note: This is not compatible with fluid, since fluid _always_ includes
    FL/Fl.H as the first statement in generated header files.
    See also the discussion in fltk.general:
    Note: also fixed a typo in src/drivers/X11/Fl_X11_Screen_Driver.cxx
Sat Feb 13 16:12:57 2016 Matthias Melcher 11166 d8f96b579d
Moed Fl::visual and System_Scheme to the driver
Sat Feb 13 14:48:13 2016 Manolo Gouy 11165 4af616a7a2
New member function Fl_Quartz_Graphics_Driver::draw_CGImage() used internally for all image drawing.
Sat Feb 13 13:17:29 2016 Matthias Melcher 11164 c95169ea49
Refactoring get_system_colors() into Fl_Screen_Driver
Sat Feb 13 12:57:00 2016 Matthias Melcher 11163 5d1df0e789
Details on PORTME items. Move fl_parse_color() to screen drivers.
Sat Feb 13 06:25:34 2016 Manolo Gouy 11162 8deac1e6ba
Simpler code to support drawing to high-resolution Fl_Image_Surface object.
Fri Feb 12 21:15:48 2016 Manolo Gouy 11160 df0b1dcb07
Fl_Window::capture_titlebar_and_borders() returns a double-resolution top image.
    Also, Fl_Image_Surface now can draw a scaled Fl_Shared_Image to
    a double-resolution surface.
Fri Feb 12 16:17:40 2016 Manolo Gouy 11159 bf7c25a1d7
Add Fl_Shared_Image *Fl_Image_Surface::highres_image() to draw into high-resolution bitmap.
    Also, change arguments of void Fl_Window::capture_titlebar_and_borders() from
    Fl_RGB_Image to F_Shared_Image so, in the future, scaled images having
    a drawing size distinct from a pixel size can be returned, to support
    high-resolution displays.
Fri Feb 12 11:49:32 2016 Manolo Gouy 11158 bc83464b64
Add Fl_Shared_Image *Fl_Image_Surface::highres_image() to draw into high-resolution bitmap.
     This new member function returns a high resolution bitmap image scaled to the adequate
     drawing size. This allows to create a bitmap image able to fill all pixels of a high resolution
     display. This is functional only for the Mac OS platform. On other platforms,
     the new member function returns an unscaled bitmap.
Thu Feb 11 12:02:36 2016 Matthias Melcher 11155 50ee3bcd66
Mark places that need to be refactored with // PORTME:
    Searching for __APPLE, WIN32 or X11 did give me many false results. I instead marked most ifdef's that I would like to get rid of with the text // PORTME:, so they can be easily found by a global search.
Thu Feb 11 00:18:02 2016 Matthias Melcher 11154 a3c0dac034
Typo in Fl_X11_Screen_Driver::flush header
Thu Feb 11 00:10:49 2016 Matthias Melcher 11153 9a0be2c8df
Move platform part of Fl::flush()
Wed Feb 10 22:43:45 2016 Matthias Melcher 11152 5aa3fc9655
Moving fl_beep into screen driver.
Wed Feb 10 21:42:26 2016 Matthias Melcher 11151 1a3c2dfd08
Avoid OS X warning.
Wed Feb 10 21:02:38 2016 Matthias Melcher 11150 1ad9f6acf2
Fixed Screen Drivers for MSWindows
Wed Feb 10 20:26:51 2016 Matthias Melcher 11149 c3b3105720
Fix Screen Driver implementation for X11
    - moved stuff around to fit X11 file layout
    - fixed a few Cocoa variables
Wed Feb 10 19:49:35 2016 Matthias Melcher 11148 e83bc2527f
Basic Screen Driver Structure. LIMBO!
    Creating the basic structure for a screen driver system.
    OS X works X11 and WinAPI are in limbo and will be fixed in the next hour or so.
Wed Feb 10 13:04:24 2016 Matthias Melcher 11147 478d633620
More device and driver setup.
    - building the base structure to have a screen driver, a window driver, and a system driver
    - still pondering over the exact implementation
Wed Feb 10 12:22:38 2016 Matthias Melcher 11146 572b7fe0b8
Starting CMake config to blend out filechoose and filename handling (shrins fltk massively if not needed)
Wed Feb 10 12:03:16 2016 Matthias Melcher 11145 a679616477
Add header files to CMake setup.
    I added a regex search to add header files. This is helpful when searching for symbols and strings from within the Xcode IDE and likely others as well.
Wed Feb 10 10:38:03 2016 Matthias Melcher 11144 4f8ec11569
Fix missing files in Makefile system
Wed Feb 10 10:31:43 2016 Matthias Melcher 11143 4079e7590b
Fix MSWindows compile issues.
    Fixed a few warnings and a compilation issue introduced from previous reorganization.
Tue Feb 9 21:54:38 2016 Matthias Melcher 11142 94f0278d47
Porting efforts, minimal Android stuff, cleanup.
    - Moving code around for Fl_Double_Window, but not yet happy
    - Tested CMake for Android cross compilation. Very happy!
Tue Feb 9 20:15:04 2016 Matthias Melcher 11141 7a0fe79f99
Fix MSWindows issues from last refactoring.
    During the last refactoring on OS X, a few thing were relocated into new files, mainly to avoid ifdef's and use C++ inheritance in a driver system instead. This commit makes FLTK compile again under VC2013 with IDE files generated by CMake.
Tue Feb 9 18:52:21 2016 Matthias Melcher 11140 4272f32b6b
Fix typos for Linux from previous check-in.
    - The previous check-in for OS X moved a few files and symbols around
    - Fixing for Linux what I broke in my previous commit
    - Fixing stuff for MSWindows next
    - CodeBlocks IDE file generation via CMake works
Tue Feb 9 18:26:05 2016 Matthias Melcher 11139 e02b3631b3
Remove two files.
    - two files were checke in that were misnamed. Removing.
Tue Feb 9 18:25:02 2016 Matthias Melcher 11138 41e22f2f39
Move ifdef's in RGB_Image into driver system.
    - change image caching variable types to uintptr_t
    - added driver function to uncache image data
    - cleaning up (Xlib and GDI will likely throw syntax errors. Trying to fix ASAP)
Tue Feb 9 12:33:49 2016 Matthias Melcher 11137 dee0f5a824
Strip Graphics Driver related ifdefs.
    - removed more ifdef's from the graphics drivers
    - moved functionality into the driver files themselves
    - updated CMakeList.txt
Tue Feb 9 01:48:08 2016 Albrecht Schlosser 11136 99a6faa513
Fix valgrind warning (uninitialized variable) in Fl_Window.
    Regression only with FLTK_ABI_VERSION >= 10303 (since FLTK 1.3.3).
    Was fixed in FLTK 1.3.4.
Tue Feb 9 01:22:51 2016 Albrecht Schlosser 11135 b69fbf21bf
[CMake only] Add examples/fltk-versions to test programs.
Sun Feb 7 10:15:11 2016 Albrecht Schlosser 11132 c5acf543d7
Fixed Windows drag'n'drop not showing insert position (STR #3209).
Sat Feb 6 05:56:38 2016 Manolo Gouy 11130 a278a478fd
New CMake option OPTION_PRINT_SUPPORT - continued
    The previous version (r11127) had FL/Fl_Printer.H include config.h
    That is not allowed. This commit repairs that.
Fri Feb 5 17:13:17 2016 Manolo Gouy 11129 d8cebd1fdf
Add description of the new CMake option OPTION_PRINT_SUPPORT
Fri Feb 5 16:46:16 2016 Manolo Gouy 11128 da97c30d7a
Fix typo fl_draw.h instead of fl_draw.H
Fri Feb 5 16:34:42 2016 Manolo Gouy 11127 a8a777ff26
New CMake option OPTION_PRINT_SUPPORT turned ON by default
    When the option is off, file config.h defines NO_PRINT_SUPPORT
    which in turn produces a library without print support, that is,
    class Fl_Printer does nothing.
    When off, the FLTK library is somewhat smaller.
    Can be turned off only when the X11 library is used.
Wed Feb 3 10:20:03 2016 Manolo Gouy 11125 254cb01f54
Support of OPTION_APPLE_X11 by CMake: do not use hard-coded paths
Tue Feb 2 14:14:38 2016 Manolo Gouy 11122 f057cca22b
To support OPTION_APPLE_X11
Tue Feb 2 08:58:33 2016 Manolo Gouy 11120 54c1c935e6
Stop using ide/Xcode4/plists/editor-Info.plist because ide will be removed.
    This file is moved to the test/ directory.
Tue Feb 2 08:38:55 2016 Manolo Gouy 11119 5866281d4f
Set depth of image returned by Fl_Image_Surface::image() back to 3 on Mac OS X.
Tue Feb 2 03:22:46 2016 Albrecht Schlosser 11117 816e0c1ab4
Update README.abi-version.txt for FLTK 1.4.0.
Tue Feb 2 03:01:58 2016 Albrecht Schlosser 11116 d039f6f7bc
Add new CHANGES file for FLTK 1.4.0.
Tue Feb 2 02:59:32 2016 Albrecht Schlosser 11115 2ddf594bc3
Document configuration of ABI version, prepare CHANGES for 1.4.
Tue Feb 2 00:49:51 2016 Albrecht Schlosser 11113 604dd63b45
[CMake] Document usage of .fl files w/o fltk_wrap_ui (STR #3281).
Mon Feb 1 23:39:07 2016 Matthias Melcher 11111 6f49c3e419
Clean up fl_args for OS X.
    Xcode and OS X have the annoying habit of adding the process number and debug information on the command line if an an app is inside a bundle. This is a little cleanup that I thought was useful while going through the code. A better solution would be to remove those system specific arguments from the argc/argv list entirely, as they appear totally unexpected for most developers.
Mon Feb 1 23:06:14 2016 Matthias Melcher 11110 6e16d033ae
Add fl_focus_rect function to driver.
    Focus rectangles are dotted lines. The default implementation uses the dotted line style, However, for systems without line stye, we draw many dots instead.
Mon Feb 1 17:29:02 2016 Manolo Gouy 11109 5af1344b80
Added missing class name in member function implementation.
Mon Feb 1 17:27:59 2016 Manolo Gouy 11108 6547214755
Transmit to branch 1.3-porting a recent change committed in branch 1.3
Mon Feb 1 14:24:24 2016 Manolo Gouy 11107 6f799cb648
Fix shapedwindow test program.
    same commit as in 1.3 branch
Mon Feb 1 09:14:08 2016 Manolo Gouy 11105 2b36a14d10
Fix Mac OS "Print front window" of the application menu.
    This is part of r.10990 committed to the 1.3 branch, still to be replicated
    in this branch.
Mon Feb 1 06:46:23 2016 Manolo Gouy 11104 6c5fa18433
Remove fl_set_fonts_mac.cxx and put in Fl_Quartz_Graphics_Driver_font.cxx
Sun Jan 31 21:47:25 2016 Matthias Melcher 11103 5638a5f471
Just cleaning up a few lines.
    Removed a false comment I just added.
    Removed FL_PORTING ifdef that is no longer needed
Sun Jan 31 18:20:09 2016 Albrecht Schlosser 11102 86abe14361
Fix undefined reference building shared cairo library (STR #3276).
    Ported from branch-1.3, svn r 11005.
Sun Jan 31 14:05:19 2016 Matthias Melcher 11101 b9c8042a6a
Fixed WIN32 setup. X11 setup verified.
Sun Jan 31 13:51:01 2016 Matthias Melcher 11100 7440ea209a
Moved fl_create_bitmask and fl_delete_bitmask functions into driver structure. Tested on OS X.
Sun Jan 31 12:04:43 2016 Manolo Gouy 11099 caf2a7e92c
Have all test programs buildable with ide/Xcode4 project.
Sun Jan 31 11:47:49 2016 Manolo Gouy 11098 f93fd54a7c
Needed for Linux/Unix build.
Sun Jan 31 04:33:54 2016 Albrecht Schlosser 11097 0a6be0a83f
Fix compiler warnings (STR 2988), porting from branch-1.3.
    This commit is the accumulated patch introduced in branch 1.3
    in svn r 11094, 11095, and 11096.
Sun Jan 31 01:14:50 2016 Albrecht Schlosser 11093 642187dc1c
Finish removing of #include of driver files, remove FL_LIBRARY_CMAKE.
    Now all graphics drivers are compiled as individual files depending
    on the platform and configuration. The preprocessor macro FL_LIBRARY_CMAKE
    is now obsolete and has been removed.
Sun Jan 31 00:39:57 2016 Albrecht Schlosser 11092 5c32d3b24c
Update build system to compile all drivers as indiviual objects.
    Removed obsolete files that served only one purpose: to #include
    different driver files. Updated CMake and Makefiles to reflect the
    changes. Build tested with:
     - MinGW + configure/make
     - MinGW + CMake/make
     - Visual Studio 2010 generated by CMake
Sat Jan 30 21:00:12 2016 Albrecht Schlosser 11090 6cc67c18f2
Reflect changes in new Windows IDE (Debug Mode).
    Windows executables in Debug mode don't have the trailing 'd'
    they used to have with the old (bundled) IDE files.
    The removal of 'd' (e.g. from askd.exe) was removed.
    Also prepared test/CMakeLists.txt for a better installation
    path of test files (copied from the source directory).
Sat Jan 30 01:20:40 2016 Albrecht Schlosser 11089 e9395133e3
Fix Windows compilation error in Fl_Native_File_Chooser_WIN32.cxx.
    Fix regression (typo) introduced in svn r11086.
Sat Jan 30 00:56:42 2016 Albrecht Schlosser 11088 00dd296ff2
Bump version numbers for next minor release: FLTK 1.4.0.
Sat Jan 30 00:52:28 2016 Albrecht Schlosser 11087 39c943ac8f
Fix case of include file names.
Fri Jan 29 20:50:04 2016 Matthias Melcher 11086 40e9ae6e61
Fixed a few warnings from a picky compiler setting.
Fri Jan 29 15:59:11 2016 Matthias Melcher 11085 8717f1b252
A bit more OpenGL cleanup
Fri Jan 29 15:56:29 2016 Matthias Melcher 11084 f5a6b10f46
Updated OpenGL Display Device
Fri Jan 29 15:24:33 2016 Matthias Melcher 11083 222243bc86
Made OpenGL driver compile by itself instead of including files from another .cxx file.
Fri Jan 29 13:40:08 2016 Albrecht Schlosser 11082 72dda7f35a
CMake] Work around CMake bug in CMake versions 3.4.x.
    CMake versions 3.4.x crash when using fltk_wrap_ui, a built-in CMake
    command. According to the CMake devs this will be fixed in CMake 3.5.
    However, since fltk_wrap_ui is no longer necessary (it can replaced by
    custom build commands) and some Linux distributions deploy CMake 3.4.x
    we decided to use an own replacement function.
    This makes sure that FLTK can be built with CMake 3.4.x, but FLTK users
    may still have to rewrite their own CMake files to not use fltk_wrap_ui.
Fri Jan 29 01:05:18 2016 Albrecht Schlosser 11080 6b8570c72c
Update Makefile to compile only needed Xlib driver files.
    Commented out #include statements of Xlib driver files.
Thu Jan 28 23:57:50 2016 Albrecht Schlosser 11079 7728bf91e6
Prepare build configuration variables in Makefiles.
    Introduce new Makefile variables BUILD_xxx in makeinclude file, generated
    by configure. These variables may be used to select files to be compiled,
    dependent on the build configuration.
Thu Jan 28 17:38:11 2016 Ian MacArthur 11078 3b48b22a71
Fix (probably correct!) for compiling Fl_Window::capture_titlebar_and_borders() on WIN32 hosts.
    This allows compilation to complete, and appears to work. Probably.
Thu Jan 28 17:37:59 2016 Manolo Gouy 11077 d3675ae058
Removed compilation warning.
Thu Jan 28 17:16:32 2016 Ian MacArthur 11076 5aefd057d1
Non-changing changes... Attempting to keep the porting branch somehwat in-sync with doc changes in main 1.3.x
    None of these changes alter the actual code.
Thu Jan 28 11:54:08 2016 Manolo Gouy 11075 ed9ac2aba3
Removed extra }
Thu Jan 28 11:51:07 2016 Manolo Gouy 11074 1c3c544edf
Added Fl_Window::capture_titlebar_and_borders a new private member function
    that triggers a warning when FL_PORTING is ON and with a default platform-neutral
Thu Jan 28 11:18:01 2016 Ian MacArthur 11073 e2cc1a80f0
Some trivial adjustments to support building
    under Win32/mingw with the configure/make
    on Win7 with Msys.
Thu Jan 28 00:48:42 2016 Albrecht Schlosser 11072 74aa645d8f
Fix silly copy-and-change error.
Thu Jan 28 00:31:59 2016 Albrecht Schlosser 11071 6d72d430e4
(Try to) fix CMake for Apple, prepare for Windows drivers.
    This update is tested on Linux only, but should hopefully work on
    Mac OS X with CMake + make and/or CMake + Xcode.
Thu Jan 28 00:21:34 2016 Albrecht Schlosser 11070 bbbb477581
Prepare src/Makefile to compile Xlib driver files.
    We need something simple to decide which files to include in the
    compilation. Maybe configure should write some of the well-known
    variables like USE_X11 and USE_XFT into the 'makeinclude' file.
Thu Jan 28 00:06:23 2016 Albrecht Schlosser 11069 9a376a61da
Fix duplicate of FLTK colormap: fl_cmap[] is now global.
Thu Jan 28 00:02:51 2016 Albrecht Schlosser 11068 db9befe6cf
Fix Linux - remove duplicates introduced by merge conflicts.
Wed Jan 27 23:57:53 2016 Albrecht Schlosser 11067 48db7a07ef
Modify Xlib driver code not to #include source files.
    Adjusted CMake build, and with some additional temporary #ifdef's
    the old Linux Makefile system works as well.
    Defined FL_LIBRARY_CMAKE for now - will be removed later.
Wed Jan 27 22:59:58 2016 Matthias Melcher 11066 411e73fe24
Messed up Makefiles in order to compile on OS X with carved out Graphics Driver
Wed Jan 27 22:35:58 2016 Matthias Melcher 11065 780f43a4f1
Removed all references to Quartz driver files from library headers in Xcode. Works in Xcode.
Wed Jan 27 18:24:25 2016 Manolo Gouy 11064 6177c23d90
Further things related to the r11063 commit.
Wed Jan 27 18:11:20 2016 Manolo Gouy 11063 8e3f66073f
1) Added a new way to detect whether the drawing operation is using the platform's native driver
    and whether we are printing:  virtual int Fl_Graphics_Driver::has_feature(driver_feature feature)
    This is also because it is not convenient to derive a printer-specific driver with its own
    implementation of virtual functions when this implementation differs only in one line of code.
    2) Solved the problem of inclusion of non public header by the public header FL/Fl_Device.H:
    bracket this with #if FL_LIBRARY / #endif so this non public header is included only when building
    FLTK itself.
    3) Removed several (but not all) of the FLTK_ABI_VERSION guards that are no longer
    useful for code targeting FLTK 1.4.
Tue Jan 26 22:39:47 2016 Matthias Melcher 11062 1c4661c481
Fixed a few comments
Tue Jan 26 22:26:57 2016 Matthias Melcher 11061 b1e15d245a
Further fudged up the Makefile dependencies.
Tue Jan 26 22:20:15 2016 Matthias Melcher 11060 87e29cef82
Moving image drawing code into the driver system
Tue Jan 26 21:31:59 2016 Matthias Melcher 11059 034a4f3f2a
Made GDI compilation work again
Tue Jan 26 21:10:49 2016 Matthias Melcher 11058 6694780c2d
Moving GDI/WIN32 files to new directroy structure
Tue Jan 26 21:01:09 2016 Matthias Melcher 11057 ac275b89bc
Moved Quartz graphics driver to the new naming scheme
Tue Jan 26 20:51:01 2016 Matthias Melcher 11056 f1a2730855
Avoid warning
Tue Jan 26 20:48:21 2016 Matthias Melcher 11055 2b3567c83c
OpenGL new naming scheme.
Tue Jan 26 20:31:43 2016 Matthias Melcher 11054 222538baad
Hacky version of font_x and font_xft, compiles on Fedora Linux
Tue Jan 26 20:17:47 2016 Matthias Melcher 11053 5892993cbc
Preliminary commit of porting Xlib drivers to the new naming scheme
Sun Jan 24 21:06:21 2016 Matthias Melcher 11049 12e85b882a
Fixed for Linux
Sun Jan 24 20:58:12 2016 Matthias Melcher 11048 6a12d16750
Extracting OpenGL text calls. This is a minimum implementation for testing. Don;t worry. I have a cunning plan for rendering perfect antialiased text into OpenGL contexts quickly on all platforms.
Sun Jan 24 16:40:33 2016 Matthias Melcher 11047 60c114ba3b
And the usual extra work for MSWindows... .
Sun Jan 24 16:34:59 2016 Matthias Melcher 11046 21ae726ba4
Fixes for Unix/X11
Sun Jan 24 16:22:50 2016 Matthias Melcher 11045 60ec452d04
Reorganizing color drawing code.
Sun Jan 24 10:47:25 2016 Matthias Melcher 11043 49cf30286b
Updated screenshot of all available symbols
Sat Jan 23 21:57:26 2016 Matthias Melcher 11040 991abbb496
he dreaded '.H' file ending issue in case sensitive file systems...
Sat Jan 23 21:54:30 2016 Matthias Melcher 11039 be66d89def
Added OpenGL support for dotted lines. Active widget now renders focus rectangle correctly.
Sat Jan 23 21:09:00 2016 Matthias Melcher 11038 031bc363a0
More typos and oversights.
Sat Jan 23 21:06:45 2016 Matthias Melcher 11037 a8cd1c9229
Fixing typos for Linux
Sat Jan 23 21:02:49 2016 Matthias Melcher 11036 474de78ac1
OpenGL arc and pie drawing (Mmmmh, pie!)
Sat Jan 23 20:22:50 2016 Matthias Melcher 11035 de12eddb59
Added OpenGL implementation of fl_vertex calls. Compiling and linking, but functionality untested.
Sat Jan 23 00:49:22 2016 Matthias Melcher 11034 1bb1e0f42e
Commiting GDI header file with vertex additions
Sat Jan 23 00:42:18 2016 Matthias Melcher 11033 237ae16136
Last set of Xlib fixes for vertex drawing.
Sat Jan 23 00:39:33 2016 Matthias Melcher 11032 d1d136fa1b
Fixing vertex implementation
Sat Jan 23 00:24:29 2016 Matthias Melcher 11031 28b94ce5e7
Hiding fl_vertex form public view
Fri Jan 22 23:33:08 2016 Matthias Melcher 11030 b44086efb7
Fixed unfinished edit of xlib.H
Fri Jan 22 23:28:39 2016 Matthias Melcher 11029 cdf6493d95
Removed superfuous IDE again.
Fri Jan 22 12:03:01 2016 Matthias Melcher 11028 e5e956b86c
Removing Xlib rect calls from public view.
Fri Jan 22 11:52:25 2016 Matthias Melcher 11027 112609d361
Commiting a working VC2013 solution. Note to self: do not use a network drive to compile FLTK. VisualC can;t handle network drives unless they are mapped to a drive letter (did I tell you about the time when I used MS-DOS 2.1?)
Fri Jan 22 11:15:09 2016 Matthias Melcher 11026 dae6f682e8
Created (but not yet adapted) VisualC 2013 Solution IDE file.
Fri Jan 22 10:52:58 2016 Matthias Melcher 11025 12d1a2632d
Case sensiteve file names in Unix!
Thu Jan 21 17:03:16 2016 Matthias Melcher 11024 5231785cdd
Fixed two typos to make things run under MSWindows again.
Thu Jan 21 16:47:42 2016 Matthias Melcher 11023 4d37623dbb
Removed MSWindows GDI graphics driver from public view.
Thu Jan 21 16:38:14 2016 Matthias Melcher 11022 42845966d1
Removed OpenGL graphics driver from public view. For the parts that are implemented, it will 'just work' by allowing fl_* rendering into OpenGL contexts (such as widgets, etc.)
Thu Jan 21 16:37:42 2016 Matthias Melcher 11021 5ff6efd529
Removed OpenGL graphics driver from public view. For the parts that are implemented, it will 'just work' by allowing fl_* rendering into OpenGL contexts (such as widgets, etc.)
Thu Jan 21 16:14:01 2016 Matthias Melcher 11020 84e9be966d
Remove Quartz graphics driver from public view.
Thu Jan 21 15:49:03 2016 Matthias Melcher 11019 3b3ed8d79c
Moving already cleaned up methods within class to make it easier to see methods that were not cleaned yet.
Wed Jan 20 22:24:08 2016 Matthias Melcher 11018 9550d745cd
Avoid clipping stack overruns in OpenGL graphics driver
Wed Jan 20 21:40:12 2016 Matthias Melcher 11017 7d0cf9299a
Wrapping up fl_rect.cxx implementation. Introducing 3 moer virtual functions to Fl_Graphics_Device - will that break binary compatibility?
Wed Jan 20 15:21:11 2016 Matthias Melcher 11016 d34974ace7
Reorganized all integer line and polygon drawing functions
Wed Jan 20 00:39:46 2016 Matthias Melcher 11013 d3bd470734
Re-ordering a few more functions. It's nice to see how clear functions like rectf() become without the #ifdef mess.
Wed Jan 20 00:11:43 2016 Matthias Melcher 11012 bd78fa1c48
Starting to cut out individual graphics function, so that multiple drivers can coexist (cfg_gfx). Found the missing pixels in the OpenGL gfx driver.
Tue Jan 19 00:46:54 2016 Matthias Melcher 11009 9872f74053
Fixed typos for Linux compilation. OpenGL driver compiles and somewhat works, except for text rendering (as expected).
Mon Jan 18 22:55:46 2016 Matthias Melcher 11008 b86f2f735a
Replaced static initializer with Fl_OpenGL_Display_Device.
Mon Jan 18 21:23:54 2016 Matthias Melcher 11007 884928f68c
Fixed stupid typo in variable name
Sun Jan 17 00:44:07 2016 Matthias Melcher 11006 eb8207ff1b
Trying to create a more detaild way to configure the library, added runtime information, added an OpenGL graphics driver that renders a button on top of an OpenGL window (see test/cube).
Mon Jan 11 09:42:50 2016 Manolo Gouy 11004 3235168654
Better use of FL_PORTING preprocessor variable.
Sun Jan 10 19:29:54 2016 Manolo Gouy 11003 c8ca93de71
Transferred required Doxygen description of a method.
Sun Jan 10 19:08:16 2016 Manolo Gouy 11002 eeb65bef23
1) Replicate in branch-1.3-porting all recent changes of branch-1.3
    2) Advance branch-1.3-porting with new function Fl_X::capture_titlebar_and_borders()
    that contains all the platform-specific code of all operations related to drawing
    window borders and title bars. What is platform-specific and what is not
    is therefore much clearer, to ease porting.
Sun Jan 10 19:00:39 2016 Manolo Gouy 11001 acc5080653
Replicate in branch-1.3-porting a recent change of branch-1.3
Mon Jan 4 23:31:55 2016 Matthias Melcher 10995 19c8c9b918
Compiling in OS X from the command line goes pretty far for __APPLE__ undefined and FL_PORTING defined.
Mon Jan 4 23:12:36 2016 Matthias Melcher 10994 64aa17ca09
Two more fixes for the command line version
Mon Jan 4 23:09:32 2016 Matthias Melcher 10993 b1520373ae
Created pseudo code for all FL_PORTED section so that FLTK compiles and links (Xcode, hello, other C flags: -D FL_PORTING -U __APPLE__ -U __APPLE_QUARTZ__)
Mon Jan 4 19:06:39 2016 Matthias Melcher 10992 eb1abad3ca
Adding some basic Android native setup
Mon Jan 4 13:40:57 2016 Albrecht Schlosser 10991 d32b291a72
Fix typos in #pragma FL_PORTING.
Sun Jan 3 22:54:29 2016 Matthias Melcher 10989 acf6c881d3
Updated platform specific #if's to report unimplemented code when compiling with FL_PORTING defined and WIN32 and __APPLE__ undefined>
Sun Jan 3 22:52:33 2016 Matthias Melcher 10988 933b00b9c9
Thu Dec 31 10:39:51 2015 Manolo Gouy 10987 d37269a23b
The changes introduced at r.10921 destroyed program-controlled window resizing.
    This change hopefully repairs that.
Thu Dec 31 06:19:59 2015 Manolo Gouy 10986 69ec698e41
Mac OS: modified CMake config files to allow use of OPTION_APPLE_X11
    to build an X11-using version of FLTK on the Mac OS platform.
    This matches the recent support of the --enable-x11 option
    by the configure script on the mac.
Wed Dec 30 21:13:07 2015 Albrecht Schlosser 10985 3beb45165a
[CMake] config.h, part 2 - full compatibility with autoconf.
    This commit makes the file config.h generated by CMake 100% compatible
    with the one generated by autoconf/configure.
    Fixes in this commit:
     - Set FLTK_DATADIR and FLTK_DOCDIR with the same default values.
       Note: needs some cleanup, option values are not clear, '/fltk'
       is currently appended in export.cmake (needs improvement).
     - Simulation of autoconf macro AC_HEADER_DIRENT for correct
       definition of only one 'dirent' header file.
     - Fix more function checks:
        - dlsym
        - png_get_valid
        - png_set_tRNS_to_alpha
     - Improve "Big Endian" check for __APPLE__ (mac_endianness.h).
Wed Dec 30 14:37:35 2015 Albrecht Schlosser 10984 4f5e6e7732
Harmonize configure and CMake build system (part 1).
    The files "config.h" generated by configure and CMake are now almost
    identical, except a few comments and some still missing or failing
    config tests, for instance checks for some functions in libraries.
    [Note: tested and compared on Linux.] Fixed many #cmakedefine and #cmakedefine01 statements
      so they #define their variables as 0 or 1, or /* #undef */ it, resp.,
      as it is done in the configure build.
    Added tests:
      - libXrender
    Fixed tests:
      - function glXGetProcAddressARB
    Todo (still failing tests in CMake):
      - HAVE_DLSYM
    Other remaining issues:
      - compiler flags introduced in configure/make build
      - HAVE_SYS_NDIR_H - maybe missing test in configure ?
      - HAVE_SYS_DIR_H  - maybe missing test in configure ?
      - HAVE_NDIR_H     - maybe missing test in configure ?
      - WORDS_BIGENDIAN and #include <mac_endianness.h> ...
        i.e. Mac OS X specific #include needed or not ?
Wed Dec 30 12:10:15 2015 Albrecht Schlosser 10983 17c4817592
Add configure and CMake checks for X11/Xregion.h.
    Configure and CMake now both check if X11/Xregion.h exists on the
    build system and set HAVE_X11_XREGION_H in config.h accordingly.
    src/Fl_Pixmap.cxx: modified to use the configure test as proposed by Manolo
    in fltk.coredev on Dec 13 2015 in thread "Using X11 backend on OS X".
Tue Dec 29 16:50:50 2015 Manolo Gouy 10982 bb4f485708
Mac OS: add if(APPLE condition to Mac OS-specific target property.
Tue Dec 29 16:41:15 2015 Manolo Gouy 10981 8ac33d6b71
Mac OS: Enhanced the application bundle for the editor demo
    so it is launchable by dropping any file on its icon. This is
    done both for the configure/make and the CMake build systems
    (the Xcode build system did that already).
    The editor demo is the only one calling fl_open_callback().
Sat Dec 26 16:14:19 2015 Manolo Gouy 10980 fdd1369292
Mac OS + CMake:  this file is used by CMake to build the Info.plist files of the application
    bundles it creates. This makes these apps support retina displays, because
    the file contains
Wed Dec 23 09:33:06 2015 Manolo Gouy 10979 59823515cf
Mac OS: It is not necessary to open the display to send the
    +[NSWindow  frameRectForContentRect:styleMask:] message
    (checked on 10.11 and 10.3). Therefore fluid -c will run without
    opening the display.
Wed Dec 23 07:34:49 2015 Manolo Gouy 10978 527d5943d0
Mac OS: when an app is asked to open a file by Applescript, have it redraw itself
    without waiting for the next event to come, because AppleScript does not break the
    event loop.
Tue Dec 22 11:49:03 2015 Manolo Gouy 10977 ca5811e8bc
Documentation only: removed warnings that appeared with Doxygen 1.8.10
Tue Dec 22 10:15:28 2015 Manolo Gouy 10976 6eb4354996
Doc change only: clearly document that FLTK has at any time a current drawing surface and a current graphics device.
Mon Dec 21 13:38:49 2015 Manolo Gouy 10975 25fc85190e
Mac OS: Fix for STR#3268 where a fullscreen window could become relocated
    behind the menu bar and dock.
Sat Dec 19 07:27:11 2015 Manolo Gouy 10974 9c2a7e4a72
FLTK code and fluid-generated code can be used in static initializers.
Sat Dec 19 06:35:26 2015 Manolo Gouy 10973 309a76e81c
Trying to find how to best write the // "$Id$" lines in src/Fl_File_Chooser.fl
Fri Dec 18 18:56:58 2015 Manolo Gouy 10972 43bfe74b25
Running FLTK in static initializers (cont'd):
    1) Changed the way fluid attaches images to widgets and menu items so
    it is compatible with running fluid-generated code containing such images
    in a static initializer. Images are now attached calling a function:
      widget->image( image_function_name() );
    and this function is defined before in fluid-generated code as:
       static Fl_Image *image_function_name() {
         static Fl_Image *image = new image_type(......);
         return image;
    2) Changed src/Fl_File_Chooser.fl so the source code generate by fluid
    from it is compatible with running in a static initializer.
    3) Changed src/Fl_File_Chooser.cxx and FL/Fl_File_Chooser.H
    to the result of running fluid on src/Fl_File_Chooser.fl
Wed Dec 16 10:22:13 2015 Manolo Gouy 10971 5c7ef30341
Running FLTK in static initializers (cont'd):
    To make sure that fl_graphics_driver is initialized, it is enough to test whether it is null.
    This saves the memory cost of a static variable.
Wed Dec 16 07:18:34 2015 Manolo Gouy 10970 1b548ae1d5
Running FLTK in static initializers (cont'd):
    the static method Fl_Surface_Device::surface() can be called before main() starts.
Tue Dec 15 17:43:50 2015 Manolo Gouy 10969 ca491166b9
Better description of --enable-x11 by configure --help
Tue Dec 15 17:34:47 2015 Manolo Gouy 10968 fc89c11ddf
Mention the --enable-x11 configure option is now allowed on the Mac OS platform.
Tue Dec 15 16:53:52 2015 Manolo Gouy 10967 872d20ca61
Allow use of ./configure -enable-x11 on the Mac OS platform
    to create an X11-using version of FLTK.
Tue Dec 15 10:16:56 2015 Albrecht Schlosser 10966 14669685d8
Fix Fl_Browser if text argument to some methods is NULL (STR #3269).
    Fl_Browser::add(), Fl_Browser::insert(), and Fl_Browser::text() didn't
    test if the provided text argument was NULL, although this was explicitly
    allowed in the documentation.
    Also applied some minor documentation fixes.
Tue Dec 15 08:31:20 2015 Manolo Gouy 10965 dd8c33b19a
Mac OS: it is clearer to initialize the fl_fonts global variable in font-related code.
Sun Dec 13 13:24:17 2015 Manolo Gouy 10964 291cf838bf
Allowing to use FLTK objects in static initializers (cont'd).
    Mac OS: a more convenient position where to initialize the fl_fonts global variable.
Sun Dec 13 10:26:09 2015 Manolo Gouy 10963 69644d4032
Allowing to use FLTK objects in static initializers (cont'd).
    Case of Fl_Native_File_Chooser.
Sun Dec 13 09:51:07 2015 Manolo Gouy 10962 09cd712c0d
Allowing to use FLTK objects in static initializers (cont'd).
    On the Mac platform, it is also necessary to change the initialization of
    the macKeyLookUp array for keyboard events to work in a static
Sun Dec 13 09:36:14 2015 Manolo Gouy 10961 cf14f77a90
Allowing to use FLTK objects in static initializers (cont'd).
    For fl_file_chooser() and Fl_File_Chooser objects.
Sun Dec 13 08:38:16 2015 Manolo Gouy 10960 6bdb661c2a
Allowing to use FLTK objects in static initializers (cont'd).
    On the Mac platform, it's also necessary to initialize the fl_fonts
    global variable.
Sun Dec 13 06:55:30 2015 Manolo Gouy 10959 6a608d4862
Restore the possibility to construct FLTK objects and draw them within static initializers
    (which run before main() begins in an uncontrolled order). This was failing because
    calls to drawing functions (e.g., fl_font(f,s);) crashed due to uninitialized fl_graphics_driver
    global variable.
Sat Dec 12 15:33:56 2015 Manolo Gouy 10958 fe92bbed66
Allow compilation with old Mac OS versions + USE_X11 mode with which
    header X11/Xregion.h is not available.
Thu Dec 10 16:27:03 2015 Manolo Gouy 10957 5090e949fa
Added eol-style property.
Thu Dec 10 16:25:34 2015 Manolo Gouy 10956 dde14ee174
Added svn:keywords properties.
Thu Dec 10 16:20:37 2015 Manolo Gouy 10955 3e8556195b
Added required header and footer for new source files.
Wed Dec 9 12:52:17 2015 Manolo Gouy 10954 8d1d2df0c2
Mac OS: using true system windows for FLTK sub-Fl_Window's.
    Improved handling of the situations where a subwindow is created,
    hidden, the parent window resized, and the subwindow shown,
    with a new size. This change no longer sends setFrame: or setFrameOrigin:
    messages to hidden subwindows. Instead, subwindows acquire their correct
    size and position when they are shown again and Fl_X::map() is called.
Wed Dec 9 10:13:46 2015 Manolo Gouy 10953 c7950b30c4
Mac OS: the present code asks the system to build the mini window image when a subwindow-less window is miniaturized,
    and builds itself the image when a window with subwindow is miniaturized. That is mostly OK, but it fails when a window
    containing a subwindow is miniaturized (a mini image is computed), deminiaturized, the subwindow is removed
    or hidden, and the window is miniaturized again: the old mini image is used, and that is not appropriate.
    The solution is to remove the FLTK-computed mini image when a window with subwindow is deminiaturized.
Tue Dec 8 09:39:42 2015 Manolo Gouy 10952 4bc4736eb7
Replaced call to Fl_Window::resize() by call to Fl_Widget::position() that is enough.
Mon Dec 7 20:10:07 2015 Manolo Gouy 10951 ade095f240
Mac OS: added visibility test necessary after a subwindow-containing group was hidden.
Mon Dec 7 17:53:26 2015 Manolo Gouy 10950 caba454f39
Mac OS: removed some code that was duplicated by checkSubwindowFrame run later.
Thu Dec 3 17:27:37 2015 Manolo Gouy 10949 6ccbedb5db
Better deployment targets for the Release configuration.
Thu Dec 3 17:18:33 2015 Manolo Gouy 10948 f79f70b96a
Removed compilation warning with SDKs 10.3 and 10.4u
Wed Dec 2 14:22:52 2015 Manolo Gouy 10947 58afd21c73
Mac OS: send the setWantsBestResolutionOpenGLSurface:YES message in
    Fl_X::create_GLcontext_for_window() where it is directly relevant.
Wed Dec 2 11:56:25 2015 Albrecht Schlosser 10946 8a826c257d
Fix Doxygen docs of new method Fl_Gl_Window::pixels_per_unit().
    Moved the docs up (before #ifdef ...) so they are also generated on
    Mac OS X platforms.
Wed Dec 2 09:59:37 2015 Manolo Gouy 10945 22af09dae7
Mac OS: support for high resolution OpenGL windows.
    Methods Fl::event_x_pixel() and Fl::event_y_pixel() committed at r.10941
    are removed. Instead method Fl_Gl_Window::pixels_per_unit() is added.
    The documentation explains in more detail how to write cross-platform
    FLTK code supporting high resolution OpenGL windows on retina displays.
    The examples/OpenGL3test.cxx app exercises Fl_Gl_Window::pixels_per_unit().
Tue Dec 1 18:40:51 2015 Manolo Gouy 10944 30e572985b
Make clear in the doc that methods Fl_Gl_Window::pixel_w() and pixel_h()
    dynamically adjust to windows moved between high and low resolution displays.
Tue Dec 1 16:29:23 2015 Manolo Gouy 10943 82f68ac756
Fixed typo.
Tue Dec 1 16:28:17 2015 Manolo Gouy 10942 6c9ceb3ab0
Mention new Fl_Gl_Window::pixel_w(), Fl_Gl_Window::pixel_w(),
    Fl::event_x_pixel(),  and Fl::event_y_pixel() functions.
    Also, put tab at start of lines, as required.
Tue Dec 1 16:17:37 2015 Manolo Gouy 10941 597ac17bda
Mac OS: added Fl::event_x_pixel() and Fl::event_y_pixel() that return the mouse event position
    in pixel units that differ from FLTK units for OpenGL windows mapped to a retina display.
    On non Mac OS platforms, these are synonyms of Fl::event_x() and Fl::event_y().
    The example/OpenGL3test demo program is modified to call these new functions.
Tue Dec 1 11:44:46 2015 Manolo Gouy 10940 f915795453
Documentation: replace TRUE -> GL_TRUE to define glewExperimental
Tue Dec 1 10:19:36 2015 Manolo Gouy 10939 403c29267f
Mac OS IDE project: localize the application menu of the menubar test app.
Tue Dec 1 10:03:23 2015 Manolo Gouy 10938 3c82a3d736
Mac OS: Show how to localize the "Preferences…" custom application menu item
    of the menubar test app.
Mon Nov 30 13:06:31 2015 Manolo Gouy 10937 b2f24781d4
Mac OS: fixed possible crash when closing fullscreen GL window with close button of title bar.
Mon Nov 30 12:46:42 2015 Manolo Gouy 10936 d74f373552
Mac OS: allow calling Fl_Gl_Window::pixel_w() before the window is shown.
Sat Nov 28 13:41:33 2015 Manolo Gouy 10935 792cebf92b
Mac OS: support standard Mac OS localization procedure for system menu items.
Thu Nov 26 17:28:55 2015 Manolo Gouy 10934 689d19cda3
Added necessary forward type declaration.
Thu Nov 26 16:40:34 2015 Manolo Gouy 10933 28355afa15
Mention addition of Fl_Mac_App_Menu::custom_application_menu_items()
Thu Nov 26 16:34:58 2015 Manolo Gouy 10932 ff65dbb5ae
Mac OS only: added the Fl_Mac_App_Menu::custom_application_menu_items() method
    that allows customization of the application menu on the Mac platform.
Thu Nov 26 15:37:43 2015 Manolo Gouy 10931 311bd8971e
Mention Fl_Copy_Surface::draw_decorated_window().
Tue Nov 24 14:43:20 2015 Albrecht Schlosser 10930 3666209659
Finish "rename" of *.xcf.gz - delete uncompressed files.
Tue Nov 24 14:37:37 2015 Albrecht Schlosser 10929 bf873db029
Rename *.xcf.gz files to *.xcf_gz instead of uncompressing.
    This is intended circumvent the Apache/Subversion protocol issue
    described by Ian in the previous few commits.
    Todo: If this works we can remove the uncompressed files again ...
Tue Nov 24 14:26:52 2015 Manolo Gouy 10928 b0696db39a
Added new method Fl_Copy_Surface::draw_decorated_window()
    that copies a window to the clipboard together with its title bar and borders.
    This requires very little new code because the capture of window decorations
    is shared with the Fl_Paged_Device::print window() method.
    The device test program is changed to call the new method.
Tue Nov 24 11:51:06 2015 Ian MacArthur 10927 a2b8700a82
Replace the "renamed" fluid.xcf[.gz] file that
    was blocking repository access for checkouts.
Tue Nov 24 11:49:30 2015 Ian MacArthur 10926 df12bf6c66
Attempting to unblcok repository access.
    The Apache server is currently mis-handling
    files with a .gz extension, and this causes
    checksum errors and blocks checkouts etc.
    Renaming the files does not work (it also
    fails) but it seems deleting the files, then
    adding them back with a "new" name does work.
Tue Nov 24 11:45:54 2015 Ian MacArthur 10925 6091b0e00b
Testing to see if changing the file extension
    from .xcf.gz to just .xcf (and uncompressing
    the file too, of course!) unblocks the repository
    access for svn checkouts etc.
    Checkouts are currently broken because the
    Apache server is mishandling files of .gz
    type, and this is causing checksum errors
    on file checkouts etc.
Tue Nov 24 11:42:56 2015 Ian MacArthur 10924 5ffa744bcc
Attempting to workaround issue with
    repository access.
    The Apache server is not handling
    files of .gz type the way that SVN
    needs and this is blocking any checkouts.
Mon Nov 23 21:30:19 2015 Manolo Gouy 10921 de37feb6b1
WIN32: fixed printing of window borders and title bar on Windows 10
    by Fl_Paged_Device::print_window(). The GetWindowRect()
    function gives inadequate results on Windows 10. DwmGetWindowAttributes()
    from dwmapi.dll gives adequate results. This new function is dynamically
    loaded at run-time, when dwmapi.dll is available.
    On Windows XP, dwmapi.dll is not available.
    On Windows 7, DwmGetWindowAttributes() returns with error, so GetWindowRect()
    is used.
    On Windows 10, DwmGetWindowAttributes() computes the correct window full rectangle.
Thu Nov 19 16:33:44 2015 Manolo Gouy 10916 511ec0bb3d
Mac OS: have Fl_Paged_Device::print_widget() print top-level windows with
    rounded bottom corners as they appear on screen.
Wed Nov 18 15:53:46 2015 Manolo Gouy 10915 0d2517331c
Mac OS only: simpler definition of the pdfdata private member of the Fl_Copy_Surface class.
Mon Nov 16 16:48:01 2015 Manolo Gouy 10913 364dfaf802
Mac OS. This simpler algorithm is just as good: remove the constraint
    altogether for subwindows; keep it unchanged for windows.
Mon Nov 16 08:59:33 2015 Manolo Gouy 10912 31c9c98434
Corrected typo.
Mon Nov 16 08:47:18 2015 Manolo Gouy 10911 535b477e7c
Mac OS: with OS 10.11, the (green) window maximize button turns the window fullscreen so
    it covers the dock and the system menu bar. The default behavior of a subwindow of such
    a fullscreen window is to be prevented to cover the menu bar (which makes not much sense
    because this bar is covered by the main window). If the location of the subwindow within
    its parent window expected by FLTK would have it cover the menu bar, Mac OS moves
    it down. The subwindow therefore does not lie where FLTK wants it.
    This patch overrides the adequate method of the NSWindow class to prevent this bad behavior.
Mon Nov 16 05:34:38 2015 Manolo Gouy 10910 c319e9bcc9
Fixed typo in Doxygen doc.
Sun Nov 15 10:45:59 2015 Manolo Gouy 10909 ebffeb8edd
Mac OS: Added necessary check because a non-FLTK window can be found
    as child of an FLTK window when turning a window full-screen.
Fri Nov 13 10:55:38 2015 Manolo Gouy 10908 ba26f2c194
Mac OS X: simplified code for moving and resizing subwindows.
Wed Nov 11 07:46:15 2015 Manolo Gouy 10900 647821fa71
Mac OS X: with OS 10.11 "El Capitan" window capture returns an ARGB image (it used to return RGBA)
    whereas OpenGL window capture returns RGBA as before. Capturing a window with subwindow(s)
    requires ARGB <--> RGBA conversion when Quartz and OpenGL windows are mixed.
    The OpenGL-inside-Quartz case was taken care of before.
    Here, the Quartz-inside-OpenGL case is properly handled.
Tue Nov 10 06:39:37 2015 Manolo Gouy 10899 68f3cc6d88
Mac OS X: added checks that subwindows do not leak out of
    enclosing window when they are programmatically resized or moved.
Mon Nov 9 10:25:16 2015 Manolo Gouy 10898 f00901534a
Mac OS: fixed bad window resizing when presence of sub-sub-window and window
    resized by top border.
Sun Nov 8 19:00:17 2015 Manolo Gouy 10893 4ad9e7c6b8
Mac OS: improved control that subwindows do not leak outside their parent
    after window resize.
Sat Nov 7 17:20:33 2015 Manolo Gouy 10891 8a4acc5b05
Mac OS only.
    Allow proper initial display of a subwindow-containing window in iconized state
    (previously, the subwindow was not displayed in the icon).
    Also fixes a problem with subwindows when the screen resolution was changed
    while the window was iconized.
    Tested with Mac OS 10.11, 10.6 and 10.3.
Sat Nov 7 00:11:45 2015 Albrecht Schlosser 10888 144c656360
Fixed missing image release as described in STR #2840.
    Thanks to OP (Nikego) and Matt!
Thu Nov 5 17:54:16 2015 Manolo Gouy 10882 da6dff26fc
Changed Fl_Multi_Browser behaviour on the Mac OS platform so multiple selection
    is done by cmd-click rather than ctrl-click, as is expected on this platform.
    Also, updated the documentation to describe the effects of ctrl-, shift- and cmd-clicks.
Tue Nov 3 15:45:41 2015 Albrecht Schlosser 10881 d7d57f9113
Fixed copyright year, updated CHANGES.
Tue Nov 3 15:08:54 2015 Albrecht Schlosser 10880 2aae73febc
Fix out-of-bounds memory access in fluid (STR #3263).
Tue Nov 3 14:51:55 2015 Manolo Gouy 10879 2f7e5487b2
Added OpenGL 3 support in 1.3.4
Tue Nov 3 14:36:36 2015 Manolo Gouy 10878 1c16aaced2
The ATSU API (old API for text formatting) has been removed from SDK 10.11.
    This fixes STR#3262
Wed Oct 28 05:43:38 2015 Manolo Gouy 10877 848744bcf0
Removed compilation warning.
Tue Oct 27 08:40:56 2015 Manolo Gouy 10876 7e025aac22
Added support for OpenGL V3 and higher.
    On the X11/MSWindows platforms, this requires external installation of the GLEW library.
    This fixes STR#3198 and STR#3257.
    Added two new examples programs.
Sat Oct 24 09:55:18 2015 Albrecht Schlosser 10875 43e4f8a661
Fix doxygen comment of Fl::abi_check()
Fri Oct 23 21:10:36 2015 Ian MacArthur 10874 5fdf556251
Revised documentation for using FLTK with
    multithreaded programs.
    Per STR 3223
Wed Oct 21 17:13:11 2015 Manolo Gouy 10873 04d0d5f6be
Documentation: explicit what #include commands are needed to use
    the Fl_Gl_Window::mode(int *) method.
Wed Oct 21 14:37:27 2015 Manolo Gouy 10872 1095d4db41
Mac OS and SDK 10.3: #define's necessary for gl_draw.cxx are better in the library source
    than in the public header file FL/gl.h
Wed Oct 21 06:12:32 2015 Manolo Gouy 10871 6fc9f11eb2
Doc: use plural with 'data'.
Tue Oct 20 14:53:37 2015 Manolo Gouy 10870 accbfd9f66
More careful coding that does not read beyond the end of the image data
    when an ARGB system image is converted to the RGBA format.
Mon Oct 19 14:41:24 2015 Manolo Gouy 10869 57e603e6bc
More detailed comment.
Mon Oct 19 13:16:04 2015 Manolo Gouy 10868 07e37d23d5
Added message about Fl_Image_Surface.
Mon Oct 19 12:11:48 2015 Manolo Gouy 10867 3d5a8e5588
Added several items since FLTK 1.3.3 was released.
Thu Sep 24 08:04:07 2015 Manolo Gouy 10866 430636e91d
X11: fix crash when creating an Fl_Image_Surface object before fl_open_display() but after Fl::visual().
Wed Sep 23 13:51:42 2015 Manolo Gouy 10865 fe61175546
Mac OS: fixed the Fl_Image_Surface class that produced flipped images when
    the app draws directly to it, without using Fl_Image_Surface::draw(Fl_Widget*, int, int).
Wed Sep 23 05:16:57 2015 Manolo Gouy 10864 2af2d88dce
Mac OS: slightly simpler code for Fl_Image_Surface class.
    The new code does not call fl_begin_offscreen() in set_current().
    That is safer because there is not always a matching fl_end_offscreen().
Tue Sep 22 05:43:37 2015 Manolo Gouy 10863 2dd9d06818
Make sure the FLTK and the system keep their representations of window coordinates synchronized.
Fri Sep 18 15:29:30 2015 Manolo Gouy 10862 a3b43d569c
Documentation: added warning that Fl_Gl_Window::mode(const int * a), although public, is
    subject to change, and that Fl_Gl_Window::mode(int a) is the adequate stable API.
Thu Sep 10 14:53:16 2015 Manolo Gouy 10861 bf5822bb8b
Mac OS: slightly simpler code that does just the same thing.
Thu Sep 10 13:09:38 2015 Manolo Gouy 10860 157eb68eae
Mac OS: 1) simpler tracking of window changes between retina/non retina displays.
    2) improved window creation in iconized state (child windows still don't show in icon, though).
Tue Sep 8 11:43:48 2015 Manolo Gouy 10859 fa9880e7fe
The Fl_Gl_Window public API offers 2 ways to control the OpenGL capabilities of a window:
    1) Fl_Gl_Window::mode(int m) is platform-independent and uses an argument containing bit flags
    (e.g., FL_DOUBLE, FL_RGB8) to express desired capabilities. The m argument is assigned to
    the mode_ private member variable of the Fl_Gl_Window object.
    2) Fl_Gl_Window::mode(const int *a) is highly platform-dependent. It uses a zero-ending
    array of attributes or attribute-value pairs to express capabilities. This member function
    can be used on the X11 and the Mac OS platforms, but not with MSWindows.
    Before this patch, the mode_ private member variable of the Fl_Gl_Window object
    is assigned 0 by this member function.
    The Fl_Gl_Window::flush() member function tests whether the FL_DOUBLE flag
    is ON in the mode_ variable, and changes code path accordingly. Therefore,
    the second API to control OpenGL capabilities fails when a double-buffered
    GL context is required, because the code path followed by Fl_Gl_Window::flush()
    does not match the GL context requirements.
    With this patch,  Fl_Gl_Window::mode(const int *a) scans the content of its
    array argument, and sets the FL_DOUBLE bit of the mode_ member variable
    if the array requires a double-buffered GL context.
    This patch does that for the X11 platform. The same was introduced for the
    Mac OS platform at r. 10854.  The MSWindows platform does not use the
    Fl_Gl_Window::mode(const int *a) API.
Mon Sep 7 15:52:41 2015 Manolo Gouy 10858 a650237edf
Moved a few Mac-specific lines from Fl_Gl_Window::show() to Fl_Gl_Window::mode()
    where it is more easily understood.
Mon Sep 7 15:48:55 2015 Manolo Gouy 10857 d7094249f0
Documentation: better descriptions of Fl_Gl_Window::mode() and Fl_Gl_Window::can_do().
Mon Sep 7 10:45:00 2015 Manolo Gouy 10856 1e1f1c33bd
Mac OS: added missing cast required by some compilers.
Mon Sep 7 09:26:19 2015 Manolo Gouy 10855 60ad983b4e
Mac OS: properly handle OpenGL profile requests independently from what SDK version is used at compile time.
Mon Sep 7 05:52:17 2015 Manolo Gouy 10854 34beb4c4dd
Mac OS X: restored the possibility to set a GL context mode with the
    Fl_Gl_Window::(const int *a) member function that uses a zero-ending
    array of system-dependent attributes.
    This procedure failed whenever a double buffer was asked for.
Sat Sep 5 15:36:28 2015 Manolo Gouy 10853 dc01deda00
Mac OS platform: Allow compilation of user code with non-Apple compiler.
Thu Sep 3 17:29:25 2015 Manolo Gouy 10852 6242bf0513
Extended Mac OS  support of gl_draw() functions to old Apple hardware that does not
    implement the GL_EXT_texture_rectangle extension.
Tue Sep 1 15:15:21 2015 Albrecht Schlosser 10851 298c734201
Fix typos.
Tue Sep 1 14:27:45 2015 Albrecht Schlosser 10850 d99d22cf91
Fix confusing argument value to fl_measure() in tooltip handling.
    The argument 'draw_symbols' was inconsistently set with the intended
    tooltip label alignment. This was confusing, but didn't do any harm
    since the value was != 0 anyway.
    Also added the 'image' and 'draw_symbols' argument to fl_draw() call.
    Defined static constant draw_symbols_ for potential later inclusion in
    Fl_Tooltip class and code clarification.
Mon Aug 31 16:59:10 2015 Manolo Gouy 10849 e31c8cd758
Mac OS: Use the more standard GL_TEXTURE_RECTANGLE_ARB
    extension name instead of old GL_TEXTURE_RECTANGLE_EXT.
    Also, use the GL_BGRA format that is preferred for GL textures,
    according to "Optimal Data Formats and Types" from
    "Best Practices for Working with Texture Data".
Mon Aug 31 16:43:41 2015 Manolo Gouy 10848 feab968e26
Improved use of the gl_texture_reset() function:
    it is necessary only if all GL windows have been deleted.
Sat Aug 29 07:04:08 2015 Manolo Gouy 10847 529927e0b8
Fixed bug in Mac OS version of gl_draw() that could produce truncated strings.
Fri Aug 28 14:04:21 2015 Manolo Gouy 10846 5ea322679c
Moved Mac-specific type declaration to mac.H
Thu Aug 27 17:10:00 2015 Manolo Gouy 10845 3570777a58
Removed the global variable inputContext_SEL.
Thu Aug 27 12:31:46 2015 Manolo Gouy 10844 16e08ce3a2
Programs compiled with pre-10.7 SDKs can now fully use retina displays.
Thu Aug 27 08:40:30 2015 Manolo Gouy 10843 a3adc0c4ad
Improved handling of differences between OS versions in text input.
Tue Aug 25 12:55:59 2015 Albrecht Schlosser 10842 be81fa0f62
Fix potential Windows GDI leak (STR #3254).
Tue Aug 25 10:57:16 2015 Manolo Gouy 10841 03cad454d7
It's clearer to implement and use a doNothing: message.
Mon Aug 24 19:09:56 2015 Manolo Gouy 10840 89589d7c9b
Remove a compilation warning appearing with Mac OS 10.11 +
    explain better the intent of this thread creation.
Mon Aug 24 15:47:08 2015 Albrecht Schlosser 10839 bb3f67ecf7
Avoid strange warnings/error messages from 'make depend'.
    Warning was for instance:
    "../FL/Fl_Spinner.H":53:  FLTK_ABI_VERSION >= 10301^--- expecting )
    Maybe a g++ bug ?
Mon Aug 24 15:06:11 2015 Manolo Gouy 10838 016fc01805
Added compatibility with Xcode 7.
Mon Aug 24 07:29:17 2015 Manolo Gouy 10837 cc296e50b0
Restore compilability with Mac OS 10.3
Sun Aug 23 13:58:07 2015 Manolo Gouy 10836 5cc6913cb7
Support for Mac OS 10.11.
Wed Aug 19 21:38:17 2015 Greg Ercolano 10835 5534ce4c57
Small mod to enable highlighting in total cells.
    This way someone hitting 'End' can see where the "cursor" is.
Mon Aug 17 17:05:32 2015 Manolo Gouy 10834 daeed067c8
Mac OS: simpler algorithm for function NSBitmapImageRep* GL_rect_to_nsbitmap()
Sun Aug 16 16:10:12 2015 Manolo Gouy 10833 60a78880d5
Mac OS: more efficient handling of ARGB image data produced under
    Mac OS 10.11 when capturing screen data.
Sun Aug 16 14:13:21 2015 Albrecht Schlosser 10832 9fe9fbe3bc
[CMake] Fix missing link libraries for shared FLTK lib (STR #3251).
Thu Aug 13 11:43:49 2015 Albrecht Schlosser 10831 47a678461e
Fix compiler warning [-Wsign-compare], remove dead (commented) code.
Thu Aug 13 10:07:17 2015 Albrecht Schlosser 10830 0650563c7b
Document Fl_Text_Editor::global_key_bindings and related methods.
Tue Aug 11 12:00:49 2015 Manolo Gouy 10829 9bedf7ab8f
More accurate documentation of Fl_Window::wait_for_expose() for Mac OS.
Tue Aug 11 11:47:21 2015 Manolo Gouy 10828 1e6bc1c73a
Improved Mac OS implementation of Fl_Window::wait_for_expose().
Sun Aug 9 12:56:24 2015 Manolo Gouy 10827 e9888e09c5
Fixes descriptive comment of the mapped_to_retina_ class variable.
Fri Aug 7 12:55:56 2015 Manolo Gouy 10826 cc36ab53b3
- Implement Fl_Window::wait_for_expose() for Mac OS:
    The -[NSWindow makeKeyAndOrderFront:] message used to make the window appear on the screen,
    but, starting with 10.10 (approximately), this changed, and it became necessary to query for events
    for a new window to appear on the screen. With 10.11 two event messages are needed.
    The solution is therefore to implement Fl_Window::wait_for_expose().
    - Calling NSDisableScreenUpdates()()/NSEnableScreenUpdates() before and after window updates
    greatly accelerates multi-window update operations.
Wed Aug 5 20:20:30 2015 Manolo Gouy 10825 9a38c24d63
The CGContextStrokePath bug has been fixed in Mac OS El Capitan (10.11) public beta 4.
    It's no longer necessary to apply a workaround for it.
Sat Aug 1 19:04:07 2015 Albrecht Schlosser 10824 99c536234e
Add light gray separator line to fluid widget browser (STR #2997).
    Also fix some comments.
Sat Aug 1 18:30:52 2015 Manolo Gouy 10823 68f706b756
Bypass Mac OS 10.11 bug in CGContextStrokePath()  -  continued
Sat Aug 1 17:25:53 2015 Manolo Gouy 10822 4388e5635e
Simpler code to support copy/paste of image data, that is also valid from Mac OS 10.3.
Sat Aug 1 16:56:04 2015 Manolo Gouy 10821 ca1990c314
Fix for Mac OS 10.11 El Capitan bugged  CGContextStrokePath() function:
    replace it by CGContextReplacePathWithStrokedPath() + CGContextFillPath()
    that does the same without error.
Mon Jul 27 18:13:46 2015 Albrecht Schlosser 10820 eb7d55e218
Document Fl_Window::show() calling Fl_Group::current(0).
    Also fix indenting in src/Fl_win32.cxx.
Sun Jul 26 21:10:18 2015 Greg Ercolano 10819 a165f1ca3c
Fixes STR#3177; item_pathname() supports FL_SUBMENU_POINTER,
    and small doc mods.
Sat Jul 25 15:57:14 2015 Manolo Gouy 10818 7819882874
Fixed image copy/paste for Mac OS 10.4 and 10.5 that use different pasteboard type names
    from later OS versions.
    Unfortunately, it does not work with Mac OS 10.3
Sat Jul 25 08:02:03 2015 Manolo Gouy 10817 491938a4a9
Make Fl_Copy_Surface work on Mac OS 10.3:
    use different pasteboard data type names according to running OS.
Fri Jul 24 22:17:36 2015 Manolo Gouy 10816 a3e48a4afd
Use -(NSGraphicsContext*)[NSWindow graphicsContext] to obtain the adequate
    graphics context to draw to a window. This requires Mac OS 10.4.
    The advantage is that it is possible for a secondary thread to call
    Fl_Window::make_current() without needing to create an autorelease pool.
    We save the native graphics state, and also the state with origin at top.
    Fl_X::q_release_context() restores the graphics state twice to return to
    the native state. This allows to use a single graphics context for a single
    window and a single thread.
    Under 10.3, we have to create a new NSGraphicsContext when Fl_Window::make_current()
    is called directly, so that secondary threads cannot call Fl_Window::make_current() without
    having created an autorelease pool.
Fri Jul 24 21:30:46 2015 Manolo Gouy 10815 80402f622c
Restore usability on Mac OS 10.3:
    - do not use NSOpenGLPFAMultisample
    - do not use -[NSBitmapImageRep bitmapFormat]
    that require Mac OS 10.4
Fri Jul 24 18:43:20 2015 Albrecht Schlosser 10814 c788ca2285
Document FL_ABI_VERSION, reformat lists in enumerations.dox.
Thu Jul 23 00:22:42 2015 Albrecht Schlosser 10813 a2e13ee3a2
Fix documentation, adjust comments in fluid/Fl_Type.cxx.
    No code changes.
Wed Jul 22 23:34:32 2015 Albrecht Schlosser 10812 ff1d783162
Add new event name FL_ZOOM_GESTURE to FL/names.h.
    I also added some placeholders for yet to be defined events, just in
    case they are forgotten to add in FL/names.h. This appears to be better
    than to reference a non-existing array element (string pointer).
Wed Jul 22 23:20:47 2015 Albrecht Schlosser 10811 01cbcc8406
Update dependencies.
Wed Jul 22 22:37:07 2015 Albrecht Schlosser 10810 59e9573b42
Fix documentation typo.
Wed Jul 22 11:26:27 2015 Manolo Gouy 10809 1f487ece5d
It's possible to transmit an Fl_Shared_Image to Fl_Window::shape(const Fl_Image*) at no cost.
Wed Jul 22 10:58:39 2015 Manolo Gouy 10808 53c72bb905
Prevent common dialogs, e.g., fl_alert(), from changing the currently active Fl_Group.
Tue Jul 21 13:55:13 2015 Albrecht Schlosser 10807 1b0e984a8f
Documentation updates (part of STR #2751).
Tue Jul 21 12:48:08 2015 Albrecht Schlosser 10806 6b491e3317
Fix window resizing of common dialogs under certain rare conditions.
    The modified test program test/ask.cxx showed a problem that the active
    dialog window was resized when fl_message_icon() was called while it was
    open, because this call makeform() which resized the window.
Tue Jul 21 12:44:53 2015 Albrecht Schlosser 10805 1763da6596
Update common dialog test program - add "recursive" dialog test.
Tue Jul 21 12:27:54 2015 Manolo Gouy 10804 35704c82a3
Selected text is now displayed using a color that contrasts with the background color
    (This commit is in the interest of allowing the release  of FLTK 1.3.4 not to be delayed).
Tue Jul 21 12:12:37 2015 Manolo Gouy 10803 e7291b373c
Under Mac OS 10.11 beta, fl_xyline(init,int,int) and fl_yxline(init,int,int) produce bizarre graphics just after
    processing a mouse or keyboard event (they are OK in other cases).
    We fix that by filling a rectangle instead of stroking along a line (and hope the public 10.11 will have fixed that).
Mon Jul 20 12:50:16 2015 Manolo Gouy 10802 4f6903eed5
The unittests target had wrong product name, and the animated target did not copy the fltk framework.
Mon Jul 20 11:09:48 2015 Manolo Gouy 10801 696231e512
Prepare for Mac OS 10.11 'El Capitan':
    - avoid double redraw after window deminiaturization
    - make sure that a new window appears on screen during the Fl_X::make() call
Sun Jul 19 21:28:05 2015 Manolo Gouy 10800 ad4d5ba5b5
Make sure the window is drawn when Fl_X::make() is called
    (necessary with Mac OS 10.11).
Sat Jul 18 23:59:54 2015 Albrecht Schlosser 10799 98ef8d52c9
Fix and improve Fl_Table docs, fix some other typos.
Sat Jul 18 07:18:15 2015 Manolo Gouy 10798 1cf24ff074
Restore compilability with Mac OS SDK 10.3 and above
Fri Jul 17 17:53:49 2015 Albrecht Schlosser 10797 63433f9be7
Remove unnecessary include file (STR #3133).
Fri Jul 17 17:17:53 2015 Manolo Gouy 10796 ee7a427d87
Allow compilation with early Mac OS SDKs
Fri Jul 17 17:14:14 2015 Albrecht Schlosser 10795 00da535a78
Fix wrong data type in Windows function override (STR #3232).
    This patch uses the correct data type (as defined by Windows / msn)
    but does not fix the Cygwin linker problem. Unfortunately.
    This issue may be a Cygwin problem and should be reported to Cygwin.
Fri Jul 17 16:16:09 2015 Manolo Gouy 10794 873fa37a56
Fix compilation errors with Mac OS 10.11 that no longer accepts
      enum CGLineCap
    but wants
    as type name.
Fri Jul 17 16:14:21 2015 Manolo Gouy 10793 6ad3a28cc5
Comment for a change that appeared in Mac OS 10.11
Thu Jul 16 15:16:24 2015 Manolo Gouy 10792 70297713f2
Correctly handle Unicode's 'Variation selectors' where a Unicode codepoint
    modifies the glyph used to draw the previous Unicode codepoint.
Wed Jul 15 21:56:34 2015 Manolo Gouy 10791 db6b98e4f7
Mac OS: The 'variation selectors' of Unicode change the glyph associated to the preceding unicode character.
    This defeats the procedure FLTK uses to compute text widths (precomputing the width of each used
    character) because the width of character n is not unique and potentially depends on character n+1.
    Therefore, we now remove variation selectors from the input string before drawing it.
Wed Jul 15 21:47:39 2015 Manolo Gouy 10790 7c0c17a452
Preparing for Mac OS 10.11 'El Capitan':
    change in rect_to_NSBitmapImageRep().
Mon Jul 13 20:43:13 2015 Manolo Gouy 10789 3283aacf98
Prepare for Mac OS 10.11 "El Capitan"
    Screen captures produce ARGB data (instead of RGBA until 10.10)
    so access to the raw image data takes now this into account.
Mon Jul 13 18:17:33 2015 Albrecht Schlosser 10788 449e15ecee
Add copyright comments, improve comments, don't set FL_ABI_VERSION.
    FL_ABI_VERSION should not be set in the IDE projects to avoid having to
    update the version numbers for each release.
    The default is used if FL_ABI_VERSION is not defined.
Sun Jul 12 22:32:30 2015 Albrecht Schlosser