diff options
author | Sebastian Geerken <devnull@localhost> | 2014-10-19 00:29:52 +0200 |
---|---|---|
committer | Sebastian Geerken <devnull@localhost> | 2014-10-19 00:29:52 +0200 |
commit | 356751ca1ee7df3819dfcfcece24cfbdb37fba7c (patch) | |
tree | 8cffd8d8235aab30ef267695b8b6bf2bfa191e53 /dw/widget.hh | |
parent | 021d425fea3bdc727328ccbe24f508453a4ada36 (diff) |
Changes in drawing process: is now interruptable. (Some errors left.)
Diffstat (limited to 'dw/widget.hh')
-rw-r--r-- | dw/widget.hh | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/dw/widget.hh b/dw/widget.hh index 4ad397ee..d44454bc 100644 --- a/dw/widget.hh +++ b/dw/widget.hh @@ -277,6 +277,8 @@ protected: inline void queueResize (int ref, bool extremesChanged) { queueResize (ref, extremesChanged, false); } + virtual void draw (View *view, Rectangle *area); + /** * \brief See \ref dw-widget-sizes. */ @@ -468,8 +470,11 @@ public: bool intersects (Rectangle *area, Rectangle *intersection); - /** Area is given in widget coordinates. */ - virtual void draw (View *view, Rectangle *area) = 0; + virtual Widget *draw (View *view, Rectangle *area, + lout::container::untyped::Stack *iterator); + Widget *drawTotal (View *view, Rectangle *area, + lout::container::untyped::Stack *iterator); + void drawToplevel (View *view, Rectangle *area); bool buttonPress (EventButton *event); bool buttonRelease (EventButton *event); @@ -523,6 +528,14 @@ public: * dw::core::Iterator::prev in this case. */ virtual Iterator *iterator (Content::Type mask, bool atEnd) = 0; + + /** + * \brief ... + * + * May return NULL. + */ + virtual lout::object::Object *stackingIterator (bool atEnd); + virtual void removeChild (Widget *child); }; |