Commit Graph

25 Commits

Author SHA1 Message Date
Manolo Gouy
7046e99f96 Move Fl_System_Driver.H from FL/ to src/
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12976 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26 14:12:43 +00:00
Matthias Melcher
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.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12970 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23 20:50:22 +00:00
Matthias Melcher
a9fd08ff5a Doxygen: created Group to document drivers, disabled by default
Uncomment `ENABLED_SECTIONS += DriverDev` in documentation/Doxyfile.in
to enable driver documentation.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12968 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23 16:47:40 +00:00
Albrecht Schlosser
ec0ac46aa8 Move platform specific shortcut code to platform drivers.
Tested on Windows and Linux (not tested on MacOS/Android).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12951 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-20 15:52:58 +00:00
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
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
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
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
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
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
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
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
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
f1a157bdd9 Replace Fl_System_Driver::driver() by Fl::system_driver()
for coherence with the Fl::screen_driver() function.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11494 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-01 10:28:03 +00:00
Manolo Gouy
519673a776 Move dnd and character-composition related functions from Fl_System_Driver to Fl_Screen_Driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11489 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-31 19:55:03 +00:00
Manolo Gouy
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.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11484 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-31 11:01:07 +00:00
Manolo Gouy
2ac2b506a8 Begin to rewrite Fl_PostScript.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11474 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-30 15:47:23 +00:00
Manolo Gouy
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

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11472 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-30 13:59:55 +00:00
Manolo Gouy
fd600aa239 Rewrite fl_utf8.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11467 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-29 19:41:14 +00:00
Manolo Gouy
28d1a2d684 Rewrite Fl_abort.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11452 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-28 15:22:20 +00:00
Manolo Gouy
6284720098 Rewrite file src/Fl_arg.cxx under the driver model. Begin giving flesh to the Fl_System_Driver class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11448 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-28 09:25:11 +00:00
Matthias Melcher
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.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11193 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19 21:41:02 +00:00