#ifndef BOOKMOUSE_HPP #define BOOKMOUSE_HPP #include "archive.hpp" #include "gl_context.hpp" #include "imgui_context.hpp" #include "sdl_context.hpp" #include "sdl_main_window.hpp" #include namespace bookmouse { constexpr const char* AppName = "Bookmouse"; constexpr const char* AppVersionString = "1.0.0"; enum class PageLayout : uint8_t { Single, Dual, Manga }; class Bookmouse { public: Bookmouse() noexcept(false); int run(); private: SDL_Event pollEvent(); void updateState(); void renderFrame(); void menuing(); void openDialog(); void setArchive(std::unique_ptr&& archive); SdlContext m_sdlContext; SdlMainWindow m_mainWindow; GlContext m_glContext; ImguiContext m_imgui; bool m_running{true}; bool m_openDialog{false}; std::unique_ptr m_archive{nullptr}; PageLayout m_pageLayout{PageLayout::Single}; size_t m_pageNumber{0}; // pageLeft // pageRight /* void setPages(); void setPages(QLabel& label1, QLabel& label2); void setPagesNormal(); void setPagesDual(); void setPagesManga(); */ }; } // namespace bookmouse #endif