aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorArne Dußin2021-01-06 22:50:14 +0100
committerGitHub2021-01-06 22:50:14 +0100
commitd8123704ea4fe4f1fb677db31ecac53c9c40096e (patch)
treee0a365444784efaaeb1eea6373b34559b6d57fbc /src/main.rs
parent30b23db9e86fdf72a4e7de72213df274ce19123e (diff)
parentfa1afb6be3ba2d521eb0791edc0bb8e631a85327 (diff)
downloadgraf_karto-d8123704ea4fe4f1fb677db31ecac53c9c40096e.tar.gz
graf_karto-d8123704ea4fe4f1fb677db31ecac53c9c40096e.zip
Merge pull request #27 from LordSentox/snapping
Add snapping module to replace the rigid grid snapping
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs
index 9a08586..105bb44 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -30,6 +30,7 @@ pub mod grid;
pub mod gui;
pub mod map;
pub mod math;
+pub mod snapping;
pub mod svg;
pub mod tool;
pub mod transform;
@@ -41,6 +42,7 @@ use editor::Editor;
use float_cmp::F64Margin;
use gui::{DimensionIndicator, ToolSidebar};
use raylib::prelude::*;
+use snapping::Snapper;
use std::ffi::CString;
use std::io;
use transform::Transform;
@@ -97,6 +99,7 @@ fn main() {
let mut editor = Editor::new(&mut rl, &thread, config);
let mut dimension_indicator = DimensionIndicator::new();
let tool_sidebar = ToolSidebar::new(&mut rl, &thread);
+ let mut snapper = Snapper::default();
let mut cli = CLI::new();
let mut transform = Transform::new();
@@ -124,9 +127,11 @@ fn main() {
cli.update(&mut rl, &mut editor);
dimension_indicator.update(editor.map_mut(), &mut rl);
+ snapper.update(&mut rl);
editor.update(
&mut rl,
&transform,
+ &snapper,
ToolSidebar::mouse_captured(screen_height as u16, last_mouse_pos.into()),
);
@@ -138,9 +143,10 @@ fn main() {
editor.map().draw(&mut d, &transform);
editor.draw_tools(&mut d, &transform);
- gui::position_indicator_draw(&mut d, last_mouse_pos.into(), &transform);
- dimension_indicator.draw(&mut d, &transform);
tool_sidebar.draw(screen_height as u16, &mut d, &mut editor);
+ snapper.draw(&mut d);
+ gui::position_indicator_draw(&mut d, last_mouse_pos.into(), &transform, &snapper);
+ dimension_indicator.draw(&mut d, &transform);
cli.draw(&mut d);
}
}