fix: panel width differs to size specified in xml

This commit is contained in:
MihailRis 2025-11-25 21:54:58 +03:00
parent 145a7b6273
commit 8cc51a107e
2 changed files with 4 additions and 5 deletions

View File

@ -81,7 +81,9 @@ void Panel::refresh() {
float ex = x + margin.x;
node->setPos(glm::vec2(ex, y));
float width = size.x - padding.x - padding.z - margin.x - margin.z;
int width = glm::floor(
size.x - padding.x - padding.z - margin.x - margin.z
);
if (node->isResizing()) {
node->setMaxSize({width, node->getMaxSize().y});
node->setSize(glm::vec2(width, node->getSize().y));

View File

@ -244,10 +244,7 @@ static void read_base_panel_impl(
if (element.has("padding")) {
glm::vec4 padding = element.attr("padding").asVec4();
panel.setPadding(padding);
glm::vec2 size = panel.getSize();
panel.setSize(glm::vec2(
size.x + padding.x + padding.z, size.y + padding.y + padding.w
));
panel.refresh();
}
if (element.has("orientation")) {
auto& oname = element.attr("orientation").getText();