diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2026-01-04 16:45:11 +0100 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2026-01-04 16:45:11 +0100 |
| commit | 46e681561241d0a123dfc08c234745c40c4a262a (patch) | |
| tree | 96e7f272127d5ba050222832f0fb5cc950c2f3a3 /src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H | |
| parent | 0e570fb6729ff6b97249256c2c9d5f3aa58c7bb4 (diff) | |
Windows: improve moving window across screens having distinct scale factors.
Diffstat (limited to 'src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H')
| -rw-r--r-- | src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H | 16 |
1 files changed, 10 insertions, 6 deletions
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 <FL/Fl_Plugin.H> #include "../../Fl_Window_Driver.H" #include <windows.h> @@ -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; }; |
