UITabWidget padding.

--HG--
branch : dev-widget-padding
This commit is contained in:
Martín Lucas Golini
2018-12-16 20:30:24 -03:00
parent 8c55c37f8e
commit 08bcbe1ca1
3 changed files with 67 additions and 48 deletions

View File

@@ -81,9 +81,10 @@ void UITabWidget::onThemeLoaded() {
}
void UITabWidget::setContainerSize() {
mTabContainer->setPixelsSize( mSize.getWidth(), mStyleConfig.TabWidgetHeight );
mCtrlContainer->setPosition( 0, mStyleConfig.TabWidgetHeight );
mCtrlContainer->setPixelsSize( mSize.getWidth(), mSize.getHeight() - PixelDensity::dpToPx( mStyleConfig.TabWidgetHeight ) );
mTabContainer->setPixelsSize( mSize.getWidth() - mRealPadding.Left - mRealPadding.Right, mStyleConfig.TabWidgetHeight );
mTabContainer->setPosition( mPadding.Left, mPadding.Top );
mCtrlContainer->setPosition( mPadding.Left, mPadding.Top + mStyleConfig.TabWidgetHeight );
mCtrlContainer->setPixelsSize( mSize.getWidth() - mRealPadding.Left - mRealPadding.Right, mSize.getHeight() - PixelDensity::dpToPx( mStyleConfig.TabWidgetHeight ) - mRealPadding.Top - mRealPadding.Bottom );
}
void UITabWidget::draw() {
@@ -94,15 +95,15 @@ void UITabWidget::draw() {
if ( smooth ) GLi->lineSmooth( false );
Primitives P;
Vector2f p1( mScreenPos.x, mScreenPos.y + mTabContainer->getRealSize().getHeight() + mStyleConfig.LineBelowTabsYOffset );
Vector2f p1( mScreenPos.x + mRealPadding.Left, mScreenPos.y + mRealPadding.Top + mTabContainer->getRealSize().getHeight() + mStyleConfig.LineBelowTabsYOffset );
Vector2f p2( mScreenPos.x + mTabContainer->getRealPosition().x, p1.y );
P.setLineWidth( PixelDensity::dpToPx( 1 ) );
P.setColor( Color( mStyleConfig.LineBelowTabsColor, mAlpha ) );
P.drawLine( Line2f( Vector2f( (int)p1.x, (int)p1.y ), Vector2f( (int)p2.x, (int)p2.y ) ) );
Vector2f p3( mScreenPos.x + mTabContainer->getRealPosition().x + mTabContainer->getRealSize().getWidth(), mScreenPos.y + mTabContainer->getRealSize().getHeight() + mStyleConfig.LineBelowTabsYOffset );
Vector2f p4( mScreenPos.x + mSize.getWidth(), p3.y );
Vector2f p3( mScreenPos.x + mTabContainer->getRealPosition().x + mTabContainer->getRealSize().getWidth(), mScreenPos.y + mRealPadding.Top + mTabContainer->getRealSize().getHeight() + mStyleConfig.LineBelowTabsYOffset );
Vector2f p4( mScreenPos.x + mRealPadding.Left + mCtrlContainer->getRealSize().getWidth(), p3.y );
P.drawLine( Line2f( Vector2f( (int)p3.x, (int)p3.y ), Vector2f( (int)p4.x, (int)p4.y ) ) );
@@ -748,6 +749,12 @@ void UITabWidget::onChildCountChange() {
UIWidget::onChildCountChange();
}
void UITabWidget::onPaddingChange() {
onSizeChange();
UIWidget::onPaddingChange();
}
void UITabWidget::applyThemeToTabs() {
if ( mStyleConfig.SpecialBorderTabs ) {
for ( Uint32 i = 0; i < mTabs.size(); i++ ) {