summaryrefslogtreecommitdiff
path: root/src/drivers/X11
AgeCommit message (Collapse)Author
2017-07-20Fl_Window_Driver::flush_single() needs not be a virtual member function.Manolo Gouy
It is really an accessor to protected method Fl_Window::flush(). Rename it to Fl_Window_Driver::flush_Fl_Window to reflect that. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12340 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-16X11 platform: Fix bug in test/overlay where overlay is clipped when using ↵Manolo Gouy
button shortcuts. In branch 1.3, file src/Fl_Overlay_Window.cxx, function Fl_Overlay_Window::flush(), part of line 49 was not reproduced in branch 1.4. This fix reproduces in branch 1.4 the equivalent of the code in branch 1.3. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12320 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-28HiDPI support: keep window's icons after rescalingManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12276 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-28HiDPI support: keep window's cursor after rescaling.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12275 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-17Make Fl_Screen_Driver::get_mouse(int&, int&) return the number of the ↵Manolo Gouy
mouse-containing screen. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12264 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-15Limit initial scaling factor to sensible values.Albrecht Schlosser
FLTK_SCALING_FACTOR=0 or negative values would issue unexpected X11 warnings or crash immediately. Also commented out scaling factor output statements (printf). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12261 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-10Remove temporary code used for development of the scaling support.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12257 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-01Divide virtual Fl_Screen_Driver::open_display() in a platform-specific part ↵Manolo Gouy
followed by a platform-independent part. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12245 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-05-17Introduce HiDPI + rescaling support for the X11 platform (+ partial support ↵Manolo Gouy
for WIN32) Corresponds to STR #3320 1) HiDPI support consists in detecting the adequate scaling factor for the screen on which FLTK maps a window, and scaling all FLTK units by this factor. FLTK tries to detect the correct value of this factor at startup (see more details below). Environment variable FLTK_SCALING_FACTOR can also be used to set this value. 2) Rescaling support consists in changing the scaling factor of all FLTK windows in reply to ctrl/+/-/0/ keystrokes. More details for the various platforms : - X11: Support is very advanced. Some details need still to be improved. Automatic detection of the correct starting value of the scaling factor works well with the gnome desktop. The present code contains no support for this on other desktops. FLTK_SCALING_FACTOR provides a workaround. -WIN32: Support is incomplete at this point, although many test applications have partial or complete HiDPI and scaling support. The current value of the system's scaling factor is correctly detected at application startup. Apps respond to changes of this value in real time. Support needs to define the FLTK_HIDPI_SUPPORT preprocessor variable at compile time. This way, standard builds produce a code with the default WIN32 HiDPI support, that is, where all graphics goes to an internal buffer that gets enlarged by the system and then mapped to the HiDPI display. To experiment with (or develop) the new HiDPI support requires a modified build procedure in which FLTK_HIDPI_SUPPORT is defined at compile time. When the support will be complete, the requirement for the definition of this preprocessor variable will be removed. The present commit contains support for a single scaling factor. Eventually, per-screen scaling factors should be implemented, as done for X11. - MacOS: this commit does not give new HiDPI for this platform. Eventually, window rescaling in reply to command/+/-/0/ is desirable. Per-screen scaling factor makes no sense on this platform because the OS itself takes care of the difference between the resolutions of traditional and retina displays. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12239 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-22Avoid potential crash occurring after calling win->show(0,0)Manolo Gouy
See [fltk.general] Drawing to Fl_Offscreen received signal SIGSEGV, Segmentation fault. that is unrelated to Fl_Offscreen but caused by calling win->show(0,0). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12179 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-14Implement a platform-independent version of ↵Manolo Gouy
Fl_Graphics_Driver::copy_offscreen() usable when drawing to PostScript. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12147 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-07Add static void Fl_Surface_Device::push_current(Fl_Surface_Device ↵Manolo Gouy
*new_current) and pop_current() to set/unset the current drawing surface. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12140 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-19Remove erroneous uses of sizeof(filename) where filename is a char* and not ↵Manolo Gouy
a char array git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12051 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-19Add one more argument to virtual ↵Manolo Gouy
Fl_System_Driver::file_browser_load_filesystem() giving length of the filename argument git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12050 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-19Make sure "/" is always in the list of file systems reported by ↵Manolo Gouy
Fl_File_Chooser (Unix/Linux platform) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12049 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-23Move font-related member functions from Fl_Screen_Driver to Fl_Graphics_Driver.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11968 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-22Fl_Screen_Driver class: its platform dependent member functions should not ↵Manolo Gouy
be static. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11966 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-22Rewrite Fl::set_fonts(), Fl::get_font_sizes(), Fl::get_font_name() under the ↵Manolo Gouy
driver model. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11965 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-20Remove fl_wait() that is not part of the public API.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11953 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-19Remove fl_ready() not in public API and mostly same as ↵Manolo Gouy
Fl_XXX_Screen_Driver::ready() git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11951 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-08-23Fix compiler warnings and simplify Fl_X11_Screen_Driver::init().Albrecht Schlosser
This function sets the screen dimensions and tries to use Xrandr, Xinerama, and basic X11 functions (in this order) to get the screen sizes and resolutions (dpi). This commit simplifies conditional compilation and fixes "unused variable" compiler warnings under certain conditions as mentioned by Greg in fltk.general, thread "Can not change font size in Kubuntu 16.04" on Mon, 15 Aug 2016 00:25:32 -0700. Also merged in small improvements of branch-1.3-porting, basically "the same commit" as svn r11889 in branch-1.3. Todo: dpi resolutions acquired by using Xrandr are not per screen but use dpi value of screen 0 for all screens. Check if this can be improved. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11890 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-08-23Change return type of Fl_Screen_Driver::read_win_rectangle() to Fl_RGB_Image*Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11884 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-07-23Fix Fl_X11_System_Driver::utf8locale() that did not work when no locale is set.Manolo Gouy
Also, minor simplification of Fl_WinAPI_System_Driver::utf8locale(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11846 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-07-15Fix uninitialized variable warning.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11809 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-06-22Use Xrandr to get the true DPI of the display under the X11 platform.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11790 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-06-14Fix compiler warning under Linux [-Wunused-variable].Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11783 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-06-09Add missing variable declaration under AIXManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11771 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-06-09Add missing variable declaration under NetBSDManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11770 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-26Set svn file properties.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11700 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19Virtualized add_fd and remove_fd into System DriverMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11668 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19Add static Fl_XXX_Window_Driver *driver(Fl_Window*) to get the ↵Manolo Gouy
platform-specific driver of a window. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11663 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19Complete the implementations of virtual Fl_X* Fl_Window_Driver::makeWindow() ↵Manolo Gouy
with the X11 platform. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11661 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-18Move other_xid member variable from class Fl_X to class F_Window_Driver.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11654 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-18Move wait_for_expose member variable from class Fl_X to class Fl_Window_Driver.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11653 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-18Move set_cursor() member functions from class Fl_X to classes ↵Manolo Gouy
Fl_Window_Driver and derived. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11652 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-18Replace static void Fl_X::activate_window(Window) under X11 platform by void ↵Manolo Gouy
Fl_X11_Window_Driver::activate_window() git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11651 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-18Replace Fl_X::sendxjunk() under USE_X11 by Fl_X11_Window_Driver::sendxjunk().Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11650 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-18Move Fl_X::backbuffer_bad under USE_X11 to class Fl_X11_Wi,dow_Driver.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11648 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-17Fixes for Linux for recent commits.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11645 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-17Remove set_icons() from the virtual API of class Fl_Window_Driver because it ↵Manolo Gouy
is internal to some drivers. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11636 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-16 Continue removing non window-related member-functions from class Fl_X.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11633 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-16Continue removing non window-related member-functions from class Fl_X.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11631 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-16Continue removing non window-related member-functions from class Fl_X.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11630 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-15Move platform-dependent implementations of fl_open/close_display() to the ↵Manolo Gouy
Fl_Screen_Driver class git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11619 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-15Move platform-dependent implementations of Fl::en/dis/able_im() to the ↵Manolo Gouy
Fl_Screen_Driver class git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11618 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-15Move platform-dependent implementations of fl_clipboard_notify_changes() to ↵Manolo Gouy
the Fl_System_Driver class git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11617 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-15Move platform-dependent implementations of Fl::clipboard_contains() to the ↵Manolo Gouy
Fl_System_Driver class git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11616 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-15Move the platform-dependent implementations of Fl::paste() to the ↵Manolo Gouy
Fl_System_Driver class. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11615 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-15Continue moving to Fl_System_Driver the platform_dependent implementations ↵Manolo Gouy
of member functions of the Fl class. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11614 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-13Rewrite Fl_own_colormap.cxx under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11601 ea41ed52-d2ee-0310-a9c1-e6b18d33e121