From fbbcac14eb9a785075355a385a2da4a68117b87f Mon Sep 17 00:00:00 2001 From: dec05eba Date: Wed, 5 Feb 2025 18:25:25 +0100 Subject: Add Window::set_scissor and Window::get_scissor --- include/mglpp/window/Window.hpp | 8 ++++++++ src/window/Window.cpp | 10 ++++++++++ 2 files changed, 18 insertions(+) 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); } -- cgit v1.2.3