summaryrefslogtreecommitdiff
path: root/src/bookmouse.hpp
diff options
context:
space:
mode:
authorDominick Allen <djallen@librehumanitas.org>2024-09-23 00:33:33 -0500
committerDominick Allen <djallen@librehumanitas.org>2024-09-23 00:33:33 -0500
commit500e1f9892dd41419663e9f72cf47bab5b2aca0b (patch)
treea0709693d5317a6b89cdda7ac3143886b93552f4 /src/bookmouse.hpp
parentfa4b4097d3283e1d6e6376c70910e245f0b1f6ec (diff)
Saving work.
Diffstat (limited to 'src/bookmouse.hpp')
-rw-r--r--src/bookmouse.hpp51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/bookmouse.hpp b/src/bookmouse.hpp
new file mode 100644
index 0000000..b2a3a5a
--- /dev/null
+++ b/src/bookmouse.hpp
@@ -0,0 +1,51 @@
+#ifndef BOOKMOUSE_HPP
+#define BOOKMOUSE_HPP
+
+#include "archive.hpp"
+
+#include <QtWidgets>
+#include <cstdint>
+#include <vector>
+
+namespace bookmouse {
+
+enum class PageLayout : uint8_t {
+ Single,
+ Dual,
+ Manga
+};
+
+class Bookmouse : public QWidget {
+ Q_OBJECT
+
+ public:
+ friend class BookmouseApp;
+ Bookmouse();
+
+ public slots:
+ void setArchive(Archive* archive);
+ void next();
+ void back();
+
+ private:
+ void setPages();
+ void setPagesNormal();
+ void setPagesDual();
+ void setPagesManga();
+ void setPages(QLabel& label1, QLabel& label2);
+
+ QLayout* m_layout{nullptr};
+
+ Archive* m_archive{nullptr};
+
+ PageLayout m_pageLayout{PageLayout::Single};
+
+ QLabel m_pageLeft{};
+ QLabel m_pageRight{};
+
+ size_t m_pageNumber{0};
+};
+
+} // namespace bookmouse
+
+#endif