Improve appearance of dialog with display cutout
This commit is contained in:
parent
4ec4fda91b
commit
c0ffdc78f4
@ -105,6 +105,7 @@ namespace GUIEngine
|
||||
void elementsWereDeleted(PtrVector<Widget>* within_vector = NULL);
|
||||
|
||||
bool isMyChild(Widget* widget) const;
|
||||
virtual bool enableScreenPadding() const { return true; }
|
||||
}; // AbstractTopLevelContainer
|
||||
|
||||
} // namespace GUIEngine
|
||||
|
@ -321,14 +321,17 @@ void LayoutManager::applyCoords(Widget* self, AbstractTopLevelContainer* topLeve
|
||||
//parent_w = frame_size.Width;
|
||||
//parent_h = frame_size.Height;
|
||||
parent_w = topLevelContainer->getWidth();
|
||||
int total_padding = irr_driver->getDevice()->getLeftPadding() +
|
||||
irr_driver->getDevice()->getRightPadding();
|
||||
int left_padding = irr_driver->getDevice()->getLeftPadding();
|
||||
int right_padding = irr_driver->getDevice()->getRightPadding();
|
||||
if (!topLevelContainer->enableScreenPadding())
|
||||
left_padding = right_padding = 0;
|
||||
int total_padding = left_padding + right_padding;
|
||||
if (parent_w - total_padding > 0)
|
||||
parent_w -= total_padding;
|
||||
parent_h = topLevelContainer->getHeight();
|
||||
parent_x = 0;
|
||||
if (irr_driver->getDevice()->getLeftPadding() > 0)
|
||||
parent_x = irr_driver->getDevice()->getLeftPadding();
|
||||
if (left_padding > 0)
|
||||
parent_x = left_padding;
|
||||
parent_y = 0;
|
||||
}
|
||||
else
|
||||
|
@ -97,7 +97,12 @@ void ModalDialog::doInit()
|
||||
const core::dimension2d<u32>& frame_size =
|
||||
GUIEngine::getDriver()->getCurrentRenderTargetSize();
|
||||
|
||||
const int w = (int)(frame_size.Width* m_percent_width);
|
||||
int left_padding = irr_driver->getDevice()->getLeftPadding();
|
||||
int right_padding = irr_driver->getDevice()->getRightPadding();
|
||||
int total_padding = left_padding + right_padding;
|
||||
int w = (int)(frame_size.Width* m_percent_width);
|
||||
if (w > total_padding)
|
||||
w -= total_padding;
|
||||
const int h = (int)(frame_size.Height* m_percent_height);
|
||||
|
||||
assert(frame_size.Width > 0);
|
||||
|
@ -139,6 +139,7 @@ namespace GUIEngine
|
||||
bool fadeBackground() const { return m_fade_background; }
|
||||
|
||||
bool isMyIrrChild(irr::gui::IGUIElement* widget) const { return m_irrlicht_window->isMyChild(widget); }
|
||||
virtual bool enableScreenPadding() const { return false; }
|
||||
};
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user