Commit Graph

72 Commits

Author SHA1 Message Date
Manolo Gouy
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)

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12652 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-08 12:47:40 +00:00
Manolo Gouy
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
terminating.

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.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12647 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-06 17:26:11 +00:00
Albrecht Schlosser
4a088d28f5 Add missing platform wrapper fl_chdir() for chdir().
Tested under Windows and Linux, but not yet used in library code.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12549 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-11-10 12:56:00 +00:00
Albrecht Schlosser
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.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12500 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-15 12:34:24 +00:00
Albrecht Schlosser
41f92be2f1 Replace remaining calls to unlink() with fl_unlink().
Tested under Linux, MinGW, and Visual Studio 2015.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12496 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-15 10:18:53 +00:00
Manolo Gouy
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.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12489 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-12 14:42:12 +00:00
Manolo Gouy
7a9d5be6cb Undo commit at r.12475 that is not adequate.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12476 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-04 12:21:46 +00:00
Manolo Gouy
5e6bf76b0a Fl_SVG_Image class: add support for compressed .svgz image files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12475 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-04 11:46:33 +00:00
Manolo Gouy
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.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12463 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-19 19:33:54 +00:00
Manolo Gouy
16b3326629 Give platform-independent default implementation to Fl_System_Driver::gettime()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12198 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-14 17:51:20 +00:00
Manolo Gouy
c37744cde9 Add to Fl_System_Driver support for measuring time with split second resolution.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12187 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-07 16:58:13 +00:00
Manolo Gouy
da276e6efa Add one more argument to virtual Fl_System_Driver::file_browser_load_filesystem() giving length of the filename argument
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12050 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-19 08:40:41 +00:00
Manolo Gouy
1b3e273fa7 Rename Fl_System_Driver::flNoValue to Fl_System_Driver::fl_NoValue to follow the CMP
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11988 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-26 19:35:20 +00:00
Manolo Gouy
c5960df5fb Rewrite fl_open_callback() under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11929 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-09 15:56:33 +00:00
Manolo Gouy
5a4d10faea Use standard fopen() as default implementation of virtual Fl_System_Driver::fopen()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11706 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-27 17:25:17 +00:00
Manolo Gouy
e2edfcbe4f Add Doxygen definitions to the new Fl_XXX_Driver classes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11681 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-23 06:27:31 +00:00
Matthias Melcher
769d151a12 Virtualized add_fd and remove_fd into System Driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11668 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 22:45:22 +00:00
Manolo Gouy
397a3b83bf Move platform-dependent implementations of fl_clipboard_notify_changes() to the Fl_System_Driver class
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11617 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-15 15:01:27 +00:00
Manolo Gouy
b1f8f3e2aa Move platform-dependent implementations of Fl::clipboard_contains() to the Fl_System_Driver class
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11616 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-15 14:49:46 +00:00
Manolo Gouy
d683841f9f Move the platform-dependent implementations of Fl::paste() to the Fl_System_Driver class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11615 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-15 14:32:13 +00:00
Manolo Gouy
7508a033c5 Continue moving to Fl_System_Driver the platform_dependent implementations of member functions of the Fl class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11614 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-15 14:18:37 +00:00
Manolo Gouy
03e87bb270 Complete rewriting of Fl_Tree_Prefs.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11606 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-14 20:58:20 +00:00
Manolo Gouy
0e0ad95b22 Begin to rewrite Fl_Tree_Prefs.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11605 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-14 20:44:23 +00:00
Manolo Gouy
70f7738c92 Rewrite Fl_own_colormap.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11601 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-13 14:41:55 +00:00
Manolo Gouy
8653a5353e Rewrite fl_encoding_mac_roman.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11600 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-13 14:19:13 +00:00
Manolo Gouy
b590bc49f9 Rewrite fl_encoding_latin1.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11599 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-13 14:05:34 +00:00
Manolo Gouy
e74f213704 Finish rewrite of Fl_File_Chooser2.cxx for the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11591 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-12 21:32:55 +00:00
Manolo Gouy
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.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11588 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-12 17:06:20 +00:00
Manolo Gouy
fce1483eb8 Rewrite fl_draw_pixmap.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11587 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-12 13:47:38 +00:00
Manolo Gouy
b9b313538c Reorganize the implementations of the virtual member function Fl_System_Driver::getenv()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11585 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-12 06:45:35 +00:00
Manolo Gouy
64b3d26daa Create Fl_X11_System_Driver.{cxx,.H} and share Fl_Posix_System_Driver.{cxx,.H} between Darwin and USE_X11 platforms.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11583 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-11 19:14:47 +00:00
Manolo Gouy
5b44fe3bff Remove compilation errors in Fl_File_Icon.cxx with MSVC compiler with new method Fl_System_Driver::file_type().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11581 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-11 13:07:08 +00:00
Manolo Gouy
6879d54fc4 Rewrite Fl_lock.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11578 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-10 20:38:04 +00:00
Manolo Gouy
95fa60b71d Rewrite Fl_get_system_colors.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11577 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-10 19:37:18 +00:00
Manolo Gouy
99b3c6813a Rewrite Fl_File_Input.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11575 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-10 18:36:47 +00:00
Manolo Gouy
c3f1877fd1 Remove platform-dependent code from Fl_PNG_Image.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11574 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-10 18:22:57 +00:00
Manolo Gouy
7e20aa06f9 Fix error in WIN32 code when rewriting Fl_File_Browser.cxx for the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11572 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-10 17:56:53 +00:00
Manolo Gouy
faaa2b6d1e Rewrite Fl_Preferences.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11571 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-10 08:15:51 +00:00
Manolo Gouy
927774af85 Rewrite Fl_File_Browser.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11570 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-10 06:33:19 +00:00
Manolo Gouy
65e19a1d2d Rewrite fl_shortcut.cxx for the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11566 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-09 16:37:24 +00:00
Manolo Gouy
3bc5be71a3 Rewrite Fl_Tooltip.cxx for the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11565 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-09 15:37:40 +00:00
Manolo Gouy
8b672ee655 Rewrite fl_open_uri.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11563 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-09 15:15:33 +00:00
Albrecht Schlosser
d56e2ec9f0 Fix typos.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11560 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-09 10:42:17 +00:00
Manolo Gouy
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.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11557 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-09 09:48:34 +00:00
Manolo Gouy
1ba6928313 Rewrite filename_ext.cxx for the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11556 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-08 16:00:26 +00:00
Manolo Gouy
90682dbd48 Rewrite filename_isdir.cxx for the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11555 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-08 15:48:28 +00:00
Manolo Gouy
62952ea295 Rewrite filename_absolute.cxx for the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11554 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-08 15:17:39 +00:00
Manolo Gouy
19b98e40de Rewrite filename_expand.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11553 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-07 16:54:20 +00:00
Manolo Gouy
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

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11550 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-07 15:10:30 +00:00
Manolo Gouy
9fa4059f43 Rewrite Fl_get_key.cxx for the driver model - cont'd
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11546 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-06 20:33:53 +00:00