diff options
| author | Manolo Gouy <Manolo> | 2016-03-10 17:19:34 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2016-03-10 17:19:34 +0000 |
| commit | d4768073fa67e7f78872bc80f4dff1dd8aa32f69 (patch) | |
| tree | e49adba4ced816e851cbb74e5cac4f9a995f4189 /FL/Fl_Window_Driver.H | |
| parent | 79f79d292c8ffe7a172237c614345a7bc667de80 (diff) | |
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
Diffstat (limited to 'FL/Fl_Window_Driver.H')
| -rw-r--r-- | FL/Fl_Window_Driver.H | 9 |
1 files changed, 8 insertions, 1 deletions
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) {} }; |
