aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs14
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);
}
}