diff options
| -rw-r--r-- | FL/mac.H | 2 | ||||
| -rw-r--r-- | src/Fl_cocoa.mm | 8 | ||||
| -rw-r--r-- | src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx | 3 | ||||
| -rw-r--r-- | src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H | 1 | ||||
| -rw-r--r-- | src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx | 3 |
5 files changed, 8 insertions, 9 deletions
@@ -129,7 +129,6 @@ public: Fl_X *next; // chain of mapped windows static Fl_X* first; static Fl_X* i(const Fl_Window* w) {return (Fl_X*)w->i;} - static int fake_X_wm(const Fl_Window*,int&,int&,int&,int&,int&); static void make(Fl_Window*); static void set_high_resolution(bool); CGRect* subRect() { return subRect_; } // getter @@ -149,7 +148,6 @@ public: static void GLcontext_makecurrent(NSOpenGLContext*); static void GL_cleardrawable(void); void destroy(void); - void set_key_window(void); static CGImageRef CGImage_from_window_rect(Fl_Window *win, int x, int y, int w, int h); static unsigned char *bitmap_from_window_rect(Fl_Window *win, int x, int y, int w, int h, int *bytesPerPixel); private: diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm index 51d1efaaa..36cdba14d 100644 --- a/src/Fl_cocoa.mm +++ b/src/Fl_cocoa.mm @@ -1945,11 +1945,11 @@ static void handleUpdateEvent( Fl_Window *window ) } -int Fl_X::fake_X_wm(const Fl_Window* w,int &X,int &Y, int &bt,int &bx, int &by) { +static int fake_X_wm(Fl_Window* w,int &X,int &Y, int &bt,int &bx, int &by) { int W, H, xoff, yoff, dx, dy; int ret = bx = by = bt = 0; if (w->border() && !w->parent()) { - if (w->maxw != w->minw || w->maxh != w->minh) { + if (w->driver()->maxw() != w->driver()->minw() || w->driver()->maxh() != w->driver()->minh()) { ret = 2; } else { ret = 1; @@ -3823,9 +3823,9 @@ static void createAppleMenu(void) } -void Fl_X::set_key_window() +void Fl_Cocoa_Window_Driver::set_key_window() { - [xid makeKeyWindow]; + [fl_xid(pWindow) makeKeyWindow]; } static NSImage *imageFromText(const char *text, int *pwidth, int *pheight) diff --git a/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx b/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx index 8c3f47d47..d4054affc 100644 --- a/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx +++ b/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx @@ -19,6 +19,7 @@ #include "../../config_lib.h" #include "Fl_Cocoa_Screen_Driver.H" +#include "Fl_Cocoa_Window_Driver.H" #include "../Quartz/Fl_Font.H" #include <FL/Fl.H> #include <FL/x.H> @@ -167,7 +168,7 @@ void Fl_Cocoa_Screen_Driver::grab(Fl_Window* win) if (win) { if (!Fl::grab_) { fl_capture = Fl_X::i(Fl::first_window())->xid; - Fl_X::i(Fl::first_window())->set_key_window(); + ((Fl_Cocoa_Window_Driver*)Fl::first_window()->driver())->set_key_window(); } Fl::grab_ = win; } else { diff --git a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H index 5b0bba2f9..caf705cbe 100644 --- a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H +++ b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H @@ -73,6 +73,7 @@ public: CGContextRef gc; // graphics context NSCursor *cursor; static void q_release_context(Fl_Cocoa_Window_Driver *x = 0); // free all resources associated with gc + void set_key_window(); // --- window data virtual int decorated_w(); diff --git a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx index 68389bae9..df1bb114e 100644 --- a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx +++ b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx @@ -53,8 +53,7 @@ Fl_Cocoa_Window_Driver::~Fl_Cocoa_Window_Driver() void Fl_Cocoa_Window_Driver::take_focus() { - Fl_X *x = Fl_X::i(pWindow); - if (x) x->set_key_window(); + set_key_window(); } |
