summaryrefslogtreecommitdiff
path: root/src/drivers/X11
AgeCommit message (Collapse)Author
2016-03-27Rewrite Fl_Overlay_Window class under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11440 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-26Isolate the definition of the 3 public, OS-dependent types (Fl_Offscreen, ↵Manolo Gouy
Fl_Region, Fl_Bitmask). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11432 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-24Provide Fl_Window_Driver accessor methods for public Fl_Window attributes.Albrecht Schlosser
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. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11414 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-23Rewrite Fl_Window::show(int argc, char **argv) under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11413 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-23Rewrite Fl_Window::hotspot(int X, int Y, int offscreen) under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11412 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-23Rewrite Fl_Window::iconize() under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11411 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-23Rewrite Fl_Window::size_range_() under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11410 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-23Rewrite Fl_Window::border(int) under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11409 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-23Rewrite Fl_Window::fullscreen_x() under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11407 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-23Fix Linux build: one include file and missing #include <config.h>.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11405 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-23Rewrite Fl_Window::handle(int) under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11403 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-23Rewrite Fl_Window::hide() under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11402 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-22Rewrite Fl_Window::resize() under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11401 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-22Rewrite Fl_Window::show() and Fl_Menu_Window::show() under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11400 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-22Move all icon-support data to the platform-specific Fl_XXX_Window_Driver classManolo Gouy
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-22Make sure can_xdbe() from Fl_X11_Window_Driver.cxx is called after ↵Manolo Gouy
fl_open_display(). This ensures fluid does not open the display when run with -c git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11398 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-21Rewrite Fl_Window::label(const char *name, const char *mininame) under the ↵Manolo Gouy
driver model. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11394 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-21Implement Fl_Window::make_current() under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11393 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-21Improve the implementation of Fl_X11_Window_Driver::flush_double() and ↵Manolo Gouy
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). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11392 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-20Fix Fl_Xdbe_Window_Driver::destroy_double_buffer() for an Fl_Overlay_Window.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11391 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-20Continue implementation of class Fl_Window_Driver according to Albrecht's plan.Manolo Gouy
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-19Advancing Albrecht's plan for the Fl_Window_Driver class.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11387 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-18Fix potential crash in take_focus() (Linux).Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11365 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-18Beginning of Albrecht's plan for Fl_Window and Fl_Window_Driver classes.Manolo Gouy
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-13Fixed 'flush()' code for single, double, and overlay bufferingMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11359 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-12Moved the Fl_Window::decorated_*() functions teh Window_DriverMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11356 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-11Remove a few #include <FL/x.H> from public FLTK headers.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11347 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-11Rewrite Fl_Window::wait_for_expose() using the window driver approach.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11346 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-11Rewrite capture of window decorations using the window driver approach.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11345 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-10Rewrite all window icon-related Fl_Window API with the window driver approach.Manolo Gouy
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-10Add deletion code for Fl_X11_Window_Driver objectManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11339 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-10Implement non-rectangular windows using the Window Driver mechanism.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11336 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-07Fixes for X11Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11309 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-06Driver-based Fl_Double_Window implementation - continued.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11305 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-06New, driver-based Fl_Double_Window implementation.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11303 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-01Moved timer code to screen drivers. Not sure if this should be in System ↵Matthias Melcher
Drivers instead. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11253 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26Rename remaining src/drivers/XXX.h to XXX.H - continuedManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11227 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26Rename all remaining src/drivers/XXX.h to XXX.HManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11226 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19Fixes for X11Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11197 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19Add example code to Fl_Window_Driver.Matthias Melcher
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?) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11196 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19Instantiate the right Fl_Window_Driver.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11195 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19Add System Driver and Window Driver.Matthias Melcher
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-19Fix Fl_X11_Screen_Driver::wait(). The fractals demo is back.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11192 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-18Fix Fl::grab(win) under Linux (program crashed in menus).Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11187 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-17Fix flush() call (Linux) - makes drawing work again, but still buggy.Albrecht Schlosser
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 ? git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11186 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-17Fix compilation under Linux - compiles, but doesn't work :-(Albrecht Schlosser
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, ...). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11185 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13[Cairo] Remove part of the dependency of FL/Fl.H on config.h.Albrecht Schlosser
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: https://groups.google.com/d/msg/fltkgeneral/_C1OJhMLQl0/pHUFtz9SCwAJ Note: also fixed a typo in src/drivers/X11/Fl_X11_Screen_Driver.cxx git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11168 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13Moed Fl::visual and System_Scheme to the driverMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11166 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13Refactoring get_system_colors() into Fl_Screen_DriverMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11164 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13Details on PORTME items. Move fl_parse_color() to screen drivers.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11163 ea41ed52-d2ee-0310-a9c1-e6b18d33e121