summaryrefslogtreecommitdiff
path: root/src/drivers/Cairo
AgeCommit message (Collapse)Author
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
2022-07-21Fl_Cairo_Graphics_Driver: simpler handling of font size.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-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.
2022-05-27Fl_Cairo_Graphics_Driver: fix GUI rescaling.ManoloFLTK
The solution to avoid blurred graphics when the GUI is scaled is to turn off cairo antialiasing when drawing horizontal and vertical lines and rectangles.