aboutsummaryrefslogtreecommitdiff
path: root/include/Overlay.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/Overlay.hpp')
-rw-r--r--include/Overlay.hpp40
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