From 3534f2e782221bd6435a44a76362f23bce97dfcc Mon Sep 17 00:00:00 2001 From: Jorijn van der Graaf Date: Tue, 25 Nov 2025 02:21:06 +0100 Subject: [PATCH] moved width height to window --- implementations/Crafter.Graphics-Window.cpp | 29 +++++++++++++++++++ .../Crafter.Graphics-Window_wayland.cpp | 2 +- interfaces/Crafter.Graphics-Window.cppm | 11 +++---- 3 files changed, 36 insertions(+), 6 deletions(-) create mode 100644 implementations/Crafter.Graphics-Window.cpp diff --git a/implementations/Crafter.Graphics-Window.cpp b/implementations/Crafter.Graphics-Window.cpp new file mode 100644 index 0000000..3ca506b --- /dev/null +++ b/implementations/Crafter.Graphics-Window.cpp @@ -0,0 +1,29 @@ +/* +Crafter®.Graphics +Copyright (C) 2025 Catcrafts® +catcrafts.net + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License version 3.0 as published by the Free Software Foundation; + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + + +module Crafter.Graphics:Window_impl; +import :Window; +import std; + +using namespace Crafter; + +Window::Window(std::uint_fast32_t width, std::uint_fast32_t height) : width(width), height(height) { + +} \ No newline at end of file diff --git a/implementations/Crafter.Graphics-Window_wayland.cpp b/implementations/Crafter.Graphics-Window_wayland.cpp index 6ecd299..c7221dc 100644 --- a/implementations/Crafter.Graphics-Window_wayland.cpp +++ b/implementations/Crafter.Graphics-Window_wayland.cpp @@ -47,7 +47,7 @@ import Crafter.Event; using namespace Crafter; -WindowFramebuffer::WindowFramebuffer(std::uint_fast32_t width, std::uint_fast32_t height) : width(width), height(height) { +WindowFramebuffer::WindowFramebuffer(std::uint_fast32_t width, std::uint_fast32_t height) : Window(width, height) { } diff --git a/interfaces/Crafter.Graphics-Window.cppm b/interfaces/Crafter.Graphics-Window.cppm index 89097ca..5c17dd0 100644 --- a/interfaces/Crafter.Graphics-Window.cppm +++ b/interfaces/Crafter.Graphics-Window.cppm @@ -47,12 +47,15 @@ export namespace Crafter { class UiElement; class Window { public: + std::uint_fast32_t width; + std::uint_fast32_t height; std::chrono::time_point lastFrameEnd; Event onClose; Event onUpdate; bool open = true; bool updating = false; Window() = default; + Window(std::uint_fast32_t width, std::uint_fast32_t height); Window(Window&) = delete; Window(Window&&) = delete; virtual ~Window() = default; @@ -100,12 +103,10 @@ export namespace Crafter { }; class Transform; - class WindowFramebuffer { + class WindowFramebuffer : public Window { public: - std::uint_fast32_t width; - std::uint_fast32_t height; WindowFramebuffer() = default; - WindowFramebuffer(std::uint_fast32_t width, std::uint_fast32_t height); + WindowFramebuffer(std::uint_fast32_t width, std::uint_fast32_t height); virtual void Resize(std::uint_fast32_t width, std::uint_fast32_t height) = 0; virtual void Write(Pixel_BU8_GU8_RU8_AU8* pixels) = 0; virtual void Write(std::uint_fast32_t x, std::uint_fast32_t y, Pixel_BU8_GU8_RU8_AU8 pixel) = 0; @@ -121,7 +122,7 @@ export namespace Crafter { #ifdef CRAFTER_GRAPHICS_WAYLAND class UiElementBufferBuffer; - class WindowWayland final: public Window, public WindowKeyboard, public WindowMouse, public WindowFramebuffer, public WindowTitle { + class WindowWayland final : public WindowKeyboard, public WindowMouse, public WindowFramebuffer, public WindowTitle { public: Pixel_BU8_GU8_RU8_AU8* framebuffer = nullptr; std::vector elements;