summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
7 daysAvoid leaving file descriptor open after failed call to mkstemp()ManoloFLTK
7 daysFix typo in CMake config fileAlbrecht Schlosser
9 daysFix in Fl_Text_Buffer::next_char() necessary for empty buffer.ManoloFLTK
9 daysWayland paste and DnD: fix minor issue revealed by valgrind - cont'd.ManoloFLTK
9 daysEmoji support: fix in Fl_Text_Buffer::next_char() necessary for keycap emoji ↵ManoloFLTK
sequences.
9 daysWayland paste and DnD: fix minor issue revealed by valgrind.ManoloFLTK
10 daysCMake: add try_compile() to figure out if Pen/Tablet is supportedAlbrecht Schlosser
This test is specifically intended to disable Pen/Tablet support on classic MinGW (32-bit) platforms that lack required symbol definitions although Pen/Tablet support might be supported by the Windows system. This test can be extended for other platforms, but for now it's performed only on Windows.
10 daysEmojis: add support of keycap emoji sequences.ManoloFLTK
- It is expected that all emojis listed in the Wikipedia "emoji" article as of early 2026 are recognized as single glyphs by FLTK text widgets. - Document functions fl_utf8_{next|previous}_composed_char() relatively to the notion of "emoji sequence". - Remove signed/unsigned comparison compilation warnings.
11 daysImprove usage of std::map::key_comp() member in fl_wayland_clipboard_dnd.cxxManoloFLTK
11 daysImprove usage of std::map objects in fl_wayland_clipboard_dnd.cxxManoloFLTK
11 daysFix typo in documentation of fl_utf8len1().ManoloFLTK
12 daysWayland: improve handling of priorities between diverse clipboard mime-types.ManoloFLTK
13 daysRemove usage of fl_utf8froma(), improve layout of test/utf8Albrecht Schlosser
- use demo strings in UTF-8 encoding rather than converting them which also simplifies the code - replace some hard-coded width and pos. values with constants - enlarge width of text widgets (left column) of the main window - replace display of Unicode range U+D800 ... U+DFFF with a text explaining that this space is used by UTF-16 surrogate pairs to prevent warning messages about invalid Unicode text.
13 daysModify fl_utf8toa() to make it account for composed emojis.ManoloFLTK
13 daysImprove documentation of fl_utf8_{next|from}_composed_char()ManoloFLTK
13 daysLet text widgets handle gracefully composed unicode characters - Cont'd.ManoloFLTK
This commit adds support of another type of composed characters: flags. It also fixes Fl_Text_Buffer::prev_char() and Fl_Text_Buffer::next_char() that must use Fl_Text_Buffer::byte_at() to access to the content of the text buffer.
2026-01-24Fix "Setting window custom cursor from SVG image crashes" - cont'd (#1363)ManoloFLTK
2026-01-24Let Fl_Text_Editor and Fl_Input handle gracefully composed unicode characters.ManoloFLTK
2026-01-23Wayland: use UTF8 text from clipboard when available.ManoloFLTK
2026-01-23Wayland: add support of recoded UTF8 text in clipboard.ManoloFLTK
2026-01-22Fix "Setting window custom cursor from SVG image crashes" (#1363)ManoloFLTK
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.
2026-01-20Update bundled libpng to last upstream version 1.6.54ManoloFLTK
2026-01-20Improve docu of member variable Fl_SVG_Image::proportional - cont'd (#1361)ManoloFLTK
2026-01-20Move call to fl_utf8_remove_context_dependent() to more appropriate place.ManoloFLTK
2026-01-20Remove possible NULL dereference introduced at commit 61e75e4ManoloFLTK
2026-01-19All platforms use same code to remove context-dependent codepoints from text ↵ManoloFLTK
input. This commit introduces function fl_utf8_remove_context_dependent() that removes from an UTF-8 string its context-dependent codepoints. Platforms macOS, Wayland and X11 call this function to process UTF-8 text received from a character palette as input to FLTK text. This makes sure FLTK text-editing widgets process textual input equally and consistently across platforms, especially emojis entered via a palette. Platform Windows creates a series of separate system events to input an emoji via the character palette. For this reason, function fl_utf8_remove_context_dependent() is not used by this platform which does internally the same filtering of context- dependent codepoints.
2026-01-19Windows: error dragging window between differently scaled display - cont'd ↵ManoloFLTK
(#1127)
2026-01-19Windows: error dragging window between differently scaled display - cont'd ↵ManoloFLTK
(#1127)
2026-01-18Emoji input: remove context-dependent unicode points from output of emoji ↵ManoloFLTK
palette. The character palette allowing to input emojis in text generates in some cases a series of unicode points to represent a single emoji. These series contain various kinds of unicode points with context-dependent meaning. This commit prevents such context- dependent unicodepoints from being inserted in FLTK text because FLTK text edition mechanism is not ready to handle properly context dependency in edited UTF-8 text.
2026-01-16Restore emojis support under recent macOS versions - cont'd (#1360)ManoloFLTK
This commit improves how FLTK follows changes to the focus window under macOS.
2026-01-15Improve documentation of member variable Fl_SVG_Image::proportional (#1361)ManoloFLTK
2026-01-14Partial fix for the Windows platform of the emoji issue (#1360)ManoloFLTK
This fixes input of emojis to Fl_Input and Fl_Text_editor widgets under Windows with the emoji palette. Most emojis have a Unicode point > 0xFFFF and therefore are encoded as a surrogate pair by Windows which uses UTF-16. Thus, Windows sends 2 consecutive WM_CHAR messages to the window and gives one member of the pair each time. After the second WM_CHAR message arrived FLTK is able to enter the emoji in its text. Windows may also send "variation selectors" and zero-width Unicode points when dealing with emojis. FLTK just skips them. Windows also translates some Unicode emojis into 1 emoji + 1 other Unicode point: for example "woman pilot" produces "pilot emoji" + "woman" unicode point. FLTK now handles this gracefuly. This fix also prefixes the windows class names with "FLTK-" under Windows to prevent collisions with Windows-reserved class names. That fix is necessary for the emoji palette to be usable in some scenarios. That fix is still under debate and may evolve in latter commits.
2026-01-13util/cmap: link against libm only if it was foundAlbrecht Schlosser
2026-01-13Fix documentation (comment only)Albrecht Schlosser
2026-01-12Restore emojis support under recent macOS versions - cont'd (#1360)ManoloFLTK
Detect Ctrl+Command+Space to open character palette only if not used before as shortcut.
2026-01-12Restore emojis support under recent macOS versions - cont'd (#1360)ManoloFLTK
This makes FLTK open the character palette when typing Ctrl+Command+Space or Function+e
2026-01-12Restore emojis support under recent macOS versions (#1360)ManoloFLTK
2026-01-12Function Fl::Private::cairo_make_current(void *gc) is not used anywhere in FLTKManoloFLTK
2026-01-11Update wayland documentation about function wayland_socket_callback().ManoloFLTK
2026-01-11Fix "Drawing to the wrong window with cairo and X11" (#1358)ManoloFLTK
2026-01-11Don't pretend Wayland supports Fl::add_system_handler().ManoloFLTK
2026-01-11Fix "Wayland: NULL pointer dereference in Fl::cairo_make_current()" (#1359)ManoloFLTK
2026-01-10Windows: improve moving window across screens with distinct scale factors - ↵ManoloFLTK
cont'd
2026-01-10Windows: improve moving window across screens with distinct scale factors - ↵ManoloFLTK
cont'd
2026-01-09Remove un-necessary code from Fl_Wayland_Window_Driver::resize() functionManoloFLTK
2026-01-08Add CMake option FLTK_OPTION_PEN_SUPPORT (default: ON)Albrecht Schlosser
This option can be used to disable pen/tablet support if there are build problems on a particular platform or build system (e.g. MinGW) so users can continue to build FLTK 1.5. Users can also choose to disable pen support if they don't need it.
2026-01-08Documentation: replace HTML table with Doxygen tableAlbrecht Schlosser
... for better readability in the source code. Note: the documentation output is identical.
2026-01-08Wayland: use the "Cursor shape" protocol - Cont'dManoloFLTK
2026-01-08Documentation: add "Cursor shape" to table of used Wayland interfacesManoloFLTK