From 7615546fb0157c3ec9d2f25ec9837ee0b6cb7e9a Mon Sep 17 00:00:00 2001 From: Akshay Date: Wed, 17 Mar 2021 17:52:40 +0530 Subject: feat: basic command mode, add text box primitives --- src/main.rs | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index 14f4cf5..ebdf793 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,6 @@ mod app; mod bitmap; +mod command; mod consts; mod dither; mod symmetry; @@ -8,8 +9,41 @@ mod utils; use app::AppState; +use std::{ + env, + fs::OpenOptions, + io::{Cursor, Read}, +}; + +use obi::Image; + pub fn main() { let sdl_context = sdl2::init().unwrap(); let ttf_context = sdl2::ttf::init().unwrap(); - AppState::init(200, 200, &sdl_context, &ttf_context).run(); + let args: Vec<_> = env::args().collect(); + if args.len() < 2 { + AppState::init(200, 200, &sdl_context, &ttf_context, None).run(); + return; + } else { + let path = args.get(1).unwrap(); + let image_src = OpenOptions::new() + .read(true) + .write(false) + .create(false) + .open(path); + if let Ok(mut image) = image_src { + let mut buf = Vec::new(); + image.read_to_end(&mut buf).unwrap(); + let decoded = Image::decode(&mut (Cursor::new(buf))).unwrap(); + let (width, height) = (decoded.width(), decoded.height()); + AppState::init( + width, + height, + &sdl_context, + &ttf_context, + Some(decoded.data), + ) + .run(); + } + } } -- cgit v1.2.3