summaryrefslogtreecommitdiff
path: root/src/Fl_win32.cxx
AgeCommit message (Collapse)Author
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::fullscreen_x() under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11407 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
2016-03-22Rewrite Fl_Window::show() and Fl_Menu_Window::show() under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11400 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-22Move all icon-support data to the platform-specific Fl_XXX_Window_Driver classManolo Gouy
because these data are platform-specific. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11399 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-21Rewrite Fl_Window::label(const char *name, const char *mininame) under the ↵Manolo Gouy
driver model. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11394 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-21Implement Fl_Window::make_current() under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11393 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-18Beginning of Albrecht's plan for Fl_Window and Fl_Window_Driver classes.Manolo Gouy
Still unclear whether the implementation of the flush() functions follows the plan. The Fl_Printer class is fully rewritten under the driver model. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11364 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-13Fixed 'flush()' code for single, double, and overlay bufferingMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11359 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-12Moved the Fl_Window::decorated_*() functions teh Window_DriverMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11356 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-11Rewrite capture of window decorations using the window driver approach.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11345 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-10Rewrite all window icon-related Fl_Window API with the window driver approach.Manolo Gouy
It seems this allows not to #include <windows.h> in the public header files. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11342 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-07Fixes for MSWindowMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11310 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-01Moved timer code to screen drivers. Not sure if this should be in System ↵Matthias Melcher
Drivers instead. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11253 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19Instantiate the right Fl_Window_Driver.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11195 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19Rename Fl_Graphics_Driver::set_gc(void*) to gc(void*) and ↵Manolo Gouy
Fl_Graphics_Driver::get_gc() to gc(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11191 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-18Remove all uses of the fl_gc global variable. Towards a clean driver model.Manolo Gouy
fl_gc remains usable by the application as a hook into the system. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11189 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-15Restore compilability for the WIN32 platform.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11181 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13Moed Fl::visual and System_Scheme to the driverMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11166 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-12Add Fl_Shared_Image *Fl_Image_Surface::highres_image() to draw into ↵Manolo Gouy
high-resolution bitmap. Also, change arguments of void Fl_Window::capture_titlebar_and_borders() from Fl_RGB_Image to F_Shared_Image so, in the future, scaled images having a drawing size distinct from a pixel size can be returned, to support high-resolution displays. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11159 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-10Fixed Screen Drivers for MSWindowsMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11150 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-01Transmit to branch 1.3-porting a recent change committed in branch 1.3Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11108 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31Fix compiler warnings (STR 2988), porting from branch-1.3.Albrecht Schlosser
This commit is the accumulated patch introduced in branch 1.3 in svn r 11094, 11095, and 11096. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11097 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-29Fixed a few warnings from a picky compiler setting.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11086 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-28Fix (probably correct!) for compiling ↵Ian MacArthur
Fl_Window::capture_titlebar_and_borders() on WIN32 hosts. This allows compilation to complete, and appears to work. Probably. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11078 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-28Added Fl_Window::capture_titlebar_and_borders a new private member functionManolo Gouy
that triggers a warning when FL_PORTING is ON and with a default platform-neutral implementation. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11074 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-101) Replicate in branch-1.3-porting all recent changes of branch-1.3Manolo Gouy
2) Advance branch-1.3-porting with new function Fl_X::capture_titlebar_and_borders() that contains all the platform-specific code of all operations related to drawing window borders and title bars. What is platform-specific and what is not is therefore much clearer, to ease porting. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11002 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-31The changes introduced at r.10921 destroyed program-controlled window resizing.Manolo Gouy
This change hopefully repairs that. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10987 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-24Added new method Fl_Copy_Surface::draw_decorated_window()Manolo Gouy
that copies a window to the clipboard together with its title bar and borders. This requires very little new code because the capture of window decorations is shared with the Fl_Paged_Device::print window() method. The device test program is changed to call the new method. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10928 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-23WIN32: fixed printing of window borders and title bar on Windows 10Manolo Gouy
by Fl_Paged_Device::print_window(). The GetWindowRect() function gives inadequate results on Windows 10. DwmGetWindowAttributes() from dwmapi.dll gives adequate results. This new function is dynamically loaded at run-time, when dwmapi.dll is available. On Windows XP, dwmapi.dll is not available. On Windows 7, DwmGetWindowAttributes() returns with error, so GetWindowRect() is used. On Windows 10, DwmGetWindowAttributes() computes the correct window full rectangle. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10921 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-25Fix potential Windows GDI leak (STR #3254).Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10842 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-27Document Fl_Window::show() calling Fl_Group::current(0).Albrecht Schlosser
Also fix indenting in src/Fl_win32.cxx. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10820 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-05-18Add support for Fl::copy(..clipboard = 2..)Lauri Kasanen
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10731 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-28Restored the possibility to call Fl::set_font()Manolo Gouy
in a global initializer (before main() starts). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10726 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-23WIN32 specific fix for (or at least work around to) STR #3143.Ian MacArthur
In testing, this resolves the reported issue, but I'd be happy if we could find a solution that resolved the underlying issue of us missing PostThreadMessage() messages passed from the worker thread to the main thread, whilst the main window is unresponsive (i.e. moving or dragging.) This also puts in place an amendment to the way the awake callback ring-buffer indices are tested, when the buffer is wrapping over or near to full. This was identified by Albrecht in STR #3223 (item #1 on that STR, though there are a few other issues identified there.) In my testing, this appears to be correct and robust. Further testing would not go amiss, however. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10714 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-07Fix for STR#3167 where a window would decrease in size after each close/open ↵Manolo Gouy
(MSWindows-only). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10680 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-11Fix window icon when set before Fl_Window::show() - Windows only.Albrecht Schlosser
The window icon was reset during show() if it was set before show(), because Fl_X::make() didn't check the new RGB image icons. Hence the previously set Fl_RGB_Image icon was ignored and replaced by the default Windows application icon. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10570 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-06Fix for STR#3142 where fl_read_image() correctly reads GL data under X11, ↵Manolo Gouy
but ignores them under MSWindows and Mac OS X. Moreover, fl_read_image() behaves differently with and without OS virtualization for X11 and MSWindows. The patched function reads whatever is in the rectangle transmitted in arguments, with and without GL data, with and without subwindows, on ‘true’ OS or on virtualized OS. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10436 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-20We need to put the newly created window in our window listPierre Ossman
as quickly as possible or we might miss important window messages. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10387 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-09Make sure we unregister for clipboard notifications on exitPierre Ossman
on Windows. This is necessary because Windows doesn't implicitly clean up when a process dies, and we cannot trust applications to always explicitly unregister. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10367 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-09Start putting forward declarations early in the file in anPierre Ossman
organised manner. Keeps things cleaner. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10366 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-08Make the retargeting of the Windows clipboard notificationPierre Ossman
more explicit. Otherwise we could end up with Fl::remove_clipboard_notify() unregistering, just to have it immediately re-register again. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10364 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-08Fix border padding for special cases (STR #3061), Windows only.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10363 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-15Add methods to enable and disable the system's input methods.Pierre Ossman
This needs to be done from FLTK as it affects the window interaction, which FLTK is largely responsible for. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10314 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-15Consolidate the Win32 init and cleanup code in to one place soPierre Ossman
it's easier to keep track of it. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10312 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-15Get rid of the old IActiveIMMApp code as the newer code callsPierre Ossman
fatal() if it cannot be loaded and is hence already required. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10311 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-15Add methods to intercept low level system events.Pierre Ossman
This gives applications the means to handle some low level integration with the system that might otherwise not be possible without modifying FLTK itself. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10310 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-15Clean up Win32 message pump. The logic was a bit overly complexPierre Ossman
with the double calls to PeekMessage() and the extra if clause. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10309 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-16Add ability to set custom icons for windows. STR #2816.Pierre Ossman
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10197 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-16Add method to set any custom cursor, based on a Fl_RGB_Image object.Pierre Ossman
Also change our fallback cursors to use this method, so that fallback cursors are handled in a platform independent manner. STR #2660. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10196 ea41ed52-d2ee-0310-a9c1-e6b18d33e121