aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorArne Dußin2020-11-03 23:41:08 +0100
committerArne Dußin2020-11-03 23:41:08 +0100
commitf6d06f6123ec6fce5814ee803e0b85052922ad47 (patch)
tree5bc6b9ad4de24600efa4f8588d6d9dc2f511c02e /src/main.rs
parentb5603648a4c88585764ac70db9614504b9b57515 (diff)
downloadgraf_karto-f6d06f6123ec6fce5814ee803e0b85052922ad47.tar.gz
graf_karto-f6d06f6123ec6fce5814ee803e0b85052922ad47.zip
Add (very) basic path-drawing
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);
}
}