From 72743119c83f060602894366182b2e3f99d27319 Mon Sep 17 00:00:00 2001 From: fence Date: Wed, 8 Jan 2025 08:48:53 +0100 Subject: idk --- src/main.rs | 42 +++++++++++++++++++++++++++++++++++------- 1 file changed, 35 insertions(+), 7 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index a3bcca1..c0a58a5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,8 +1,14 @@ extern crate sdl2; +mod font; + +use font::{UwUFont, UWU_WIDTH}; use sdl2::event::Event; +use sdl2::image::LoadTexture; use sdl2::keyboard::Keycode; use sdl2::pixels::Color; +use sdl2::rect::Rect; +use sdl2::render::TextureCreator; use std::time::Duration; pub fn main() { @@ -10,22 +16,45 @@ pub fn main() { let video_subsystem = sdl_context.video().unwrap(); let window = video_subsystem - .window("hentai", 800, 600) + .window("hentai", 320, 256) .position_centered() + //.fullscreen() .build() .unwrap(); let mut canvas = window.into_canvas().build().unwrap(); + let texture_creator = canvas.texture_creator(); + let uwu_font = font::UwUFont::new(&texture_creator); + let u_char = uwu_font.u_surface().as_texture(&texture_creator).unwrap(); + let w_char = uwu_font.w_surface().as_texture(&texture_creator).unwrap(); - canvas.set_draw_color(Color::RGB(0, 255, 255)); - canvas.clear(); + canvas + .copy(&u_char, None, UwUFont::pos_to_rect(0, 0)) + .unwrap(); + canvas + .copy(&w_char, None, UwUFont::pos_to_rect(UWU_WIDTH as i32, 0)) + .unwrap(); + canvas + .copy(&u_char, None, UwUFont::pos_to_rect(UWU_WIDTH as i32 * 2, 0)) + .unwrap(); + //canvas.clear(); + let tc = canvas.texture_creator(); + let sheet = tc.load_texture_bytes(font::UWU_SHEET_RAW).unwrap(); + /* + canvas.copy( + &sheet, + Rect::new(0, 0, font::UWU_WIDTH, font::UWU_HEIGHT), + font::UwUFont::pos_to_rect(0, 0), + ); + */ + canvas.draw_rect(Rect::new(100, 100, 200, 200)); canvas.present(); let mut event_pump = sdl_context.event_pump().unwrap(); let mut i = 0; 'running: loop { i = (i + 1) % 255; - canvas.set_draw_color(Color::RGB(i, 64, 255 - i)); - canvas.clear(); + //canvas.set_draw_color(Color::RGB(i, 64, 255 - i)); + //canvas.clear(); for event in event_pump.poll_iter() { match event { Event::Quit { .. } @@ -37,8 +66,7 @@ pub fn main() { } } // The rest of the game loop goes here... - - canvas.present(); + //canvas.present(); ::std::thread::sleep(Duration::new(0, 1_000_000_000u32 / 60)); } } -- cgit v1.2.3