summaryrefslogtreecommitdiff
path: root/FL/Fl_Image.H
AgeCommit message (Collapse)Author
2017-05-17Introduce HiDPI + rescaling support for the X11 platform (+ partial support ↵Manolo Gouy
for WIN32) Corresponds to STR #3320 1) HiDPI support consists in detecting the adequate scaling factor for the screen on which FLTK maps a window, and scaling all FLTK units by this factor. FLTK tries to detect the correct value of this factor at startup (see more details below). Environment variable FLTK_SCALING_FACTOR can also be used to set this value. 2) Rescaling support consists in changing the scaling factor of all FLTK windows in reply to ctrl/+/-/0/ keystrokes. More details for the various platforms : - X11: Support is very advanced. Some details need still to be improved. Automatic detection of the correct starting value of the scaling factor works well with the gnome desktop. The present code contains no support for this on other desktops. FLTK_SCALING_FACTOR provides a workaround. -WIN32: Support is incomplete at this point, although many test applications have partial or complete HiDPI and scaling support. The current value of the system's scaling factor is correctly detected at application startup. Apps respond to changes of this value in real time. Support needs to define the FLTK_HIDPI_SUPPORT preprocessor variable at compile time. This way, standard builds produce a code with the default WIN32 HiDPI support, that is, where all graphics goes to an internal buffer that gets enlarged by the system and then mapped to the HiDPI display. To experiment with (or develop) the new HiDPI support requires a modified build procedure in which FLTK_HIDPI_SUPPORT is defined at compile time. When the support will be complete, the requirement for the definition of this preprocessor variable will be removed. The present commit contains support for a single scaling factor. Eventually, per-screen scaling factors should be implemented, as done for X11. - MacOS: this commit does not give new HiDPI for this platform. Eventually, window rescaling in reply to command/+/-/0/ is desirable. Per-screen scaling factor makes no sense on this platform because the OS itself takes care of the difference between the resolutions of traditional and retina displays. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12239 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-30Add virtual Fl_RGB_Image* Fl_Image::as_rgb_image() to detect whether an ↵Manolo Gouy
Fl_Image is derived from Fl_RGB_Image git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12061 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-14Fix inconsistent interpretation of ld() in image handling (STR #3308).Albrecht Schlosser
Documentation has been fixed and clarified, and ld() handling is now consistent in Fl_(RGB_)Image, their subclasses and fl_draw_image() and similar functions. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12029 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-08-27Add Doxygen comments for the Fl_RGB_Image::alloc_array and ::array public ↵Manolo Gouy
attributes. Also, document what is the value of alloc_array after construction of an Fl_RGB_Image object. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11897 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-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-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-05-24Moved docs for fail() from prototype in Fl_Image.H -> implementation in ↵Greg Ercolano
Fl_Image.cxx. Also added coded example to assist app programmers in usage. (Matt: feel free to modify the example code as needed) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10734 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-05-24Fixes these errors on Linux:Greg Ercolano
../FL/Fl_Image.H:58: error: ISO C++ forbids initialization of member 'ERR_NO_IMAGE' ../FL/Fl_Image.H:58: error: making 'ERR_NO_IMAGE' static git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10733 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-05-23STR #2873: new function Fl_Image::fail() that returns 0, ERR_NO_IMAGE, ↵Matthias Melcher
ERR_FORMAT, or ERR_FILE_ACCESS to make life easier when loading images. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10732 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-28Doc clarifications for Fl_Image methods:Greg Ercolano
> inactive() > desaturate() > color_average() git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10725 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-12More detailed Doxygen doc of Fl_Shared_Image::scale() and ↵Manolo Gouy
Fl_Image::draw(X,Y,W,H,cx,cy). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10618 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-10Added Fl_Shared_Image::scale(width, height) to support scaled image drawing ↵Manolo Gouy
(STR #3185). Useful for printing, PostScript or PDF output, or retina displays. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10615 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-14Fix doxygen warning.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10379 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-14Move RGB image scaling algorithm methods in base class Fl_Image.Albrecht Schlosser
See also discussion in fltk.coredev of Sept 07, 2014 and later with subject "Fixing the nearest-neighbour scaling". git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10377 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-13Added Doxygen comments for enum Fl_RGB_Scaling.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10374 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-03Tweak the scaling() commentLauri Kasanen
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10269 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-03Add bilinear scaling support. STRs #2869 and #3062.Lauri Kasanen
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10268 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-12Add ability to convert a Fl_Pixmap into a Fl_RGB_Image.Pierre Ossman
This is very convenient as a lot of other functions only accept a Fl_RGB_Image. Adding this functionality also required a bit of spring cleaning in the the drawing routines. STR #2659. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10192 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-11-09Fix STR#2881: the new static function Fl_RGB_Image::max_size(size) allows to ↵Manolo Gouy
control the maximum memory size allowed when creating an Fl_RGB_Image. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9709 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-06-13Removed errant D=0 docs that were not relevant to Fl_RGB_Image (thanks manolo).Greg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9595 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-06-13Improved docs for Fl_RGB_Image() ctor.Greg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9594 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-01-30Reorganization of the Doxygen docs of some Fl_Image class functions.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8338 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-05-27Better device hierarchy with surfaces and graphics drivers.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7617 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-18Removed multiple inheritance: back to r. 7519 exactly.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7522 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-16Improved the hierarchy of Fl_Device subclasses to allow separation of ↵Manolo Gouy
platform-specific devices. This introduces multiple inheritance. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7520 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-14More logical use of Fl_Device::draw(<image class> *,...) functionsManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7501 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-15Renamed internal member variables id and mask to id_ and mask_ to avoidAlbrecht Schlosser
conflict with Mac OS X/gcc 3.x name clash when compiling with obj-c. Also made them private instead of public. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7273 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-01-01Changed the copyright to 2009 for header files. Still todo: src and test ↵Matthias Melcher
directory. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6614 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-15Doxygen pdf documentation: Changed pdf mime type to application/pdf. Removed ↵Fabien Costantini
all Widget class headers from file section as they already are in the class section, this saves many pages. Also disabled the referenced by/from systematic inserts for each functions as this is more a core developer documentation feature than a fltk user manual feature, also saves many pages. Didn't use the LATEX_COMPACT feature yet, not happy with its result, will comment it later. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6439 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-16Doxygen documentation : took the opportunity to update copyright info as we ↵Fabien Costantini
modified already in batch almost all sources, added also a fil doxygen command to class headers to harmonize with original matt Fl_Widget dox. format. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6265 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-14Doxygen Documentation WP5 Done, WP6 half finished so that all Fl_Image class ↵Fabien Costantini
hierarchy is up-to-date. Also completed the documentation of the useful Fl_Shared_Image. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6241 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-04-16Update source file headers with STR web page.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4288 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-24Copyright updates.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4052 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-04-11Copyright updates and prep for 1.1.5rc1.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3391 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-01-30Copyright update for 1.1.3 release (not quite yet, but soon...)Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2936 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-01-15Fix build problems on Windows.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2913 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-01-12Fix header file again.Michael R Sweet
Fix dependency generation for the libraries... Update dependencies. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2897 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-01-11Need to include Fl_Export.H for FL_EXPORT definition.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2896 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-01-10Update Fl_Image and friends so that we don't need to include theMichael R Sweet
system headers (which unfortunately are not too friendly with other code...) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2893 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-10-11Use memmove() instead of memcpy() in several key places.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2672 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-08-14DLL changes (still some more to go...)Michael R Sweet
Move BMP, GIF, and PNM image loaders to fltkimages project. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2583 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-08-05Range check Fl_Text_Buffer::search_forward().Michael R Sweet
Don't use png_read_destroy() - it doesn't free all memory. Add uncache() method to image classes. Memory/initialization bugs in Fl_File_Chooser (valgrind) Make sure both Fl_Window constructors have default cursor initialization code... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2562 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-07-14Boy, aren't WIN32 compilers *so* much fun.Michael R Sweet
Fix more export problems, make some more static inline methods regular functions, don't use FL_NORMAL_SIZE in a static initializer since BC++ doesn't seem to support it... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2531 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-26Images in menu items...Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2109 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-07Fixed from Teun.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1919 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-01Copyright updates...Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121