aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
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);
}
}