fix(iced): prevent duplicate vector layer creation by removing auto-layer creation from CanvasPointerPressed for vector tools
This commit is contained in:
@@ -1510,19 +1510,15 @@ impl HcieIcedApp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Auto-create layer if current tool requires a different layer type
|
// Auto-create layer if current tool requires a different layer type
|
||||||
if req_type != hcie_engine_api::LayerType::Text {
|
// NOTE: Vector layer creation is handled by add_vector_shape() in VectorDrawEnd
|
||||||
|
// to avoid creating duplicate layers. Only create Raster layers here.
|
||||||
|
if req_type != hcie_engine_api::LayerType::Text
|
||||||
|
&& req_type != hcie_engine_api::LayerType::Vector
|
||||||
|
{
|
||||||
if let Some(active) = self.documents[self.active_doc].engine.active_layer() {
|
if let Some(active) = self.documents[self.active_doc].engine.active_layer() {
|
||||||
if active.layer_type != req_type {
|
if active.layer_type != req_type {
|
||||||
match req_type {
|
|
||||||
hcie_engine_api::LayerType::Vector => {
|
|
||||||
let id = self.documents[self.active_doc].engine.add_layer("Vector Layer");
|
|
||||||
self.documents[self.active_doc].engine.set_active_layer(id);
|
|
||||||
}
|
|
||||||
_ => {
|
|
||||||
let id = self.documents[self.active_doc].engine.add_layer("Layer");
|
let id = self.documents[self.active_doc].engine.add_layer("Layer");
|
||||||
self.documents[self.active_doc].engine.set_active_layer(id);
|
self.documents[self.active_doc].engine.set_active_layer(id);
|
||||||
}
|
|
||||||
}
|
|
||||||
self.refresh_composite_if_needed();
|
self.refresh_composite_if_needed();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user