| Age | Commit message (Collapse) | Author |
|
|
|
|
|
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.
|
|
|
|
|
|
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
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
This removes the last instance in FLTK of use of #if __APPLE__ instead of the driver mechanism.
|
|
|
|
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".
|
|
Still to do: rename fl_filename... to fl_filename..._str
and introduce into core library.
|
|
|
|
|
|
Also fix for Linux.
|
|
|
|
This code was used in the past to support a deprecated way to obtain the initial
value of the GUI scaling factor for the X11 platform.
|
|
|
|
This change allows to capture the rounded corners of a top-level GL window.
Also, rename Fl_Cocoa_Window_Driver::capture_decorated_window_10_5()
from capture_decorated_window_10_6() because this function uses
CGWindowListCreateImageFromArray() available from macOS 10.5.
|
|
|
|
|
|
Also replace 'MSWindows' with 'Windows' where appropriate, leaving
only old documents like README files from 1.3 and older as-is.
|
|
FLTK now supports 2 types of fullscreen modes under macOS:
1) normal macOS fullscreen mode where the menubar and titlebar appear when mouse is moved to top of screen
and the window covers one screen only;
2) multiple-screen mode that requires calling Fl_Window::fullscreen_screens() before.
This commit fixes all possible transitions between these fullscreen modes and normal window mode.
|
|
|
|
moved" (#1191)
This commit adds support of scenarios where a child window is moved while its parent is simultaneously modified.
|
|
font family
Users who need the old behavior for strict backwards compatibility under Windows can load the previous (Arial) font at program startup with only a few lines of code:
#ifdef _WIN32
// reset Windows fonts to pre-1.4.2 state
Fl::set_font(FL_HELVETICA, " Arial");
Fl::set_font(FL_HELVETICA + 1, "BArial");
Fl::set_font(FL_HELVETICA + 2, "IArial");
Fl::set_font(FL_HELVETICA + 3, "PArial");
#endif
|
|
Fl_Quartz_Image_Surface_Driver c'tor
Fl_Window::current() can refer to a deleted window is some scenarios
|
|
Fl_Wayland_Screen_Driver::insertion_point_location()
This makes the IM aware of the cursor movement to the right after having committed text.
|
|
|
|
|
|
|
|
|