diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2016-03-12 22:24:20 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2016-03-12 22:24:20 +0000 |
| commit | e6631a0f7fdc8d3383927bac49f521791cddcc9c (patch) | |
| tree | b753578787e06c5aa2acea4c215063cb34167093 /FL | |
| parent | 4643f3e98c8bfabc262770bca5afc31a8b38c7f5 (diff) | |
Moved the Fl_Window::decorated_*() functions teh Window_Driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11356 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'FL')
| -rw-r--r-- | FL/Fl_Window_Driver.H | 46 |
1 files changed, 30 insertions, 16 deletions
diff --git a/FL/Fl_Window_Driver.H b/FL/Fl_Window_Driver.H index bf1534d6c..473d5faf3 100644 --- a/FL/Fl_Window_Driver.H +++ b/FL/Fl_Window_Driver.H @@ -37,36 +37,50 @@ class Fl_RGB_Image; /** \brief A base class for platform specific window handling code. */ -class FL_EXPORT Fl_Window_Driver { +class FL_EXPORT Fl_Window_Driver +{ friend class Fl_Window; friend class Fl_X; + protected: Fl_Window *pWindow; struct icon_data; icon_data *icon_; 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(); static Fl_Window_Driver *newWindowDriver(Fl_Window *); + // --- window data + virtual int decorated_w() = 0; + virtual int decorated_h() = 0; + + // --- window management + virtual void take_focus(); + virtual void flush() { } + virtual Fl_X *makeWindow() { /* FIXME: move Fl_X::make(Fl_Window*) here for OSX, MSWin, and X11 */ return 0; } - virtual void flush() { /* FIXME: move Fl_X::flush() here for OSX, MSWin, and X11 */ } - - virtual void take_focus() { } - virtual int double_flush(int eraseoverlay); - virtual void destroy_double_buffer(); - 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) {} - virtual void icons(const Fl_RGB_Image *icons[], int count) {} - virtual const void *icon() const {return NULL;} - virtual void icon(const void * ic) {} - virtual void free_icons() {} - virtual void capture_titlebar_and_borders(Fl_Shared_Image*& top, Fl_Shared_Image*& left, Fl_Shared_Image*& bottom, Fl_Shared_Image*& right); - virtual void wait_for_expose() {} + virtual void wait_for_expose() {} // TODO: check + virtual int double_flush(int eraseoverlay); // TODO: check + virtual void destroy_double_buffer(); // TODO: check + virtual void draw(); // TODO: check + + // --- window shape stuff + void shape_pixmap_(Fl_Image* pixmap); // TODO: check + virtual void shape(const Fl_Image* img) {} // TODO: check + virtual void shape_alpha_(Fl_Image* img, int offset) {} // TODO: check + + // --- window icon stuff + virtual void icons(const Fl_RGB_Image *icons[], int count) {} // TODO: check + virtual const void *icon() const {return NULL;} // TODO: check + virtual void icon(const void * ic) {} // TODO: check + virtual void free_icons() {} // TODO: check + + // --- window printing helper + virtual void capture_titlebar_and_borders(Fl_Shared_Image*& top, Fl_Shared_Image*& left, Fl_Shared_Image*& bottom, Fl_Shared_Image*& right); // TODO: check }; |
