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
|
// Geometry sliders will go here in Task 4
|
||||||
let geometry_box = GtkBox::new(Orientation::Vertical, 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);
|
side_panel.append(&geometry_box);
|
||||||
|
|
||||||
content.append(&side_panel);
|
content.append(&side_panel);
|
||||||
@@ -74,6 +88,31 @@ pub fn build_editor_page(
|
|||||||
};
|
};
|
||||||
refresh_preview();
|
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 rebuild_swatches: Rc<RefCell<Box<dyn Fn()>>> = Rc::new(RefCell::new(Box::new(|| {})));
|
||||||
{
|
{
|
||||||
let composite = Rc::clone(&composite);
|
let composite = Rc::clone(&composite);
|
||||||
|
|||||||
Reference in New Issue
Block a user