summaryrefslogtreecommitdiff
path: root/vcl/source
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-05-11 16:43:25 +0100
committerCaolán McNamara <caolanm@redhat.com>2015-05-11 19:45:38 +0100
commit0f8f60f2bef959389d45b2dd0a535cd8848ed8e9 (patch)
treee8c72adae8b7a8672aed2b2d38b15eb243f42e4d /vcl/source
parentc975bee3a7db0d318d1e460312be2922a09c7cea (diff)
gtk3: get the native tab item padding and borders size
Change-Id: Id4dd1d7540cca83edbfa17f7ae70bfd61dcdefe3
Diffstat (limited to 'vcl/source')
-rw-r--r--vcl/source/control/tabctrl.cxx19
-rw-r--r--vcl/source/outdev/nativecontrols.cxx1
2 files changed, 13 insertions, 7 deletions
diff --git a/vcl/source/control/tabctrl.cxx b/vcl/source/control/tabctrl.cxx
index 66ac7213b260..7a0e2a644dbf 100644
--- a/vcl/source/control/tabctrl.cxx
+++ b/vcl/source/control/tabctrl.cxx
@@ -243,7 +243,9 @@ Size TabControl::ImplGetItemSize( ImplTabItem* pItem, long nMaxWidth )
Rectangle aCtrlRegion( Point( 0, 0 ), aSize );
Rectangle aBoundingRgn, aContentRgn;
- const EditBoxValue aControlValue(GetTextHeight());
+ const TabitemValue aControlValue(Rectangle(TAB_TABOFFSET_X, TAB_TABOFFSET_Y,
+ aSize.Width() - TAB_TABOFFSET_X * 2,
+ aSize.Height() - TAB_TABOFFSET_Y * 2));
if(GetNativeControlRegion( CTRL_TAB_ITEM, PART_ENTIRE_CONTROL, aCtrlRegion,
ControlState::ENABLED, aControlValue, OUString(),
aBoundingRgn, aContentRgn ) )
@@ -853,17 +855,20 @@ void TabControl::ImplDrawItem(vcl::RenderContext& /*rRenderContext*/, ImplTabIte
if( !bLayout && (bNativeOK = IsNativeControlSupported(CTRL_TAB_ITEM, PART_ENTIRE_CONTROL)) )
{
- TabitemValue tiValue;
- if(pItem->maRect.Left() < 5)
+ TabitemValue tiValue(Rectangle(pItem->maRect.Left() + TAB_TABOFFSET_X,
+ pItem->maRect.Right() - TAB_TABOFFSET_X,
+ pItem->maRect.Top() + TAB_TABOFFSET_Y,
+ pItem->maRect.Bottom() - TAB_TABOFFSET_Y));
+ if (pItem->maRect.Left() < 5)
tiValue.mnAlignment |= TABITEM_LEFTALIGNED;
- if(pItem->maRect.Right() > mnLastWidth - 5)
+ if (pItem->maRect.Right() > mnLastWidth - 5)
tiValue.mnAlignment |= TABITEM_RIGHTALIGNED;
- if ( bFirstInGroup )
+ if (bFirstInGroup)
tiValue.mnAlignment |= TABITEM_FIRST_IN_GROUP;
- if ( bLastInGroup )
+ if (bLastInGroup)
tiValue.mnAlignment |= TABITEM_LAST_IN_GROUP;
- Rectangle aCtrlRegion( pItem->maRect );
+ Rectangle aCtrlRegion( pItem->maRect );
bNativeOK = DrawNativeControl( CTRL_TAB_ITEM, PART_ENTIRE_CONTROL, aCtrlRegion, nState,
tiValue, OUString() );
}
diff --git a/vcl/source/outdev/nativecontrols.cxx b/vcl/source/outdev/nativecontrols.cxx
index 5a963c2a2b00..95fbfaa2c164 100644
--- a/vcl/source/outdev/nativecontrols.cxx
+++ b/vcl/source/outdev/nativecontrols.cxx
@@ -236,6 +236,7 @@ static std::shared_ptr< ImplControlValue > TransformControlValue( const ImplCont
{
const TabitemValue* pTIVal = static_cast<const TabitemValue*>(&rVal);
TabitemValue* pNew = new TabitemValue( *pTIVal );
+ pNew->maContentRect = rDev.ImplLogicToDevicePixel(pTIVal->maContentRect);
aResult.reset( pNew );
}
break;