diff options
| author | Manolo Gouy <Manolo> | 2017-07-30 16:21:57 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2017-07-30 16:21:57 +0000 |
| commit | c4e04e4c7f446464ef65382cf10bc13417563b3b (patch) | |
| tree | f012307f02f8fba85f406f533908f63f7b15ea1c /src/drivers/X11 | |
| parent | 5a7a954ebd1005b30bbe48d84e4291c66ad30252 (diff) | |
Improve rescaling when window moved across screens: make sure center stays on new screen.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12367 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/drivers/X11')
| -rw-r--r-- | src/drivers/X11/Fl_X11_Screen_Driver.H | 1 | ||||
| -rw-r--r-- | src/drivers/X11/Fl_X11_Screen_Driver.cxx | 24 |
2 files changed, 2 insertions, 23 deletions
diff --git a/src/drivers/X11/Fl_X11_Screen_Driver.H b/src/drivers/X11/Fl_X11_Screen_Driver.H index db986b33c..6ceca775c 100644 --- a/src/drivers/X11/Fl_X11_Screen_Driver.H +++ b/src/drivers/X11/Fl_X11_Screen_Driver.H @@ -56,7 +56,6 @@ public: virtual void scale(int n, float f) { screens[n].scale = f;} virtual float desktop_scale_factor(); int screen_num_unscaled(int x, int y); - int screen_num_unscaled(int x, int y, int w, int h); #endif static int ewmh_supported(); diff --git a/src/drivers/X11/Fl_X11_Screen_Driver.cxx b/src/drivers/X11/Fl_X11_Screen_Driver.cxx index d1390e862..013ae7566 100644 --- a/src/drivers/X11/Fl_X11_Screen_Driver.cxx +++ b/src/drivers/X11/Fl_X11_Screen_Driver.cxx @@ -1182,9 +1182,10 @@ void Fl_X11_Screen_Driver::offscreen_size(Fl_Offscreen off, int &width, int &hei } #if USE_XFT +//NOTICE: returns -1 if x,y is not in any screen int Fl_X11_Screen_Driver::screen_num_unscaled(int x, int y) { - int screen = 0; + int screen = -1; if (num_screens < 0) init(); for (int i = 0; i < num_screens; i ++) { @@ -1197,25 +1198,6 @@ int Fl_X11_Screen_Driver::screen_num_unscaled(int x, int y) return screen; } -int Fl_X11_Screen_Driver::screen_num_unscaled(int x, int y, int w, int h) -{ - int best_screen = 0; - float best_intersection = 0.; - if (num_screens < 0) init(); - for (int i = 0; i < num_screens; i++) { - float sintersection = fl_intersection(x, y, w, h, screens[i].x_org, screens[i].y_org, - screens[i].width, screens[i].height); - if (sintersection > best_intersection) { - best_screen = i; - best_intersection = sintersection; - } - } - return best_screen; -} -#endif - -#if USE_XFT - #if HAVE_DLSYM && HAVE_DLFCN_H // returns true when schema is among the list of available schemas @@ -1404,8 +1386,6 @@ float Fl_X11_Screen_Driver::desktop_scale_factor() } - - #endif // USE_XFT // |
