diff --git a/src/font.rs b/src/font.rs index 9ade7da..b56ed59 100644 --- a/src/font.rs +++ b/src/font.rs @@ -5,7 +5,7 @@ use font_kit::font::Font; use font_kit::hinting::HintingOptions; use pathfinder_geometry::transform2d::Transform2F; use pathfinder_geometry::vector::{vec2f, vec2i}; -use servicepoint2::{PixelGrid, TILE_SIZE}; +use servicepoint2::{Grid, PixelGrid, TILE_SIZE}; const DEFAULT_FONT_FILE: &[u8] = include_bytes!("../Web437_IBM_BIOS.woff"); @@ -16,7 +16,7 @@ pub struct BitmapFont { impl BitmapFont { pub fn load(font: Font) -> BitmapFont { let mut bitmaps = core::array::from_fn(|_| { - PixelGrid::new(TILE_SIZE as usize, TILE_SIZE as usize) + PixelGrid::new(TILE_SIZE, TILE_SIZE) }); for char_code in u8::MIN..u8::MAX { @@ -43,9 +43,9 @@ impl BitmapFont { assert_eq!(canvas.pixels.len(), 64); assert_eq!(canvas.stride, 8); - for y in 0..TILE_SIZE as usize { - for x in 0..TILE_SIZE as usize { - let index = x + y * TILE_SIZE as usize; + for y in 0..TILE_SIZE { + for x in 0..TILE_SIZE { + let index = x + y * TILE_SIZE; let canvas_val = canvas.pixels[index] != 0; bitmaps[char_code as usize].set(x, y, canvas_val); } diff --git a/src/gui.rs b/src/gui.rs index 295507f..cedd361 100644 --- a/src/gui.rs +++ b/src/gui.rs @@ -4,9 +4,7 @@ use std::sync::RwLock; use log::{info, warn}; use pixels::wgpu::TextureFormat; use pixels::{Pixels, PixelsBuilder, SurfaceTexture}; -use servicepoint2::{ - ByteGrid, PixelGrid, PIXEL_HEIGHT, PIXEL_WIDTH, TILE_SIZE, -}; +use servicepoint2::{ByteGrid, PixelGrid, PIXEL_HEIGHT, PIXEL_WIDTH, TILE_SIZE, Grid}; use winit::application::ApplicationHandler; use winit::dpi::LogicalSize; use winit::event::WindowEvent; @@ -25,7 +23,7 @@ pub struct App<'t> { cli: &'t Cli, } -const SPACER_HEIGHT: u16 = 4; +const SPACER_HEIGHT: usize = 4; #[derive(Debug)] pub enum AppEvents { @@ -56,18 +54,18 @@ impl<'t> App<'t> { let mut frame = pixels.frame_mut().chunks_exact_mut(4); let display = self.display.read().unwrap(); let luma = self.luma.read().unwrap(); - for y in 0..PIXEL_HEIGHT as usize { - if self.cli.spacers && y != 0 && y % TILE_SIZE as usize == 0 { + for y in 0..PIXEL_HEIGHT { + if self.cli.spacers && y != 0 && y % TILE_SIZE == 0 { // cannot just frame.skip(PIXEL_WIDTH as usize * SPACER_HEIGHT as usize) because of typing - for _ in 0..PIXEL_WIDTH as usize * SPACER_HEIGHT as usize { + for _ in 0..PIXEL_WIDTH * SPACER_HEIGHT { frame.next().unwrap(); } } - for x in 0..PIXEL_WIDTH as usize { + for x in 0..PIXEL_WIDTH { let is_set = display.get(x, y); let brightness = - luma.get(x / TILE_SIZE as usize, y / TILE_SIZE as usize); + luma.get(x / TILE_SIZE, y / TILE_SIZE); let color = if is_set { [ @@ -98,7 +96,7 @@ impl ApplicationHandler for App<'_> { PIXEL_HEIGHT }; - let size = LogicalSize::new(PIXEL_WIDTH, height); + let size = LogicalSize::new(PIXEL_WIDTH as u16, height as u16); let attributes = Window::default_attributes() .with_title("servicepoint-simulator") .with_inner_size(size) diff --git a/src/main.rs b/src/main.rs index 8e74d2a..d6d07b1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -7,10 +7,7 @@ use std::time::Duration; use clap::Parser; use log::{info, warn, LevelFilter}; -use servicepoint2::{ - ByteGrid, Command, PixelGrid, PIXEL_HEIGHT, PIXEL_WIDTH, TILE_HEIGHT, - TILE_WIDTH, -}; +use servicepoint2::{ByteGrid, Command, PixelGrid, PIXEL_HEIGHT, PIXEL_WIDTH, TILE_HEIGHT, TILE_WIDTH, Grid}; use winit::event_loop::{ControlFlow, EventLoop}; use crate::execute_command::execute_command; @@ -53,11 +50,11 @@ fn main() { .expect("could not enter non blocking mode"); let display = RwLock::new(PixelGrid::new( - PIXEL_WIDTH as usize, - PIXEL_HEIGHT as usize, + PIXEL_WIDTH, + PIXEL_HEIGHT, )); - let mut luma = ByteGrid::new(TILE_WIDTH as usize, TILE_HEIGHT as usize); + let mut luma = ByteGrid::new(TILE_WIDTH, TILE_HEIGHT); luma.fill(u8::MAX); let luma = RwLock::new(luma);