summaryrefslogtreecommitdiff
path: root/FL/fl_draw.H
AgeCommit message (Collapse)Author
2018-05-07New Fl_Image_Surface::rescale() class function and document equivalence ↵Manolo Gouy
between Fl_Offscreen-based and Fl_Image_Surface-based approaches. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12907 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-10Android: crude graphics clippingMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12726 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-09Replace "WIN32" with "_WIN32" or "Windows".Albrecht Schlosser
Replace compiler/preprocessor/platform macro "WIN32" with "_WIN32". Replace "WIN32" in text and documentation with "Windows". Replace "MSWindows" with "Windows". To do: README.Windows.txt (and maybe other documentation as well) needs updates. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12655 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-11-05fl_text_extents(): added example, included reference to fl_font() and ↵Greg Ercolano
fl_measure(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12543 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-05-18Add void fl_scale_offscreen(Fl_Offscreen &ctx) to support the rescaling of ↵Manolo Gouy
an offscreen buffer. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12240 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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-09Use Fl_Graphics_Driver::default_driver() when convenient.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12088 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-25X11: More explicit warning when using rotated text w/o Xft.Albrecht Schlosser
The warning is issued to stderr only once (previously: every time rotated text was used). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11978 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-03Rewrite fl_read_image.cxx under the driver model.Manolo Gouy
Files fl_read_image_mac.cxx and fl_read_image_win32.cxx are no longer used; their content is now in Fl_XXX_Screen_Driver.cxx git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11516 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-25Remove a bunch of useless #include <FL/x.H> directives.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11422 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-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-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-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
2014-09-18Documentation: clarification of fl_width()'s dependence on the current font ↵Greg Ercolano
face/size. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10320 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-06-22Include code examples for use of path form of fl_arc()Greg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9937 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-05-08Documentation improvements:Greg Ercolano
o Added fl_text_extents() to the 'Drawing things in FLTK' section o Added 'see also' sections to all the text measuring functions in that section o Added detail to fl_text_extents() docs regarding it not handling FLTK symbols, as non-public comment for that method indicates. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9463 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-10-02STR 2714: remove lint (variables that have the same name as a function in ↵Matthias Melcher
the same scope). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9116 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-27STR 2702: body of fl_draw_image_mone was missing for one case.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9066 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-22Changed doc of fl_draw() functions to state that strings are UTF-8 encoded ↵Manolo Gouy
and lengths are in bytes. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9055 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-06-02Fix STR #2656: removed compilation warnings.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8772 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-23Documentation fixes and a few indent corrections.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8621 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-18Added scale(), translate(), and rotate() functions to the Fl_Graphics_Driver ↵Manolo Gouy
class. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8443 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-18Added virtual width(), height(), descent() and text_extents() functions to ↵Manolo Gouy
the Fl_Graphics_Driver class to prepare for the future definition of graphics drivers that fully deal with text measurement. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8442 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-06Replaced global variable fl_color_ by a private member of the ↵Manolo Gouy
Fl_Graphics_Driver class, and a public getter to it: Fl_Graphics_Driver::color(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8384 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-05Removed global variables fl_font_ and fl_size_ that are now distinct for ↵Manolo Gouy
each graphics device. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8374 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-04Fix STR #2535: clipping + coordinate transformations are now managed ↵Manolo Gouy
separately for each surface device. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8368 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-03Corrected typo.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8363 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-28Made sure FL/x.H is included only when necessary.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8130 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-31Fixed tab key navigation to inactive widgets (STR #2420), fixed a few ↵Matthias Melcher
pedantic warnings git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7788 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-07-01Renamed global variable from fl_device to fl_graphics_driver to better ↵Manolo Gouy
express its class git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7659 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-06-21Fix STR 2339 by defining new member function rtl_draw of class ↵Manolo Gouy
Fl_Graphics_Driver git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7652 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-14Making fl_old_shortcut() seen by Doxygen.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7499 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-05STR 2108: added warning to fl_rect documentation.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7425 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-25Reorganized code to allow compilation with Fl_Device, Fl_Display but without ↵Manolo Gouy
Fl_Abstract_Printer (may be useful for embarked devices) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7330 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-24Fixed all Doxygen warnings triggered by new Fl_Device and Fl_Printer classesManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7325 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-22Fixed another FL_EXPORT missing in fl_draw.H.Fabien Costantini
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7315 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-22Fixed broken vs2005 ide project files and created table, tree, blocks vcproj ↵Fabien Costantini
projects for vs2005 solution. Fixed missing FL_EXPORT statements would break dll gen in all visual studio projects. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7314 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-21Completed Doxygen documentation of Fl_Device, Fl_Abstract_Printer, ↵Manolo Gouy
Fl_Printer classes. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7310 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-14Merge of branch-1.3-Fl_Printer, with the following main changes:Albrecht Schlosser
(1) adding Fl_Device class (and more) for device abstraction (2) adding Fl_Pinter class (and more) for printing support. Todo: Code cleanup, update dependencies, remove/replace test print window. I'm looking into converting the test window popup in a global shortcut that would pop up the print dialog now... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7263 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-12-07Removed typedef that simply renamed char* to Fl_String, as discussed in the ↵Matthias Melcher
mailing list. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6955 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-09-17International menu shortcuts working on Mac OS (and probably the other OS's)Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6878 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-08-28Applied patch from STR#2115.Greg Ercolano
This fix to fl_height(int,int) solves the "digital drit" problem in Fl_Text_Editor, where doing insert/delete operations was leaving a trail of dead pixels. Also fixes problem with font display problem in fluid's code editor. See the STR for screenshots of the problem. NOTE: THIS IS A WORKAROUND FOR A DEEPER PROBLEM. Somewhere during the port of UTF8, the actual pixel size of the displayed font is a little off, causing FLTK to miscalculate line height, causing 'digital drit'. It used to be that when you specified a font size, the font's actual displayed pixel size matched the font size value. This fix makes the fl_height(int,int) function more robust, actually inquiring the font system for its font size, instead of assuming the font size is the same as the 'size' argument. Since Fl_Text_Editor makes use of this function, it helps that widget calculate font sizes correctly. The real fix will be restoring FLTK's old behavior where the font size specified is the actual pixel size of the displayed font. Then this function can be reverted to just returning the 'size' argument. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6845 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-04-24add fl_draw(int angle, const char* ... functions for rotated text drawingyuri
STR#1840 closed, STR#207 not closed because non-xft functions not implemented drawing of N Utf8 characters need correction for rotated and not rotated fl_draw functions not solved! git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6779 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-04-18Updated doxygen docs for Fl_Input_ to get a greater insight into the code. ↵Matthias Melcher
I'll try to get full Unicode support in soon. The current code uses some interesting solutions ;-). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6770 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-04-12Avoiding crashes for recrsive common dialogs (this does not fix the issue at ↵Matthias Melcher
hand yet) (STR #1986, 2150) / Added menu shortcut alignment for OS X / Fixed bad system menu hadling in OS X (STR #2153) / Fixed File Input mouse pointer dragging (STR #2181) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6757 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-03-24Major documentation update including: now html doc API is sorted, navigation ↵Fabien Costantini
problems/side effects fixed, html tags replaced by proper doxygen commands, parameters command switched from a to p. Includes a pdf update. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6716 ea41ed52-d2ee-0310-a9c1-e6b18d33e121