aboutsummaryrefslogtreecommitdiff
path: root/include/ImageViewer.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/ImageViewer.hpp')
-rw-r--r--include/ImageViewer.hpp43
1 files changed, 21 insertions, 22 deletions
diff --git a/include/ImageViewer.hpp b/include/ImageViewer.hpp
index d503f82..182a6a2 100644
--- a/include/ImageViewer.hpp
+++ b/include/ImageViewer.hpp
@@ -3,16 +3,15 @@
#include "Path.hpp"
#include <string>
#include <vector>
-#include <SFML/Graphics/Texture.hpp>
-#include <SFML/Graphics/Sprite.hpp>
-#include <SFML/Graphics/Text.hpp>
-#include <SFML/System/Clock.hpp>
-#include <SFML/Window/Cursor.hpp>
+#include <mglpp/graphics/Texture.hpp>
+#include <mglpp/graphics/Sprite.hpp>
+#include <mglpp/graphics/Text.hpp>
+#include <mglpp/system/Clock.hpp>
#include <thread>
#include <memory>
-namespace sf {
- class RenderWindow;
+namespace mgl {
+ class Window;
}
namespace QuickMedia {
@@ -25,17 +24,17 @@ namespace QuickMedia {
};
struct ImageData {
- sf::Texture texture;
- sf::Sprite sprite;
+ mgl::Texture texture;
+ mgl::Sprite sprite;
ImageStatus image_status;
- std::unique_ptr<sf::Image> image;
+ std::unique_ptr<mgl::Image> image;
bool visible_on_screen;
float prev_height = 0.0f;
};
struct PageSize {
- sf::Vector2<double> size;
- sf::Vector2<double> prev_size;
+ mgl::vec2d size;
+ mgl::vec2d prev_size;
bool loaded;
};
@@ -47,7 +46,7 @@ namespace QuickMedia {
class ImageViewer {
public:
- ImageViewer(sf::RenderWindow *window, int num_pages, const std::string &content_title, const std::string &chapter_title, int current_page, const Path &chapter_cache_dir, bool *fit_image_to_window);
+ ImageViewer(mgl::Window *window, int num_pages, const std::string &content_title, const std::string &chapter_title, int current_page, const Path &chapter_cache_dir, bool *fit_image_to_window);
~ImageViewer();
ImageViewerAction draw();
// Returns page as 1 indexed
@@ -55,10 +54,10 @@ namespace QuickMedia {
int get_num_pages() const { return num_pages; }
private:
void load_image_async(const Path &path, std::shared_ptr<ImageData> image_data);
- bool render_page(sf::RenderWindow &window, int page, double offset_y);
- sf::Vector2<double> get_page_size(int page);
+ bool render_page(mgl::Window &window, int page, double offset_y);
+ mgl::vec2d get_page_size(int page);
private:
- sf::RenderWindow *window;
+ mgl::Window *window;
int current_page;
int num_pages;
@@ -75,20 +74,20 @@ namespace QuickMedia {
int focused_page;
int prev_focused_page = -1;
- sf::Font *font;
- sf::Clock frame_timer;
- sf::Text page_text;
+ mgl::Clock frame_timer;
+ mgl::Text page_text;
std::vector<std::shared_ptr<ImageData>> image_data;
std::vector<PageSize> page_size;
- sf::Vector2<double> window_size;
+ mgl::vec2d window_size;
bool window_size_set = false;
bool middle_mouse_scrolling = false;
double autoscroll_start_y = 0.0;
- sf::Cursor default_cursor;
- sf::Cursor size_vertical_cursor;
+ // TODO: Fix
+ //sf::Cursor default_cursor;
+ //sf::Cursor size_vertical_cursor;
bool has_default_cursor;
bool has_size_vertical_cursor;