Apply modifiers changes into data

This commit is contained in:
alonso.torres 2025-04-29 14:18:38 +02:00
parent 7eab6a2f1d
commit 88e5209856
7 changed files with 361 additions and 163 deletions

View file

@ -395,6 +395,27 @@ pub extern "C" fn propagate_modifiers() -> *mut u8 {
})
}
#[no_mangle]
pub extern "C" fn propagate_apply() {
let bytes = mem::bytes();
let entries: Vec<_> = bytes
.chunks(size_of::<<TransformEntry as SerializableResult>::BytesType>())
.map(|data| TransformEntry::from_bytes(data.try_into().unwrap()))
.collect();
with_state!(state, {
let result = shapes::propagate_modifiers(state, entries);
for entry in result {
state.modifiers.insert(entry.id, entry.transform);
}
state.rebuild_modifier_tiles();
});
mem::free_bytes();
}
#[no_mangle]
pub extern "C" fn set_structure_modifiers() {
let bytes = mem::bytes();

View file

@ -334,9 +334,9 @@ fn set_fr_value(
layout_size: f32,
) {
let tot_gap: f32 = if column {
layout_data.column_gap * (tracks.len() - 1) as f32
layout_data.column_gap * (tracks.len() as f32 - 1.0)
} else {
layout_data.row_gap * (tracks.len() - 1) as f32
layout_data.row_gap * (tracks.len() as f32 - 1.0)
};
// Total size already used