summaryrefslogtreecommitdiff
path: root/src/drivers/X11
AgeCommit message (Collapse)Author
2020-01-03Linux build: typos and stupidities to prev. commitMatthiasWM
2020-01-03Linux/MSWindows: improved Fl_Preferences file path checkingMatthias Melcher
2019-12-31Merge remote-tracking branch 'refs/remotes/origin/master'Matthias Melcher
2019-12-31Limiting file access for Fl_Preferences.Matthias Melcher
Added Fl_Preferences::file_access() and various flags that make it possible to limit or completely deny file access to the preferences system, either for the core library or for the application or both.
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 typo and debug output when loading libgtkAlbrecht Schlosser
A recent commit changed the library name, supposedly unintended. While testing I found that the debug statements generated confusing output (both "selected GTK-3" and "selected GTK-2") when GTK-3 was available.
2019-10-30Fix path to header fileManoloFLTK
2019-10-30Concentrate source code that supports Darwin + XQuartz + fink as test platformManoloFLTK
2019-09-15X11 platform: use Gnome printer dialog when the GTK library is available at ↵ManoloFLTK
run-time The code to determine whether the GTK library is available is now in Fl_X11_System_Driver::probe_for_GTK() called both by Fl_Printer::begin_job() and Fl_Native_File_Chooser. New Fl::option OPTION_PRINTER_USES_GTK allows to deactivate use of the Gnome print dialog. Minor change in Fl_Native_File_Chooser: GTK version 3 is searched before version 2, whereas the search order was the opposite before.
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).
2019-06-06Add one argument to Fl_Screen_Driver::read_win_rectangle()ManoloFLTK
The new argument gives the window to be captured, or NULL to indicate capture from the current offscreen. Calling this function becomes easier because less dependent on global variables.
2019-05-27Fix Fl_X11_Window_Driver::capture_titlebar_and_borders() for scaled, ↵ManoloFLTK
partially visible windows
2019-05-25Slightly simplify Fl_X11_Window_Driver::capture_titlebar_and_borders()ManoloFLTK
2019-05-25Restore the value of global variable fl_windowManoloFLTK
2019-03-25Replace static void Fl_Window_Driver::default_icons() by virtual ↵ManoloFLTK
Fl_Screen_Driver::default_icons()
2019-03-11X11 platform: follow when the OS changes the Xft.dpi resourceManoloFLTK
Under gnome, Tweaks -> Fonts ->Scaling factor allows to change the size of all fonts handled by gnome. With that change, FLTK apps obey to changes to Xft.dpi.
2019-03-10X11 platform: use the Xft.dpi resource as basis for the initial GUI scaling ↵ManoloFLTK
factor Previously, the display scaling factor value under gnome was sought in the gnome database using the gnome_scale_factor() function. But that information is no longer present. File $HOME/.config/monitors.xml was also used to get that information. Using the Xft.dpi X resource is simpler and more general because it's effective both for gnome and KDE.
2019-03-06Process env var FLTK_SCALING_FACTOR consistently across platforms.ManoloFLTK
The procedure to set screen scaling factors becomes: 1) each screen scaling factor is set to 1 2) the OS is queried according to each platform to get screen scaling factor values 3) The value of FLTK_SCALING_FACTOR, if present, is used to multiply scaling factors
2019-02-23Rename member todelete_ of struct Fl_Window_Driver::shape_data_type to ↵ManoloFLTK
effective_bitmap_
2019-02-23New member function const Fl_Image* Fl_Window::shape() replaces int ↵ManoloFLTK
Fl_Window::is_shaped() The new function allows to get the window's shaping image and delete it after use, if appropriate.
2019-02-21Remove compilation warning with -Wunused-resultManoloFLTK
Warning was: ignoring return value of ‘char* fgets(char*, int, FILE*)’
2019-02-21X11: use XGetDefault() to read the value of the Xft.dpi resource.ManoloFLTK
2019-02-20Use also the Xft.dpi resource to initialize the GUI scale factor.ManoloFLTK
2019-02-19X11 + gnome: improve detection of the current display scale factorManoloFLTK
Gnome now seems to store the value of the display scale factor in file $HOME/.config/monitor.xml. Previously, that value was readable with the gsettings command. The present commit uses the information found in that file and reverts back to the gsettings command if that information is not found.
2019-01-21Remove incorrect putenv(buf) call followed by free(buf).ManoloFLTK
2018-12-16Fix another clang-tidy warning (issue #5, part 1).Albrecht Schlosser
See https://github.com/fltk/fltk/issues/5 As Manolo pointed out the questionable variable was not used (read) in this case of the switch statement, hence it can be removed.
2018-12-15Fix clang-tidy unused variable warning (issue #5, part 3).Albrecht Schlosser
https://github.com/fltk/fltk/issues/5
2018-09-14X11 under Ubuntu: read screen scaling information - continuedManolo Gouy
the first scaling value set at 2 is retained. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13049 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-09-14X11 under Ubuntu: read screen scaling information from file ↵Manolo Gouy
$HOME/.config/monitors.xml git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13048 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-09-14Fix (remove) C++11 extension in header file.Albrecht Schlosser
Found with clang [-Wc++11-extensions] (example): Building CXX object src/CMakeFiles/fltk.dir/Fl_x.cxx.o In file included from ../../src/Fl_x.cxx:40: ../../src/drivers/X11/Fl_X11_Screen_Driver.H:36:10: warning: unelaborated friend declaration is a C++11 extension; specify 'class' to befriend 'Fl_Screen_Driver' [-Wc++11-extensions] friend Fl_Screen_Driver; ^ class 1 warning generated. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13047 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-09-07X11: simplify the use of member function Fl_X11_Screen_Driver::init_workarea().Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13044 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-09-06X11: fix Fl::w() and Fl::h() when the screen is rescaled.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13041 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-03Remove private member variable Fl_X11_Window_Driver::current_cursor_ that's ↵Manolo Gouy
no longer used. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13003 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-27Remove a few useless 'friend' statements.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12983 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26Move Fl_Screen_Driver.H from FL/ to src/Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12975 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26Move Fl_Window_Driver.H from FL/ to src/Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12974 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-20Move platform specific shortcut code to platform drivers.Albrecht Schlosser
Tested on Windows and Linux (not tested on MacOS/Android). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12951 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-12Remove public member function Fl_Window_Driver *Fl_Window::driver() so class ↵Manolo Gouy
Fl_Window_Driver is not in FLTK public API. This function is replaced by static Fl_Window_Driver* Fl_Window_Driver::(const Fl_Window *win). The purpose is to have class Fl_Window_Driver outside from FLTK ABI. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12915 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-06Remove useless #include <FL/Fl_Shared_Image.H> following usage of the new ↵Manolo Gouy
Fl_Image::scale() member function. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-06Simplify Fl_XXX_Window_Driver::capture_titlebar_and_borders() using ↵Manolo Gouy
Fl_Image::scale(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12902 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-05Fix Fl_X11_Screen_Driver::read_win_rectangle() when GUI is scaled.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12898 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-03Fix fl_overlay_rect() under X11 and Windows when GUI is scaled.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12891 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-16Remove Fl_Window_Driver::current_cursor() and its platform-specific forms ↵Manolo Gouy
that are now unused. This became unused when window scaling no longer involved window destruction/recreation. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12668 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-09Replace "WIN32" with "_WIN32" or "Windows".Albrecht Schlosser
Replace compiler/preprocessor/platform macro "WIN32" with "_WIN32". Replace "WIN32" in text and documentation with "Windows". Replace "MSWindows" with "Windows". To do: README.Windows.txt (and maybe other documentation as well) needs updates. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12655 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-09Fix fl_read_image() under MacOS platform when GUI is rescaled.Manolo Gouy
This commit also simplifies the platform-dependent support of fl_read_image(): only Fl_XXX_Screen_Driver::read_win_rectangle() contains platform-specific code to capture pixels from the current window or from an offscreen buffer. Platform-independent function Fl_Screen_Driver::traverse_to_gl_subwindows() captures subwindows that intersect with the area fl_read_image() targets. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12653 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-31Replace FL/x.H with FL/platform.H - step 2 (STR #3435).Albrecht Schlosser
This second step replaces FL/x.H with FL/platform.H in all source files. Dependencies have been adjusted as well. This commit completes the replacement of FL/x.H with FL/platform.H. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12641 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-11-17Replace remaining calls of getenv() with fl_getenv().Albrecht Schlosser
Note: don't use fl_getenv() in Fl_System_Driver and derived classes. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12563 ea41ed52-d2ee-0310-a9c1-e6b18d33e121