SetCurrentUserLayer() public method

public SetCurrentUserLayer ( Pinta.Core.UserLayer layer ) : void
layer Pinta.Core.UserLayer
return void
Example #1
0
        private void HandlePintaCoreActionsLayersAddNewLayerActivated(object sender, EventArgs e)
        {
            Document doc = PintaCore.Workspace.ActiveDocument;

            PintaCore.Tools.Commit();

            UserLayer l = doc.AddNewLayer(string.Empty);

            // Make new layer the current layer
            doc.SetCurrentUserLayer(l);

            AddLayerHistoryItem hist = new AddLayerHistoryItem("Menu.Layers.AddNewLayer.png", Catalog.GetString("Add New Layer"), doc.UserLayers.IndexOf(l));

            doc.History.PushNewItem(hist);
        }
Example #2
0
        private void HandlePintaCoreActionsLayersImportFromFileActivated(object sender, EventArgs e)
        {
            Document doc = PintaCore.Workspace.ActiveDocument;

            PintaCore.Tools.Commit();

            var fcd = new Gtk.FileChooserDialog(Catalog.GetString("Open Image File"), PintaCore.Chrome.MainWindow,
                                                FileChooserAction.Open, Stock.Cancel, ResponseType.Cancel,
                                                Stock.Open, ResponseType.Ok);

            fcd.SetCurrentFolder(PintaCore.System.GetDialogDirectory());
            fcd.AlternativeButtonOrder = new int[] { (int)ResponseType.Ok, (int)ResponseType.Cancel };

            fcd.AddImagePreview();

            int response = fcd.Run();

            if (response == (int)Gtk.ResponseType.Ok)
            {
                string file = fcd.Filename;
                PintaCore.System.LastDialogDirectory = fcd.CurrentFolder;

                // Open the image and add it to the layers
                UserLayer layer = doc.AddNewLayer(System.IO.Path.GetFileName(file));

                using (var fs = new FileStream(file, FileMode.Open))
                    using (Pixbuf bg = new Pixbuf(fs))
                        using (Cairo.Context g = new Cairo.Context(layer.Surface)) {
                            CairoHelper.SetSourcePixbuf(g, bg, 0, 0);
                            g.Paint();
                        }

                doc.SetCurrentUserLayer(layer);

                AddLayerHistoryItem hist = new AddLayerHistoryItem("Menu.Layers.ImportFromFile.png", Catalog.GetString("Import From File"), doc.UserLayers.IndexOf(layer));
                doc.History.PushNewItem(hist);

                doc.Workspace.Invalidate();
            }

            fcd.Destroy();
        }