#pragma once #include "constants.hpp" #include #include "camera.hpp" #include namespace storyboard { struct UI { guecs::UI $ui; sf::RenderTexture $view_texture; sf::Sprite $view_sprite; cinematic::Camera $camera; std::shared_ptr $audio; std::string $zoom_target = "a"; bool $moving = false; int cur_beat = 0; components::Storyboard $story; std::string $layout; UI(const std::string& story_name); void init(); void render(sf::RenderWindow &window); bool mouse(float x, float y, guecs::Modifiers mods); void zoom(const std::string &cell_name); void reset(); void track_audio(); bool playing(); }; }