aboutsummaryrefslogtreecommitdiff
path: root/dw/oofawarewidget.hh
diff options
context:
space:
mode:
Diffstat (limited to 'dw/oofawarewidget.hh')
-rw-r--r--dw/oofawarewidget.hh13
1 files changed, 13 insertions, 0 deletions
diff --git a/dw/oofawarewidget.hh b/dw/oofawarewidget.hh
index bf13958d..37b8eeb3 100644
--- a/dw/oofawarewidget.hh
+++ b/dw/oofawarewidget.hh
@@ -2,6 +2,7 @@
#define __DW_OOFAWAREWIDGET_HH__
#include "core.hh"
+#include "outofflowmgr.hh"
namespace dw {
@@ -16,6 +17,18 @@ namespace oof {
*/
class OOFAwareWidget: public core::Widget
{
+protected:
+ enum { OOFM_FLOATS, OOFM_ABSOLUTE, OOFM_FIXED, NUM_OOFM };
+ enum { PARENT_REF_OOFM_BITS = 2,
+ PARENT_REF_OOFM_MASK = (1 << PARENT_REF_OOFM_BITS) - 1 };
+
+public:
+ OOFAwareWidget *oofContainer[NUM_OOFM];
+ oof::OutOfFlowMgr *outOfFlowMgr[NUM_OOFM];
+
+ inline OutOfFlowMgr *searchOutOfFlowMgr (int oofmIndex)
+ { return oofContainer[oofmIndex] ?
+ oofContainer[oofmIndex]->outOfFlowMgr[oofmIndex] : NULL; }
public:
virtual void borderChanged (int y, core::Widget *vloat);
virtual void oofSizeChanged (bool extremesChanged);