aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Geerken <devnull@localhost>2014-09-22 11:06:54 +0200
committerSebastian Geerken <devnull@localhost>2014-09-22 11:06:54 +0200
commit1aec0b21afd6fee1db1119a5c361975daaeb49b8 (patch)
tree754b83f148445a25fef49ff4e3ab092d05f73f90
parentbb979551a5903628c0013458522313513b6f58ed (diff)
Absolute positions: assume margin = border = 0 for toplevel container.
-rw-r--r--dw/oofposabsmgr.cc17
1 files changed, 13 insertions, 4 deletions
diff --git a/dw/oofposabsmgr.cc b/dw/oofposabsmgr.cc
index 7e7778c7..07daca86 100644
--- a/dw/oofposabsmgr.cc
+++ b/dw/oofposabsmgr.cc
@@ -35,24 +35,33 @@ OOFPosAbsMgr::~OOFPosAbsMgr ()
DBG_OBJ_DELETE ();
}
+// Comment for all containerBox* implementations: for the toplevel
+// widget, assume margin = border = 0 (should perhaps set so when
+// widgets are constructed), so that the padding area is actually the
+// allocation.
+
int OOFPosAbsMgr::containerBoxOffsetX ()
{
- return container->boxOffsetX () - container->getStyle()->padding.left;
+ return container->getParent () ?
+ container->boxOffsetX () - container->getStyle()->padding.left : 0;
}
int OOFPosAbsMgr::containerBoxOffsetY ()
{
- return container->boxOffsetY () - container->getStyle()->padding.top;
+ return container->getParent () ?
+ container->boxOffsetY () - container->getStyle()->padding.top : 0;
}
int OOFPosAbsMgr::containerBoxRestWidth ()
{
- return container->boxRestWidth () - container->getStyle()->padding.right;
+ return container->getParent () ?
+ container->boxRestWidth () - container->getStyle()->padding.right : 0;
}
int OOFPosAbsMgr::containerBoxRestHeight ()
{
- return container->boxRestHeight () - container->getStyle()->padding.bottom;
+ return container->getParent () ?
+ container->boxRestHeight () - container->getStyle()->padding.bottom : 0;
}
} // namespace oof