aboutsummaryrefslogtreecommitdiff
path: root/include/QuickMedia.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/QuickMedia.hpp')
-rw-r--r--include/QuickMedia.hpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/include/QuickMedia.hpp b/include/QuickMedia.hpp
new file mode 100644
index 0000000..291afff
--- /dev/null
+++ b/include/QuickMedia.hpp
@@ -0,0 +1,36 @@
+#pragma once
+
+#include "SearchBar.hpp"
+#include "Page.hpp"
+#include <vector>
+#include <stack>
+#include <memory>
+#include <SFML/Graphics/Font.hpp>
+#include <SFML/Graphics/RenderWindow.hpp>
+
+namespace QuickMedia {
+ class Body;
+ class Plugin;
+
+ class Program {
+ public:
+ Program();
+ ~Program();
+ void run();
+ private:
+ void base_event_handler(sf::Event &event);
+ void search_suggestion_page();
+ void search_result_page();
+ void video_content_page();
+ private:
+ sf::RenderWindow window;
+ sf::Vector2f window_size;
+ sf::Font font;
+ Body *body;
+ Plugin *current_plugin;
+ std::unique_ptr<SearchBar> search_bar;
+ Page current_page;
+ std::string video_url;
+ std::stack<Page> page_view_stack;
+ };
+} \ No newline at end of file