diff options
| -rw-r--r-- | src/Fl_Window_Driver.H | 2 | ||||
| -rw-r--r-- | src/Fl_Window_Driver.cxx | 1 | ||||
| -rw-r--r-- | src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H | 10 | ||||
| -rw-r--r-- | src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx | 3 | ||||
| -rw-r--r-- | src/drivers/Wayland/Fl_Wayland_Window_Driver.H | 13 | ||||
| -rw-r--r-- | src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx | 1 | ||||
| -rw-r--r-- | src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H | 12 | ||||
| -rw-r--r-- | src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx | 1 | ||||
| -rw-r--r-- | src/drivers/X11/Fl_X11_Window_Driver.H | 14 | ||||
| -rw-r--r-- | src/drivers/X11/Fl_X11_Window_Driver.cxx | 1 |
10 files changed, 29 insertions, 29 deletions
diff --git a/src/Fl_Window_Driver.H b/src/Fl_Window_Driver.H index 9d2a8906b..ddc44637c 100644 --- a/src/Fl_Window_Driver.H +++ b/src/Fl_Window_Driver.H @@ -56,8 +56,6 @@ private: protected: Fl_Window *pWindow; - struct shape_data_type; - shape_data_type *shape_data_; ///< non-null means the window has a non-rectangular shape void flush_Fl_Window(); // accessor to protected Fl_Window::flush() public: Fl_Window_Driver(Fl_Window *); diff --git a/src/Fl_Window_Driver.cxx b/src/Fl_Window_Driver.cxx index 025aa36ea..23c66be7f 100644 --- a/src/Fl_Window_Driver.cxx +++ b/src/Fl_Window_Driver.cxx @@ -39,7 +39,6 @@ extern void fl_throw_focus(Fl_Widget *o); */ Fl_Window_Driver::Fl_Window_Driver(Fl_Window *win) : pWindow(win) { - shape_data_ = NULL; wait_for_expose_value = 0; other_xid = 0; } diff --git a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H index f0d31ec1c..f5c9d8f7f 100644 --- a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H +++ b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H @@ -65,11 +65,6 @@ class NSOpenGLPixelFormat; ? where do we handle the interface between OpenGL/DirectX and Cocoa/Windows/Glx? */ -struct Fl_Window_Driver::shape_data_type { - Fl_Image* shape_; ///< shape image - typedef struct CGImage* CGImageRef; - CGImageRef mask; -}; /** \} @@ -80,6 +75,11 @@ struct Fl_Window_Driver::shape_data_type { class FL_EXPORT Fl_Cocoa_Window_Driver : public Fl_Window_Driver { private: + struct shape_data_type { + Fl_Image* shape_; ///< shape image + typedef struct CGImage* CGImageRef; + CGImageRef mask; + } *shape_data_; void shape_bitmap_(Fl_Image* b); void shape_alpha_(Fl_Image* img, int offset); CGRect* subRect_; // makes sure subwindow remains inside its parent window diff --git a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx index e91342c8a..b7f213da0 100644 --- a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx +++ b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx @@ -35,6 +35,7 @@ Fl_Cocoa_Window_Driver::Fl_Cocoa_Window_Driver(Fl_Window *win) window_flags_ = 0; icon_image = NULL; screen_num_ = 0; + shape_data_ = NULL; } @@ -88,6 +89,8 @@ void Fl_Cocoa_Window_Driver::draw_begin() CGContextClipToMask(my_gc, CGRectMake(0,0,w(),h()), shape_data_->mask); // requires Mac OS 10.4 } CGContextSaveGState(my_gc); + CGAffineTransform mat = CGContextGetCTM(my_gc); + printf("mat.a=%g\n",mat.a); # endif } } diff --git a/src/drivers/Wayland/Fl_Wayland_Window_Driver.H b/src/drivers/Wayland/Fl_Wayland_Window_Driver.H index df4876ccc..4fdcd957b 100644 --- a/src/drivers/Wayland/Fl_Wayland_Window_Driver.H +++ b/src/drivers/Wayland/Fl_Wayland_Window_Driver.H @@ -42,18 +42,17 @@ typedef struct _cairo_pattern cairo_pattern_t; -struct Fl_Window_Driver::shape_data_type { - int lw_; ///< width of shape image - int lh_; ///< height of shape image - Fl_Image* shape_; ///< shape image - cairo_pattern_t *mask_pattern_; -}; - class FL_EXPORT Fl_Wayland_Window_Driver : public Fl_Window_Driver { friend class Fl_X; private: + struct shape_data_type { + int lw_; ///< width of shape image + int lh_; ///< height of shape image + Fl_Image* shape_; ///< shape image + cairo_pattern_t *mask_pattern_; + } *shape_data_; static bool in_flush; // useful for progressive window drawing struct wl_cursor *cursor_; void delete_cursor_(); diff --git a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx index 0f07082c5..e7377cc7f 100644 --- a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx +++ b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx @@ -63,6 +63,7 @@ void Fl_Wayland_Window_Driver::destroy_double_buffer() { Fl_Wayland_Window_Driver::Fl_Wayland_Window_Driver(Fl_Window *win) : Fl_Window_Driver(win) { + shape_data_ = NULL; cursor_ = NULL; in_handle_configure = false; screen_num_ = -1; diff --git a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H index 356eb8297..6c169f0b1 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H +++ b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H @@ -42,12 +42,6 @@ */ -struct Fl_Window_Driver::shape_data_type { - int lw_; ///< width of shape image - int lh_; ///< height of shape image - Fl_Image* shape_; ///< shape image - Fl_Bitmap *effective_bitmap_; ///< auxiliary bitmap image -}; class FL_EXPORT Fl_WinAPI_Window_Driver : public Fl_Window_Driver { @@ -58,6 +52,12 @@ class FL_EXPORT Fl_WinAPI_Window_Driver : public Fl_Window_Driver HICON big_icon; HICON small_icon; }; + struct shape_data_type { + int lw_; ///< width of shape image + int lh_; ///< height of shape image + Fl_Image* shape_; ///< shape image + Fl_Bitmap *effective_bitmap_; ///< auxiliary bitmap image + } *shape_data_; int screen_num_; private: void shape_bitmap_(Fl_Image* b); diff --git a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx index ab4bbfdee..459143dad 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx +++ b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx @@ -39,6 +39,7 @@ Fl_WinAPI_Window_Driver::Fl_WinAPI_Window_Driver(Fl_Window *win) : Fl_Window_Driver(win) { icon_ = new icon_data; + shape_data_ = NULL; memset(icon_, 0, sizeof(icon_data)); cursor = NULL; screen_num_ = -1; diff --git a/src/drivers/X11/Fl_X11_Window_Driver.H b/src/drivers/X11/Fl_X11_Window_Driver.H index a8224e8e1..b140441fd 100644 --- a/src/drivers/X11/Fl_X11_Window_Driver.H +++ b/src/drivers/X11/Fl_X11_Window_Driver.H @@ -44,14 +44,6 @@ class Fl_Bitmap; */ - -struct Fl_Window_Driver::shape_data_type { - int lw_; ///< width of shape image - int lh_; ///< height of shape image - Fl_Image* shape_; ///< shape image - Fl_Bitmap *effective_bitmap_; ///< auxiliary bitmap image -}; - class FL_EXPORT Fl_X11_Window_Driver : public Fl_Window_Driver { friend class Fl_X; @@ -63,6 +55,12 @@ private: Fl_RGB_Image **icons; int count; } *icon_; + struct shape_data_type { + int lw_; ///< width of shape image + int lh_; ///< height of shape image + Fl_Image* shape_; ///< shape image + Fl_Bitmap *effective_bitmap_; ///< auxiliary bitmap image + } *shape_data_; #if USE_XFT // --- support for screen-specific scaling factors struct type_for_resize_window_between_screens { diff --git a/src/drivers/X11/Fl_X11_Window_Driver.cxx b/src/drivers/X11/Fl_X11_Window_Driver.cxx index 725f8f5e0..ed9dd8fcb 100644 --- a/src/drivers/X11/Fl_X11_Window_Driver.cxx +++ b/src/drivers/X11/Fl_X11_Window_Driver.cxx @@ -48,6 +48,7 @@ Fl_X11_Window_Driver::Fl_X11_Window_Driver(Fl_Window *win) : Fl_Window_Driver(win) { icon_ = new icon_data; + shape_data_ = NULL; memset(icon_, 0, sizeof(icon_data)); #if USE_XFT screen_num_ = -1; |
