aboutsummaryrefslogtreecommitdiff
path: root/src/gui/GsrPage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/GsrPage.cpp')
-rw-r--r--src/gui/GsrPage.cpp13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/gui/GsrPage.cpp b/src/gui/GsrPage.cpp
index 68ee292..c5fa263 100644
--- a/src/gui/GsrPage.cpp
+++ b/src/gui/GsrPage.cpp
@@ -102,15 +102,8 @@ namespace gsr {
void GsrPage::draw_children(mgl::Window &window, mgl::vec2f position) {
Widget *selected_widget = selected_child_widget;
- mgl_scissor prev_scissor;
- mgl_window_get_scissor(window.internal_window(), &prev_scissor);
-
- const mgl::vec2f inner_size = get_inner_size();
- const mgl_scissor new_scissor = {
- mgl_vec2i{(int)position.x, (int)position.y},
- mgl_vec2i{(int)inner_size.x, (int)inner_size.y}
- };
- mgl_window_set_scissor(window.internal_window(), &new_scissor);
+ const mgl::Scissor prev_scissor = window.get_scissor();
+ window.set_scissor({position.to_vec2i(), get_inner_size().to_vec2i()});
for(size_t i = 0; i < widgets.size(); ++i) {
auto &widget = widgets[i];
@@ -121,7 +114,7 @@ namespace gsr {
if(selected_widget)
selected_widget->draw(window, position);
- mgl_window_set_scissor(window.internal_window(), &prev_scissor);
+ window.set_scissor(prev_scissor);
}
mgl::vec2f GsrPage::get_size() {