Compare commits
1 Commits
1c6fc99f57
...
140be50baa
| Author | SHA1 | Date | |
|---|---|---|---|
| 140be50baa |
@@ -97,6 +97,10 @@ impl Layers {
|
|||||||
LayerIteratorMut::new(&mut self.vec, self.last)
|
LayerIteratorMut::new(&mut self.vec, self.last)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn iter_orderless_mut(&mut self) -> impl Iterator<Item = (usize, &mut Layer)> {
|
||||||
|
self.vec.iter_mut().map(|n| &mut n.data).enumerate()
|
||||||
|
}
|
||||||
|
|
||||||
pub fn iter(&self) -> impl Iterator<Item = (usize, &Layer)> {
|
pub fn iter(&self) -> impl Iterator<Item = (usize, &Layer)> {
|
||||||
self.indices().map(|i| (i, &self.vec[i].data))
|
self.indices().map(|i| (i, &self.vec[i].data))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,13 +61,13 @@ impl UiRenderer {
|
|||||||
|
|
||||||
pub fn update(&mut self, device: &Device, queue: &Queue, ui: &mut Ui) {
|
pub fn update(&mut self, device: &Device, queue: &Queue, ui: &mut Ui) {
|
||||||
self.active.clear();
|
self.active.clear();
|
||||||
for (i, ulayer) in ui.data.layers.iter_mut() {
|
for (i, ulayer) in ui.data.layers.iter_orderless_mut() {
|
||||||
self.active.push(i);
|
self.active.push(i);
|
||||||
let primitives = &mut ulayer.primitives;
|
let primitives = &mut ulayer.primitives;
|
||||||
for change in primitives.apply_free() {
|
for change in primitives.apply_free() {
|
||||||
if let Some(inst) = ui.data.active.get_mut(&change.id) {
|
if let Some(inst) = ui.data.active.get_mut(&change.id) {
|
||||||
for h in &mut inst.primitives {
|
for h in &mut inst.primitives {
|
||||||
if h.inst_idx == change.old {
|
if h.layer == i && h.inst_idx == change.old {
|
||||||
h.inst_idx = change.new;
|
h.inst_idx = change.new;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user