mirror of
https://github.com/penpot/penpot.git
synced 2025-07-13 21:27:18 +02:00
✨ Apply modifiers changes into data
This commit is contained in:
parent
7eab6a2f1d
commit
88e5209856
7 changed files with 361 additions and 163 deletions
|
@ -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();
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue