summaryrefslogtreecommitdiff
path: root/src/Fl_Window.cxx
AgeCommit message (Collapse)Author
2016-03-24Fix the "bizarre makefile build error" due to double declarations of ↵Manolo Gouy
fl_clip_region(Fl_Region). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11416 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-24Fix bizarre makefile build error on Mac OS platform.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11415 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::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-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-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-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-12Quick fix for Fluid on X11. MSWindows version broken due to missing ↵Matthias Melcher
Fl_Printer::Helper::Helper git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11357 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-10Remove useless #niclude directiveManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11338 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-07Separating Fl_X and Fl_Window_Driver in Fl_Window.Matthias Melcher
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. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11308 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-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
2016-02-12Add Fl_Shared_Image *Fl_Image_Surface::highres_image() to draw into ↵Manolo Gouy
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. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11159 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-11Mark places that need to be refactored with // PORTME:Matthias Melcher
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. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11155 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-09Fix valgrind warning (uninitialized variable) in Fl_Window.Albrecht Schlosser
Regression only with FLTK_ABI_VERSION >= 10303 (since FLTK 1.3.3). Was fixed in FLTK 1.3.4. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11136 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-01Added missing class name in member function implementation.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11109 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-28Removed extra }Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11075 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-28Added Fl_Window::capture_titlebar_and_borders a new private member functionManolo Gouy
that triggers a warning when FL_PORTING is ON and with a default platform-neutral implementation. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11074 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-271) Added a new way to detect whether the drawing operation is using the ↵Manolo Gouy
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. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11063 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-11More accurate documentation of Fl_Window::wait_for_expose() for Mac OS.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10829 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-11Improved Mac OS implementation of Fl_Window::wait_for_expose().Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10828 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-07- Implement Fl_Window::wait_for_expose() for Mac OS:Manolo Gouy
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. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10826 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-17Clarify documentation of Fl_Window::wait_for_expose().Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10635 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-29Added missing Doxygen documentation for 4 Fl_Window member functions.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10405 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-26Add Fl_Window::wait_for_expose() and test program (STR #3124).Albrecht Schlosser
Also modified .gitignore, svn-properties, Makefile and CMake-Files. Todo: test/twowin.cxx and test/windowfocus.cxx need to be added to ide files (MS VC++ and Xcode). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10339 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-21STR#3093 continued: deleted the Fl_Shaped_Window class. Instead, added new ↵Manolo Gouy
member function Fl_Window::shape(Fl_Image*) that gives a non-rectangular shape to a standard window. The benefit is that it works with Fl_Double_Window and Fl_Menu_Window as well. It also works for free with Fl_Gl_Window on the X11 platform only. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10325 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-16Add ability to set custom icons for windows. STR #2816.Pierre Ossman
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10197 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-16Add method to set any custom cursor, based on a Fl_RGB_Image object.Pierre Ossman
Also change our fallback cursors to use this method, so that fallback cursors are handled in a platform independent manner. STR #2660. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10196 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-04-12Switched to const_cast<> for calling as_window().Greg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9876 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-04-12Small fixes to new top_window_offset() method as per discussion in STR #2948.Greg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9875 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-04-10As per notes from STR#2948:Greg Ercolano
Moved top_window_offset() to being a member of Fl_Widget (was Fl_Window) and moved its code near implementations of top_window() and window(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9872 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-04-10Solve STR#2948: Add new method Fl_Widget::top_window() to return the ↵Greg Ercolano
widget's top-level window. Docs for existing Fl_Widget::window() revised to clarify the difference between these two methods. Docs for window() also moved from .H -> .cxx as per CMP (docs should be where code implementation is). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9871 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-04-10While suggesting a new top_window() method for STR#2948,Greg Ercolano
it's realized that for consistency, the recently added window_offset() method (a few days ago) should be renamed to top_window_offset(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9870 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-04-08Fix for STR #2944 [2]: Fix Apple-specifc nested window problem for ↵Greg Ercolano
Fl_Gl_Window's. Added new method Fl_Widget::window_offset(x,y) to access the top-level window offset of the current widget. Open to alternative names for the new method. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9866 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-11-06Replaced 10302 with 10301 for FLTK_ABI_VERSIONMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9706 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-05-05Fix STR #2836: copy_label() with old label() value failed.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9443 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-23Fix STR#2641: true fullscreen windows that cover all their screen including ↵Manolo Gouy
menu bar, task bar, dock. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9299 ea41ed52-d2ee-0310-a9c1-e6b18d33e121