summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-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-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-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-08Wayland: use the "Cursor shape" protocol - Cont'dManoloFLTK
2026-01-07Fix callback forwarding in Fl_Input_Choice.Matthias Melcher
Widget would always call CHANGED but never RELEASE events, no matter how the when() flags were set.
2026-01-05Wayland: use modern approach to cursor shapes with the "Cursor shape" protocol.ManoloFLTK
This removes the need to guess names of files each theme gives to cursor shapes and makes linking with dbus superfluous when the compositor supports the new protocol. The old, surface-based approach to cursor shapes remains used for custom shapes.
2026-01-04Fix a possible popup menu crash event.Matthias Melcher
2026-01-04Windows: improve moving window across screens having distinct scale factors.ManoloFLTK
2026-01-04Add C++11 Fl_Valuator::format API.Matthias Melcher
This is helpful for writing language wrapper, in this particular case for PyFLTK.
2026-01-04Fix "Wayland's wl_display_dispatch() can block a Vulkan application" (#1354)ManoloFLTK
This rewriting of the FLTK callback function that runs when there are data available for reading in the socket connecting the app and the Wayland compositor is meant to facilitate the integration of Vulkan. This rewriting reproduces the recommended code to read from the socket documented in Wayland function wl_display_prepare_read_queue() when several threads potentially read from the socket.
2026-01-03Update FLTK colormap (src/fl_cmap.h) w/o changing colorsAlbrecht Schlosser
- update comments, including filenames - update build instructions for developers in util/cmap.cxx - update CMakeLists.txt (comments only)
2026-01-03Fix compilation error on Windows (MinGW)Albrecht Schlosser
error: ‘fabs’ was not declared in this scope
2025-12-29Fix Fl_Pack to support more box types.Matthias Melcher
Old code supported only frame styles, this code can now handle box types with a background.
2025-12-25Add Fl_Scheme::plastic_color_average() method [#464]Albrecht Schlosser
This method can be used to set a more appropriate color average to prevent "graying out" the box colors of the 'plastic' scheme. Alternatively environment variable 'FLTK_PLASTIC_AVERAGE' can be used to set the color average value. See docs for details. Set color average to 45% in test/unittests demo program.
2025-12-25Remove dead code from 'plastic' scheme implementationAlbrecht Schlosser
- The removed code had been disabled in the year 2003 or earlier for reasons mentioned in those old commits and has never been officially used again. Use `git blame` to find these commits. - Update comments and copyright. - Remove empty lines.
2025-12-25Fix doxygen warning (missing end quote)Albrecht Schlosser
2025-12-23Fix typos in documentation of FL_APP_ACTIVATEManoloFLTK
2025-12-22Wayland: Fix FL_APP_ACTIVATE with timer.Matthias Melcher
Deferred handling of FL_APP_DEACTIVATE works very well.
2025-12-22Wayland: fixes syntax errorsMatthias Melcher
This code generates a lot of extra events
2025-12-21Wayland: FL_APP_ACTIVATE and FL_APP_DEACTIVATEMatthias Melcher
This is an attempt. Will verify on another machine now.
2025-12-21Win32: Add FL_APP_ACTIVATE and DEACTIVATEMatthiasWM
2025-12-21MacOS: Add FL_APP_ACTIVATE and DEACTIVATE.Matthias Melcher
This event is sent on application level. Add a handler with Fl::add_handler to receive the event.
2025-12-21Win32: removed debugger messagesMatthiasWM
2025-12-21Win32: first commit for Pen driver (#1330)MatthiasWM
2025-12-21Win32: mergeMatthiasWM
2025-12-21Win32: Basic Pen driver setupMatthiasWM
2025-12-19Add Fl_Gl_Window 32 bit depth buffer option.Matthias Melcher
2025-12-16Remove typo in variable nameManoloFLTK
2025-12-15Windows: Fix "If app appears on non-active screen …, window resizes"- ↵ManoloFLTK
cont'd (#259)
2025-12-13Same change for all other platforms.Matthias Melcher
2025-12-13Fix overzealous C++11ification in Pen driver.Matthias Melcher
2025-12-13Windows: Fix "If app appears on non-active screen …, window resizes" (#259)ManoloFLTK
The fix puts the first window an app creates on the screen containing the mouse, because the present window creation code needs to know on what screen a created window is going to appear before creating it.
2025-12-12class Fl_Wayland_Screen_Driver: add initialisation of member variable ↵ManoloFLTK
xdg_wm_dialog