aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2025-02-05 18:25:25 +0100
committerdec05eba <dec05eba@protonmail.com>2025-02-05 18:25:25 +0100
commitfbbcac14eb9a785075355a385a2da4a68117b87f (patch)
tree9788599caad5d73ac38c5df4d75e3632493e2bf8
parentcd258b5f2c6b3c9e41870703e1063a79e3a6abb4 (diff)
Add Window::set_scissor and Window::get_scissor
-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);
}