pub struct CoordinateTransformer { /* private fields */ }Expand description
Coordinate transformer handles all coordinate transformations
Implementations§
Source§impl CoordinateTransformer
impl CoordinateTransformer
Sourcepub fn new(monitors: Vec<MonitorInfo>) -> Result<Self>
pub fn new(monitors: Vec<MonitorInfo>) -> Result<Self>
Create a new coordinate transformer
Sourcepub fn rdp_to_stream(&mut self, rdp_x: u32, rdp_y: u32) -> Result<(f64, f64)>
pub fn rdp_to_stream(&mut self, rdp_x: u32, rdp_y: u32) -> Result<(f64, f64)>
Transform RDP coordinates to stream coordinates
Sourcepub fn stream_to_rdp(&self, stream_x: f64, stream_y: f64) -> Result<(u32, u32)>
pub fn stream_to_rdp(&self, stream_x: f64, stream_y: f64) -> Result<(u32, u32)>
Transform stream coordinates back to RDP coordinates
Sourcepub fn apply_relative_movement(
&mut self,
delta_x: i32,
delta_y: i32,
) -> Result<(f64, f64)>
pub fn apply_relative_movement( &mut self, delta_x: i32, delta_y: i32, ) -> Result<(f64, f64)>
Apply relative mouse movement with optional acceleration
Sourcepub fn clamp_to_bounds(&self, x: f64, y: f64) -> (f64, f64)
pub fn clamp_to_bounds(&self, x: f64, y: f64) -> (f64, f64)
Clamp coordinates to monitor bounds
Sourcepub fn update_monitors(&mut self, monitors: Vec<MonitorInfo>) -> Result<()>
pub fn update_monitors(&mut self, monitors: Vec<MonitorInfo>) -> Result<()>
Update monitor configuration
Sourcepub fn set_acceleration_enabled(&mut self, enabled: bool)
pub fn set_acceleration_enabled(&mut self, enabled: bool)
Set mouse acceleration enabled
Sourcepub fn set_acceleration_factor(&mut self, factor: f64)
pub fn set_acceleration_factor(&mut self, factor: f64)
Set acceleration factor
Sourcepub fn set_sub_pixel_enabled(&mut self, enabled: bool)
pub fn set_sub_pixel_enabled(&mut self, enabled: bool)
Set sub-pixel precision enabled
Sourcepub fn monitor_count(&self) -> usize
pub fn monitor_count(&self) -> usize
Get monitor count
Sourcepub fn get_monitor(&self, id: u32) -> Option<&MonitorInfo>
pub fn get_monitor(&self, id: u32) -> Option<&MonitorInfo>
Get monitor by ID
Auto Trait Implementations§
impl Freeze for CoordinateTransformer
impl RefUnwindSafe for CoordinateTransformer
impl Send for CoordinateTransformer
impl Sync for CoordinateTransformer
impl Unpin for CoordinateTransformer
impl UnwindSafe for CoordinateTransformer
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more