diff --git a/src/window/detail/input_sdl.cpp b/src/window/detail/input_sdl.cpp index d45125fa6..1071357c9 100644 --- a/src/window/detail/input_sdl.cpp +++ b/src/window/detail/input_sdl.cpp @@ -119,7 +119,7 @@ Mousecode input_util::mousecode_from(const std::string& name) { return static_cast(found->second); } -input_sdl::input_sdl(window_sdl& window) : window(window) { +input_sdl::input_sdl(SDLWindow& window) : window(window) { input_util::initialize(); // We should always get char stream (maybe) SDL_StartTextInput(window.getSdlWindow()); diff --git a/src/window/detail/input_sdl.hpp b/src/window/detail/input_sdl.hpp index a524f2023..8bdfe3159 100644 --- a/src/window/detail/input_sdl.hpp +++ b/src/window/detail/input_sdl.hpp @@ -3,7 +3,7 @@ #include "window/input.hpp" #include "window/window.hpp" -class window_sdl; +class SDLWindow; class input_sdl final : public Input { public: @@ -11,7 +11,7 @@ public: inline static constexpr short keys_buffer_size = mouse_keys_offset + sizeof(mousecodes_all) / sizeof(mousecodes_all[0]); - input_sdl(window_sdl& window); + input_sdl(SDLWindow& window); void pollEvents() override; @@ -53,5 +53,5 @@ private: std::vector pressedKeys; std::unordered_map> keyCallbacks; - window_sdl& window; + SDLWindow& window; }; \ No newline at end of file diff --git a/src/window/detail/window_sdl.cpp b/src/window/detail/window_sdl.cpp index 6024fe3c5..331f52b3f 100644 --- a/src/window/detail/window_sdl.cpp +++ b/src/window/detail/window_sdl.cpp @@ -141,7 +141,7 @@ static bool initialize_gl(int width, int height) { return true; } -window_sdl::window_sdl(DisplaySettings *settings, std::string title) noexcept { +SDLWindow::SDLWindow(DisplaySettings *settings, std::string title) noexcept { if (!SDL_Init(SDL_INIT_VIDEO | SDL_INIT_EVENTS)) { logger.error() << "failed to initialize SDL: " << SDL_GetError(); isSuccessfull = false; @@ -217,7 +217,7 @@ window_sdl::window_sdl(DisplaySettings *settings, std::string title) noexcept { logger.info() << "monitor content scale: " << scale; } -window_sdl::~window_sdl() { +SDLWindow::~SDLWindow() { if (window) { SDL_DestroyWindow(window); } @@ -228,32 +228,32 @@ window_sdl::~window_sdl() { } } -void window_sdl::swapBuffers() noexcept { +void SDLWindow::swapBuffers() noexcept { if (!SDL_GL_SwapWindow(window)) [[unlikely]] { // C++20 needed logger.error() << "Cant swap buffer: " << SDL_GetError(); } resetScissor(); } -bool window_sdl::isMaximized() const { +bool SDLWindow::isMaximized() const { return (SDL_GetWindowFlags(window) & SDL_WINDOW_MAXIMIZED) != 0; } -bool window_sdl::isFocused() const { +bool SDLWindow::isFocused() const { Uint32 flags = SDL_GetWindowFlags(window); return (flags & SDL_WINDOW_INPUT_FOCUS) != 0 || (flags & SDL_WINDOW_MOUSE_FOCUS) != 0; } -bool window_sdl::isIconified() const { +bool SDLWindow::isIconified() const { return (SDL_GetWindowFlags(window) & SDL_WINDOW_MINIMIZED) != 0; } -bool window_sdl::isShouldClose() const { +bool SDLWindow::isShouldClose() const { return toClose; } -void window_sdl::setShouldClose(bool flag) { +void SDLWindow::setShouldClose(bool flag) { toClose = flag; } -void window_sdl::setCursor(CursorShape shape) { +void SDLWindow::setCursor(CursorShape shape) { // so it method called each frame, we always recreate cursor. // Refactor it if (cursor) { @@ -318,7 +318,7 @@ void window_sdl::setCursor(CursorShape shape) { SDL_SetCursor(cursor); } } -void window_sdl::toggleFullscreen() { +void SDLWindow::toggleFullscreen() { fullscreen = !fullscreen; if (!SDL_SetWindowFullscreen(window, fullscreen)) { logger.error() << "Cant toggle fullscreen window: " << SDL_GetError(); @@ -328,11 +328,11 @@ void window_sdl::toggleFullscreen() { << SDL_GetError(); } } -bool window_sdl::isFullscreen() const { +bool SDLWindow::isFullscreen() const { return fullscreen; } -void window_sdl::setIcon(const ImageData *image) { +void SDLWindow::setIcon(const ImageData *image) { if (image == nullptr) { logger.error() << "Image is nullptr"; return; @@ -361,7 +361,7 @@ void window_sdl::setIcon(const ImageData *image) { SDL_DestroySurface(iconSurface); } -void window_sdl::pushScissor(glm::vec4 area) { +void SDLWindow::pushScissor(glm::vec4 area) { if (scissorStack.empty()) { glEnable(GL_SCISSOR_TEST); } @@ -389,13 +389,13 @@ void window_sdl::pushScissor(glm::vec4 area) { scissorArea = area; } -void window_sdl::resetScissor() { +void SDLWindow::resetScissor() { scissorArea = glm::vec4(0.0f, 0.0f, size.x, size.y); scissorStack = std::stack(); glDisable(GL_SCISSOR_TEST); } -void window_sdl::popScissor() { +void SDLWindow::popScissor() { if (scissorStack.empty()) { logger.warning() << "extra Window::popScissor call"; return; @@ -418,11 +418,11 @@ void window_sdl::popScissor() { scissorArea = area; } -double window_sdl::time() { +double SDLWindow::time() { return static_cast(SDL_GetTicksNS()) / 1'000'000'000; } -void window_sdl::setFramerate(int framerate) { +void SDLWindow::setFramerate(int framerate) { /*todo*/ if (!SDL_GL_SetSwapInterval(framerate)) { logger.error() << "Failed to set framerate: " << SDL_GetError(); @@ -431,7 +431,7 @@ void window_sdl::setFramerate(int framerate) { // todo: move somewhere // Possible do with SDL_RenderReadPixels -std::unique_ptr window_sdl::takeScreenshot() { +std::unique_ptr SDLWindow::takeScreenshot() { glBindFramebuffer(GL_FRAMEBUFFER, 0); auto data = std::make_unique(size.x * size.y * 3); glPixelStorei(GL_PACK_ALIGNMENT, 1); @@ -441,17 +441,17 @@ std::unique_ptr window_sdl::takeScreenshot() { ); } -[[nodiscard]] bool window_sdl::isValid() const { +[[nodiscard]] bool SDLWindow::isValid() const { return isSuccessfull; } -[[nodiscard]] SDL_Window *window_sdl::getSdlWindow() const { +[[nodiscard]] SDL_Window *SDLWindow::getSdlWindow() const { return window; } std::tuple, std::unique_ptr> Window::initialize( DisplaySettings *settings, std::string title ) { - auto window = std::make_unique(settings, title); + auto window = std::make_unique(settings, title); if (!window->isValid()) { return {nullptr, nullptr}; } diff --git a/src/window/detail/window_sdl.hpp b/src/window/detail/window_sdl.hpp index d6f507258..7c0fefa73 100644 --- a/src/window/detail/window_sdl.hpp +++ b/src/window/detail/window_sdl.hpp @@ -5,14 +5,14 @@ #include "window/window.hpp" -class window_sdl final : public Window { +class SDLWindow final : public Window { public: - window_sdl(DisplaySettings *settings, std::string title) noexcept; - ~window_sdl(); - window_sdl(const window_sdl &) = delete; - window_sdl(window_sdl &&) = default; - window_sdl &operator=(const window_sdl &) = delete; - window_sdl &operator=(window_sdl &&) = default; + SDLWindow(DisplaySettings *settings, std::string title) noexcept; + ~SDLWindow(); + SDLWindow(const SDLWindow &) = delete; + SDLWindow(SDLWindow &&) = default; + SDLWindow &operator=(const SDLWindow &) = delete; + SDLWindow &operator=(SDLWindow &&) = default; void swapBuffers() noexcept override;