}
if (value > 0.0f) {
+ glm::vec2 bottom_right = Position() + fullsize - glm::vec2(border) - padding;
+ bottom_right.x -= size.x * (1.0f - value);
assets.shaders.canvas.SetColor(fill_color);
assets.shaders.canvas.FillRect(
Position() + glm::vec2(border) + padding,
- Position() + fullsize - glm::vec2(border) - padding
+ bottom_right
);
}
}
}
glm::vec2 Panel::Size() {
- return (2.0f * padding) + glm::vec2(0.0f, (widgets.size() - 1) * spacing) + size;
+ glm::vec2 space(0.0f);
+ space[dir] = (widgets.size() - 1) * spacing;
+ return (2.0f * padding) + space + size;
}
void Panel::Relayout() {