| Age | Commit message (Collapse) | Author |
|
|
|
|
|
- Do not change or remove the cache variable FLTK_BACKEND_WAYLAND:
this is an option set (and must only be changed) by the user.
- CMake/options.cmake: check Wayland availability if option
FLTK_BACKEND_WAYLAND is ON and set the result variable
FLTK_USE_WAYLAND accordingly.
- Replace FLTK_BACKEND_WAYLAND with FLTK_USE_WAYLAND everywhere
else, except as noted above: in options.cmake.
|
|
The added if() statement's condition is always false in FLTK before addition to it
of class Fl_Native_Input. Therefore, the present modification is effectless unless
this new class is added to the library, either in its core or as an addon.
|
|
1. src/Fl_add_idle.cxx: add missing parameter docs
2. FL/fl_draw.H: rename 1st parameter of fl_draw_pixmap(...) from
'data' to 'cdata'.
The 2nd warning appears to be caused by a 'friend' declaration in
FL/Fl_Graphics_Driver.H, line 98:
'friend FL_EXPORT int fl_draw_pixmap(const char*const* cdata, ...)'
This 'friend' declaration seems to "confuse" some (newer?) doxygen
versions, definitely doxygen 1.13.2.
|
|
This turned out to be more complicated than just to delete a function
because it was used internally, and the callback signatures were a bit
flaky. I also added a lot of documentation to clarify matters.
FL/Fl.H: document idle callback signatures, make some internal
functions of class Fl private, add public Fl::idle() accessor (read-
only), add Fl::add_idle(Fl_Old_Idle_Handler cb) to enable using
old-style idle callbacks w/o 'data' argument.
FL/forms.H: replace Fl::set_idle() with Fl::add_idle().
src/Fl.cxx: rename private Fl::idle_ with trailing underscore.
src/Fl_System_Driver.cxx: use new public accessor Fl::idle() to access
Fl::idle_ which is now private.
src/Fl_add_idle.cxx: improve documentation, clarify idle callback
matching, add example code in docs, rename methods, add overloaded
Fl::add_idle(Fl_Old_Idle_Handler cb).
src/Fl_win32.cxx: use public Fl::idle() rather than private member.
src/drivers/Unix/Fl_Unix_System_Driver.cxx: same as above.
src/Fl_cocoa.mm: same as above.
|
|
Note: it's still in branch-1.4 and in git history for reference
|
|
Previously, the DPI value was completely random, resulting
in some interesting scaling when reading the png in other apps.
|
|
The `memcmp` call would crash in Adress sanitizer if the memory compare
would run into an undefined buffer. `memcmp` is not guaranteed to stop
reading a buffer if a difference is found.
|
|
|
|
|
|
|
|
and declare it in non-public header src/Fl_Scalable_Graphics_Driver.H which also
declares classes Fl_Font_Descriptor and Fl_Fontdesc.
|
|
This commit removes the unused static method
Fl_Wayland_Window_Driver::resize_after_screen_change(void *data)
and related data as discussed in the context of PR #1248.
|
|
When a native window is destroyed, make sure the callback to
Fl_WinAPI_Window_Driver::resize_after_screen_change() is removed.
Added by Albrecht-S:
Thanks for the original fix to Timothy Lee (@timothytylee).
src/drivers/X11/Fl_X11_Window_Driver.cxx: equivalent fix for X11
as discussed on GitHub PR #1248
|
|
Applying MoAlyousef's PR. -erco
|
|
Note: this file is not used in normal compilation, it can be used
to help debugging. I'm not sure if it's still helpful, but anyway...
|
|
Fl_Group::clear() is called in Fl_Group's d'tor anyway.
Technically we don't need to remove hscrollbar and scrollbar because
they are destroyed (and thus removed from Fl_Group) before Fl_Group's
d'tor is executed but this is left for clarity and to guarantee the
order (see comment).
|
|
|
|
If set, menu items will also call the callback when highlighting changes.
The reason is given with Fl::callback_reason(). #941
|
|
|
|
|
|
... and Fl_Tootip::override_text() to allow users to dynamically
generate tooltips.
|
|
For reference, see fltk.general thread started Mar 26 2025, entitled:
"Make some Fl_Tree_Item methods virtual?"
|
|
Explain details of the mentioned 'hack' referring to and citing
parts of the original commit log.
|
|
hidden (#1233)
|
|
This option is no longer needed since FLTK 1.5 always requires C++11.
|
|
|
|
|
|
In some multi-screen settings, the un-fullscreened window would leave its screen
but would not enter any screen.
|
|
The commit has all platforms send the FL_FULLSCREEN event when a window is created fullscreen.
|
|
... because base_dir[0] and dest_dir[0] are *signed* chars.
|
|
Calling getenv() twice with different output vars and accessing both
later could cause "heap-use-after-free" error in some Windows versions.
The result of home_directory_name() would be unpredictable.
Found using Wine and/or MSYS2/clang/libc++ with Address Sanitizer.
|
|
|
|
|
|
* Add classes for application and project
* Removed all globals from Fluid.h
* Extracting args and project history into their own classes
* Moving globals into Application class
* Initialize values inside headers for some classes.
* Undo functionality wrapped in a class inside Project.
* File reader and writer are now linked to a project.
* Avoid global project access
* Nodes (former Types) will be managed by a new Tree class.
* Removed static members (hidden globals) form Node/Fl_Type.
* Adding Tree iterator.
* Use nullptr instead of 0, NULL, or 0L
* Renamed Fl_..._Type to ..._Node, FL_OVERRIDE -> override
* Renaming ..._type to ...::prototype
* Splitting Widget Panel into multiple files.
* Moved callback code into widget panel file.
* Cleaning up Fluid_Image -> Image_asset
* Moving Fd_Snap_Action into new namespace fld::app::Snap_Action etc.
* Moved mergeback into proj folder.
* `enum ID` is now `enum class Type`.
|
|
See also #1223, and thanks to Gonzalo for finding it.
|
|
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.
|
|
|
|
|
|
|
|
(#1216)
|
|
This commit also computes work-area size for single-display settings.
|
|
A problem was visible with the menubar test app and a 2-screen system where screens are one above the other.
When moving down the huge menu, it became positioned on the wrong screen.
|
|
- remove configure stuff from more README files
- move documentation/README.txt to README.documentation.txt
|
|
This removes the last instance in FLTK of use of #if __APPLE__ instead of the driver mechanism.
|
|
|
|
More to come...
|
|
New functions append "_str" to the function name to
avoid ambiguities when calling them. So
'char *fl_filename_name(const char *)' becomes
'std::string fl_filename_name_str(const std::string &)'
|
|
|