feat: add emblem geometry sliders
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user