chore: 代码清理。
This commit is contained in:
parent
47e30ec94a
commit
d053185cc2
5
.vscode/settings.json
vendored
5
.vscode/settings.json
vendored
@ -1,3 +1,6 @@
|
|||||||
{
|
{
|
||||||
"files.autoSave": "onWindowChange"
|
"files.autoSave": "onWindowChange",
|
||||||
|
"cSpell.words": [
|
||||||
|
"Itertools"
|
||||||
|
]
|
||||||
}
|
}
|
@ -1,8 +1,8 @@
|
|||||||
use std::{borrow::BorrowMut, collections::HashMap, sync::Arc, time::Duration};
|
use std::sync::Arc;
|
||||||
|
|
||||||
use paris::warn;
|
use paris::warn;
|
||||||
use tauri::async_runtime::{Mutex, RwLock};
|
use tauri::async_runtime::{Mutex, RwLock};
|
||||||
use tokio::{sync::watch, time::sleep};
|
use tokio::sync::watch;
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
ambient_light::{config, ConfigManager},
|
ambient_light::{config, ConfigManager},
|
||||||
|
@ -159,7 +159,8 @@ impl Manager {
|
|||||||
let rpc = rpc::Manager::global().await;
|
let rpc = rpc::Manager::global().await;
|
||||||
|
|
||||||
rpc.publish_desktop_cmd(
|
rpc.publish_desktop_cmd(
|
||||||
format!("display{}/brightness", display_brightness.display_index).as_str(),
|
format!("display{}/brightness", display_brightness.display_index)
|
||||||
|
.as_str(),
|
||||||
target.to_be_bytes().to_vec(),
|
target.to_be_bytes().to_vec(),
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
|
@ -4,10 +4,7 @@ use std::sync::Arc;
|
|||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use tauri::async_runtime::RwLock;
|
use tauri::async_runtime::RwLock;
|
||||||
|
|
||||||
use crate::{
|
use crate::{ambient_light::LedStripConfig, led_color::LedColor};
|
||||||
ambient_light::{LedStripConfig, LedStripConfigOfDisplays},
|
|
||||||
led_color::LedColor,
|
|
||||||
};
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct Screenshot {
|
pub struct Screenshot {
|
||||||
@ -41,10 +38,7 @@ impl Screenshot {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_sample_points(
|
pub fn get_sample_points(&self, config: &LedStripConfig) -> Vec<LedSamplePoints> {
|
||||||
&self,
|
|
||||||
config: &LedStripConfig,
|
|
||||||
) -> Vec<LedSamplePoints> {
|
|
||||||
let height = self.height as usize;
|
let height = self.height as usize;
|
||||||
let width = self.width as usize;
|
let width = self.width as usize;
|
||||||
|
|
||||||
@ -82,93 +76,6 @@ impl Screenshot {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// fn get_sample_points(config: DisplayConfig) -> ScreenSamplePoints {
|
|
||||||
// let top = match config.led_strip_of_borders.top {
|
|
||||||
// Some(led_strip_config) => Self::get_one_edge_sample_points(
|
|
||||||
// config.display_height / 8,
|
|
||||||
// config.display_width,
|
|
||||||
// led_strip_config.len,
|
|
||||||
// 1,
|
|
||||||
// ),
|
|
||||||
// None => {
|
|
||||||
// vec![]
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
|
|
||||||
// let bottom: Vec<LedSamplePoints> = match config.led_strip_of_borders.bottom {
|
|
||||||
// Some(led_strip_config) => {
|
|
||||||
// let points = Self::get_one_edge_sample_points(
|
|
||||||
// config.display_height / 9,
|
|
||||||
// config.display_width,
|
|
||||||
// led_strip_config.len,
|
|
||||||
// 5,
|
|
||||||
// );
|
|
||||||
// points
|
|
||||||
// .into_iter()
|
|
||||||
// .map(|groups| -> Vec<Point> {
|
|
||||||
// groups
|
|
||||||
// .into_iter()
|
|
||||||
// .map(|(x, y)| (x, config.display_height - y))
|
|
||||||
// .collect()
|
|
||||||
// })
|
|
||||||
// .collect()
|
|
||||||
// }
|
|
||||||
// None => {
|
|
||||||
// vec![]
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
|
|
||||||
// let left: Vec<LedSamplePoints> = match config.led_strip_of_borders.left {
|
|
||||||
// Some(led_strip_config) => {
|
|
||||||
// let points = Self::get_one_edge_sample_points(
|
|
||||||
// config.display_width / 16,
|
|
||||||
// config.display_height,
|
|
||||||
// led_strip_config.len,
|
|
||||||
// 5,
|
|
||||||
// );
|
|
||||||
// points
|
|
||||||
// .into_iter()
|
|
||||||
// .map(|groups| -> Vec<Point> {
|
|
||||||
// groups.into_iter().map(|(x, y)| (y, x)).collect()
|
|
||||||
// })
|
|
||||||
// .collect()
|
|
||||||
// }
|
|
||||||
// None => {
|
|
||||||
// vec![]
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
|
|
||||||
// let right: Vec<LedSamplePoints> = match config.led_strip_of_borders.right {
|
|
||||||
// Some(led_strip_config) => {
|
|
||||||
// let points = Self::get_one_edge_sample_points(
|
|
||||||
// config.display_width / 16,
|
|
||||||
// config.display_height,
|
|
||||||
// led_strip_config.len,
|
|
||||||
// 5,
|
|
||||||
// );
|
|
||||||
// points
|
|
||||||
// .into_iter()
|
|
||||||
// .map(|groups| -> Vec<Point> {
|
|
||||||
// groups
|
|
||||||
// .into_iter()
|
|
||||||
// .map(|(x, y)| (config.display_width - y, x))
|
|
||||||
// .collect()
|
|
||||||
// })
|
|
||||||
// .collect()
|
|
||||||
// }
|
|
||||||
// None => {
|
|
||||||
// vec![]
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
|
|
||||||
// ScreenSamplePoints {
|
|
||||||
// top,
|
|
||||||
// bottom,
|
|
||||||
// left,
|
|
||||||
// right,
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
fn get_one_edge_sample_points(
|
fn get_one_edge_sample_points(
|
||||||
width: usize,
|
width: usize,
|
||||||
length: usize,
|
length: usize,
|
||||||
@ -258,13 +165,15 @@ impl Screenshot {
|
|||||||
r += bitmap[position + 2] as f64;
|
r += bitmap[position + 2] as f64;
|
||||||
}
|
}
|
||||||
let color = LedColor::new((r / len) as u8, (g / len) as u8, (b / len) as u8);
|
let color = LedColor::new((r / len) as u8, (g / len) as u8, (b / len) as u8);
|
||||||
// paris::info!("color: {:?}", color.get_rgb());
|
|
||||||
colors.push(color);
|
colors.push(color);
|
||||||
}
|
}
|
||||||
colors
|
colors
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn get_colors_by_sample_points(&self, points: &Vec<LedSamplePoints>) -> Vec<LedColor> {
|
pub async fn get_colors_by_sample_points(
|
||||||
|
&self,
|
||||||
|
points: &Vec<LedSamplePoints>,
|
||||||
|
) -> Vec<LedColor> {
|
||||||
let bytes = self.bytes.read().await;
|
let bytes = self.bytes.read().await;
|
||||||
|
|
||||||
Self::get_one_edge_colors(points, &bytes, self.bytes_per_row)
|
Self::get_one_edge_colors(points, &bytes, self.bytes_per_row)
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { Component, createMemo, ParentComponent } from 'solid-js';
|
import { Component, createMemo } from 'solid-js';
|
||||||
import { LedStripConfigOfBorders } from '../models/display-config';
|
|
||||||
import { DisplayInfo } from '../models/display-info.model';
|
import { DisplayInfo } from '../models/display-info.model';
|
||||||
import { displayStore } from '../stores/display.store';
|
import { displayStore } from '../stores/display.store';
|
||||||
import { ledStripStore } from '../stores/led-strip.store';
|
import { ledStripStore } from '../stores/led-strip.store';
|
||||||
|
@ -1,14 +1,4 @@
|
|||||||
import {
|
import { Component, createContext, createEffect, createSignal, For } from 'solid-js';
|
||||||
Component,
|
|
||||||
createContext,
|
|
||||||
createEffect,
|
|
||||||
createMemo,
|
|
||||||
createSignal,
|
|
||||||
For,
|
|
||||||
JSX,
|
|
||||||
onCleanup,
|
|
||||||
untrack,
|
|
||||||
} from 'solid-js';
|
|
||||||
import { LedStripConfig, LedStripPixelMapper } from '../models/led-strip-config';
|
import { LedStripConfig, LedStripPixelMapper } from '../models/led-strip-config';
|
||||||
import { ledStripStore } from '../stores/led-strip.store';
|
import { ledStripStore } from '../stores/led-strip.store';
|
||||||
|
|
||||||
|
@ -14,12 +14,6 @@ type ScreenViewProps = {
|
|||||||
displayId: number;
|
displayId: number;
|
||||||
} & JSX.HTMLAttributes<HTMLDivElement>;
|
} & JSX.HTMLAttributes<HTMLDivElement>;
|
||||||
|
|
||||||
async function subscribeScreenshotUpdate(displayId: number) {
|
|
||||||
await invoke('subscribe_encoded_screenshot_updated', {
|
|
||||||
displayId,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
export const ScreenView: Component<ScreenViewProps> = (props) => {
|
export const ScreenView: Component<ScreenViewProps> = (props) => {
|
||||||
const [localProps, rootProps] = splitProps(props, ['displayId']);
|
const [localProps, rootProps] = splitProps(props, ['displayId']);
|
||||||
let canvas: HTMLCanvasElement;
|
let canvas: HTMLCanvasElement;
|
||||||
|
Loading…
Reference in New Issue
Block a user