summaryrefslogtreecommitdiff
path: root/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx
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-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-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-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-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
2022-07-21Fl_Cairo_Graphics_Driver: simpler handling of font size.ManoloFLTK
2022-07-18Fl_Cairo_Graphics_Driver: simpler way to construct the PangoLayout object.ManoloFLTK
2022-07-11Add explanatory comments about text handling by Fl_Cairo_Graphics_Driver.ManoloFLTK
2022-07-06Move member q_width from class Fl_Font_Descriptor to Fl_Quartz_Font_Descriptor.ManoloFLTK
That's because this member is used only in Fl_Quartz_Font_Descriptor.
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-06-04Fix for issue #447: dotted focus rectangles are a little "ragged" with some ↵ManoloFLTK
scales.