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

AddNewLayer() public method

public AddNewLayer ( string name ) : Pinta.Core.UserLayer
name string
return Pinta.Core.UserLayer
        public UserLayer AddNewLayer(string name)
        {
            UserLayer layer;

            if (string.IsNullOrEmpty (name))
                layer = CreateLayer ();
            else
                layer = CreateLayer (name);

            UserLayers.Insert (current_layer + 1, layer);

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

            layer.PropertyChanged += RaiseLayerPropertyChangedEvent;

            PintaCore.Layers.OnLayerAdded ();
            return layer;
        }

Usage Example

Example #1
0
        public void Import(string fileName, Gtk.Window parent)
        {
            Pixbuf bg;

            // Handle any EXIF orientation flags
            using (var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
                bg = new Pixbuf(fs);

            bg = bg.ApplyEmbeddedOrientation();

            Size imagesize = new Size(bg.Width, bg.Height);

            Document doc = PintaCore.Workspace.CreateAndActivateDocument(fileName, imagesize);

            doc.HasFile              = true;
            doc.ImageSize            = imagesize;
            doc.Workspace.CanvasSize = imagesize;

            Layer layer = doc.AddNewLayer(Path.GetFileName(fileName));

            using (Cairo.Context g = new Cairo.Context(layer.Surface)) {
                CairoHelper.SetSourcePixbuf(g, bg, 0, 0);
                g.Paint();
            }

            bg.Dispose();
        }
All Usage Examples Of Pinta.Core.Document::AddNewLayer