Commit Graph

2742 Commits

Author SHA1 Message Date
ManoloFLTK 3d4be2470c Fl_OpenGL_Graphics_Driver: add support of Fl_Bitmap and a cache of textures. 2026-03-30 16:31:26 +02:00
Albrecht Schlosser 33609ba730 Fl_Scroll: replace two local structs with Fl_Rect
- replace struct Fl_Region_XYWH with Fl_Rect
- replace struct Fl_Region_LRTB with Fl_Rect
- rename  struct Fl_Scrollbar_Data to Scrollbar_Data

Note: these local structs were created before Fl_Rect existed and
are now obsolete.
2026-03-28 19:25:38 +01:00
ManoloFLTK ed2238bc2a Override virtual function Fl_Image::scale(int,int) for class Fl_SVG_Image.
An SVG image has no intrinsic size, so it makes no sense to prohibit enlarging it beyond an intrinsic size.
2026-03-27 17:10:35 +01:00
ManoloFLTK d8b9180dc7 Documentation change related to "RGB sub image drawing slow with larger images" (#1384)
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2026-03-24 09:08:25 +01:00
ManoloFLTK 2b92bbe933 Fix typo in doxygen documentation.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2026-03-23 12:59:29 +01:00
ManoloFLTK b4f73314a7 Add int return type to Fl::get_mouse(int&, int&) providing the number of mouse-containing screen.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2026-03-13 15:53:52 +01:00
ManoloFLTK e0405d2135 macOS: remove code present only to support macOS versions 10.3 and 10.4.
This is a first step towards removing the code related to support of old macOS versions
that are not compatible with C++11 which FLTK 1.5 requires.
2026-02-01 16:32:21 +01:00
ManoloFLTK 521f7b3c5b Let text widgets handle gracefully composed unicode characters - Cont'd.
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-26 09:17:18 +01:00
ManoloFLTK bd4ad3e4a0 Let Fl_Text_Editor and Fl_Input handle gracefully composed unicode characters.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2026-01-24 16:15:47 +01:00
ManoloFLTK 05a3f82a5c Fix "Setting window custom cursor from SVG image crashes" (#1363)
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2026-01-22 14:27:13 +01:00
ManoloFLTK d30ca18664 Improve docu of member variable Fl_SVG_Image::proportional - cont'd (#1361) 2026-01-20 17:08:08 +01:00
ManoloFLTK fbc3f7a69f Improve documentation of member variable Fl_SVG_Image::proportional (#1361) 2026-01-15 19:12:56 +01:00
Albrecht Schlosser afacd1b8fe Fix documentation (comment only) 2026-01-13 16:50:24 +01:00
Matthias Melcher 52452f117f Remove event names that would be generated by fl_eventname_str 2026-01-07 11:34:29 +01:00
Matthias Melcher 0e570fb672 Add C++11 Fl_Valuator::format API.
This is helpful for writing language wrapper, in
this particular case for PyFLTK.
2026-01-04 15:50:56 +01:00
Albrecht Schlosser 4a9a417860 Clarify that a font must be loaded before measuring text (#1356)
Documentation only: users must load a font with fl_font(face, size)
before measuring text with methods like fl_measure(), fl_height(),
fl_width(), fl_text_extents() etc.
2026-01-03 13:54:44 +01:00
Albrecht Schlosser d5ed136642 Reorganize documentation source directories
- move all images (screenshots) to new folder documentation/images/
- move documentation/src/fltk-title.tex.in to documentation/
- fix .gitignore files (remove obsolete entries etc.)
- FL/Fl_Tooltip.H: fix '\image latex' reference
- documentation/CMakeLists.txt: update ref. to fltk-title.tex.in
- documentation/Doxyfile.in: adjust image path (IMAGE_PATH)
2025-12-30 15:49:02 +01:00
Matthias Melcher 83fab8cb0f Fix Fl_Pack to support more box types.
Old code supported only frame styles, this code
can now handle box types with a background.
2025-12-29 16:21:17 +01:00
Matthias Melcher 2fb67053a1 Fixes Code Viewer widget height calculation
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-12-28 23:15:30 +01:00
Albrecht Schlosser 22c1730261 Add Fl_Scheme::plastic_color_average() method [#464]
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
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-25 19:34:08 +01:00
ManoloFLTK 0105b593b6 Fix typos in documentation of FL_APP_ACTIVATE
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-12-23 12:26:31 +01:00
Matthias Melcher d0d2e104e9 X11: Add documentation: FL_APP_ACTIVATE not supported
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-12-22 00:29:20 +01:00
Matthias Melcher 8ec5d86fe1 MacOS: Add FL_APP_ACTIVATE and DEACTIVATE.
This event is sent on application level. Add a handler
with Fl::add_handler to receive the event.
2025-12-21 22:49:42 +01:00
Matthias Melcher bad956cdd6 Add Fl_Gl_Window 32 bit depth buffer option.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-12-19 16:23:46 +01:00
Matthias Melcher fe6838e843 Add access to a list of registered plugin klasses. 2025-12-10 21:09:13 +01:00
Albrecht Schlosser 9fa438df68 Fix doxygen warnings
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-12-06 21:53:32 +01:00
Matthias Melcher b2746ad286 Change arrow keys in log slider to even increments. #1232 2025-12-06 00:16:04 +01:00
Matthias Melcher 87160b6eb9 Remove boxtype linke trick.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
By defining boxtypes with underscores, box
drawing cod ethat was not used was not linked,
but with the introduction of themes, all boxes
are available at all times. Reducing complexity.
2025-12-03 23:33:14 +01:00
Albrecht Schlosser 5a6a7eb009 Add background (bg) attribute to table of boxtypes
This is a first step to fix some background (re-)drawing issues in
widgets. A new bit in the array of boxtypes can be used to determine
if a particular boxtype uses a solid background (e.g. all FL_*_BOX
types) or if the parent widget is responsible for drawing it (FL_NO_BOX
and all FL_*_FRAME) types, and maybe more ...

The old struct member `set` in the struct of boxtypes has been
renamed to `flags` and is now used as a bit field.

Except these changes, this first commit fixes the focus box drawing
of specific boxtypes, as seen in unittest_schemes.cxx in the
Fl_Check_Button with label "Check", and very likely more.
2025-12-01 23:06:37 +01:00
Matthias Melcher 110857a6fc Fix names map for multiple includes. 2025-11-29 23:24:10 +01:00
Matthias Melcher 039ef2d322 Fix include fiel list.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-11-29 21:19:10 +01:00
Matthias Melcher 70527b3bf0 Improve access to C++ symbols.
For events, fonts, and callback reasons
2025-11-29 21:01:53 +01:00
Matthias Melcher 349b818d3f Fluid: convert modal panels into tabs in the widget panel (#1339)
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-11-29 12:57:08 +01:00
Matthias Melcher ee43155a4b Add method to list running timeouts (#1306).
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
\see Fl::timeout_list();
2025-11-28 00:55:57 +01:00
Matthias Melcher 86b9df01ee Add initial log support for sliders (#1232).
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
Works for all slider types.
Adds tick marks to "nice slider".
Defaults to linear if min or max is zero.
There is room for improvement for drawing the tick marks.
2025-11-26 14:08:58 +01:00
Matthias Melcher 8dcc99279e Adjust some pen driver comments.
Made global variables private.
2025-11-20 22:24:21 +01:00
Matthias Melcher 94008f57c3 Add headline menu item style (#1059)
A menu item can be designated as a headline.
Fully integrated and used in Fluid.
2025-11-19 16:58:08 +01:00
Matthias Melcher fa65cd6321 Add pen/stylus/tablet API and driver for macOS (#1326)
* define the pen/tablet support API
* add pen event handler stub as a fallback
* add pen device test "penpal".
* Add macOS pen/stylus/tablet driver.
* Add Oxygen documentation.
2025-11-17 21:10:01 +01:00
Albrecht Schlosser d623ad08a9 Fix Cairo build and add FLTK_OPTION_CAIRO_WINDOW to CI build
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
... on GitHub (GitLab CI builds used it already)
2025-11-17 13:53:24 +01:00
ManoloFLTK 4b141bb2f8 Document with more details function fl_wl_gc()
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-11-16 10:09:01 +01:00
Matthias Melcher 646bd55764 Refactor large static class Fl into an expandable namespace Fl (#1325)
* Change class Fl into namespace Fl.
* Untangle Fl namespace into themed headers.
* cut line count of FL/Fl.H in half
* FL/core subdirectory now holds short headers 
  grouped by functionality.
2025-11-16 01:58:54 +01:00
Albrecht Schlosser 054fc9c823 Declare some methods of Fl_Window 'const'
These Fl_Window methods are 'const' but had not been declared 'const':

- uchar get_size_range(...) const
- int shown() const
- const Fl_Image *shape() const
- int screen_num() const
- fl_uintptr_t os_id() const
2025-11-10 16:23:04 +01:00
ManoloFLTK 733511af41 Remove warnings when building Doxygen documentation.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-11-09 14:37:07 +01:00
Matthias Melcher 4966cc7a1e Add rule of five for Fl_Widget_Tracker.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
Widget tracking is linking back to a instance of
Fl_Widget_Tracker. Copying or moving one will
potentially crash an app, so disable it.
2025-11-06 15:31:46 +01:00
Matthias Melcher ccbb424046 Add option to uniform line drawing in scaled mode (#167) 2025-11-01 14:33:06 +01:00
Matthias Melcher d14bd1bfec Fix comment alignment.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-11-01 02:13:23 +01:00
MatthiasWM 1ba957eb60 Fix MSVC Level 4 warnings (#1126) 2025-10-31 19:15:38 +01:00
Matthias Melcher 7500b3c540 Add information on Fl_Widget::type_.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-10-29 11:51:06 +01:00
Albrecht Schlosser 1182cd66ec Make Fl_Table::get_selection() 'const' (#1305)
See also branch-1.4 with FLTK_ABI_VERSION >= 10405:
  commit 9b9426bf6e
2025-09-05 17:38:05 +02:00
Albrecht Schlosser 53f103f2ca Fix typo in documentation
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-08-22 20:38:59 +02:00