Commit Graph

34 Commits

Author SHA1 Message Date
Manolo Gouy
bf7e4de688 Rewrite Fl_Window::resize() under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11401 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-22 21:21:08 +00:00
Manolo Gouy
6ec8ebc4f8 Rewrite Fl_Window::show() and Fl_Menu_Window::show() under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11400 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-22 17:47:44 +00:00
Manolo Gouy
6302b3da00 Move all icon-support data to the platform-specific Fl_XXX_Window_Driver class
because these data are platform-specific.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11399 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-22 13:27:22 +00:00
Manolo Gouy
3f34aba828 Rewrite Fl_Window::label(const char *name, const char *mininame) under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11394 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-21 17:55:10 +00:00
Manolo Gouy
9ba3889ae5 Implement Fl_Window::make_current() under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11393 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-21 17:06:03 +00:00
Manolo Gouy
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!".


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11388 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-20 08:44:30 +00:00
Manolo Gouy
51030530f2 Advancing Albrecht's plan for the Fl_Window_Driver class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11387 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-19 23:04:28 +00:00
Manolo Gouy
8273b54354 Rename print support files to src/drivers/XXX/Fl_XXX_Printer_Driver.xxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11381 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-19 21:15:34 +00:00
Manolo Gouy
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.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11364 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-18 18:20:11 +00:00
Matthias Melcher
b496d18b85 Fixed 'flush()' code for single, double, and overlay buffering
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11359 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-13 22:16:37 +00:00
Matthias Melcher
e6631a0f7f Moved the Fl_Window::decorated_*() functions teh Window_Driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11356 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-12 22:24:20 +00:00
Manolo Gouy
28f24b1b6f Remove a few #include <FL/x.H> from public FLTK headers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11347 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-11 09:28:56 +00:00
Manolo Gouy
408d0672a4 Rewrite Fl_Window::wait_for_expose() using the window driver approach.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11346 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-11 08:31:36 +00:00
Manolo Gouy
2952c530b8 Rewrite capture of window decorations using the window driver approach.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11345 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-11 07:07:42 +00:00
Manolo Gouy
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.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11342 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-10 22:26:40 +00:00
Manolo Gouy
7098924b82 Add code to delete Fl_WinAPI_Window_Driver object.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11341 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-10 18:45:50 +00:00
Manolo Gouy
d4768073fa Implement non-rectangular windows using the Window Driver mechanism.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11336 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-10 17:19:34 +00:00
Matthias Melcher
4af165781f Added missing virtua function headers
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11256 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-01 16:06:11 +00:00
Matthias Melcher
95824506fe Moved timer code to screen drivers. Not sure if this should be in System Drivers instead.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11253 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-01 00:54:21 +00:00
Manolo Gouy
83dddfbfab Rename remaining src/drivers/XXX.h to XXX.H - continued
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11227 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 16:18:27 +00:00
Manolo Gouy
6287426b65 Rename all remaining src/drivers/XXX.h to XXX.H
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11226 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 16:12:43 +00:00
Matthias Melcher
052401a34e Instantiate the right Fl_Window_Driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11195 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19 22:21:02 +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
Manolo Gouy
1b5e231c90 Rename Fl_Graphics_Driver::set_gc(void*) to gc(void*) and Fl_Graphics_Driver::get_gc() to gc().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11191 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19 12:40:24 +00:00
Manolo Gouy
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.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11189 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-18 16:21:51 +00:00
Albrecht Schlosser
f7ef143c4f Fix typos.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11184 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-17 11:23:26 +00:00
Ian MacArthur
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.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11178 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-15 13:52:58 +00:00
Matthias Melcher
d8f96b579d Moed Fl::visual and System_Scheme to the driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11166 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13 16:12:57 +00:00
Matthias Melcher
c95169ea49 Refactoring get_system_colors() into Fl_Screen_Driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11164 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13 13:17:29 +00:00
Matthias Melcher
5d1df0e789 Details on PORTME items. Move fl_parse_color() to screen drivers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11163 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13 12:57:00 +00:00
Matthias Melcher
9a0be2c8df Move platform part of Fl::flush()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11153 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-11 00:10:49 +00:00
Matthias Melcher
5aa3fc9655 Moving fl_beep into screen driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11152 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-10 22:43:45 +00:00
Matthias Melcher
1ad9f6acf2 Fixed Screen Drivers for MSWindows
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11150 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-10 21:02:38 +00:00
Matthias Melcher
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.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11148 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-10 19:49:35 +00:00