|
|
@ -634,6 +634,7 @@ public class ImageEditorCanvasView: UIView {
|
|
|
|
imageLayer.contentsScale = dstScale * transform.scaling
|
|
|
|
imageLayer.contentsScale = dstScale * transform.scaling
|
|
|
|
contentView.layer.addSublayer(imageLayer)
|
|
|
|
contentView.layer.addSublayer(imageLayer)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var layers = [CALayer]()
|
|
|
|
for item in model.items() {
|
|
|
|
for item in model.items() {
|
|
|
|
guard let layer = layerForItem(item: item,
|
|
|
|
guard let layer = layerForItem(item: item,
|
|
|
|
model: model,
|
|
|
|
model: model,
|
|
|
@ -643,6 +644,15 @@ public class ImageEditorCanvasView: UIView {
|
|
|
|
continue
|
|
|
|
continue
|
|
|
|
}
|
|
|
|
}
|
|
|
|
layer.contentsScale = dstScale * transform.scaling * item.outputScale()
|
|
|
|
layer.contentsScale = dstScale * transform.scaling * item.outputScale()
|
|
|
|
|
|
|
|
layers.append(layer)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// UIView.renderAsImage() doesn't honor zPosition of layers,
|
|
|
|
|
|
|
|
// so sort the item layers to ensure they are added in the
|
|
|
|
|
|
|
|
// correct order.
|
|
|
|
|
|
|
|
let sortedLayers = layers.sorted(by: { (left, right) -> Bool in
|
|
|
|
|
|
|
|
return left.zPosition < right.zPosition
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
for layer in sortedLayers {
|
|
|
|
contentView.layer.addSublayer(layer)
|
|
|
|
contentView.layer.addSublayer(layer)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|