use tfc::{Context, Error, traits::*};
use std::{f64::consts::PI, thread, time::Duration};
fn main() -> Result<(), Error> {
let radius = 100.0;
let steps = 200;
let revolutions = 3;
let delay = Duration::from_millis(10);
let mut ctx = Context::new()?;
let center = ctx.cursor_location()?;
let center = (center.0 as f64 - radius, center.1 as f64);
for step in 0..steps * revolutions {
thread::sleep(delay);
let angle = step as f64 * 2.0 * PI / steps as f64;
let x = (center.0 + radius * angle.cos()).round() as i32;
let y = (center.1 + radius * angle.sin()).round() as i32;
ctx.mouse_move_abs(x, y)?;
}
Ok(())
}