From 2d4288086f2b04e6b1bbe9e8374f7903958669fe Mon Sep 17 00:00:00 2001 From: Alex Wilson Date: Sat, 14 Jul 2012 12:27:04 +1200 Subject: [PATCH] Make SpaceLayoutItem compose spacing using BControlLook. This allows for passing spacing/inset flags to BSpaceLayoutItem. Eg. in a builder, you could AddStrut(B_USE_ITEM_SPACING) --- src/kits/interface/SpaceLayoutItem.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/kits/interface/SpaceLayoutItem.cpp b/src/kits/interface/SpaceLayoutItem.cpp index ceadb8cf6e..a863780fe9 100644 --- a/src/kits/interface/SpaceLayoutItem.cpp +++ b/src/kits/interface/SpaceLayoutItem.cpp @@ -9,6 +9,7 @@ #include +#include #include @@ -18,6 +19,13 @@ namespace { const char* const kAlignmentField = "BSpaceLayoutItem:alignment"; const char* const kFrameField = "BSpaceLayoutItem:frame"; const char* const kVisibleField = "BSpaceLayoutItem:visible"; + + BSize& ComposeSpacingInPlace(BSize& size) + { + size.width = BControlLook::ComposeSpacing(size.width); + size.height = BControlLook::ComposeSpacing(size.height); + return size; + } } @@ -25,9 +33,9 @@ BSpaceLayoutItem::BSpaceLayoutItem(BSize minSize, BSize maxSize, BSize preferredSize, BAlignment alignment) : fFrame(), - fMinSize(minSize), - fMaxSize(maxSize), - fPreferredSize(preferredSize), + fMinSize(ComposeSpacingInPlace(minSize)), + fMaxSize(ComposeSpacingInPlace(maxSize)), + fPreferredSize(ComposeSpacingInPlace(preferredSize)), fAlignment(alignment), fVisible(true) {