summaryrefslogtreecommitdiff
path: root/src/drivers/X11/Fl_X11_Screen_Driver.cxx
AgeCommit message (Collapse)Author
41 hourswipmaxim nikonov
2025-08-05Fix "Fl_Double_Window::make_current() issues with Cairo drawing" (#1285)ManoloFLTK
2025-05-09Remove declaration of Fl_Scalable_Graphics_Driver from FL/Fl_Graphics_Driver.HManoloFLTK
and declare it in non-public header src/Fl_Scalable_Graphics_Driver.H which also declares classes Fl_Font_Descriptor and Fl_Fontdesc.
2025-03-07Fix "fltk autotools build does not link against libXft" (#1202)ManoloFLTK
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".
2025-02-24Remove deprecated, commented-out code.ManoloFLTK
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.
2024-11-25 Fix: Graphical glitches on 101 DPI screen (#1138)ManoloFLTK
2024-09-11Fix "fl_read_image() missing right and bottom pixel line" (#1066)ManoloFLTK
2024-04-27X11: simpler code to capture window decoration under xfceManoloFLTK
2024-04-26X11: fix capture of window decoration under xfceManoloFLTK
2024-04-25Fix problem in window titlebar capture under X11.ManoloFLTK
2024-03-18Replace setenv() with putenv() on old systems (+937)Albrecht Schlosser
Add system check for setenv() function in configure and CMake.
2024-03-16Fix memory leak in Fl_X11_Screen_Driver.cxx (#934)Albrecht Schlosser
Fl_X11_Screen_Driver::set_spot() did not free the list of missing fonts returned by XCreateFontSet(). This commit also initializes some variables and reformats code, but the only notable change is to call XFreeStringList(missing_list) if missing_list is not NULL.
2024-02-11 KDE+X11 keyboard stops working after menu display (#904)ManoloFLTK
2023-12-19Procedure to instruct FLTK to use given X11 connexion (#149)ManoloFLTK
2022-12-30Use `FL_OVERRIDE` for all overridden virtual methods (#611)Matthias Melcher
FL_OVERRIDE is defined as `override` for C++11 and higher FL_OVERRIDE is defined as `override` for VisualC 2015 and newer Don't interfere with Fl_Widget::override()
2022-12-10Defer opening the display as much as possible (#586)Matthias Melcher
2022-11-11Remove redundant doxygen docs of fl_beep()Albrecht Schlosser
Also add a comment to all platform driver implementations.
2022-11-07Create class Fl_Unix_Screen_Driver used by X11 and Wayland platformsManoloFLTK
2022-08-29Make hybrid Wayland/X11 platform.ManoloFLTK
2022-07-16Remove empty lineAlbrecht Schlosser
2022-07-16beep: use maximum loudness for error, otherwise system-defaultLeon Winter
2022-07-16Let beep use system default settingsLeon Winter
Please note that the parameter 'percent' of XBell(3). Given the value of 100, the system defined setting (normally specified via xset) is ignored and the percent of 100 is used instead. When calling the bell from fltk with FL_BEEP_DEFAULT I would expect to get the default (system specified) percent setting.
2022-07-09Fix non-xft build referencing fl_get_font_xfld() (#461)Albrecht Schlosser
This is only one part of issue 461 which describes two build errors on "Raspberry Pi4 bullseye". It turned out that the build didn't find Xft.
2022-06-19Move input method support to Fl_Screen_Driver from Fl_Graphics_DriverManoloFLTK
2022-03-13Separate platform init functions from platform-specific driver filesManoloFLTK
2022-02-03Reorganize classes Fl_System_Driver and Fl_Screen_DriverManoloFLTK
These virtual members are moved from Fl_Screen_Driver to Fl_System_Driver - wait(double) - ready() These virtual members are moved from Fl_System_Driver to Fl_Screen_Driver - copy(const char *stuff, int len, int clipboard, const char *type) - void paste(Fl_Widget &widget, int clipboard, const char *type) - clipboard_contains(const char *type) - clipboard_notify_change() These members are moved from Fl_X11_Screen_Driver to Fl_X11_System_Driver - poll_or_select_with_delay(double time_to_wait) - poll_or_select() and are made virtual in preparation for the introduction of class Fl_Unix_System_Driver.
2022-01-31Consolidate timeout handling across platforms (#379)Albrecht Schlosser
Add Fl_Timeout class Move platform independent code of Fl::wait() to main part - basic timeout handling - Fl::run_checks() - Fl::run_idle() - Fl::idle() - waiting time calculation (next timeout) - remove platform dependent "screen driver" stuff
2022-01-16Improve Fl_GTK_Native_File_Chooser_Driver in relation to FLTK windows.ManoloFLTK
Implement a new way to make the GTK file-chooser window modal-like by preventing any event processing by other FLTK windows. The new way is also no longer X11-specific.
2022-01-14Move make_transient() to Fl_Posix_System_Driver from Fl_Screen_DriverManoloFLTK
2021-11-26Fix for issue #253: Remove xdbe supportManoloFLTK
2021-11-25X11+XRender platform: more accurate drawing of RGB images when GUI is scaled.ManoloFLTK
RGB images are now drawn to a size that exactly fit discretised rectangles when non integral GUI scaling values are used.
2021-06-18Revert parts of and fix other 'constness' changes (#239, #181)Albrecht Schlosser
Some of the previous constness changes turned out to be incomplete, others had to be reverted because some other driver methods could not be made 'const' - particularly those calling open_display() to get the requested information.
2021-03-31Move probe_for_GTK() to class Fl_Posix_System_Driver from Fl_X11_System_Driver.ManoloFLTK
Similarly move dlopen_or_dlsym(). This move is because GTK is not X11-specific.
2021-03-11Unification of scaled coordinate calculations in class ↵ManoloFLTK
Fl_Scalable_Graphics_Driver Most coordinate calculations are done with the new inline function int Fl_Scalable_Graphics_Driver::floor(int coord) that is used by both the Windows and X11 platforms.
2021-02-16Use <config.h> when appropriate.ManoloFLTK
2020-12-02Improve Fl_Graphics_Driver::cache_size() when GUI is scaled.ManoloFLTK
The change lets this function enlarge the size only when strictly necessary for image tiling.
2020-11-27Prevent compilation warning about uninitialized variables.ManoloFLTK
2020-11-25Fix for issue #123 - X11 platformManoloFLTK
As discussed, only the window position becomes rounded to nearest integer value when a fractional GUI scale factor is applied.
2020-11-20Fix for issue #159 - continuedManoloFLTK
Changes here concentrate the fix within static function alpha_blend() and thus are visible only when drawing transparent images under X11 platform without Xrender.
2020-11-19Fix for issue #159.ManoloFLTK
2020-11-02Fix possible memory leak in ↵ManoloFLTK
Fl_WinAPI_Screen_Driver::read_win_rectangle_unscaled() Thanks to "fire-eggs" for spotting it. Also minor optimisations in Fl_X11_Screen_Driver::read_win_rectangle_unscaled() and Fl_Cocoa_Screen_Driver::read_win_rectangle_unscaled(). This closes PR #151.
2020-10-04Create Fl_X11_System_Driver::dlopen_or_dlsym() for run-time addresses.ManoloFLTK
The intent is to gather in a single place of the X11 platform source code all variable elements when using dlopen() and dlsym() system functions (e.g., .so vs .dylib extension name, is RTLD_DEFAULT available, locations to be sought). Member function Fl_System_Driver::load() is created only to support Fl_Plugin_Manager::load().
2020-07-06Remove $Id$ tags, update URL's, and moreAlbrecht Schlosser
- remove obsolete svn '$Id$' tags from all source files - update .fl files and generated files accordingly - replace 'http://www.fltk.org' URL's with 'https://...' - replace bug report URL 'str.php' with 'bugs.php' - remove trailing whitespace - fix other whitespace errors flagged by Git - add and/or fix missing or wrong standard headers - convert tabs to spaces in all source files The only relevant code changes are in the fluid/ folder where some .fl files and other source files were used to generate the '$Id' headers and footers.
2019-12-26Fix Fl::add_timeout() under Linux (STR 3516)Albrecht Schlosser
See comment 14 (excerpt): "The current implementation basically handles add_timeout() the same way as repeat_timeout(), i.e. add_timeout() *calls* repeat_timeout(). However, repeat_timeout() intentionally *corrects* the timeout value by the value found in the global variable 'missed_timeout_by' which is set when the timer expires, directly before the timer callback is called. This variable is never reset." This commit resets the variable as necessary in Fl::add_timeout().
2019-12-09Fix Fl::add_timeout() in draw() under Linux (STR 3188)Albrecht Schlosser
Timeouts queued during Fl_Widget::draw() - called by Fl::flush() - would not be serviced unless other events were processed. For Details see STR 3188.
2019-11-02Slightly simpler code to support fl_overlay_rect() on HighDPI screens.ManoloFLTK
2019-11-01Fix HiDPI support under X11 to read/draw RGB image from/to display.ManoloFLTK
2019-10-30Fix path to header fileManoloFLTK
2019-10-30Concentrate source code that supports Darwin + XQuartz + fink as test platformManoloFLTK
2019-08-21Fix a case when fl_read_window() did not capture subwindows correctly.ManoloFLTK
The case was under macOS with a non-GL parent window mapped to a retina display containing a GL subwindow and if the app did not call Fl::use_high_res_GL(1).