summaryrefslogtreecommitdiff
path: root/src/drivers/GDI
AgeCommit message (Collapse)Author
3 dayswip: forkmaxim nikonov
2026-01-21Improve handling of text containing context-dependent unicode points.ManoloFLTK
This commit makes platforms Windows and macOS compute string widths with the same mechanism as what is in place for platforms Wayland/X11: - the width of a string containing a single codepoint is computed and memorized in the table of character widths; - the width of a string containing several codepoints is computed as such rather than as the sum of the widths of its composing characters. The result is that FLTK text widgets input and draw correctly also complex emojis encoded with context-dependent codepoints. Function fl_utf8_remove_context_dependent() is no longer necessary.
2025-09-19Underline does not appear in some fonts and scales (Windows,X11-noCairo) (#1308)ManoloFLTK
2025-09-17Fix: Underline does not appear in some fonts and scales (WinXP .. Win11) (#1308)ManoloFLTK
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-16Fix font termination bug from 2e1730d2f0f1 (#1221)Albrecht Schlosser
See also #1223, and thanks to Gonzalo for finding it.
2025-03-15Fix potential buffer overflow on Windows when loading fonts (#1221)Albrecht Schlosser
This commit is bigger than necessary to fix the buffer allocation but it also prevents some unnecessary string copies: the font name is converted from UTF-16 to UTF-8 directly in the buffer used later. Code reformatted and clarified as well, some duplicated code was removed.
2025-03-04Fix "Windows: dotted lines may be drawn solid when GUI is rescaled" (#1214)ManoloFLTK
2025-01-22Windows: replace "Arial" by "Microsoft Sans Serif" for the FL_HELVETICA ↵ManoloFLTK
font family Users who need the old behavior for strict backwards compatibility under Windows can load the previous (Arial) font at program startup with only a few lines of code: #ifdef _WIN32 // reset Windows fonts to pre-1.4.2 state Fl::set_font(FL_HELVETICA, " Arial"); Fl::set_font(FL_HELVETICA + 1, "BArial"); Fl::set_font(FL_HELVETICA + 2, "IArial"); Fl::set_font(FL_HELVETICA + 3, "PArial"); #endif
2024-12-03Fix Drawing bugs on Windows at very large scales (#1144) - cont'dManoloFLTK
2024-10-31Windows: fix compiler warning [-Wstrict-aliasing]Albrecht Schlosser
In function ‘void innards(...)’: src/drivers/GDI/Fl_GDI_Graphics_Driver_image.cxx:132:23: dereferencing type-punned pointer will break strict-aliasing rules BITMAPINFO &bmi = *((BITMAPINFO*)bmibuffer); ~^~~~~~~~~~~~~~~~~~~~~~~ Found with gcc 12 (MinGW cross compiler) Also: use correct sizes (sizeof) rather than hardcoded values.
2024-08-27Fix Fl_GDI_Graphics_Driver::rect_unscaled() (#1052)ManoloFLTK
2024-08-26Fix Fl_GDI_Graphics_Driver::rect_unscaled() (#1052)ManoloFLTK
2024-08-03Fix indenting, add comments for clarityAlbrecht Schlosser
no operative code changes in this commit
2024-08-03Remove obsolete statement (#1033)Albrecht Schlosser
Thanks to @xuyun018 for finding this.
2024-07-28GDI: fix StretchBlt mode settingCyprinus Carpio
2024-07-24Fix Fl_Scalable_Graphics_Driver::rect(x,y,w,h) (#1017)ManoloFLTK
2024-07-19Fix border case of use of fl_end_loop under Windows with USE_GDIPLUS=1ManoloFLTK
2024-05-09Wayland documentation: improve "Input Methods" and various detailsManoloFLTK
also fix typo mentionned -> mentioned
2023-12-21Fix a typo, trailing whitespace, and dependenciesAlbrecht Schlosser
2023-12-04New member function Fl_Image_Surface::mask(Fl_RGB_Image*)ManoloFLTK
2023-10-16Add virtual void Fl_Graphics_Driver::draw_circle()ManoloFLTK
2023-03-09Fix dependencies, typos, trailing whitespace, and formattingAlbrecht Schlosser
No code changes.
2023-02-11Very controlled GDIplus startup and shutdown #635 (#679)Matthias Melcher
Fall back to GDI if GDIplus is not available
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-11-25Make Fl_XXX_Graphics_Driver::create_bitmask() a static member functionManoloFLTK
2022-11-25Fix GDI graphics driver use for bitmasksMatthias Melcher
2022-11-11Fix Visual Studio compiler warningsAlbrecht Schlosser
2022-11-07Create class Fl_Unix_Screen_Driver used by X11 and Wayland platformsManoloFLTK
2022-09-08Add necessary virtual qualifier to ~Fl_Font_Descriptor() and derived.ManoloFLTK
2022-08-29Make hybrid Wayland/X11 platform.ManoloFLTK
2022-08-20Remove FL_EXPORT qualifier from platform-specific class declarations.ManoloFLTK
2022-08-13Replace call to CreateFont() by call to CreateFontW().ManoloFLTK
2022-06-19Move input method support to Fl_Screen_Driver from Fl_Graphics_DriverManoloFLTK
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 - cont'd.ManoloFLTK
2022-03-21Avoid using same name (p) for distinct members of derived classes.ManoloFLTK
2022-03-13Separate platform init functions from platform-specific driver filesManoloFLTK
2022-01-16Rename FL/fl_string.h to FL/fl_string_functions.hAlbrecht Schlosser
This is part 1 of the final fix for a previous name clash on case insensitive file systems (fl_string.h vs. Fl_String.H).
2021-12-19Add check against NULL pointer (fix for issue #338).ManoloFLTK
2021-12-14Fix trailing whitespace and a MSVC compiler warningAlbrecht Schlosser
No code changes
2021-12-14Windows platform and Input Methods: improve GUI scaling support.ManoloFLTK
2021-12-13Windows platform: account for GUI scaling when using input method.ManoloFLTK
2021-07-08Harmonize and document syntax of config.h source filesAlbrecht Schlosser
- configh.in: add and improve comments, reorder statements - configh.cmake.in: add comments, fix whitespace - src/drivers/GDI/Fl_GDI_Graphics_Driver_line_style.cxx: fix trailing whitespace
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-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-02Windows platform: accurate drawing area of RGB images with scaled GUI.ManoloFLTK
2021-03-01Remove duplicated code between derived classes of Fl_Graphics_Driver - cont'd.ManoloFLTK