summaryrefslogtreecommitdiff
path: root/FL/Fl_Device.H
AgeCommit message (Collapse)Author
2 dayswi[maxim nikonov
2024-08-10Documentation: improve description of how to use drawing surfacesManoloFLTK
2024-04-30Implement and document new class Fl_PDF_File_SurfaceManoloFLTK
2023-10-31Improve the documentation of class Fl_Display_deviceManoloFLTK
2022-09-11Fix fl_read_image() under hybrid Wayland/X11 platform.ManoloFLTK
Function fl_read_image() obliges to keep a minimal use of global variable fl_window also under the Wayland platform, even if its type (Window) makes little sense for the hybrid library because it has its X11 value (given by X11/X.h) which is not meaningful for the Wayland leg of the hybrid platform. Virtual member function Fl_Surface_Device::as_image_surface() becomes useless.
2022-08-29Make hybrid Wayland/X11 platform.ManoloFLTK
2022-08-20Remove FL_EXPORT qualifier from platform-specific class declarations.ManoloFLTK
2021-10-31Consistently make Fl_Paged_Device::begin_page call ↵ManoloFLTK
Fl_Surface_Device::push_current.
2021-10-31Add documentation of Fl_Surface_Device::end_current().ManoloFLTK
2021-08-27Remove compiler warnings '-Wextra-semi' (see also PR #266)Albrecht Schlosser
I compiled with `-Wextra-semi -Werror=extra-semi` on Linux and Windows (cross-compiled on Linux) and removed all "extra semicolon" warnings I could find. I didn't check on macOS (yet). Note: Linux configured with and w/o Pango but not w/o Xft. Compilation with other options (e.g. Cairo) might still emit such warnings.
2021-03-21Remove unnecessary system includes from public headersAlbrecht Schlosser
Add includes of system headers in the implementation files where necessary.
2021-02-27Rename forgotten occurrence of fl_remove_scale() in Doxygen data.ManoloFLTK
2021-02-25Add fl_remove_scale()/fl_restore_scale() to transiently draw without scaling ↵ManoloFLTK
factor. This new API is a response to this message in fltk.general : Can custom box type functions handle their own high-DPI screen scaling?
2020-07-06Remove $Id$ tags, update URL's, and moreAlbrecht Schlosser
- remove obsolete svn '$Id$' tags from all source files - update .fl files and generated files accordingly - replace 'http://www.fltk.org' URL's with 'https://...' - replace bug report URL 'str.php' with 'bugs.php' - remove trailing whitespace - fix other whitespace errors flagged by Git - add and/or fix missing or wrong standard headers - convert tabs to spaces in all source files The only relevant code changes are in the fluid/ folder where some .fl files and other source files were used to generate the '$Id' headers and footers.
2020-06-29Move class Fl_SVG_File_Surface from libfltk to libfltk_images.ManoloFLTK
File examples/SVG_File_Surface.cxx is no longer useful because it was a very partial implementation of what is now class Fl_SVG_File_Surface.
2019-11-07Reorganise use of virtual member function Fl_Surface_Device::end_current()ManoloFLTK
2019-05-25Call virtual member Fl_Surface_Device::end_current() when necessaryManoloFLTK
Rename member function Fl_Surface_Device::end_current_() to end_current(), set it protected, and make it called by the destructor of all classes derived from Fl_Surface_Device that re-implement end_current(). This way, end_current() runs equally if Fl_Surface_Device()::pop_current() is called before or after the drawing surface is deleted.
2019-04-28macOS: yet simpler implementation of window resize and rescale.ManoloFLTK
2019-04-14Doxygen doc: rewording for more clarity.ManoloFLTK
2019-04-10Make member function Fl_Surface_Device::driver(Fl_Graphics_Driver*) protected.ManoloFLTK
2019-04-10New virtual member function bool Fl_Surface_Device::is_current()ManoloFLTK
2019-04-07Simpler implementation of Fl_Cocoa_Window_Driver::resize()ManoloFLTK
2018-12-05New static member function: Fl_Device_Plugin *Fl_Device_Plugin::opengl_plugin()ManoloFLTK
2018-11-30Remove unused arguments from the Fl_Device_Plugin::print() member function.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13141 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-11-29Use the Fl_Gl_Device_Plugin mechanism to simplify the construction of a ↵Manolo Gouy
layer-backed GL window. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13140 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-27Add examples/SVG_File_Surface.cxx and refer to it in the doc of class ↵Manolo Gouy
Fl_Surface_Device This example code shows how to subclass Fl_Surface_Device and Fl_Graphics_Driver to endow FLTK with a new kind of graphics output. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12980 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-09Rename Fl_Paged_Device::start_job() to begin_job() and ↵Manolo Gouy
Fl_Paged_Device::start_page() to begin_page(). The new function names begin_job() and begin_page() better match end_job() and end_page() with which they must be used by pair. The old names start_job() and start_page() are maintained for API compatibility with FLTK 1.3.x git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12910 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-01Make virtual void Fl_Surface_Device::end_current_() have no argument because ↵Manolo Gouy
none is used. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12889 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-04-25Add an argument to the private, virtual member function void ↵Manolo Gouy
Fl_Surface_Device::end_current_(). The X11 platform uses this argument to restore the correct clipping state after drawing to an Fl_Image_Surface object. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12226 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-07Add static void Fl_Surface_Device::push_current(Fl_Surface_Device ↵Manolo Gouy
*new_current) and pop_current() to set/unset the current drawing surface. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12140 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-01Rename Fl_Surface_Device::_surface private member variable to surface_ ↵Manolo Gouy
following the CMP. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12130 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-30Remove Fl_Image_Surface::end_current() to be called after usage of the ↵Manolo Gouy
drawing surface. This ensures API compatibility with FLTK 1.3 where Fl_Surface_Device->set_current() is used to change the current drawing surface. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12125 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-16Add Doxygen note that class Fl_Device_Plugin is not intended for public use.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12031 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-23Remove useless forward declaration.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11972 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-19Remove static bool Fl_Display_Device::high_resolution() which may not be ↵Manolo Gouy
really useful. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11949 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-26Set more accurately the protections of the members of class Fl_Display_Device.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11697 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19Move Fl_X::set_high_resolution() to classes Fl_Graphics_Driver and ↵Manolo Gouy
Fl_Quartz_Graphics_Driver git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11656 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-07Fix PicoSDL.Matthias Melcher
Fixed some issues with Image_Surface and Copy_Surface for PicoSDL. Still have to virtualize the driver concept. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11307 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-03Made Pico/SDL setup compile and run some minimal code.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11274 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-25Remove the useless pseudo run-time type information supported by the ↵Manolo Gouy
Fl_Device class. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11217 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-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-10Basic Screen Driver Structure. LIMBO!Matthias Melcher
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-09Move ifdef's in RGB_Image into driver system.Matthias Melcher
- change image caching variable types to uintptr_t - added driver function to uncache image data - cleaning up (Xlib and GDI will likely throw syntax errors. Trying to fix ASAP) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11138 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-09Strip Graphics Driver related ifdefs.Matthias Melcher
- removed more ifdef's from the graphics drivers - moved functionality into the driver files themselves - updated CMakeList.txt git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11137 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-01Add fl_focus_rect function to driver.Matthias Melcher
Focus rectangles are dotted lines. The default implementation uses the dotted line style, However, for systems without line stye, we draw many dots instead. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11110 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31Moved fl_create_bitmask and fl_delete_bitmask functions into driver ↵Matthias Melcher
structure. Tested on OS X. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11100 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-26Fixed a few commentsMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11062 ea41ed52-d2ee-0310-a9c1-e6b18d33e121