+\r
+ // Child padding and offset\r
+ Padding = style.getRect(StyleSpec::PADDING, core::rect<s32>());\r
+ Padding = core::rect<s32>(\r
+ Padding.UpperLeftCorner + BgMiddle.UpperLeftCorner,\r
+ Padding.LowerRightCorner + BgMiddle.LowerRightCorner);\r
+\r
+ GUISkin* skin = dynamic_cast<GUISkin*>(Environment->getSkin());\r
+ core::vector2d<s32> defaultPressOffset(\r
+ skin->getSize(irr::gui::EGDS_BUTTON_PRESSED_IMAGE_OFFSET_X),\r
+ skin->getSize(irr::gui::EGDS_BUTTON_PRESSED_IMAGE_OFFSET_Y));\r
+ ContentOffset = style.getVector2i(StyleSpec::CONTENT_OFFSET, isPressed()\r
+ ? defaultPressOffset\r
+ : core::vector2d<s32>(0));\r
+\r
+ core::rect<s32> childBounds(\r
+ Padding.UpperLeftCorner.X + ContentOffset.X,\r
+ Padding.UpperLeftCorner.Y + ContentOffset.Y,\r
+ AbsoluteRect.getWidth() + Padding.LowerRightCorner.X + ContentOffset.X,\r
+ AbsoluteRect.getHeight() + Padding.LowerRightCorner.Y + ContentOffset.Y);\r
+\r
+ for (IGUIElement *child : getChildren()) {\r
+ child->setRelativePosition(childBounds);\r
+ }\r