summaryrefslogtreecommitdiff
path: root/src/drivers/Cairo
AgeCommit message (Collapse)Author
2024-03-22Add comments giving cairo version required for each cairo call if > 1.0ManoloFLTK
2024-03-20Remove unused macro definitionsManoloFLTK
2024-03-20Add compile-time check of required minimum cairo versionManoloFLTK
2024-03-20Use type cairo_region_t* for Fl_Region under Wayland platformManoloFLTK
2023-12-04New member function Fl_Image_Surface::mask(Fl_RGB_Image*)ManoloFLTK
2023-11-27Fix compiler warning, dependencies, and trailing whitespaceAlbrecht Schlosser
The benign warning was: ‘Fl_Browser_::hscrollbar’ will be initialized after [-Wreorder] ‘int Fl_Browser_::linespacing_’ ...
2023-11-27Cairo graphics driver: Improve drawing of Fl_Pixmap and Fl_BitmapManoloFLTK
2023-11-27Cairo graphics driver: Improve drawing of Fl_Pixmap and Fl_BitmapManoloFLTK
2023-11-25Cairo graphics driver: Improve drawing of Fl_Pixmap and Fl_BitmapManoloFLTK
Previously, these objects were drawn slightly blurred on HighDPI. This commit has them resized to the pixel size of the area where they are being drawn and then drawn.
2023-10-17Fix drawing points in complex shape mode with Cairo (#792)ManoloFLTK
2023-06-06 Fix "Fl::get_font_name() with Pango is inconsistent"-cont'd (#732)ManoloFLTK
2023-06-06 Fix "Fl::get_font_name() with Pango is inconsistent"-cont'd (#732)ManoloFLTK
2023-06-05Fix "Fl::get_font_name() with Pango is inconsistent" (#732)ManoloFLTK
2023-04-14Remove duplication of Pango standard font namesManoloFLTK
And move each array of standard font names to appropriate font-related source file
2023-04-13Lower Pango required version from 1.22 to 1.16ManoloFLTK
2023-04-13Standardize API to "graphics context" across platformsManoloFLTK
Rename fl_wl_cairo() to fl_wl_gc() Add function cairo_t* fl_cairo_gc() under OPTION_USE_CAIRO
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-02-14Rename class Fl_Display_Cairo_Graphics_Driver to Fl_X11_Cairo_Graphics_DriverManoloFLTK
2023-01-26Fixing FLUID file corruption from issue #653 (#662)Matthias Melcher
Removing all globals in file writer (#653 ) Fix some static analyser complaints Valgrind: handle width==0 in GfxDrivers on Wayland and X11 Don't use `Fl_Input_::static_value`, it accesses previous buffer that may be deleted Project file write encapsulated, removing globals Encapsulating project file reader, removing states in glbals Project i/o increased source code readability
2023-01-13Fix set_fonts() in Xlib/xft and Cairo Graphics_DriverAlbrecht Schlosser
src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx: - fix font_name_process() out of bounds memory access - unify/align font_name_process() code (see also Xlib/xft) - fix font name string allocation src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx - unify/align font_name_process() code (see also Cairo_Graphics) - fix font name string allocation Todo: move common code to Fl_Graphics_Driver or another common file.
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-12-19Complete Fl_Cairo_Graphics_Driver::restore_clip()ManoloFLTK
The driver's clip_ member was not updated to the new Cairo clip state which rendered function Fl_Cairo_Graphics_Driver::clip_box() inaccurate.
2022-12-10Text positioning different in 1.4.x vs 1.3.x (#568) - cont'dManoloFLTK
@wcout reports that we get better results if function pango_font_metrics_get_height() is not used until version 1.50.6 and above of libpango. The difference is specially visible with underscore characters in unscaled, standard DPI displays. This commit does that.
2022-12-06Fix issue #537 without damaging test/mandelbrotManoloFLTK
2022-12-04Wayland: remove regression in mandelbrot introduced by 1a5d657ManoloFLTK
The panel was drawn solid black when test/mandelbrot was unfocussed.
2022-12-04Fl_Cairo_Graphics_Driver: simpler way to construct font from name+sizeManoloFLTK
2022-12-03Fix dotted line drawing under Cairo graphics driverManoloFLTK
2022-12-02Fix text drawn by pango is offset +1 pixel on x and y) (#568)ManoloFLTK
2022-11-30Remove useless fl_matrix member variable of class Fl_Graphics_DriverManoloFLTK
2022-11-17Fix "Cairo: Scaled images draw with wrong size" (#537)ManoloFLTK
2022-10-30Wayland platform: fix problem with fl_pie() (#512 - cont'd)ManoloFLTK
2022-10-30Wayland platform: fix problem with fl_pie() (#512 - cont'd)ManoloFLTK
2022-10-24Include stdint.h may be needed for uint32_t (#522)ManoloFLTK
2022-10-12Wayland platform: fix for issue #512 with fl_arc().ManoloFLTK
2022-10-10Remove duplications between Fl_Graphics_Driver and derived classes.ManoloFLTK
2022-10-10 Fl_Cairo_Graphics_Driver: fix Fl_Bitmap drawing whatever the endianness.ManoloFLTK
2022-10-10Fix for issue #511: allow fl_circle() even without calls to ↵ManoloFLTK
fl_begin/end_loop/polygon().
2022-10-09Fl_Cairo_Graphics_Driver: make image drawing correct whatever the host ↵ManoloFLTK
endianness.
2022-10-09Fix issue #510: image transparency is not properly processed.ManoloFLTK
2022-10-05Fix issue #509: Cairo drawing: unexpected behaviourManoloFLTK
This commit fixes " "drawing an fl_pie() with dimension 1x1". But it does not change "drawing fl_line() with begin position = end position does not show" because the same behaviour is observed with Windows and macOS.
2022-09-26Replace all calls to sprintf() by calls to snprintf().ManoloFLTK
2022-09-15Make Fl::set_color(r,g,b,a) effective under Wayland and macOS.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-29Make hybrid Wayland/X11 platform.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-24Add Pango version check for Fl_PostScript_Graphics_DriverManoloFLTK