summaryrefslogtreecommitdiff
path: root/racer-tracer/src/image_action/wait_for_signal.rs
diff options
context:
space:
mode:
authorSakarias Johansson <sakarias.johansson@goodbyekansas.com>2023-03-14 15:39:45 +0100
committerSakarias Johansson <sakariasjohansson@hotmail.com>2023-03-14 20:32:13 +0100
commit7d32f05f6123dc12ab099cf337f9abe137750e43 (patch)
treee30ad8933ae3e71f2beec104abf1ce3bcd1aa329 /racer-tracer/src/image_action/wait_for_signal.rs
parentf19c8cc40c5caf8abb4f04aaf9f91ec3a8c1ccbc (diff)
downloadracer-tracer-7d32f05f6123dc12ab099cf337f9abe137750e43.tar.gz
racer-tracer-7d32f05f6123dc12ab099cf337f9abe137750e43.tar.xz
racer-tracer-7d32f05f6123dc12ab099cf337f9abe137750e43.zip
🧹 Misc cleanup
- Was pointless to have one event for render and one for cancel. Reduced it to one while fixing a minor bug. - Remove useless dereference and borrow. Not sure how it ended up like that. - Moved around some code.
Diffstat (limited to 'racer-tracer/src/image_action/wait_for_signal.rs')
-rw-r--r--racer-tracer/src/image_action/wait_for_signal.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/racer-tracer/src/image_action/wait_for_signal.rs b/racer-tracer/src/image_action/wait_for_signal.rs
new file mode 100644
index 0000000..54480ac
--- /dev/null
+++ b/racer-tracer/src/image_action/wait_for_signal.rs
@@ -0,0 +1,25 @@
+use std::sync::RwLock;
+
+use synchronoise::SignalEvent;
+
+use crate::{config::Config, error::TracerError};
+
+use super::ImageAction;
+
+pub struct WaitForSignal {}
+
+impl ImageAction for WaitForSignal {
+ fn action(
+ &self,
+ _screen_buffer: &RwLock<Vec<u32>>,
+ event: &SignalEvent,
+ _config: &Config,
+ ) -> Result<(), TracerError> {
+ if !event.status() {
+ println!("Press R to resume.");
+ event.wait();
+ }
+ event.reset();
+ Ok(())
+ }
+}