diff --git a/bin/assets/layouts/test.xml b/bin/assets/layouts/test.xml
index f05cd0052..b5160717e 100644
--- a/bin/assets/layouts/test.xml
+++ b/bin/assets/layouts/test.xml
@@ -1,45 +1,55 @@
-
-
-
-
-
-
-
-
-
- - Test
- - Test 2
- - Test 3
-
-
- - Test
- - Test 2
- - Test 3
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ - Test
+ - Test 2
+ - Test 3
+
+
+ - Test
+ - Test 2
+ - Test 3
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/include/eepp/ui/uitabwidget.hpp b/include/eepp/ui/uitabwidget.hpp
index d733c518c..f7c3c7e20 100644
--- a/include/eepp/ui/uitabwidget.hpp
+++ b/include/eepp/ui/uitabwidget.hpp
@@ -154,6 +154,8 @@ class EE_API UITabWidget : public UIWidget {
virtual void onChildCountChange();
+ virtual void onPaddingChange();
+
void setTabSelected( UITab * Tab );
void setTabContainerSize();
diff --git a/src/eepp/ui/uitabwidget.cpp b/src/eepp/ui/uitabwidget.cpp
index a8b069d32..b001e7a3b 100644
--- a/src/eepp/ui/uitabwidget.cpp
+++ b/src/eepp/ui/uitabwidget.cpp
@@ -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++ ) {