From 46e681561241d0a123dfc08c234745c40c4a262a Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Sun, 4 Jan 2026 16:45:11 +0100 Subject: Windows: improve moving window across screens having distinct scale factors. --- src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H') diff --git a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H index 7d208e429..3cf26b67c 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H +++ b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H @@ -23,6 +23,7 @@ #ifndef FL_WINAPI_WINDOW_DRIVER_H #define FL_WINAPI_WINDOW_DRIVER_H +#include #include "../../Fl_Window_Driver.H" #include @@ -71,11 +72,6 @@ public: struct icon_data *icon_; HCURSOR cursor; int custom_cursor; - struct type_for_resize_window_between_screens { - int screen; - bool busy; - }; - static type_for_resize_window_between_screens data_for_resize_window_between_screens_; void set_minmax(LPMINMAXINFO minmax); int fake_X_wm(int &X, int &Y, int &bt, int &bx, int &by, DWORD style = 0, DWORD styleEx = 0); void make_fullscreen(int X, int Y, int W, int H); @@ -120,7 +116,15 @@ public: void capture_titlebar_and_borders(Fl_RGB_Image*& top, Fl_RGB_Image*& left, Fl_RGB_Image*& bottom, Fl_RGB_Image*& right) FL_OVERRIDE; int scroll(int src_x, int src_y, int src_w, int src_h, int dest_x, int dest_y, void (*draw_area)(void*, int,int,int,int), void* data) FL_OVERRIDE; - static void resize_after_screen_change(void *data); +}; + + +class Fl_WinAPI_Plugin : public Fl_Plugin { +public: + Fl_WinAPI_Plugin(const char *pluginName) : Fl_Plugin(klass(), pluginName) { } + virtual const char *klass() { return "winapi.fltk.org"; } + virtual const char *name() = 0; + virtual void invalidate(Fl_Window*) = 0; }; -- cgit v1.2.3