summaryrefslogtreecommitdiff
path: root/src/Fl_x.cxx
AgeCommit message (Collapse)Author
2017-07-03HiDPI support under WIN32 platform: completed.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12285 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-10Scaling for X11 platform: avoid undrawn right and bottom window margins when ↵Manolo Gouy
manually resizing windows git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12255 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-20Pre-multiply alpha on cursors on X11, as required by XRender.Pierre Ossman
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12177 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-09Use Fl_Graphics_Driver::default_driver() when convenient.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12088 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-14Fix inconsistent interpretation of ld() in image handling (STR #3308).Albrecht Schlosser
Documentation has been fixed and clarified, and ld() handling is now consistent in Fl_(RGB_)Image, their subclasses and fl_draw_image() and similar functions. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12029 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-09-09Rewrite fl_open_callback() under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11929 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-08-20Improve documentation, fix Fl_Window::icon(NULL).Albrecht Schlosser
This is now documented as legal to reset a window icon. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11882 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-04Fix how to access clipboard content at program start.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11710 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-03Fix potential memory leak under X11 when pasted image is not accepted by the ↵Manolo Gouy
receiving app. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11709 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-22Minor simplification.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11678 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-19Have headers x.H, win32.H and mac.H share a unique definition of class Fl_X Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11667 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-18Remove Fl_X::setwindow(Fl_Window*) from WIN32 and USE_X11 Fl_X classes.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11649 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-17virtualizes fl_set_spot and fl_reset_spotMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11640 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-16Begin moving non window-related member functions out of Fl_X class.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11629 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-09Fix typos.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11560 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-31Continue removing platform-dependent code from the Fl.H header file.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11483 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-26Isolate the definition of the 3 public, OS-dependent types (Fl_Offscreen, ↵Manolo Gouy
Fl_Region, Fl_Bitmask). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11432 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-25Separating platform-dependent from platform-independent code: make ↵Manolo Gouy
src/Fl.cxx cross-platform. File src/Fl_win32.cxx is now compiled instead of included in Fl.cxx. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11420 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-24Fix the implementation of Fl_Window::default_icons(const Fl_RGB_Image ↵Manolo Gouy
*icons[], int count) under the driver model. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11417 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-24Provide Fl_Window_Driver accessor methods for public Fl_Window attributes.Albrecht Schlosser
These methods are intended to be used instead of pWindow->method() for better code readability and easier porting of methods from Fl_Window to Fl_Window_Driver. New methods: x(), y(), y(), h(), shown(), parent(), border(), visible(), and visible_r(). We should add more such methods if appropriate. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11414 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-23Rewrite Fl_Window::iconize() under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11411 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-23Rewrite Fl_Window::size_range_() under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11410 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-23Rewrite Fl_Window::offscreen_x() under the driver model - continued.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11408 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-22Rewrite Fl_Window::resize() under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11401 ea41ed52-d2ee-0310-a9c1-e6b18d33e121