summaryrefslogtreecommitdiff
path: root/FL/Fl_Window_Driver.H
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2016-03-10 17:19:34 +0000
committerManolo Gouy <Manolo>2016-03-10 17:19:34 +0000
commitd4768073fa67e7f78872bc80f4dff1dd8aa32f69 (patch)
treee49adba4ced816e851cbb74e5cac4f9a995f4189 /FL/Fl_Window_Driver.H
parent79f79d292c8ffe7a172237c614345a7bc667de80 (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.H9
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) {}
};