desktop code refactoring

Signed-off-by: Peter Siegmund <developer@mars3142.org>
This commit is contained in:
2025-04-10 23:31:16 +02:00
parent b3bf03999b
commit 5b82cd8189
22 changed files with 163 additions and 158 deletions

View File

@@ -2,42 +2,42 @@
#include "ui/Matrix.h"
auto AppContext::window() const -> SDL_Window * {
auto AppContext::window() const -> SDL_Window* {
return m_window->window();
}
auto AppContext::renderer() const -> SDL_Renderer * {
auto AppContext::renderer() const -> SDL_Renderer* {
return m_window->renderer();
}
auto AppContext::surface() const -> SDL_Surface * {
auto AppContext::surface() const -> SDL_Surface* {
return SDL_GetWindowSurface(m_window->window());
}
void AppContext::setMatrix(Matrix *matrix) {
void AppContext::setMatrix(Matrix* matrix) {
m_matrix = matrix;
}
auto AppContext::matrix() const -> Matrix * {
auto AppContext::matrix() const -> Matrix* {
return m_matrix;
}
auto AppContext::matrix_window() const -> SDL_Window * {
if (m_matrix && m_matrix->window()) {
auto AppContext::matrix_window() const -> SDL_Window* {
if(m_matrix && m_matrix->window()) {
return m_matrix->window()->window();
}
return nullptr;
}
auto AppContext::matrix_renderer() const -> SDL_Renderer * {
if (m_matrix && m_matrix->window()) {
auto AppContext::matrix_renderer() const -> SDL_Renderer* {
if(m_matrix && m_matrix->window()) {
return m_matrix->window()->renderer();
}
return nullptr;
}
void AppContext::matrix_render() const {
if (m_matrix && m_matrix->window()) {
if(m_matrix && m_matrix->window()) {
m_matrix->render();
}
}

43
src/model/AppContext.h Normal file
View File

@@ -0,0 +1,43 @@
#pragma once
#include "SDL3_ttf/SDL_ttf.h"
#include "Window.h"
class Matrix;
class AppContext {
public:
explicit AppContext(const Window* window)
: m_window(window) {
m_font_default = TTF_OpenFont("assets/haxrcorp-4089.otf", 21);
m_font_text = TTF_OpenFont("assets/Helvetica-Bold.otf", 21);
}
~AppContext() {
TTF_CloseFont(m_font_default);
TTF_CloseFont(m_font_text);
}
[[nodiscard]] auto window() const -> SDL_Window*;
[[nodiscard]] auto renderer() const -> SDL_Renderer*;
[[nodiscard]] auto surface() const -> SDL_Surface*;
void setMatrix(Matrix* matrix);
[[nodiscard]] auto matrix() const -> Matrix*;
[[nodiscard]] auto matrix_window() const -> SDL_Window*;
[[nodiscard]] auto matrix_renderer() const -> SDL_Renderer*;
void matrix_render() const;
TTF_Font* m_font_default = nullptr;
private:
const Window* m_window;
Matrix* m_matrix = nullptr;
TTF_Font* m_font_text = nullptr;
};

View File

@@ -1,9 +1,9 @@
#include "model/Window.h"
auto Window::window() const -> SDL_Window * {
auto Window::window() const -> SDL_Window* {
return m_window;
}
auto Window::renderer() const -> SDL_Renderer * {
auto Window::renderer() const -> SDL_Renderer* {
return SDL_GetRenderer(m_window);
}

17
src/model/Window.h Normal file
View File

@@ -0,0 +1,17 @@
#pragma once
#include "SDL3/SDL.h"
class Window {
public:
explicit Window(SDL_Window* window)
: m_window(window) {
}
[[nodiscard]] auto window() const -> SDL_Window*;
[[nodiscard]] auto renderer() const -> SDL_Renderer*;
private:
SDL_Window* m_window = nullptr;
};