diff options
Diffstat (limited to 'include/Overlay.hpp')
-rw-r--r-- | include/Overlay.hpp | 40 |
1 files changed, 32 insertions, 8 deletions
diff --git a/include/Overlay.hpp b/include/Overlay.hpp index d7b8af1..3de89c2 100644 --- a/include/Overlay.hpp +++ b/include/Overlay.hpp @@ -6,9 +6,11 @@ #include "Config.hpp" #include "window_texture.h" #include "WindowUtils.hpp" -#include "GlobalHotkeysJoystick.hpp" +#include "GlobalHotkeys/GlobalHotkeysJoystick.hpp" #include "AudioPlayer.hpp" #include "RegionSelector.hpp" +#include "WindowSelector.hpp" +#include "CursorTracker/CursorTracker.hpp" #include <mglpp/window/Window.hpp> #include <mglpp/window/Event.hpp> @@ -58,12 +60,15 @@ namespace gsr { void toggle_stream(); void toggle_replay(); void save_replay(); + void save_replay_1_min(); + void save_replay_10_min(); void take_screenshot(); void take_screenshot_region(); - void show_notification(const char *str, double timeout_seconds, mgl::Color icon_color, mgl::Color bg_color, NotificationType notification_type); + void show_notification(const char *str, double timeout_seconds, mgl::Color icon_color, mgl::Color bg_color, NotificationType notification_type, const char *capture_target = nullptr); bool is_open() const; bool should_exit(std::string &reason) const; void exit(); + void go_back_to_old_ui(); const Config& get_config() const; @@ -85,7 +90,8 @@ namespace gsr { void update_notification_process_status(); void save_video_in_current_game_directory(const char *video_filepath, NotificationType notification_type); void on_replay_saved(const char *replay_saved_filepath); - void update_gsr_replay_save(); + void process_gsr_output(); + void on_gsr_process_error(int exit_code, NotificationType notification_type); void update_gsr_process_status(); void update_gsr_screenshot_process_status(); @@ -94,7 +100,7 @@ namespace gsr { void update_power_supply_status(); void update_system_startup_status(); - void on_stop_recording(int exit_code); + void on_stop_recording(int exit_code, const std::string &video_filepath); void update_ui_recording_paused(); void update_ui_recording_unpaused(); @@ -108,13 +114,18 @@ namespace gsr { void update_ui_replay_started(); void update_ui_replay_stopped(); + void prepare_gsr_output_for_reading(); void on_press_save_replay(); - bool on_press_start_replay(bool disable_notification, bool finished_region_selection); - void on_press_start_record(bool finished_region_selection); - void on_press_start_stream(bool finished_region_selection); - void on_press_take_screenshot(bool finished_region_selection, bool force_region_capture); + void on_press_save_replay_1_min_replay(); + void on_press_save_replay_10_min_replay(); + bool on_press_start_replay(bool disable_notification, bool finished_selection); + void on_press_start_record(bool finished_selection); + void on_press_start_stream(bool finished_selection); + void on_press_take_screenshot(bool finished_selection, bool force_region_capture); bool update_compositor_texture(const Monitor &monitor); + std::string get_capture_target(const std::string &capture_target, const SupportedCaptureOptions &capture_options); + void force_window_on_top(); private: using KeyBindingCallback = std::function<void()>; @@ -200,10 +211,23 @@ namespace gsr { bool replay_save_show_notification = false; ReplayStartupMode replay_startup_mode = ReplayStartupMode::TURN_ON_AT_SYSTEM_STARTUP; bool try_replay_startup = true; + bool replay_recording = false; + int replay_save_duration_min = 0; AudioPlayer audio_player; + RegionSelector region_selector; bool start_region_capture = false; std::function<void()> on_region_selected; + + WindowSelector window_selector; + bool start_window_capture = false; + std::function<void()> on_window_selected; + + std::string recording_capture_target; + std::string screenshot_capture_target; + + std::unique_ptr<CursorTracker> cursor_tracker; + mgl::Clock cursor_tracker_update_clock; }; }
\ No newline at end of file |