diff --git a/rustfmt.toml b/rustfmt.toml new file mode 100644 index 0000000..df99c69 --- /dev/null +++ b/rustfmt.toml @@ -0,0 +1 @@ +max_width = 80 diff --git a/src/font.rs b/src/font.rs index 2c3cdbf..856b72b 100644 --- a/src/font.rs +++ b/src/font.rs @@ -10,10 +10,12 @@ pub struct BitmapFont { impl BitmapFont { pub fn load_file(file: &str) -> BitmapFont { - let font = font_kit::font::Font::from_path(file, 0).expect("could not load font"); + let font = font_kit::font::Font::from_path(file, 0) + .expect("could not load font"); - let mut bitmaps = - core::array::from_fn(|_| PixelGrid::new(TILE_SIZE as usize, TILE_SIZE as usize)); + let mut bitmaps = core::array::from_fn(|_| { + PixelGrid::new(TILE_SIZE as usize, TILE_SIZE as usize) + }); for char_code in u8::MIN..u8::MAX { let char = char_code as char; @@ -24,7 +26,8 @@ impl BitmapFont { let size = 8f32; let transform = Transform2F::default(); - let mut canvas = Canvas::new(vec2i(size as i32, size as i32), Format::A8); + let mut canvas = + Canvas::new(vec2i(size as i32, size as i32), Format::A8); font.rasterize_glyph( &mut canvas, glyph_id, diff --git a/src/gui.rs b/src/gui.rs index d733995..b75b261 100644 --- a/src/gui.rs +++ b/src/gui.rs @@ -1,9 +1,12 @@ +use std::sync::mpsc::Sender; +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 std::sync::mpsc::Sender; -use std::sync::RwLock; +use servicepoint2::{ + ByteGrid, PixelGrid, PIXEL_HEIGHT, PIXEL_WIDTH, TILE_SIZE, +}; use winit::application::ApplicationHandler; use winit::dpi::{LogicalSize, Size}; use winit::event::WindowEvent; @@ -42,7 +45,10 @@ impl<'t> App<'t> { impl ApplicationHandler for App<'_> { fn resumed(&mut self, event_loop: &ActiveEventLoop) { - let size = Size::from(LogicalSize::new(PIXEL_WIDTH as f64, PIXEL_HEIGHT as f64)); + let size = Size::from(LogicalSize::new( + PIXEL_WIDTH as f64, + PIXEL_HEIGHT as f64, + )); let attributes = Window::default_attributes() .with_title("pixel-receiver-rs") .with_inner_size(size); @@ -53,13 +59,20 @@ impl ApplicationHandler for App<'_> { self.pixels = { let window_size = window.inner_size(); - let surface_texture = - SurfaceTexture::new(window_size.width, window_size.height, &window); + let surface_texture = SurfaceTexture::new( + window_size.width, + window_size.height, + &window, + ); Some( - PixelsBuilder::new(PIXEL_WIDTH as u32, PIXEL_HEIGHT as u32, surface_texture) - .render_texture_format(TextureFormat::Bgra8UnormSrgb) - .build() - .expect("could not create pixels"), + PixelsBuilder::new( + PIXEL_WIDTH as u32, + PIXEL_HEIGHT as u32, + surface_texture, + ) + .render_texture_format(TextureFormat::Bgra8UnormSrgb) + .build() + .expect("could not create pixels"), ) }; } @@ -78,7 +91,12 @@ impl ApplicationHandler for App<'_> { } } - fn window_event(&mut self, event_loop: &ActiveEventLoop, _: WindowId, event: WindowEvent) { + fn window_event( + &mut self, + event_loop: &ActiveEventLoop, + _: WindowId, + event: WindowEvent, + ) { if event == WindowEvent::CloseRequested { warn!("window event cloe requested"); self.window = None; @@ -100,7 +118,8 @@ impl ApplicationHandler for App<'_> { for y in 0..PIXEL_HEIGHT as usize { for x in 0..PIXEL_WIDTH as usize { let is_set = display.get(x, y); - let brightness = luma.get(x / TILE_SIZE as usize, y / TILE_SIZE as usize); + let brightness = + luma.get(x / TILE_SIZE as usize, y / TILE_SIZE as usize); let color = if is_set { [0u8, brightness, 0, 255] diff --git a/src/main.rs b/src/main.rs index 6ba09f7..767579a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,22 +1,24 @@ #![deny(clippy::all)] -mod font; -mod gui; - -use crate::font::BitmapFont; -use crate::gui::{App, AppEvents}; -use clap::Parser; -use log::{debug, error, info, warn}; -use servicepoint2::{ - ByteGrid, Command, Origin, Packet, PixelGrid, PIXEL_COUNT, PIXEL_HEIGHT, PIXEL_WIDTH, - TILE_HEIGHT, TILE_SIZE, TILE_WIDTH, -}; use std::io::ErrorKind; use std::net::UdpSocket; use std::sync::{mpsc, RwLock, RwLockWriteGuard}; use std::time::Duration; + +use clap::Parser; +use log::{debug, error, info, warn}; +use servicepoint2::{ + ByteGrid, Command, Origin, Packet, PixelGrid, PIXEL_COUNT, PIXEL_HEIGHT, + PIXEL_WIDTH, TILE_HEIGHT, TILE_SIZE, TILE_WIDTH, +}; use winit::event_loop::{ControlFlow, EventLoop}; +use crate::font::BitmapFont; +use crate::gui::{App, AppEvents}; + +mod font; +mod gui; + #[derive(Parser, Debug)] struct Cli { #[arg(long, default_value = "0.0.0.0:2342")] @@ -36,7 +38,10 @@ fn main() { let font = BitmapFont::load_file("Web437_IBM_BIOS.woff"); - let display = RwLock::new(PixelGrid::new(PIXEL_WIDTH as usize, PIXEL_HEIGHT as usize)); + let display = RwLock::new(PixelGrid::new( + PIXEL_WIDTH as usize, + PIXEL_HEIGHT as usize, + )); let display_ref = &display; let mut luma = ByteGrid::new(TILE_WIDTH as usize, TILE_HEIGHT as usize); @@ -144,7 +149,8 @@ fn handle_package( } let mut display = display_ref.write().unwrap(); for bitmap_index in 0..vec.len() { - let (x, y) = get_coordinates_for_index(offset as usize, bitmap_index); + let (x, y) = + get_coordinates_for_index(offset as usize, bitmap_index); display.set(x, y, vec.get(bitmap_index)); } } @@ -154,7 +160,8 @@ fn handle_package( } let mut display = display_ref.write().unwrap(); for bitmap_index in 0..vec.len() { - let (x, y) = get_coordinates_for_index(offset as usize, bitmap_index); + let (x, y) = + get_coordinates_for_index(offset as usize, bitmap_index); let old_value = display.get(x, y); display.set(x, y, old_value && vec.get(bitmap_index)); } @@ -165,7 +172,8 @@ fn handle_package( } let mut display = display_ref.write().unwrap(); for bitmap_index in 0..vec.len() { - let (x, y) = get_coordinates_for_index(offset as usize, bitmap_index); + let (x, y) = + get_coordinates_for_index(offset as usize, bitmap_index); let old_value = display.get(x, y); display.set(x, y, old_value || vec.get(bitmap_index)); } @@ -176,7 +184,8 @@ fn handle_package( } let mut display = display_ref.write().unwrap(); for bitmap_index in 0..vec.len() { - let (x, y) = get_coordinates_for_index(offset as usize, bitmap_index); + let (x, y) = + get_coordinates_for_index(offset as usize, bitmap_index); let old_value = display.get(x, y); display.set(x, y, old_value ^ vec.get(bitmap_index)); } @@ -190,7 +199,11 @@ fn handle_package( for inner_y in 0..grid.height { for inner_x in 0..grid.width { let brightness = grid.get(inner_x, inner_y); - luma.set(offset_x + inner_x, offset_y + inner_y, brightness); + luma.set( + offset_x + inner_x, + offset_y + inner_y, + brightness, + ); } } }