summaryrefslogtreecommitdiff
path: root/src/drivers/WinAPI
AgeCommit message (Collapse)Author
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-09Rename Fl_Paged_Device::start_job() to begin_job() and ↵Manolo Gouy
Fl_Paged_Device::start_page() to begin_page(). The new function names begin_job() and begin_page() better match end_job() and end_page() with which they must be used by pair. The old names start_job() and start_page() are maintained for API compatibility with FLTK 1.3.x git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12910 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-09Remove a bunch of useless #include <FL/Fl_Printer.H> statements.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12909 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-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-04-24Windows: avoid changing the current Fl_Surface_Device when drawing an ↵Manolo Gouy
Fl_Double_Window. This change was previously attempted at r.12792 but the test/offscreen demo did not run well with it. This commit fixes the problem: the global fl_window should not be changed when drawing to an Fl_Double_Window. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12868 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-23Undo change at r12792 (24 march 2018) because test/offscreen does not work ↵Manolo Gouy
with it. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12867 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-18Simplify the implementation of printing of Fl_Pixmap images under Windows.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12851 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-24Windows: avoid changing the current Fl_Surface_Device when drawing an ↵Manolo Gouy
Fl_Double_Window. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12792 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-09Windows: remove necessity to compile with -DFLTK_HIDPI_SUPPORT to make WIN32 ↵Manolo Gouy
FLTK apps DPI-aware. At this point, Windows FLTK apps detect HighDPI displays and rescale their GUI accordingly. They also all reply to ctrl/+/-/0/ keystrokes to enlarge/shrink/reset their windows. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12723 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-20Remove unnecessary #ifdef _WIN32Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12682 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
2018-01-09Put a default implementation of parse_color() in Fl_Screen_Driver and only ↵Manolo Gouy
Fl_X11_Screen_Driver reimplements it. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12628 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-18STR#3444: Add MacOS support for application rescaling (not quite complete)Manolo Gouy
With this, most MacOS FLTK app can be scaled with command/+/-/0/ keystrokes. A scaling problem remains, visible in test/cube, where the "Test" string is not positioned correctly. GLUT apps can also be scaled (across platforms). SVG images are re-rasterized after app scaling for optimal drawing. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12594 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
2017-11-11Refactor Fl_WinAPI_System_Driver string conversion and more.Albrecht Schlosser
Remove duplicated code by using local (static) string conversion functions. This makes the code better maintainable and removes redundancies. Rename some variables (particularly one-letter names) to more useful names, minor code reformatting to be more compatible with the CMP. To do: check for potential memory leaks, maybe free temporary buffers. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12556 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-11-10Add missing platform wrapper fl_chdir() for chdir().Albrecht Schlosser
Tested under Windows and Linux, but not yet used in library code. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12549 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-15Rename fl_open_ext() parameter 'translation' to 'binary'.Albrecht Schlosser
The default (0) is 'text' mode, non-zero is 'binary' mode on platforms that distinguish text and binary mode. Currently Windows is the only supported platform that needs this. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12500 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-12Add fl_open_ext() to control whether the file is opened in binary/text mode.Manolo Gouy
This new function allows to write Fl_SVG_Image::fl_gzopen() in a completely platform-independent way. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12489 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-04Undo commit at r.12475 that is not adequate.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12476 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-04Fl_SVG_Image class: add support for compressed .svgz image files.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12475 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-19Convert the initialisation of global variables fl_local_shift, ↵Manolo Gouy
fl_local_meta, etc... using the driver approach. This avoids repeating the default values "Shift", "Meta", etc... for several platforms. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12463 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-19Fl_XXX_System_Driver::clocale_printf() : use thread-specific, locale-setting ↵Manolo Gouy
APIs where possible This commit uses thread-specific, locale-setting functions under Linux and MSWindows-Visual Studio They are already used by the Mac OS system driver, when possible. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12461 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-20Remove undesirable statement.Manolo Gouy
A bug was visible in test/unittests when moving between lines and rectangles. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12394 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-19Prevent situation where SetProcessDPIAwareness was called after ↵Manolo Gouy
Fl_WinAPI_Screen_Driver::init(). The effect was that the file_chooser test app did not recognize the window scaling factor. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12393 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-30Improve rescaling when window moved across screens: make sure center stays ↵Manolo Gouy
on new screen. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12367 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-26X11 platform, resize window when moved across screens: remove hide()/show() ↵Manolo Gouy
calls. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12355 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-25Remove virtual Fl_Window_Driver::reuse_icons() no longer useful after r.12349.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12351 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-25Remove Fl_Window_Driver::reuse_cursor() that is no longer used since commit ↵Manolo Gouy
r12349. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12350 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-07Define Fl_WinAPI_Screen_Driver::DWM_scaling_factor() only without ↵Manolo Gouy
FLTK_HIDPI_SUPPORT. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12298 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-07Fix Fl_WinAPI_Window_Driver::border_width_title_bar_height() when built ↵Manolo Gouy
without FLTK_HIDPI_SUPPORT git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12296 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-04HiDPI support under WIN32: fix fullscreen when several monitors of distinct ↵Manolo Gouy
resolution. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12288 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-04Slight improvement of Fl_WinAPI_Window_Driver::border_width_title_bar_height()Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12287 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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-29HiDPI support for WIN32 platform: begin to support screen-specific scale factor.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12280 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-28Better implementation of Fl_WinAPI_Window_Driver::reuse_cursor() that will ↵Manolo Gouy
also work with custom cursors. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12277 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-27WIN32 platform: more progress for full HiDPI supportManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12273 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-19HiDPI support under WIN32: fix bugs with tile demo and with fullscreen demo.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12268 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-19HiDPI support under WIN32: fix fullscreen mode when scaling factor is > 1.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12267 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-19HiDPI support under WIN32 platform: fix ↵Manolo Gouy
Fl_WinAPI_Window_Driver::capture_titlebar_and_borders() under XP. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12266 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-18Advancing HiDPI support for the WIN32 platform - still incomplete.Manolo Gouy
It's still necessary to compile with -DFLTK_HIDPI_SUPPORT to activate the new HiDPI support. Default builds get the same HiDPI support as in FLTK 1.3 git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12265 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-02Fix problem introduced at r.12247Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12251 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-01Remove the 'defined(WIN32)' and 'defined(__APPLE__)' preprocessor directives ↵Manolo Gouy
introduced at r.12239 git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12247 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