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

Close() public method

public Close ( ) : void
return void
        public void Close()
        {
            // Dispose all of our layers
            while (UserLayers.Count > 0) {
                Layer l = UserLayers[UserLayers.Count - 1];
                UserLayers.RemoveAt (UserLayers.Count - 1);
                (l.Surface as IDisposable).Dispose ();
            }

            current_layer = -1;

            if (tool_layer != null)
                (tool_layer.Surface as IDisposable).Dispose ();

            if (selection_layer != null)
                (selection_layer.Surface as IDisposable).Dispose ();

            Selection.Dispose ();
            PreviousSelection.Dispose ();

            Workspace.History.Clear ();
        }

Usage Example

        public void CloseDocument(Document document)
        {
            int index = OpenDocuments.IndexOf (document);
            OpenDocuments.Remove (document);

            if (index == active_document_index) {
                // If there's other documents open, switch to one of them
                if (HasOpenDocuments) {
                    if (index > 0)
                        SetActiveDocument (index - 1);
                    else
                        SetActiveDocument (index);
                } else {
                    active_document_index = -1;
                    OnActiveDocumentChanged (EventArgs.Empty);
                }
            }

            document.Close ();

            OnDocumentClosed (new DocumentEventArgs (document));
        }