mirror of
https://github.com/feschber/lan-mouse.git
synced 2026-04-01 22:11:27 +03:00
reduce coupling of emulation and capture backends
This commit is contained in:
@@ -9,7 +9,7 @@ use std::{
|
||||
use serde::{Deserialize, Serialize};
|
||||
use slab::Slab;
|
||||
|
||||
use crate::config::DEFAULT_PORT;
|
||||
use crate::{capture, config::DEFAULT_PORT};
|
||||
|
||||
#[derive(Debug, Eq, Hash, PartialEq, Clone, Copy, Serialize, Deserialize)]
|
||||
pub enum Position {
|
||||
@@ -25,6 +25,17 @@ impl Default for Position {
|
||||
}
|
||||
}
|
||||
|
||||
impl From<Position> for capture::Position {
|
||||
fn from(position: Position) -> capture::Position {
|
||||
match position {
|
||||
Position::Left => capture::Position::Left,
|
||||
Position::Right => capture::Position::Right,
|
||||
Position::Top => capture::Position::Top,
|
||||
Position::Bottom => capture::Position::Bottom,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct PositionParseError {
|
||||
string: String,
|
||||
@@ -52,17 +63,6 @@ impl FromStr for Position {
|
||||
}
|
||||
}
|
||||
|
||||
impl Position {
|
||||
pub fn opposite(&self) -> Self {
|
||||
match self {
|
||||
Position::Left => Self::Right,
|
||||
Position::Right => Self::Left,
|
||||
Position::Top => Self::Bottom,
|
||||
Position::Bottom => Self::Top,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Display for Position {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
write!(
|
||||
@@ -118,12 +118,6 @@ impl Default for ClientConfig {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy, Debug)]
|
||||
pub enum ClientEvent {
|
||||
Create(ClientHandle, Position),
|
||||
Destroy(ClientHandle),
|
||||
}
|
||||
|
||||
pub type ClientHandle = u64;
|
||||
|
||||
#[derive(Debug, Default, Clone, Serialize, Deserialize)]
|
||||
|
||||
Reference in New Issue
Block a user