#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
use pittore::prelude::*;
#[derive(Default)]
struct App {
scaling_mode_index: usize,
}
impl PittoreApp for App {
fn update(&mut self, c: &mut Context) {
let size = vec2(100.0, 100.0);
let scaling_modes = vec![
ScalingMode::WindowSize,
ScalingMode::Fixed(size),
ScalingMode::FixedHorizontal(size.x),
ScalingMode::FixedVertical(size.y),
ScalingMode::AutoMin(size),
ScalingMode::AutoMax(size),
];
if c.key_just_pressed(KeyCode::KeyS) {
self.scaling_mode_index = (self.scaling_mode_index + 1) % scaling_modes.len();
println!("Scaling mode: {:?}", scaling_modes[self.scaling_mode_index]);
}
c.set_camera(Camera {
scaling_mode: scaling_modes[self.scaling_mode_index],
..Camera::default_2d()
});
c.draw_rects([
Instance2d {
transform: Transform2d::from_scale(size),
color: Color::WHITE,
..Default::default()
},
Instance2d {
transform: Transform2d::from_scale(size * 0.5),
color: Color::BLUE,
..Default::default()
},
]);
}
}
fn main() {
pittore::run("pittore", App::default());
}