aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/mglpp/window/Window.hpp8
-rw-r--r--src/window/Window.cpp10
2 files changed, 18 insertions, 0 deletions
diff --git a/include/mglpp/window/Window.hpp b/include/mglpp/window/Window.hpp
index 2c179a8..c2d6cff 100644
--- a/include/mglpp/window/Window.hpp
+++ b/include/mglpp/window/Window.hpp
@@ -27,6 +27,11 @@ namespace mgl {
vec2i size;
};
+ struct Scissor {
+ vec2i position;
+ vec2i size;
+ };
+
/*
Return true to continue. |get_clipboard| returns false if this returns false.
Note: |size| is the size of the current data, not the total data (if the callback only contains a part of the data).
@@ -103,6 +108,9 @@ namespace mgl {
void set_view(const View &new_view);
View get_view();
+ void set_scissor(const Scissor &scissor);
+ Scissor get_scissor();
+
bool is_key_pressed(Keyboard::Key key) const;
bool is_mouse_button_pressed(Mouse::Button button) const;
diff --git a/src/window/Window.cpp b/src/window/Window.cpp
index 731ca8e..ab42de0 100644
--- a/src/window/Window.cpp
+++ b/src/window/Window.cpp
@@ -159,6 +159,16 @@ namespace mgl {
return view;
}
+ void Window::set_scissor(const Scissor &scissor) {
+ mgl_window_set_scissor(&window, (mgl_scissor*)&scissor);
+ }
+
+ Scissor Window::get_scissor() {
+ Scissor scissor;
+ mgl_window_get_scissor(&window, (mgl_scissor*)&scissor);
+ return scissor;
+ }
+
bool Window::is_key_pressed(Keyboard::Key key) const {
return mgl_window_is_key_pressed(&window, (mgl_key)key);
}