| 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 &)'
|
|
|
|
|
|
libXft was erroneously present in the link command when using Pango and Cairo.
This is fixed by disconnecting the GUI scaling code from use of Xft.
This commit also makes sure that when Wayland is used, pkg-config is available
on the build machine. This allows to remove from file CMake/options.cmake
code that was labelled with "FIXME".
|