diff --git a/Greenshot/Destinations/PickerDestination.cs b/Greenshot/Destinations/PickerDestination.cs index 75631b219..a44fb742a 100644 --- a/Greenshot/Destinations/PickerDestination.cs +++ b/Greenshot/Destinations/PickerDestination.cs @@ -107,6 +107,34 @@ namespace Greenshot.Destinations { menu.Items.Add(item); } } + // Effects + if (conf.isExperimentalFeatureEnabled("Effects")) { + menu.Items.Add(new ToolStripSeparator()); + ToolStripMenuItem effectItem = new ToolStripMenuItem("Effects"); + menu.Items.Add(effectItem); + effectItem.DropDownOpening += delegate { + effectItem.DropDownItems.Clear(); + ToolStripMenuItem effectSubItem; + if (surface.HasCursor) { + effectSubItem = new ToolStripMenuItem("Remove Cursor"); + effectItem.DropDownItems.Add(effectSubItem); + effectSubItem.Click += delegate { + surface.RemoveCursor(); + }; + } + effectSubItem = new ToolStripMenuItem(lang.GetString(LangKey.editor_shadow)); + effectItem.DropDownItems.Add(effectSubItem); + effectSubItem.Click += delegate { + surface.ApplyBitmapEffect(Effects.Shadow); + }; + effectSubItem = new ToolStripMenuItem("Torn Edge"); + effectItem.DropDownItems.Add(effectSubItem); + effectSubItem.Click += delegate { + surface.ApplyBitmapEffect(Effects.TornEdge); + }; + }; + } + // Close menu.Items.Add(new ToolStripSeparator()); ToolStripMenuItem closeItem = new ToolStripMenuItem(lang.GetString(LangKey.editor_close)); closeItem.Image = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(ImageEditorForm)).GetObject("closeToolStripMenuItem.Image"))); diff --git a/Greenshot/Forms/ImageEditorForm.Designer.cs b/Greenshot/Forms/ImageEditorForm.Designer.cs index f27298d5f..63914107c 100644 --- a/Greenshot/Forms/ImageEditorForm.Designer.cs +++ b/Greenshot/Forms/ImageEditorForm.Designer.cs @@ -168,6 +168,8 @@ namespace Greenshot { this.insert_window_toolstripmenuitem = new System.Windows.Forms.ToolStripMenuItem(); this.dimensionsLabel = new System.Windows.Forms.ToolStripStatusLabel(); this.autoCropToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.tornEdgeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.shadowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripContainer1.BottomToolStripPanel.SuspendLayout(); this.toolStripContainer1.ContentPanel.SuspendLayout(); this.toolStripContainer1.LeftToolStripPanel.SuspendLayout(); @@ -449,6 +451,22 @@ namespace Greenshot { this.autoCropToolStripMenuItem.Text = "Auto Crop"; this.autoCropToolStripMenuItem.Click += new System.EventHandler(this.AutoCropToolStripMenuItemClick); // + // tornEdgeToolStripMenuItem + // + this.tornEdgeToolStripMenuItem.Name = "tornEdgeToolStripMenuItem"; + this.tornEdgeToolStripMenuItem.Size = new System.Drawing.Size(166, 22); + this.tornEdgeToolStripMenuItem.Text = "Torn Edge"; + this.tornEdgeToolStripMenuItem.Visible = false; + this.tornEdgeToolStripMenuItem.Click += new System.EventHandler(this.TornEdgeToolStripMenuItemClick); + // + // shadowToolStripMenuItem + // + this.shadowToolStripMenuItem.Name = "shadowToolStripMenuItem"; + this.shadowToolStripMenuItem.Size = new System.Drawing.Size(166, 22); + this.shadowToolStripMenuItem.Text = "Shadow"; + this.shadowToolStripMenuItem.Visible = false; + this.shadowToolStripMenuItem.Click += new System.EventHandler(this.ShadowToolStripMenuItemClick); + // // editToolStripMenuItem // this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -464,6 +482,8 @@ namespace Greenshot { this.preferencesToolStripMenuItem, this.toolStripSeparator5, this.autoCropToolStripMenuItem, + this.tornEdgeToolStripMenuItem, + this.shadowToolStripMenuItem, this.insert_window_toolstripmenuitem}); this.editToolStripMenuItem.Name = "editToolStripMenuItem"; this.editToolStripMenuItem.Size = new System.Drawing.Size(37, 20); @@ -1625,5 +1645,7 @@ namespace Greenshot { private Greenshot.Controls.ToolStripColorButton btnFillColor; private Greenshot.Controls.ToolStripColorButton btnLineColor; private System.Windows.Forms.ToolStripMenuItem autoCropToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem tornEdgeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem shadowToolStripMenuItem; } } diff --git a/Greenshot/Forms/ImageEditorForm.cs b/Greenshot/Forms/ImageEditorForm.cs index a6a066b55..609b0ded3 100644 --- a/Greenshot/Forms/ImageEditorForm.cs +++ b/Greenshot/Forms/ImageEditorForm.cs @@ -378,6 +378,11 @@ namespace Greenshot { this.saveElementsToolStripMenuItem.Text = lang.GetString(LangKey.editor_save_objects); this.loadElementsToolStripMenuItem.Text = lang.GetString(LangKey.editor_load_objects); this.autoCropToolStripMenuItem.Text = lang.GetString(LangKey.editor_autocrop); + if (coreConf.isExperimentalFeatureEnabled("Effects")) { + this.shadowToolStripMenuItem.Text = lang.GetString(LangKey.editor_shadow); + this.shadowToolStripMenuItem.Visible = true; + this.tornEdgeToolStripMenuItem.Visible = true; + } } public ISurface Surface { @@ -1163,5 +1168,13 @@ namespace Greenshot { refreshFieldControls(); } } + + void TornEdgeToolStripMenuItemClick(object sender, EventArgs e) { + surface.ApplyBitmapEffect(Effects.TornEdge); + } + + void ShadowToolStripMenuItemClick(object sender, EventArgs e) { + surface.ApplyBitmapEffect(Effects.Shadow); + } } }