summaryrefslogtreecommitdiff
path: root/src/Fl_Double_Window.cxx
AgeCommit message (Collapse)Author
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-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-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-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-02-27Rewrite all fl_XXX_offscreen() functions so they use an Fl_Image_Surface object.Manolo Gouy
These functions become therefore platform-independent. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11241 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19Rename Fl_Graphics_Driver::set_gc(void*) to gc(void*) and ↵Manolo Gouy
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-18Remove all uses of the fl_gc global variable. Towards a clean driver model.Manolo Gouy
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-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-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-09Porting efforts, minimal Android stuff, cleanup.Matthias Melcher
- Moving code around for Fl_Double_Window, but not yet happy - Tested CMake for Android cross compilation. Very happy! git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11142 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-09Fix MSWindows issues from last refactoring.Matthias Melcher
During the last refactoring on OS X, a few thing were relocated into new files, mainly to avoid ifdef's and use C++ inheritance in a driver system instead. This commit makes FLTK compile again under VC2013 with IDE files generated by CMake. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11141 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-09Fix typos for Linux from previous check-in.Matthias Melcher
- The previous check-in for OS X moved a few files and symbols around - Fixing for Linux what I broke in my previous commit - Fixing stuff for MSWindows next - CodeBlocks IDE file generation via CMake works git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11140 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31Needed for Linux/Unix build.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11098 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-27Removed all references to Quartz driver files from library headers in Xcode. ↵Matthias Melcher
Works in Xcode. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11065 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
2016-01-04Created pseudo code for all FL_PORTED section so that FLTK compiles and ↵Matthias Melcher
links (Xcode, hello, other C flags: -D FL_PORTING -U __APPLE__ -U __APPLE_QUARTZ__) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10993 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-04Fix typos in #pragma FL_PORTING.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10991 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-03Updated platform specific #if's to report unimplemented code when compiling ↵Matthias Melcher
with FL_PORTING defined and WIN32 and __APPLE__ undefined> git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10989 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-24Use -(NSGraphicsContext*)[NSWindow graphicsContext] to obtain the adequateManolo Gouy
graphics context to draw to a window. This requires Mac OS 10.4. The advantage is that it is possible for a secondary thread to call Fl_Window::make_current() without needing to create an autorelease pool. We save the native graphics state, and also the state with origin at top. Fl_X::q_release_context() restores the graphics state twice to return to the native state. This allows to use a single graphics context for a single window and a single thread. Under 10.3, we have to create a new NSGraphicsContext when Fl_Window::make_current() is called directly, so that secondary threads cannot call Fl_Window::make_current() without having created an autorelease pool. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10816 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-17Mark the picture formats static, they don't changeLauri Kasanen
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10632 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-16Correct HAVE_XRENDER preprocessor checks.Lauri Kasanen
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10629 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-16Add support for accelerated alpha blending under X11.Lauri Kasanen
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10628 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-08Allow compilation with -std=c++11 on Mac OS XManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10560 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-23Removed useless extern void fl_restore_clip()Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10335 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-23Simpler implementation of ↵Manolo Gouy
Fl_GDI_Graphics_Driver::copy_offscreen_with_alpha() does just as well. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10334 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-22Corrected drawing of RGBA images to Fl_Image_Surface and to Fl_Copy_Surface ↵Manolo Gouy
objects under WIN32. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10330 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-21Removed compilation warning.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10155 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-02-22Check for use of the Fl_GDI_Printer_Graphics_Driver class to detect printer ↵Manolo Gouy
usage. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10111 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-02-07Fix crash when Fl_Window::flush() is called before show() (STR #3028).Albrecht Schlosser
The fix is twofold: (1) if Fl_Window::flush() is called, this is ignored silently (2) if Fl_Window::make_current() is called directly, but the window is currently not shown(), then the program will be terminated with an error message. The latter is necessary because returning from make_current() would leave the program in a state where it would expect to have a valid drawing context. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10095 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-11-13Documentation: repair some instances of documented functions that did not ↵Manolo Gouy
appear in the index. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9719 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-07-24STR 2705: moved all inline constructors (that I could find) from header ↵Matthias Melcher
files into source files. Even though this breaks downward compatibility, it does make dynamic linking possible for all classes. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9637 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-28Fixed build break on FLTK_ABI_VERSION >= 10302 introduce in r9293 as extern ↵Fabien Costantini
ref to fl_copy_offscreen would not be found anymore by linker... This can't be captured yet by the Jenkins continous intergration builds as the compilation is for the FLTK_ABIVERSION >= 10302 git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9406 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-18Fix STR#2810: removed all uses of function Fl_Device::class_name().Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9293 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-12Replaced fl_copy_offscreen_with_alpha() by ↵Manolo Gouy
Fl_GDI_Graphics_Driver::copy_offscreen_with_alpha() and fl_create_offscreen_with_alpha() by Fl_Quartz_Graphics_Driver::create_offscreen_with_alpha() git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9278 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-12Use a new Fl_Quartz_Graphics_Driver or Fl_GDI_Graphics_Driver instance when ↵Manolo Gouy
printing. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9276 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-11-28Fixed a potential crash if Fl_Double_Window::flush() was called before show().Albrecht Schlosser
Thanks to Mathieu Peyrega for the patch in fltk.general [1] on Nov 14, 2011, although I implemented it differently. [1] http://www.fltk.org/newsgroups.php?gfltk.general+v:33946 git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9188 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-19Modifications to all LGPL headers for STR #2685.Greg Ercolano
(to clarify static exception LGPL by changing license references) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8864 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-06Janitorial code fixes: braces, indenting, FLTK coding standard.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8383 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-02Replaced a bunch of delete by delete[] where it's legitimate.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8362 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-02Removed global variable fl_surface that was not very useful because equivalentManolo Gouy
to Fl_Surface_Device::surface(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8360 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-02Removed global variable fl_display_device that was not very useful because ↵Manolo Gouy
equivalent to Fl_Display_Device::display_device(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8359 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-06Fix STR #2504 (first part). Replaced HAVE _CAIRO by FLTK_HAVE_CAIRO and ↵Manolo Gouy
USE_CAIRO by FLTK_USE_CAIRO everywhere. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8198 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-05Renamed Fl_Device::type() to Fl_Device::class_name() to avoid conflict or ↵Manolo Gouy
confusion with Fl_Widget::type(). Added a setter function Fl_Device::class_name(const char *). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8190 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-28Fixed Copyright to 2010.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-12Added Doxygen doc to offscreen drawing functions.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7720 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-07-09Fixed fl_XXX_offscreen functions when the current output goes to a printer ↵Manolo Gouy
or a PostScript device git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7671 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-07-03Fixed fl_copy_offscreen when output goes to a Quartz printer context.Manolo Gouy
Output to a PostScript context still needs to be fixed. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7665 ea41ed52-d2ee-0310-a9c1-e6b18d33e121