From d4768073fa67e7f78872bc80f4dff1dd8aa32f69 Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Thu, 10 Mar 2016 17:19:34 +0000 Subject: Implement non-rectangular windows using the Window Driver mechanism. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11336 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- FL/Fl_Window_Driver.H | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'FL/Fl_Window_Driver.H') diff --git a/FL/Fl_Window_Driver.H b/FL/Fl_Window_Driver.H index e252d22bf..98934a3d4 100644 --- a/FL/Fl_Window_Driver.H +++ b/FL/Fl_Window_Driver.H @@ -28,14 +28,18 @@ class Fl_Window; +class Fl_Image; /** \brief A base class for platform specific window handling code. */ class FL_EXPORT Fl_Window_Driver { + friend class Fl_Window; protected: Fl_Window *pWindow; + struct shape_data_type; + shape_data_type *shape_data_; ///< non-null means the window has a non-rectangular shape public: Fl_Window_Driver(Fl_Window *); virtual ~Fl_Window_Driver(); @@ -47,7 +51,10 @@ public: virtual void take_focus() { } virtual int double_flush(int eraseoverlay); virtual void destroy_double_buffer(); - void draw(); + virtual void draw(); + void shape_pixmap_(Fl_Image* pixmap); + virtual void shape(const Fl_Image* img) {} + virtual void shape_alpha_(Fl_Image* img, int offset) {} }; -- cgit v1.2.3