pittore 0.2.4

Simple toolkit for 2D visualization based on wgpu.
Documentation
#![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());
}