summaryrefslogtreecommitdiff
path: root/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_image.cxx
AgeCommit message (Collapse)Author
3 dayswip: forkmaxim nikonov
2024-11-20Fix fl_draw_image sometimes crashes when window is scaled - cont'd (#1134)ManoloFLTK
2023-01-01FLUID refactor and macOS warnings removed (#623)Matthias Melcher
P renamed to g_project class Project renamed to class Fluid_Project fixes macOS type cast warnings
2022-08-29Make hybrid Wayland/X11 platform.ManoloFLTK
2022-03-24Remove platform-dependent type Fl_Bitmask (not in documented public API).ManoloFLTK
2021-05-28New virtual member function Fl_Graphics_Driver::colored_rectf().ManoloFLTK
2021-02-16Use <config.h> when appropriate.ManoloFLTK
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.
2019-05-22Improve drawing of Fl_RGB_Image's to Fl_Copy_Surface on macOSManoloFLTK
2019-05-21Support for fl_scroll() under macOS when GUI is scaledManoloFLTK
2019-02-02STR #2714: remove new shadow lint for MacOSMatthias Melcher
2018-06-23Doxygen only: fixed all block comments starting with an asterisk to ↵Matthias Melcher
space-only, fixed doxygen keywords prepended with @ to use a backward slash instead. No code was changed. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12970 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-09Remove a bunch of useless #include <FL/Fl_Printer.H> statements.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12909 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-06Make member function Fl_Image_Surface::get_offscreen_before_delete() be private.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12904 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-14Remove Fl_Pixmap::prepare() and Fl_Bitmap::prepare() that were used only once.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12834 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-13Homogenise and simplify the API of Fl_Graphics_Driver::cache(image-type *) ↵Manolo Gouy
virtual member functions. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12833 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-12Image drawing: simplify the code organisation to better support ↵Manolo Gouy
Fl_Image::scale(). Graphics drivers now use up to 6 virtual member functions to support Fl_Image drawing in the context of GUI and image rescaling : virtual void draw_pixmap(Fl_Pixmap *pxm, int XP, int YP, int WP, int HP, int cx, int cy) virtual void draw_bitmap(Fl_Bitmap *bm, int XP, int YP, int WP, int HP, int cx, int cy) virtual void draw_rgb(Fl_RGB_Image *rgb, int XP, int YP, int WP, int HP, int cx, int cy) and virtual void draw_fixed(Fl_Pixmap *pxm, int XP, int YP, int WP, int HP, int cx, int cy) virtual void draw_fixed(Fl_Bitmap *bm, int XP, int YP, int WP, int HP, int cx, int cy) virtual void draw_fixed(Fl_RGB_Image *rgb, int XP, int YP, int WP, int HP, int cx, int cy) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12828 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-22Rename Fl_Image::pixel_w() and pixel_h() to Fl_Image::data_w() and data_h().Manolo Gouy
The docs of class Fl_Image and of Fl_Image::scale() are beefed up. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12784 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-19New member function Fl_Image::scale(int width, int height) to set the FLTK ↵Manolo Gouy
size of an image. Each image has now two sizes implemented as follows: - the pixel size is stored in private members pixel_w_ and pixel_h_ with public accessors pixel_w() and pixel_h() - the FLTK size is stored in private members w_ and h_ and read by w() and h() - when the image is constructed, the two sizes have the same value - the protected w(int) and h(int) member functions set both FLTK and pixel sizes. - the public scale(int, int) member function is essentially nothing but set the FLTK size and don't change the pixel size. - when the image is drawn, its FLTK size determines how big it is drawn, its pixel size determines how much data are available to draw it. FLTK 1.3.4 with FL_ABI_VERSION=10304 contained an equivalent member function but only for the Fl_Shared_Image class. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12776 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-31Replace FL/x.H with FL/platform.H - step 2 (STR #3435).Albrecht Schlosser
This second step replaces FL/x.H with FL/platform.H in all source files. Dependencies have been adjusted as well. This commit completes the replacement of FL/x.H with FL/platform.H. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12641 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-13SVG support: draw images at full screen resolution also when there are ↵Manolo Gouy
several pixels per graphical unit, as with Apple retina displays. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12456 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-13Mac OS: use Fl_Graphics_Driver::has_feature(PRINTER) to detect when drawing ↵Manolo Gouy
to a printer. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12455 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-13Mac OS: explain more accurately in comments how the tricky part of printing ↵Manolo Gouy
an Fl_RGB_Image is handled. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12454 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-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-11-14Remove compilation warning apparent with -Wnull-conversionManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12108 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-10Fl_Quartz_Graphics_Driver::uncache() should also reset mask_.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12095 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-09Reuse the same "data provider release callback" several times.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12087 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-08MacOS: use less temporary copies of image data for image printing.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12086 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-05Slightly improve the parameter list of member function int ↵Manolo Gouy
Fl_Graphics_Driver::start_image(...) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12079 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-03Rename Fl_Bitmap::start() to Fl_Bitmap::prepare().Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12078 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-03Factorize repeated code across platform-specific graphics drivers and image ↵Manolo Gouy
types git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12077 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-02Replace declarations such as "friend class Fl_Xlib_Graphics_Driver;" by ↵Manolo Gouy
platform-independent declarations. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12076 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-11Replace .h by .H in #include "Fl_Quartz_Graphics_Driver.h"Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12023 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-26Remove a few uses of the fl_graphics_driver global variableManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11439 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-08Simpler method to retain printed image data in memory until it is ↵Manolo Gouy
effectively used. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11323 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-05Complete the platform-neutral implementation of fl_XXX_offscreen() functions.Manolo Gouy
It is necessary to have a stack of the fl_begin_offscreen() calls, so that nested such calls apply fl_end_offscreen() to the matching fl_begin_offscreen(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11289 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-04Fix a problem seen in fluid on the Mac OS platform.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11285 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-01Allow fl_draw_image() with negative L parameter for Mac OS - continued.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11260 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-01Have fl_draw_image(buf,X,Y,W,H,D,L) support negative D and/or L arguments on ↵Manolo Gouy
Mac OS X - continued. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11255 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-29Accept fl_draw_image(buf, X,Y,W,H,D,L) with negative D and/or L arguments on ↵Manolo Gouy
the Mac OS platform. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11251 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-25Mac OS platform: make fl_draw_image() draw correctly depth-4 images with ↵Manolo Gouy
transparent areas. This simplifies the drawing of Fl_Pixmap's. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11214 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-23Fix Fl_RGB_Image::uncache() and Fl_Bitmap::uncache().Manolo Gouy
It is not possible to use fl_graphics_driver in these functions because when they are called *fl_graphics_driver may have been deleted. A solution is to use Fl_Display_Device::display_device()->driver() instead which is always valid. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11212 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-15Improve image drawing to double-resolution Fl_Image_Surface objects (Mac OS ↵Manolo Gouy
only). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11180 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-14Move Fl_Quartz_Graphics_Driver::draw_CGImage() to ↵Manolo Gouy
Fl_Quartz_Graphics_Driver_image.cxx git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11169 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13New member function Fl_Quartz_Graphics_Driver::draw_CGImage() used ↵Manolo Gouy
internally for all image drawing. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11165 ea41ed52-d2ee-0310-a9c1-e6b18d33e121