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

Insert() public method

public Insert ( Pinta.Core.UserLayer layer, int index ) : void
layer Pinta.Core.UserLayer
index int
return void
        public void Insert(UserLayer layer, int index)
        {
            UserLayers.Insert (index, layer);

            if (UserLayers.Count == 1)
                current_layer = 0;

            layer.PropertyChanged += RaiseLayerPropertyChangedEvent;

            PintaCore.Layers.OnLayerAdded ();
        }

Usage Example

Example #1
0
        public void Import(string filename, Gtk.Window parent)
        {
            FileStream stream = new FileStream(filename, FileMode.Open, FileAccess.Read);

            pdn.Document loaded = PaintDotNetFileLoader.FromStream((stream));


            // Create a new document and add an initial layer.
            Pinta.Core.Document doc = PintaCore.Workspace.CreateAndActivateDocument(filename, new Gdk.Size(loaded.Width, loaded.Height));
            doc.HasFile = true;
            doc.Workspace.CanvasSize = doc.ImageSize;

            int index = 0;

            foreach (BitmapLayer l in loaded.Layers)
            {
                UserLayer layer = doc.CreateLayer(l.Name, l.Width, l.Height);
                doc.Insert(layer, index++);

                layer.Hidden    = !l.Visible;                          // pdn stores visible, not hidden
                layer.BlendMode = ConvertBlendMode(l.BlendMode);
                layer.Opacity   = Convert.ToDouble(l.Opacity) / 255.0; // pdn stores opacity with 255 as max

                // Copy over the image data to the layer's surface.
                CopyToSurface(l.Surface.Data.Buffer, layer.Surface);
            }
        }
All Usage Examples Of Pinta.Core.Document::Insert