diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Fl_Window_Driver.H | 7 | ||||
| -rw-r--r-- | src/Fl_Window_Driver.cxx | 7 | ||||
| -rw-r--r-- | src/Fl_x.cxx | 2 | ||||
| -rw-r--r-- | src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H | 3 | ||||
| -rw-r--r-- | src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx | 9 | ||||
| -rw-r--r-- | src/drivers/Wayland/Fl_Wayland_Window_Driver.H | 3 | ||||
| -rw-r--r-- | src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx | 8 | ||||
| -rw-r--r-- | src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H | 3 | ||||
| -rw-r--r-- | src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx | 11 | ||||
| -rw-r--r-- | src/drivers/X11/Fl_X11_Window_Driver.H | 3 | ||||
| -rw-r--r-- | src/drivers/X11/Fl_X11_Window_Driver.cxx | 8 |
11 files changed, 11 insertions, 53 deletions
diff --git a/src/Fl_Window_Driver.H b/src/Fl_Window_Driver.H index 03333c958..ddc2100c7 100644 --- a/src/Fl_Window_Driver.H +++ b/src/Fl_Window_Driver.H @@ -43,7 +43,7 @@ class Fl_RGB_Image; This class is only for internal use by the FLTK library. - When porting FLTK to a new platform, many mothods in this class provide + When porting FLTK to a new platform, many methods in this class provide a minimal default implementation. Some methods must be overridden to make sure that the Graphics Driver will draw into the bitmap associated with this window. @@ -56,6 +56,7 @@ private: protected: Fl_Window *pWindow; + int screen_num_; // number of screen where window is mapped void flush_Fl_Window(); // accessor to protected Fl_Window::flush() public: Fl_Window_Driver(Fl_Window *); @@ -65,8 +66,8 @@ public: static Fl_Window *find(fl_uintptr_t xid); int wait_for_expose_value; Fl_Offscreen other_xid; // offscreen bitmap (overlay and double-buffered windows) - virtual int screen_num(); - virtual void screen_num(int) {} + int screen_num(); + void screen_num(int n) { screen_num_ = n; } // --- frequently used accessors to public window data diff --git a/src/Fl_Window_Driver.cxx b/src/Fl_Window_Driver.cxx index a9faa3211..dbd9c4d08 100644 --- a/src/Fl_Window_Driver.cxx +++ b/src/Fl_Window_Driver.cxx @@ -41,6 +41,7 @@ Fl_Window_Driver::Fl_Window_Driver(Fl_Window *win) : pWindow(win) { wait_for_expose_value = 0; other_xid = 0; + screen_num_ = 0; } @@ -219,8 +220,10 @@ void Fl_Window_Driver::wait_for_expose() { } int Fl_Window_Driver::screen_num() { - if (pWindow->parent()) return Fl_Window_Driver::driver(pWindow->top_window())->screen_num(); - return Fl::screen_num(x(), y(), w(), h()); + if (pWindow->parent()) { + screen_num_ = Fl_Window_Driver::driver(pWindow->top_window())->screen_num(); + } + return screen_num_ >= 0 ? screen_num_ : 0; } bool Fl_Window_Driver::is_a_rescale_ = false; diff --git a/src/Fl_x.cxx b/src/Fl_x.cxx index 8b839c6e8..bc2a534cd 100644 --- a/src/Fl_x.cxx +++ b/src/Fl_x.cxx @@ -2047,6 +2047,8 @@ int fl_handle(const XEvent& thisevent) } wd->screen_num(num); } +#else // ! USE_XFT + Fl_Window_Driver::driver(window)->screen_num( Fl::screen_num(X, Y, W, H) ); #endif // USE_XFT // tell Fl_Window about it and set flag to prevent echoing: diff --git a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H index 63b26ed79..ce3b15629 100644 --- a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H +++ b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H @@ -85,7 +85,6 @@ private: // stores 3 binary flags: whether window is mapped to retina display; whether resolution just changed; // whether window's view received the [FLView view_did_resize] message unsigned window_flags_; - int screen_num_; // number of screen where window is mapped public: Fl_Cocoa_Window_Driver(Fl_Window*); ~Fl_Cocoa_Window_Driver(); @@ -134,8 +133,6 @@ public: virtual void size_range(); virtual void iconize(); virtual void decoration_sizes(int *top, int *left, int *right, int *bottom); - virtual int screen_num(); - virtual void screen_num(int n); // --- window cursor stuff virtual int set_cursor(Fl_Cursor); virtual int set_cursor(const Fl_RGB_Image*, int, int); diff --git a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx index 019e2b7f5..2acde8694 100644 --- a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx +++ b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx @@ -330,15 +330,6 @@ void Fl_Cocoa_Window_Driver::capture_titlebar_and_borders(Fl_RGB_Image*& top, Fl CGContextRelease(auxgc); } -void Fl_Cocoa_Window_Driver::screen_num(int n) { - screen_num_ = n; -} - -int Fl_Cocoa_Window_Driver::screen_num() { - if (pWindow->parent()) return pWindow->top_window()->screen_num(); - else return screen_num_; -} - FLWindow *fl_mac_xid(const Fl_Window *win) { return (FLWindow*)Fl_Window_Driver::xid(win); diff --git a/src/drivers/Wayland/Fl_Wayland_Window_Driver.H b/src/drivers/Wayland/Fl_Wayland_Window_Driver.H index a419fa54b..5bd73ab04 100644 --- a/src/drivers/Wayland/Fl_Wayland_Window_Driver.H +++ b/src/drivers/Wayland/Fl_Wayland_Window_Driver.H @@ -74,8 +74,6 @@ public: bool busy; }; static type_for_resize_window_between_screens data_for_resize_window_between_screens_; - int screen_num_; - void screen_num(int n) { screen_num_ = n; } void decorated_win_size(int &w, int &h); void shape_bitmap_(Fl_Image* b); void shape_alpha_(Fl_Image* img, int offset); @@ -88,7 +86,6 @@ public: static void redraw(struct wld_window *window); static inline Fl_Wayland_Window_Driver* driver(const Fl_Window *w) {return (Fl_Wayland_Window_Driver*)Fl_Window_Driver::driver(w);} - virtual int screen_num(); static void resize_after_screen_change(void *data); // --- window data diff --git a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx index 96985c10b..4f3c3cd04 100644 --- a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx +++ b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx @@ -1123,14 +1123,6 @@ void Fl_Wayland_Window_Driver::resize_after_screen_change(void *data) { } -int Fl_Wayland_Window_Driver::screen_num() { - if (pWindow->parent()) { - screen_num_ = Fl_Window_Driver::driver(pWindow->top_window())->screen_num(); - } - return screen_num_ >= 0 ? screen_num_ : 0; -} - - int Fl_Wayland_Window_Driver::set_cursor(Fl_Cursor c) { Fl_Wayland_Screen_Driver *scr_driver = (Fl_Wayland_Screen_Driver*)Fl::screen_driver(); diff --git a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H index 2e6946471..afc8cc39b 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H +++ b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H @@ -58,7 +58,6 @@ class Fl_WinAPI_Window_Driver : public Fl_Window_Driver Fl_Image* shape_; ///< shape image Fl_Bitmap *effective_bitmap_; ///< auxiliary bitmap image } *shape_data_; - int screen_num_; private: void shape_bitmap_(Fl_Image* b); void shape_alpha_(Fl_Image* img, int offset); @@ -68,8 +67,6 @@ public: static inline Fl_WinAPI_Window_Driver* driver(const Fl_Window *w) {return (Fl_WinAPI_Window_Driver*)Fl_Window_Driver::driver(w);} HDC private_dc; // used for OpenGL RECT border_width_title_bar_height(int &bx, int &by, int &bt); - virtual void screen_num(int n); - virtual int screen_num(); struct icon_data *icon_; HCURSOR cursor; diff --git a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx index 5f8c40d8d..45e5cb39e 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx +++ b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx @@ -55,20 +55,9 @@ Fl_WinAPI_Window_Driver::~Fl_WinAPI_Window_Driver() delete icon_; } -int Fl_WinAPI_Window_Driver::screen_num() { - if (pWindow->parent()) { - screen_num_ = Fl_Window_Driver::driver(pWindow->top_window())->screen_num(); - } - return screen_num_ >= 0 ? screen_num_ : 0; -} //FILE*LOG=fopen("log.log","w"); -void Fl_WinAPI_Window_Driver::screen_num(int n) { -//fprintf(LOG, "screen_num setter old=%d new=%d\n",screen_num_, n);fflush(LOG); - screen_num_ = n; -} - RECT // frame of the decorated window in screen coordinates Fl_WinAPI_Window_Driver::border_width_title_bar_height( diff --git a/src/drivers/X11/Fl_X11_Window_Driver.H b/src/drivers/X11/Fl_X11_Window_Driver.H index 13c1cf900..a2a19d12c 100644 --- a/src/drivers/X11/Fl_X11_Window_Driver.H +++ b/src/drivers/X11/Fl_X11_Window_Driver.H @@ -73,8 +73,6 @@ private: bool busy; }; static type_for_resize_window_between_screens data_for_resize_window_between_screens_; - int screen_num_; - void screen_num(int n) { screen_num_ = n; } #endif // USE_XFT #if FLTK_USE_CAIRO cairo_t *cairo_; @@ -92,7 +90,6 @@ public: virtual ~Fl_X11_Window_Driver(); static inline Fl_X11_Window_Driver* driver(const Fl_Window *w) {return (Fl_X11_Window_Driver*)Fl_Window_Driver::driver(w);} #if USE_XFT - virtual int screen_num(); static void resize_after_screen_change(void *data); #endif // USE_XFT diff --git a/src/drivers/X11/Fl_X11_Window_Driver.cxx b/src/drivers/X11/Fl_X11_Window_Driver.cxx index a5302904f..3fb10cb74 100644 --- a/src/drivers/X11/Fl_X11_Window_Driver.cxx +++ b/src/drivers/X11/Fl_X11_Window_Driver.cxx @@ -572,14 +572,6 @@ void Fl_X11_Window_Driver::resize_after_screen_change(void *data) { data_for_resize_window_between_screens_.busy = false; } - -int Fl_X11_Window_Driver::screen_num() { - if (pWindow->parent()) { - screen_num_ = Fl_Window_Driver::driver(pWindow->top_window())->screen_num(); - } - return screen_num_ >= 0 ? screen_num_ : 0; -} - #endif // USE_XFT fl_uintptr_t Fl_X11_Window_Driver::os_id() { |
