Matthias Melcher
ccbb424046
Add option to uniform line drawing in scaled mode ( #167 )
2025-11-01 14:33:06 +01:00
ManoloFLTK
b7e52bb03c
Underline does not appear in some fonts and scales (Windows,X11-noCairo) ( #1308 )
2025-09-19 11:10:52 +02:00
ManoloFLTK
043bac6f8d
Remove declaration of Fl_Scalable_Graphics_Driver from FL/Fl_Graphics_Driver.H
...
and declare it in non-public header src/Fl_Scalable_Graphics_Driver.H which also
declares classes Fl_Font_Descriptor and Fl_Fontdesc.
2025-05-09 09:51:36 +02:00
ManoloFLTK
880636eb12
Fix "Windows: dotted lines may be drawn solid when GUI is rescaled" ( #1214 )
2025-03-04 16:04:10 +01:00
ManoloFLTK
981aa8c2e7
Fix: Drawing bugs on Windows at very large scales ( #1144 )
2024-12-02 17:46:49 +01:00
ManoloFLTK
1f05a0df44
Fix fl_draw_image sometimes crashes when window is scaled - cont'd ( #1134 )
2024-11-20 08:01:40 +01:00
ManoloFLTK
2337214e4e
Fix for Windows and X11: Rounding issues with Fl_RGB_Image::draw() ( #1120 )
2024-11-12 10:56:19 +01:00
ManoloFLTK
957fa1fe37
Improve method to draw boxes of type FL_BORDER_BOX and FL_SHADOW_BOX ( #1089 )
...
These types of boxes frame a background with a rectangular frame of another color.
The previous procedure to draw them was not robust to GUI rescaling creating cases
where space between the border and the background was not drawn.
The new drawing procedure for these boxes first paints the whole area (frame included)
with the background color and next draws the frame over the just painted rectangle.
No uncolored space is possible.
It was also necessary to very slightly modify Fl_Scalable_Graphics_Driver::rect()
used by the Windows and X11 (no Cairo) backends to make sure fl_rect(x,y,w,h)
exactly frames fl_rectf(x,y,w,h) without drawing outside the filled area.
2024-10-15 18:02:48 +02:00
ManoloFLTK
3cc12d203f
Fix Fl_Scalable_Graphics_Driver::rect(x,y,w,h) ( #1017 )
2024-07-24 17:09:30 +02:00
ManoloFLTK
5e6c47f446
Fix "line_style_doc program under X11: join type wrong" ( #1017 )
2024-07-23 10:13:27 +02:00
ManoloFLTK
957becbe28
Fix: fl_height(int, int) decreases the font size after each call ( #915 )
2024-02-21 09:38:24 +01:00
Albrecht Schlosser
27a779b235
Fix trailing whitespace
2023-10-18 15:00:37 +02:00
ManoloFLTK
ae4ed35229
Add virtual void Fl_Graphics_Driver::draw_circle()
2023-10-16 20:53:55 +02:00
ManoloFLTK
bb7e1635ad
macOS: remove a bunch of deprecation warnings
2023-10-09 11:16:36 +02:00
ManoloFLTK
824818303c
Restore Doxygen doc of fl_graphics_driver
2023-09-17 09:00:48 +02:00
Albrecht Schlosser
4bc63da34d
Fix compiler warnings [-Wpedantic]
...
Remove extra semicolons after function definitions
2023-04-13 20:27:00 +02:00
Matthias Melcher
bf825f8ebd
Add a unit test for drawing complex shapes ( #565 )
2022-11-30 22:40:52 +01:00
ManoloFLTK
bc3bbb7ca0
Remove useless fl_matrix member variable of class Fl_Graphics_Driver
2022-11-30 18:57:39 +01:00
Matthias Melcher
c827292ec9
Fix forgotten name change
2022-11-27 15:35:50 +01:00
Matthias Melcher
b16309f13e
Refactor code to make rounded rectangles accessible ( #553 )
...
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-11-24 12:47:49 +01:00
ManoloFLTK
1df79078b7
Remove duplications between Fl_Graphics_Driver and derived classes.
2022-10-10 16:58:48 +02:00
ManoloFLTK
699cca8ff4
Make Fl::set_color(r,g,b,a) effective under Wayland and macOS.
2022-09-15 15:01:12 +02:00
Albrecht Schlosser
e0bf25d911
Remove useless if (...)
2022-09-01 17:12:10 +02:00
ManoloFLTK
95c851fda1
Set Fl_Graphics_Driver::set_color(Fl_Color, unsigned) used by macOS, Wayland and display-cairo.
2022-08-30 07:58:16 +02:00
ManoloFLTK
ce2f024bce
Fl_Graphics_Driver: remove unused virtual qualifiers.
2022-08-19 10:47:42 +02:00
ManoloFLTK
02870242ee
Move input method support to Fl_Screen_Driver from Fl_Graphics_Driver
2022-06-19 10:23:24 +02:00
ManoloFLTK
427e4dbc7a
Remove platform-dependent type Fl_Bitmask (not in documented public API).
2022-03-24 10:00:01 +01:00
ManoloFLTK
d87b62ea69
Avoid using same name (p) for distinct members of derived classes.
2022-03-21 15:56:50 +01:00
ManoloFLTK
bf5b902180
Rename member Fl_Graphics_Driver::p to xpoint to avoid shadowing.
2022-03-21 14:39:00 +01:00
ManoloFLTK
27c175dad8
Add virtual void Fl_Graphics_Driver::set_status() and implement for X11 platform.
2022-01-07 07:50:36 +01:00
ManoloFLTK
b027d2ba57
Windows platform: use GDI+ to antialias oblique lines and curves.
2021-05-31 08:28:06 +02:00
ManoloFLTK
d95dd7acc4
New virtual member function Fl_Graphics_Driver::colored_rectf().
2021-05-28 13:30:59 +02:00
Albrecht Schlosser
41266df7ae
Remove unnecessary system includes from public headers
...
Add includes of system headers in the implementation files
where necessary.
2021-03-21 00:42:28 +01:00
ManoloFLTK
569fec25e0
Unification of scaled coordinate calculations in class 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-11 16:05:32 +01:00
ManoloFLTK
b771ee53b9
Remove duplicated code between derived classes of Fl_Graphics_Driver - cont'd.
2021-03-01 15:47:30 +01:00
ManoloFLTK
0623a8d4b9
Remove duplicated code between derived classes of Fl_Graphics_Driver.
2021-03-01 15:11:00 +01:00
ManoloFLTK
81a4b7329c
Remove warnings about hidden virtual member functions.
2021-03-01 11:20:15 +01:00
ManoloFLTK
88a3f7b7be
Rename fl_remove_scale() to fl_override_scale() as discussed in fltk.general
...
Re: Can custom box type functions handle their own high-DPI screen scaling?
2021-02-27 08:18:01 +01:00
ManoloFLTK
5bd467fa17
Add fl_remove_scale()/fl_restore_scale() to transiently draw without scaling 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-25 11:07:07 +01:00
ManoloFLTK
bef46b5cb8
Improve precision of GUI scaling for Windows platform.
2021-02-24 14:52:47 +01:00
ManoloFLTK
d51481f95e
Remove FL_CFG_SYS_WIN32 preprocessor variable from fl_draw_pixmap.cxx
2021-02-16 11:58:15 +01:00
ManoloFLTK
d93fc2bfa6
Use <config.h> when appropriate.
2021-02-16 11:08:59 +01:00
ManoloFLTK
9fad601401
Remove compilation warnings issued by Visual Studio 2019.
2021-02-13 21:13:04 +01:00
ManoloFLTK
d1c7caec3b
Improve Fl_Graphics_Driver::cache_size() when GUI is scaled.
...
The change lets this function enlarge the size only when strictly necessary
for image tiling.
2020-12-02 14:39:49 +01:00
ManoloFLTK
67bb631bd9
Scaling for Windows and X11: support rectangular loops.
2020-11-30 18:50:19 +01:00
ManoloFLTK
f56d43c9f6
Rename private member function with trailing underscore.
2020-11-19 15:59:48 +01:00
ManoloFLTK
2931c29689
Replace virtual Fl_RGB_Image::cache_size() by virtual Fl_Image::cache_size()
2020-11-17 11:23:35 +01:00
ManoloFLTK
a4bacf83c4
Fix for issue #155 - continued
...
Restores proper separation of what is in libfltk and what is in libfltk_images
2020-11-12 14:50:57 +01:00
ManoloFLTK
231159e16c
Fix for issue #155 - continued
...
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-11-12 07:46:12 +01:00
ManoloFLTK
1d56c9e193
Add Doxygen doc of "static unsigned Fl_Graphics_Driver::need_pixmap_bg_color"
2020-09-23 12:46:28 +02:00