summaryrefslogtreecommitdiff
path: root/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H
AgeCommit message (Collapse)Author
2023-04-05Wayland: limit copied pixels when window update is a regionManoloFLTK
2023-03-25Add Fl_Cairo_Graphics_Driver::focus_rect() overrideManoloFLTK
This allows to bypass what looks like a Cairo bug: FLTK_SCALING_FACTOR=1.7 bin/test/tabs click on tab2 ---> crash But no crash with other scaling factor values (e.g., 1.8).
2023-01-04Cairo/Pango: compute character widths fast and string widths accuratelyManoloFLTK
This commit has Fl_Cairo_Graphics_Driver compute string widths in 2 ways: 1) when the string contains several unicode characters, the width of the whole string is computed, accounting for kerning when it occurs; 2) when the string contains a single unicode character, its width is computed, memorised, and re-used next time it's necessary. The effect of this approach is - Fl_Text_Display is fast because it uses memorised single character widths repeatedly - Fl_Input is drawn accurately because the cursor position is determined by string widths, not by sums of character widths.
2022-12-30Use `FL_OVERRIDE` for all overridden virtual methods (#611)Matthias Melcher
FL_OVERRIDE is defined as `override` for C++11 and higher FL_OVERRIDE is defined as `override` for VisualC 2015 and newer Don't interfere with Fl_Widget::override()
2022-10-10Remove duplications between Fl_Graphics_Driver and derived classes.ManoloFLTK
2022-09-09New OPTION_WAYLAND_ONLY for CMake to build pure Wayland platform.ManoloFLTK
2022-09-08Add necessary virtual qualifier to ~Fl_Font_Descriptor() and derived.ManoloFLTK
2022-08-18Add a few missing virtual members to Fl_Cairo_Graphics_Driver.ManoloFLTK
2022-08-12Add virtual Fl_Cairo_Graphics_Driver::cache_size() member function.ManoloFLTK
2022-07-20Change prototype of virtual Fl_Graphics_Driver::pango_font_description().ManoloFLTK
2022-07-18Fl_Cairo_Graphics_Driver: simpler way to construct the PangoLayout object.ManoloFLTK
2022-07-06Fl_Cairo_Graphics_Driver: fix issues in string width computations when ↵ManoloFLTK
scaling applies. The implemented approach is to create and use the pango_layout_ object only relatively to an unscaled cairo context. With this, the pixel width of a drawn string equals the sum of the widths of its characters.
2022-06-12New member Fl_Cairo_Graphics_Driver::bitmap_to_pattern() to avoid code ↵ManoloFLTK
duplication.
2022-05-02Set line height as computed by Pango.ManoloFLTK
2022-05-02Keep the PangoLayout member private in class Fl_Cairo_Graphics_Driver.ManoloFLTK
2022-05-01Issue #438 : Wayland: Text drawing different from Xft version - cont'd.ManoloFLTK
2022-04-30 Fix for issue #438 : Wayland: Text drawing different from Xft version - cont'd.ManoloFLTK
2022-04-25Create member function Fl_Cairo_Graphics_Driver::set_cairo().ManoloFLTK
2022-04-23Create Fl_Cairo_Graphics_Driver::handle_dummy_cairo(cairo_t *cr).ManoloFLTK
2022-03-31Fix whitespace errors (no code changes)Albrecht Schlosser
2022-03-31Add support of Fl_Region to the Cairo graphics driverManoloFLTK
and remove it from the Wayland graphics driver.
2022-03-24Remove platform-dependent type Fl_Bitmask (not in documented public API).ManoloFLTK
2022-03-21Fix silly MSVC 2010 parser warningsAlbrecht Schlosser
Code like "void copy(const char */*stuff*/, ...)" would issue the warning "'*/' seen outside comment" which is formally true but ... These warnings don't appear with newer MS compilers, but I fixed them anyway.
2022-03-09Move all font stuff to Fl_Cairo_Graphics_Driver from Fl_Wayland_Graphics_Driver.ManoloFLTK
2022-03-06Complete class Fl_Cairo_Graphics_Driver using Fl_Wayland_Graphics_DriverManoloFLTK
2021-12-09Remove compiler warnings about unused parameters (issue #307) - cont'dManoloFLTK
2021-12-02PostScript output: initialise member variables in Fl_Cairo_Graphics_Driver ↵ManoloFLTK
constructor. Also, remove inadequate Fl_Surface_Device::push_current(this) call in Fl_Posix_Printer_Driver::begin_job().
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-27Add guard against multiple inclusion of header file.ManoloFLTK
2021-03-26Remove X11-specific code from platform-independent Fl_PostScript.cxxManoloFLTK
2021-03-15Create class Fl_Cairo_Graphics_Driver.ManoloFLTK
That class is extracted from inside Fl_PostScript_Graphics_Driver and might become handy in the future.