summaryrefslogtreecommitdiff
path: root/dw/oofawarewidget.hh
diff options
context:
space:
mode:
authorSebastian Geerken <devnull@localhost>2014-10-23 12:29:38 +0200
committerSebastian Geerken <devnull@localhost>2014-10-23 12:29:38 +0200
commitd39956a7b0a38ebeda147d52aa734e992c425d9f (patch)
treeaa66d82bb61a4c38ff0de04bec8dad62d69f6294 /dw/oofawarewidget.hh
parent3afc8db366cdfed92f5c53a606cfc82e551c9084 (diff)
More work on drawing: interruptions work now halfway.
Diffstat (limited to 'dw/oofawarewidget.hh')
-rw-r--r--dw/oofawarewidget.hh16
1 files changed, 13 insertions, 3 deletions
diff --git a/dw/oofawarewidget.hh b/dw/oofawarewidget.hh
index bef075a3..362069dc 100644
--- a/dw/oofawarewidget.hh
+++ b/dw/oofawarewidget.hh
@@ -111,6 +111,8 @@ protected:
END } ;
int majorLevel, minorLevel, index;
+ void intoStringBuffer(lout::misc::StringBuffer *sb);
+
static const char *majorLevelText (int majorLevel4);
};
@@ -171,6 +173,8 @@ protected:
static inline bool testWidgetRelativelyPositioned (Widget *widget)
{ return widget->getStyle()->position == core::style::POSITION_RELATIVE; }
+ static bool getOOFMIndex (Widget *widget);
+
void initOutOfFlowMgrs ();
void correctRequisitionByOOF (core::Requisition *requisition,
void (*splitHeightFun) (int, int*, int*));
@@ -178,11 +182,12 @@ protected:
void sizeAllocateStart (core::Allocation *allocation);
void sizeAllocateEnd ();
void containerSizeChangedForChildrenOOF ();
+
virtual Widget *drawLevel (core::View *view, core::Rectangle *area,
- lout::container::untyped::Stack *iterator,
+ core::StackingIteratorStack *iteratorStack,
int majorLevel);
Widget *drawOOF (core::View *view, core::Rectangle *area,
- lout::container::untyped::Stack *iterator);
+ core::StackingIteratorStack *iteratorStack);
Widget *getWidgetOOFAtPoint (int x, int y);
static bool isOOFContainer (Widget *widget, int oofmIndex);
@@ -203,8 +208,13 @@ public:
OOFAwareWidget ();
~OOFAwareWidget ();
+ static bool doesWidgetOOFInterruptDrawing (Widget *widget,
+ OOFAwareWidget *generator,
+ OOFAwareWidget *container);
+ bool doesWidgetOOFInterruptDrawing (Widget *widget);
+
Widget *draw (core::View *view, core::Rectangle *area,
- lout::container::untyped::Stack *iterator);
+ core::StackingIteratorStack *iteratorStack);
lout::object::Object *stackingIterator (bool atEnd);
virtual void borderChanged (int y, core::Widget *vloat);