1786011156
This commit is contained in:
17
src/main.rs
17
src/main.rs
@@ -16,22 +16,7 @@ fn main() {
|
|||||||
|
|
||||||
let mut trekstor = Trekstor::new(60, app_state);
|
let mut trekstor = Trekstor::new(60, app_state);
|
||||||
|
|
||||||
trekstor.update(|ctx, state| {
|
trekstor.update();
|
||||||
if ctx.input.is_just_released(KeyCode::BTN_TOUCH) {
|
|
||||||
println!("Released {}x{}", ctx.input.x, ctx.input.y);
|
|
||||||
state.x = ctx.input.x;
|
|
||||||
state.y = ctx.input.y;
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx.screen.clear((0, 0, 0, 255).into()).ok();
|
|
||||||
|
|
||||||
Rectangle::new(Point::new(state.x - 5, state.y - 5), Size::new(10, 10))
|
|
||||||
.into_styled(PrimitiveStyle::with_fill((255, 0, 0, 255).into()))
|
|
||||||
.draw(&mut ctx.screen)
|
|
||||||
.ok();
|
|
||||||
|
|
||||||
true
|
|
||||||
});
|
|
||||||
|
|
||||||
// let red = (255, 0, 0, 255);
|
// let red = (255, 0, 0, 255);
|
||||||
// let green = (0, 255, 0, 255);
|
// let green = (0, 255, 0, 255);
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ pub struct Trekstor<S> {
|
|||||||
state: S,
|
state: S,
|
||||||
ctx: Context,
|
ctx: Context,
|
||||||
window: Rc<MinimalSoftwareWindow>,
|
window: Rc<MinimalSoftwareWindow>,
|
||||||
|
// buffer: Vec<Rgba8Pixel>,
|
||||||
last_time: Instant,
|
last_time: Instant,
|
||||||
current_time: Instant,
|
current_time: Instant,
|
||||||
update_timestep: Duration,
|
update_timestep: Duration,
|
||||||
@@ -39,6 +40,7 @@ impl<S> Trekstor<S> {
|
|||||||
state,
|
state,
|
||||||
ctx: Context { screen, input },
|
ctx: Context { screen, input },
|
||||||
window,
|
window,
|
||||||
|
// buffer: Vec::new(),
|
||||||
current_time: Instant::now(),
|
current_time: Instant::now(),
|
||||||
last_time: Instant::now(),
|
last_time: Instant::now(),
|
||||||
update_timestep: Duration::from_nanos(
|
update_timestep: Duration::from_nanos(
|
||||||
@@ -48,6 +50,9 @@ impl<S> Trekstor<S> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn update(&mut self) {
|
pub fn update(&mut self) {
|
||||||
|
dbg!(self.ctx.screen.width() * self.ctx.screen.height());
|
||||||
|
let mut buffer1 = [slint::platform::software_renderer::Rgb565Pixel(0); 1];
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
self.current_time = Instant::now();
|
self.current_time = Instant::now();
|
||||||
let dt = self.current_time - self.last_time;
|
let dt = self.current_time - self.last_time;
|
||||||
@@ -62,13 +67,15 @@ impl<S> Trekstor<S> {
|
|||||||
slint::platform::update_timers_and_animations();
|
slint::platform::update_timers_and_animations();
|
||||||
|
|
||||||
if self.ctx.input.is_just_pressed(KeyCode::BTN_TOUCH) {
|
if self.ctx.input.is_just_pressed(KeyCode::BTN_TOUCH) {
|
||||||
self.window.try_dispatch_event(WindowEvent::PointerPressed {
|
self.window
|
||||||
position: LogicalPosition::new(
|
.try_dispatch_event(WindowEvent::PointerPressed {
|
||||||
self.ctx.input.x as f32,
|
position: LogicalPosition::new(
|
||||||
self.ctx.input.y as f32,
|
self.ctx.input.x as f32,
|
||||||
),
|
self.ctx.input.y as f32,
|
||||||
button: slint::platform::PointerEventButton::Left,
|
),
|
||||||
});
|
button: slint::platform::PointerEventButton::Left,
|
||||||
|
})
|
||||||
|
.unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
if self.ctx.input.is_just_released(KeyCode::BTN_TOUCH) {
|
if self.ctx.input.is_just_released(KeyCode::BTN_TOUCH) {
|
||||||
@@ -79,9 +86,14 @@ impl<S> Trekstor<S> {
|
|||||||
self.ctx.input.y as f32,
|
self.ctx.input.y as f32,
|
||||||
),
|
),
|
||||||
button: slint::platform::PointerEventButton::Left,
|
button: slint::platform::PointerEventButton::Left,
|
||||||
});
|
})
|
||||||
|
.unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self.window.draw_if_needed(|renderer| {
|
||||||
|
renderer.render(&mut buffer1, self.ctx.screen.width() as usize);
|
||||||
|
});
|
||||||
|
|
||||||
self.ctx.screen.flush();
|
self.ctx.screen.flush();
|
||||||
self.ctx.input.finish();
|
self.ctx.input.finish();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user