feat: add emblem geometry sliders

This commit is contained in:
2026-08-03 21:15:28 -04:00
parent 6a9995cc49
commit d5bb10528d
+39
View File
@@ -51,6 +51,20 @@ pub fn build_editor_page(
// Geometry sliders will go here in Task 4
let geometry_box = GtkBox::new(Orientation::Vertical, 4);
let scale_x = gtk::Scale::with_range(Orientation::Horizontal, -64.0, 64.0, 1.0);
scale_x.set_value(32.0);
let scale_y = gtk::Scale::with_range(Orientation::Horizontal, -64.0, 64.0, 1.0);
scale_y.set_value(32.0);
let scale_size = gtk::Scale::with_range(Orientation::Horizontal, 8.0, 128.0, 1.0);
scale_size.set_value(32.0);
geometry_box.append(&Label::new(Some("Emblem X")));
geometry_box.append(&scale_x);
geometry_box.append(&Label::new(Some("Emblem Y")));
geometry_box.append(&scale_y);
geometry_box.append(&Label::new(Some("Emblem Size")));
geometry_box.append(&scale_size);
side_panel.append(&geometry_box);
content.append(&side_panel);
@@ -74,6 +88,31 @@ pub fn build_editor_page(
};
refresh_preview();
{
let composite = Rc::clone(&composite);
let refresh_preview = refresh_preview.clone();
scale_x.connect_value_changed(move |s| {
composite.borrow_mut().emblem_x = s.value();
refresh_preview();
});
}
{
let composite = Rc::clone(&composite);
let refresh_preview = refresh_preview.clone();
scale_y.connect_value_changed(move |s| {
composite.borrow_mut().emblem_y = s.value();
refresh_preview();
});
}
{
let composite = Rc::clone(&composite);
let refresh_preview = refresh_preview.clone();
scale_size.connect_value_changed(move |s| {
composite.borrow_mut().emblem_size = s.value();
refresh_preview();
});
}
let rebuild_swatches: Rc<RefCell<Box<dyn Fn()>>> = Rc::new(RefCell::new(Box::new(|| {})));
{
let composite = Rc::clone(&composite);