summaryrefslogtreecommitdiff
path: root/src/drivers/X11
AgeCommit message (Collapse)Author
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-16Remove FL_CFG_WIN_X11 preprocessor variable from Fl_own_colormap.cxxManoloFLTK
2021-02-16Use <config.h> when appropriate.ManoloFLTK
2021-02-16Create classes Fl_XXX_Gl_Window_Driver according to driver model.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-22Fix issue #162Greg Ercolano
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-10-02Have Fl_X11_System_Driver::newUUID() use uuid_generate() if available at ↵ManoloFLTK
run-time. The code falls back to the ad-hoc method if uuid_generate() isn't available.
2020-08-01Remove unneeded strdup from example, fold tabsGreg Ercolano
2020-08-01Implement + deploy fl_strdup()Greg Ercolano
2020-07-14First pass at fixing issue 99Greg Ercolano
A lot of code touched because low level functions needed to pass up error messages reliably, and this had to propagate up the entire driver hierarchy. Tested OK *in English* on: > Linux > OSX 10.10.x > Windows VS2017 > Windows mingw64 I have no way to test on Android, but it might work. TODO: Needs testing in other languages to verify proper UTF8 error messages, esp. with Windows VS, due to complexities with FormatMessage() -- see get_ms_errmsg()
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.
2020-06-15Allow using an Fl_SVG_Image object as window icon.ManoloFLTK
Fix for issue #90: Setting an svg image as a window icon causes a segfault.
2020-04-03Fix Fl_X11_Window_Driver::capture_titlebar_and_borders() for resizable window.ManoloFLTK
2020-01-30Protect against situation where HAVE_DLSYM && HAVE_DLFCN_H && ↵ManoloFLTK
!defined(RTLD_DEFAULT)
2020-01-22Fix preservation of the caller's locale when running GTK dialogs.ManoloFLTK
There are now 2 kinds of GTK libraries (V2 and V3) and two dialogs the file chooser and the printer chooser.
2020-01-15Fix uninitialized vars in calls to fl_clip_box() (issue #6)Albrecht Schlosser
The main fixes are only to avoid static code analyzer warnings reported in issue #5, but there are also minor bug fixes included. These bug fixes are more of theoretical concerns though. Close #6.
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