- glm::vec3 top_left(glm::vec2(TopLeft()) + padding + glm::vec2(border), Position().z);
- glm::vec2 actual_size(size.x * value, size.y);
-
- assets.shaders.plain_color.SetM(glm::translate(align(Gravity::NORTH_WEST, actual_size, top_left))
- * glm::scale(glm::vec3(actual_size, 1.0f)));
- assets.shaders.plain_color.SetColor(fill_color);
- assets.shaders.plain_color.DrawRect();
+ 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,
+ bottom_right
+ );