Pinta.Core.Document.DeleteLayer C# (CSharp) Method

DeleteLayer() public method

public DeleteLayer ( int index, bool dispose ) : void
index int
dispose bool
return void
        public void DeleteLayer(int index, bool dispose)
        {
            Layer layer = UserLayers[index];

            UserLayers.RemoveAt (index);

            if (dispose)
                (layer.Surface as IDisposable).Dispose ();

            // Only change this if this wasn't already the bottom layer
            if (current_layer > 0)
                current_layer--;

            layer.PropertyChanged -= RaiseLayerPropertyChangedEvent;

            PintaCore.Layers.OnLayerRemoved ();
        }

Usage Example

Example #1
0
        private void HandlePintaCoreActionsLayersDeleteLayerActivated(object sender, EventArgs e)
        {
            Document doc = PintaCore.Workspace.ActiveDocument;

            PintaCore.Tools.Commit();

            DeleteLayerHistoryItem hist = new DeleteLayerHistoryItem("Menu.Layers.DeleteLayer.png", Catalog.GetString("Delete Layer"), doc.CurrentLayer, doc.CurrentLayerIndex);

            doc.DeleteLayer(doc.CurrentLayerIndex, false);

            doc.History.PushNewItem(hist);
        }