From db1206065adcb4d681e24843c9b21e89a1bb0a50 Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Mon, 26 Nov 2018 20:55:23 +0000 Subject: Windows: Have Fl::x(), Fl::y(), Fl::w() and Fl::h() change their values when the screen is rescaled. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13134 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx | 28 ++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) (limited to 'src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx') diff --git a/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx index d93a2df6d..1dcc53721 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx +++ b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx @@ -209,37 +209,49 @@ void Fl_WinAPI_Screen_Driver::screen_dpi(float &h, float &v, int n) int Fl_WinAPI_Screen_Driver::x() { - RECT r; + /*RECT r; SystemParametersInfo(SPI_GETWORKAREA, 0, &r, 0); - return r.left; + return r.left;*/ + int X, Y, W, H; + screen_work_area(X, Y, W, H, 0); + return X; } int Fl_WinAPI_Screen_Driver::y() { - RECT r; + /*RECT r; SystemParametersInfo(SPI_GETWORKAREA, 0, &r, 0); - return r.top; + return r.top;*/ + int X, Y, W, H; + screen_work_area(X, Y, W, H, 0); + return Y; } int Fl_WinAPI_Screen_Driver::h() { - RECT r; + /*RECT r; SystemParametersInfo(SPI_GETWORKAREA, 0, &r, 0); - return r.bottom - r.top; + return r.bottom - r.top;*/ + int X, Y, W, H; + screen_work_area(X, Y, W, H, 0); + return H; } int Fl_WinAPI_Screen_Driver::w() { - RECT r; + /*RECT r; SystemParametersInfo(SPI_GETWORKAREA, 0, &r, 0); - return r.right - r.left; + return r.right - r.left;*/ + int X, Y, W, H; + screen_work_area(X, Y, W, H, 0); + return W; } -- cgit v1.2.3