diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-05-11 16:43:25 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-05-11 19:45:38 +0100 |
commit | 0f8f60f2bef959389d45b2dd0a535cd8848ed8e9 (patch) | |
tree | e8c72adae8b7a8672aed2b2d38b15eb243f42e4d /vcl/source | |
parent | c975bee3a7db0d318d1e460312be2922a09c7cea (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.cxx | 19 | ||||
-rw-r--r-- | vcl/source/outdev/nativecontrols.cxx | 1 |
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; |