summaryrefslogtreecommitdiff
path: root/FL/Fl_Graphics_Driver.H
AgeCommit message (Collapse)Author
3 dayswi[maxim nikonov
2026-01-13Fix documentation (comment only)Albrecht Schlosser
2025-07-01Remove FLTK 1.4 ABI guardsAlbrecht Schlosser
2025-05-09Remove declaration of Fl_Scalable_Graphics_Driver from FL/Fl_Graphics_Driver.HManoloFLTK
and declare it in non-public header src/Fl_Scalable_Graphics_Driver.H which also declares classes Fl_Font_Descriptor and Fl_Fontdesc.
2025-03-04Fix "Windows: dotted lines may be drawn solid when GUI is rescaled" (#1214)ManoloFLTK
2024-12-12Put ABI breaking changes under ABI guards (#1139)Albrecht Schlosser
This reverts the improvement of #1139 in the default build which is now only available with FL_ABI_VERSION=10401 or higher. Users that need this improvement need to build with the required ABI version by setting it with configure or CMake.
2024-11-27Add missing FL_EXPORT qualifierManoloFLTK
2024-11-27Restore pixmap drawing under X11-noCairo broken by 0952d59ManoloFLTK
2024-11-23Increase clipping stack size (#1139)Albrecht Schlosser
2024-11-20Fix fl_draw_image sometimes crashes when window is scaled - cont'd (#1134)ManoloFLTK
2024-11-19Add 2 other missing FL_EXPORT qualifiersManoloFLTK
2024-11-12 Fix for Windows and X11: Rounding issues with Fl_RGB_Image::draw() (#1120)ManoloFLTK
2024-07-24Fix Fl_Scalable_Graphics_Driver::rect(x,y,w,h) (#1017)ManoloFLTK
2024-02-21 Fix: fl_height(int, int) decreases the font size after each call (#915)ManoloFLTK
2023-11-29Change type of member variables Fl_Graphics_Driver::ascent + descentManoloFLTK
Type short is too small for Fl_Cairo_Graphics_Driver and font sizes ≥ 110.
2023-10-16Add virtual void Fl_Graphics_Driver::draw_circle()ManoloFLTK
2023-09-17Restore Doxygen doc of fl_graphics_driverManoloFLTK
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-05Implement fl_complex_polygon() for OpenGL (#570)Matthias Melcher
2022-11-30Add a unit test for drawing complex shapes (#565)Matthias Melcher
2022-11-30Remove useless fl_matrix member variable of class Fl_Graphics_DriverManoloFLTK
2022-11-30Remove superfluous friend declarations from class Fl_Graphics_DriverManoloFLTK
2022-11-29Fix for issue [Cairo]: Arrows have a "gap" (#561)ManoloFLTK
The problem to fix is that the arrow drawn by draw_arrow1() in src/fl_symbols.cxx displays a faint clear line between the stem and head of the arrow with the Cairo graphics driver. This occurs because draw_arrow1() draws the arrow in 2 steps (a rectangle + a triangle) and the Cairo driver is configured to use antialiasing when filling polygons. The antialiasing produces the faint line between stem and head. Why does draw_arrow1() draw a rectangle + a triangle rather than a 7-vertex polygon? That's because the X11 graphics driver fails with its polygon- drawing function when the polygon is also rotated: the polygon is drawn empty. We want to keep using antialiasing under Cairo for polygons because the result is better with non horizontal/vertical polygon edges. This implementation changes function draw_arrow1() which draws the arrow as a 7-vertex filled polygon except when the graphics driver returns false for its virtual member function can_fill_non_convex_polygon(). In that situation, draw_arrow1() draws, as before, a rectangle + a triangle. The new, virtual member function can_fill_non_convex_polygon() returns true except for the X11 graphics driver. Therefore, draw_arrow1() is effectively unchanged under the X11 driver.
2022-11-24Refactor code to make rounded rectangles accessible (#553)Matthias Melcher
This adds fl_rounded_rect and fl_rounded_rectf so the user can draw rounded rectangles. This uses existing and optimised code that is rearranged.
2022-10-10Remove duplications between Fl_Graphics_Driver and derived classes.ManoloFLTK
2022-09-08Add necessary virtual qualifier to ~Fl_Font_Descriptor() and derived.ManoloFLTK
2022-08-19Fl_Graphics_Driver: remove unused virtual qualifiers.ManoloFLTK
2022-07-20Change prototype of virtual Fl_Graphics_Driver::pango_font_description().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-06-19Move input method support to Fl_Screen_Driver from Fl_Graphics_DriverManoloFLTK
2022-05-11Remove warning: 'virtual void Fl_Graphics_Driver::xyline(int, int, int, ↵ManoloFLTK
int)' was hidden.
2022-03-24Remove platform-dependent type Fl_Bitmask (not in documented public API).ManoloFLTK
2022-03-21Avoid using same name (p) for distinct members of derived classes.ManoloFLTK
2022-03-21Rename member Fl_Graphics_Driver::p to xpoint to avoid shadowing.ManoloFLTK
2022-01-07Add virtual void Fl_Graphics_Driver::set_status() and implement for X11 ↵ManoloFLTK
platform.
2021-12-09Remove compiler warnings about unused parameters (issue #307)ManoloFLTK
2021-05-31Windows platform: use GDI+ to antialias oblique lines and curves.ManoloFLTK
2021-05-28New virtual member function Fl_Graphics_Driver::colored_rectf().ManoloFLTK
2021-03-26Remove X11-specific code from platform-independent Fl_PostScript.cxxManoloFLTK
2021-03-21Remove unnecessary system includes from public headersAlbrecht Schlosser
Add includes of system headers in the implementation files where necessary.
2021-03-11Unification of scaled coordinate calculations in class ↵ManoloFLTK
Fl_Scalable_Graphics_Driver Most coordinate calculations are done with the new inline function int Fl_Scalable_Graphics_Driver::floor(int coord) that is used by both the Windows and X11 platforms.
2021-03-01Remove duplicated code between derived classes of Fl_Graphics_Driver - cont'd.ManoloFLTK
2021-03-01Remove duplicated code between derived classes of Fl_Graphics_Driver.ManoloFLTK
2021-02-27Rename fl_remove_scale() to fl_override_scale() as discussed in fltk.generalManoloFLTK
Re: Can custom box type functions handle their own high-DPI screen scaling?
2021-02-25Add fl_remove_scale()/fl_restore_scale() to transiently draw without scaling ↵ManoloFLTK
factor. This new API is a response to this message in fltk.general : Can custom box type functions handle their own high-DPI screen scaling?
2021-02-24Improve precision of GUI scaling for Windows platform.ManoloFLTK
2021-02-16Remove FL_CFG_SYS_WIN32 preprocessor variable from fl_draw_pixmap.cxxManoloFLTK
2021-02-12Fix comments and documentationAlbrecht Schlosser
2020-11-12Fix for issue #155 - continuedManoloFLTK
The issue lies in details how floating point scaled coordinates are converted to integer values and its impact on the drawing of large SVG images. This commit fixes the X11 platform. The macOS platform is immune because drawing uses floating point coordinates. The Windows platform still needs fixing.
2020-07-30Fix use of an SVG image in Fl_Tiled_Image when display is rescaled.ManoloFLTK