コード例 #1
0
        private void Activated(object sender, EventArgs e)
        {
            var doc = PintaCore.Workspace.ActiveDocument;

            using var dialog = new LayerPropertiesDialog();

            int response = dialog.Run();

            if (response == (int)Gtk.ResponseType.Ok &&
                dialog.AreLayerPropertiesUpdated)
            {
                var historyMessage = GetLayerPropertyUpdateMessage(
                    dialog.InitialLayerProperties,
                    dialog.UpdatedLayerProperties);

                var historyItem = new UpdateLayerPropertiesHistoryItem(
                    Resources.Icons.LayerProperties,
                    historyMessage,
                    doc.Layers.CurrentUserLayerIndex,
                    dialog.InitialLayerProperties,
                    dialog.UpdatedLayerProperties);

                doc.History.PushNewItem(historyItem);

                PintaCore.Workspace.ActiveWorkspace.Invalidate();
            }
            else
            {
                var layer          = doc.Layers.CurrentUserLayer;
                var selectionLayer = doc.Layers.SelectionLayer;
                var initial        = dialog.InitialLayerProperties;
                initial.SetProperties(layer);
                if (selectionLayer != null)
                {
                    initial.SetProperties(selectionLayer);
                }

                if ((layer.Opacity != initial.Opacity) || (layer.BlendMode != initial.BlendMode) || (layer.Hidden != initial.Hidden))
                {
                    PintaCore.Workspace.ActiveWorkspace.Invalidate();
                }
            }
        }
コード例 #2
0
        private void Activated(object sender, EventArgs e)
        {
            var dialog = new LayerPropertiesDialog ();

            int response = dialog.Run ();

            if (response == (int)Gtk.ResponseType.Ok
                && dialog.AreLayerPropertiesUpdated) {

                var historyMessage = GetLayerPropertyUpdateMessage (
                        dialog.InitialLayerProperties,
                        dialog.UpdatedLayerProperties);

                var historyItem = new UpdateLayerPropertiesHistoryItem (
                    "Menu.Layers.LayerProperties.png",
                    historyMessage,
                    PintaCore.Layers.CurrentLayerIndex,
                    dialog.InitialLayerProperties,
                    dialog.UpdatedLayerProperties);

                PintaCore.Workspace.ActiveWorkspace.History.PushNewItem (historyItem);

                PintaCore.Workspace.ActiveWorkspace.Invalidate ();

            } else {

                var layer = PintaCore.Workspace.ActiveDocument.CurrentUserLayer;
                var selectionLayer = PintaCore.Workspace.ActiveDocument.SelectionLayer;
                var initial = dialog.InitialLayerProperties;
                initial.SetProperties (layer);
                if (selectionLayer != null)
                    initial.SetProperties (selectionLayer);

                if ((layer.Opacity != initial.Opacity) || (layer.BlendMode != initial.BlendMode) || (layer.Hidden != initial.Hidden))
                    PintaCore.Workspace.ActiveWorkspace.Invalidate ();
            }

            dialog.Destroy ();
        }
コード例 #3
0
        private void Activated(object sender, EventArgs e)
        {
            var dialog = new LayerPropertiesDialog();

            int response = dialog.Run();

            if (response == (int)Gtk.ResponseType.Ok &&
                dialog.AreLayerPropertiesUpdated)
            {
                var historyMessage = GetLayerPropertyUpdateMessage(
                    dialog.InitialLayerProperties,
                    dialog.UpdatedLayerProperties);

                var historyItem = new UpdateLayerPropertiesHistoryItem(
                    "Menu.Layers.LayerProperties.png",
                    historyMessage,
                    PintaCore.Layers.CurrentLayerIndex,
                    dialog.InitialLayerProperties,
                    dialog.UpdatedLayerProperties);

                PintaCore.Workspace.ActiveWorkspace.History.PushNewItem(historyItem);

                PintaCore.Workspace.ActiveWorkspace.Invalidate();
            }
            else
            {
                var layer   = PintaCore.Workspace.ActiveDocument.CurrentLayer;
                var initial = dialog.InitialLayerProperties;
                initial.SetProperties(layer);

                if (layer.Opacity != initial.Opacity)
                {
                    PintaCore.Workspace.ActiveWorkspace.Invalidate();
                }
            }

            dialog.Destroy();
        }