diff --git a/src-tauri/src/picker/screenshot.rs b/src-tauri/src/picker/screenshot.rs index 116619d..554b9ea 100644 --- a/src-tauri/src/picker/screenshot.rs +++ b/src-tauri/src/picker/screenshot.rs @@ -41,7 +41,7 @@ impl Screenshot { config.display_width, led_strip_config .global_start_position - .abs_diff(led_strip_config.global_end_position), + .abs_diff(led_strip_config.global_end_position) + 1, 5, ), None => { @@ -56,7 +56,7 @@ impl Screenshot { config.display_width, led_strip_config .global_start_position - .abs_diff(led_strip_config.global_end_position), + .abs_diff(led_strip_config.global_end_position) + 1, 5, ); points @@ -81,7 +81,7 @@ impl Screenshot { config.display_height, led_strip_config .global_start_position - .abs_diff(led_strip_config.global_end_position), + .abs_diff(led_strip_config.global_end_position) + 1, 5, ); points @@ -103,7 +103,7 @@ impl Screenshot { config.display_height, led_strip_config .global_start_position - .abs_diff(led_strip_config.global_end_position), + .abs_diff(led_strip_config.global_end_position) + 1, 5, ); points @@ -212,23 +212,6 @@ impl Screenshot { colors } - pub fn get_top_colors(&self) -> Vec { - self.get_one_edge_colors(&self.sample_points.top) - } - - pub fn get_top_of_led_start_at(&self) -> usize { - self.config - .led_strip_of_borders.top - .and_then(|c| Some(c.global_start_position)) - .unwrap_or(0) - } - pub fn get_top_of_led_end_at(&self) -> usize { - self.config - .led_strip_of_borders.top - .and_then(|c| Some(c.global_end_position)) - .unwrap_or(0) - } - pub async fn to_webp_base64(&self) -> String { let bitmap = &self.bitmap; let stride = bitmap.len() / self.config.display_height; @@ -280,6 +263,11 @@ impl Screenshot { colors, } } + + + pub fn get_config(&self) -> DisplayConfig { + self.config + } } #[derive(Clone, Serialize, Deserialize, Debug)] diff --git a/src-tauri/src/rpc/manager.rs b/src-tauri/src/rpc/manager.rs index 6166ae7..d37c224 100644 --- a/src-tauri/src/rpc/manager.rs +++ b/src-tauri/src/rpc/manager.rs @@ -38,4 +38,18 @@ impl Manager { .await .map_err(|error| anyhow::anyhow!("mqtt publish failed. {}", error)) } + + pub async fn publish_led_sub_pixels(&self, payload: Vec) -> anyhow::Result<()> { + + self.mqtt + .client + .publish( + "display-ambient-light/desktop/colors", + rumqttc::QoS::AtLeastOnce, + false, + payload, + ) + .await + .map_err(|error| anyhow::anyhow!("mqtt publish failed. {}", error)) + } } diff --git a/src/configurator/components/draggable-strip.tsx b/src/configurator/components/draggable-strip.tsx index 5bb5a8a..871910a 100644 --- a/src/configurator/components/draggable-strip.tsx +++ b/src/configurator/components/draggable-strip.tsx @@ -183,8 +183,11 @@ export const DraggableStrip: FC = ({
= ({ }); } } else { - onChange?.(new LedStripConfig(0, 0, 1)); + onChange?.(new LedStripConfig(0, 0, 0)); } }, [config, onChange]); const removeLed = useCallback(() => {