diff options
| author | Arne Dußin | 2020-11-03 23:41:08 +0100 |
|---|---|---|
| committer | Arne Dußin | 2020-11-03 23:41:08 +0100 |
| commit | f6d06f6123ec6fce5814ee803e0b85052922ad47 (patch) | |
| tree | 5bc6b9ad4de24600efa4f8588d6d9dc2f511c02e /src/main.rs | |
| parent | b5603648a4c88585764ac70db9614504b9b57515 (diff) | |
| download | graf_karto-f6d06f6123ec6fce5814ee803e0b85052922ad47.tar.gz graf_karto-f6d06f6123ec6fce5814ee803e0b85052922ad47.zip | |
Add (very) basic path-drawing
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs index f3838a5..c7cf4f0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,11 +2,13 @@ pub mod editor; pub mod grid; pub mod map_data; pub mod math; +pub mod svg; pub mod tool; pub mod transform; use editor::Editor; use raylib::prelude::*; +use svg::DrawSVG; use transform::Transform; fn main() { @@ -15,6 +17,8 @@ fn main() { let mut editor = Editor::new(); + let test_svg = svg::read_svg_file("drawing.svg").expect("Could not load svg file"); + let mut transform = Transform::new(); let mut last_mouse_pos = rl.get_mouse_position(); while !rl.window_should_close() { @@ -29,10 +33,10 @@ fn main() { let mouse_wheel_move = rl.get_mouse_wheel_move(); if mouse_wheel_move != 0 { // Zoom in for positive and zoom out for negative mouse wheel rotations. - let factor = if mouse_wheel_move > 0 { 1.2 } else { 1. / 1.2 }; + let scale_factor = if mouse_wheel_move > 0 { 1.2 } else { 1. / 1.2 }; transform.try_zoom( rl.get_mouse_position().into(), - mouse_wheel_move.abs() as f32 * factor, + mouse_wheel_move.abs() as f32 * scale_factor, ); } @@ -47,6 +51,12 @@ fn main() { d.clear_background(Color::BLACK); grid::draw_grid(&mut d, screen_width, screen_height, &transform); + d.draw_svg( + &test_svg, + transform.pixels_per_m(), + transform.translation_px(), + ); + editor.draw_tools(&mut d, &transform); } } |
