mirror of
https://github.com/greenshot/greenshot
synced 2025-08-22 06:23:24 -07:00
parent
ead7fdc4ba
commit
2b3685e08d
5 changed files with 28 additions and 126 deletions
|
@ -35,7 +35,6 @@ namespace Greenshot.Base.Interfaces
|
||||||
Bitmap,
|
Bitmap,
|
||||||
Path,
|
Path,
|
||||||
SpeechBubble,
|
SpeechBubble,
|
||||||
StepLabel,
|
StepLabel
|
||||||
Redact,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,60 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Runtime.Serialization;
|
|
||||||
using Dapplo.Windows.Common.Extensions;
|
|
||||||
using Dapplo.Windows.Common.Structs;
|
|
||||||
using Greenshot.Base.Interfaces;
|
|
||||||
using Greenshot.Base.Interfaces.Drawing;
|
|
||||||
|
|
||||||
namespace Greenshot.Editor.Drawing
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Represents a redaction object on the Surface
|
|
||||||
/// </summary>
|
|
||||||
[Serializable]
|
|
||||||
public class RedactionContainer : RectangleContainer
|
|
||||||
{
|
|
||||||
private readonly Color lineColor = Color.Black;
|
|
||||||
private readonly Color fillColor = Color.Black;
|
|
||||||
private readonly int lineThickness = 0;
|
|
||||||
private readonly bool shadow = false;
|
|
||||||
|
|
||||||
public RedactionContainer(ISurface parent) : base(parent)
|
|
||||||
{
|
|
||||||
Init();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Do some logic to make sure all fields are initiated correctly
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="streamingContext">StreamingContext</param>
|
|
||||||
protected override void OnDeserialized(StreamingContext streamingContext)
|
|
||||||
{
|
|
||||||
base.OnDeserialized(streamingContext);
|
|
||||||
Init();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Init()
|
|
||||||
{
|
|
||||||
CreateDefaultAdorners();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void InitializeFields()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Draw(Graphics graphics, RenderMode rm)
|
|
||||||
{
|
|
||||||
var rect = new NativeRect(Left, Top, Width, Height).Normalize();
|
|
||||||
|
|
||||||
DrawRectangle(rect, graphics, rm, lineThickness, lineColor, fillColor, shadow);
|
|
||||||
}
|
|
||||||
|
|
||||||
public override bool ClickableAt(int x, int y)
|
|
||||||
{
|
|
||||||
var rect = new NativeRect(Left, Top, Width, Height).Normalize();
|
|
||||||
|
|
||||||
return RectangleClickableAt(rect, lineThickness, fillColor, x, y);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -754,9 +754,6 @@ namespace Greenshot.Editor.Drawing
|
||||||
case DrawingModes.Rect:
|
case DrawingModes.Rect:
|
||||||
_undrawnElement = new RectangleContainer(this);
|
_undrawnElement = new RectangleContainer(this);
|
||||||
break;
|
break;
|
||||||
case DrawingModes.Redact:
|
|
||||||
_undrawnElement = new RedactionContainer(this);
|
|
||||||
break;
|
|
||||||
case DrawingModes.Ellipse:
|
case DrawingModes.Ellipse:
|
||||||
_undrawnElement = new EllipseContainer(this);
|
_undrawnElement = new EllipseContainer(this);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -62,7 +62,6 @@ namespace Greenshot.Editor.Forms {
|
||||||
this.btnCursor = new GreenshotToolStripButton();
|
this.btnCursor = new GreenshotToolStripButton();
|
||||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.btnRect = new GreenshotToolStripButton();
|
this.btnRect = new GreenshotToolStripButton();
|
||||||
this.btnRedact = new GreenshotToolStripButton();
|
|
||||||
this.btnEllipse = new GreenshotToolStripButton();
|
this.btnEllipse = new GreenshotToolStripButton();
|
||||||
this.btnLine = new GreenshotToolStripButton();
|
this.btnLine = new GreenshotToolStripButton();
|
||||||
this.btnArrow = new GreenshotToolStripButton();
|
this.btnArrow = new GreenshotToolStripButton();
|
||||||
|
@ -100,9 +99,8 @@ namespace Greenshot.Editor.Forms {
|
||||||
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.insert_window_toolstripmenuitem = new GreenshotToolStripMenuItem();
|
this.insert_window_toolstripmenuitem = new GreenshotToolStripMenuItem();
|
||||||
this.objectToolStripMenuItem = new GreenshotToolStripMenuItem();
|
this.objectToolStripMenuItem = new GreenshotToolStripMenuItem();
|
||||||
this.addRectangleToolStripMenuItem = new GreenshotToolStripMenuItem();
|
this.addRectangleToolStripMenuItem = new GreenshotToolStripMenuItem();
|
||||||
this.redactToolStripMenuItem = new GreenshotToolStripMenuItem();
|
this.addEllipseToolStripMenuItem = new GreenshotToolStripMenuItem();
|
||||||
this.addEllipseToolStripMenuItem = new GreenshotToolStripMenuItem();
|
|
||||||
this.drawLineToolStripMenuItem = new GreenshotToolStripMenuItem();
|
this.drawLineToolStripMenuItem = new GreenshotToolStripMenuItem();
|
||||||
this.drawArrowToolStripMenuItem = new GreenshotToolStripMenuItem();
|
this.drawArrowToolStripMenuItem = new GreenshotToolStripMenuItem();
|
||||||
this.drawFreehandToolStripMenuItem = new GreenshotToolStripMenuItem();
|
this.drawFreehandToolStripMenuItem = new GreenshotToolStripMenuItem();
|
||||||
|
@ -331,7 +329,6 @@ namespace Greenshot.Editor.Forms {
|
||||||
this.btnCursor,
|
this.btnCursor,
|
||||||
this.toolStripSeparator1,
|
this.toolStripSeparator1,
|
||||||
this.btnRect,
|
this.btnRect,
|
||||||
this.btnRedact,
|
|
||||||
this.btnEllipse,
|
this.btnEllipse,
|
||||||
this.btnLine,
|
this.btnLine,
|
||||||
this.btnArrow,
|
this.btnArrow,
|
||||||
|
@ -369,30 +366,20 @@ namespace Greenshot.Editor.Forms {
|
||||||
// toolStripSeparator1
|
// toolStripSeparator1
|
||||||
//
|
//
|
||||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||||
//
|
//
|
||||||
// btnRect
|
// btnRect
|
||||||
//
|
//
|
||||||
this.btnRect.CheckOnClick = true;
|
this.btnRect.CheckOnClick = true;
|
||||||
this.btnRect.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
this.btnRect.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||||
this.btnRect.Image = ((System.Drawing.Image)(resources.GetObject("btnRect.Image")));
|
this.btnRect.Image = ((System.Drawing.Image)(resources.GetObject("btnRect.Image")));
|
||||||
this.btnRect.ImageTransparentColor = System.Drawing.Color.Magenta;
|
this.btnRect.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||||
this.btnRect.LanguageKey = "editor_drawrectangle";
|
this.btnRect.LanguageKey = "editor_drawrectangle";
|
||||||
this.btnRect.Name = "btnRect";
|
this.btnRect.Name = "btnRect";
|
||||||
this.btnRect.Click += new System.EventHandler(this.BtnRectClick);
|
this.btnRect.Click += new System.EventHandler(this.BtnRectClick);
|
||||||
//
|
//
|
||||||
// btnRedact
|
// btnEllipse
|
||||||
//
|
//
|
||||||
this.btnRedact.CheckOnClick = true;
|
this.btnEllipse.CheckOnClick = true;
|
||||||
this.btnRedact.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
|
||||||
this.btnRedact.Image = ((System.Drawing.Image)(resources.GetObject("btnRect.Image")));
|
|
||||||
this.btnRedact.ImageTransparentColor = System.Drawing.Color.Magenta;
|
|
||||||
this.btnRedact.LanguageKey = "editor_drawrectangle";
|
|
||||||
this.btnRedact.Name = "btnRedact";
|
|
||||||
this.btnRedact.Click += new System.EventHandler(this.BtnRedactClick);
|
|
||||||
//
|
|
||||||
// btnEllipse
|
|
||||||
//
|
|
||||||
this.btnEllipse.CheckOnClick = true;
|
|
||||||
this.btnEllipse.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
this.btnEllipse.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||||
this.btnEllipse.Image = ((System.Drawing.Image)(resources.GetObject("btnEllipse.Image")));
|
this.btnEllipse.Image = ((System.Drawing.Image)(resources.GetObject("btnEllipse.Image")));
|
||||||
this.btnEllipse.ImageTransparentColor = System.Drawing.Color.Magenta;
|
this.btnEllipse.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||||
|
@ -701,7 +688,6 @@ namespace Greenshot.Editor.Forms {
|
||||||
//
|
//
|
||||||
this.objectToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.objectToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.addRectangleToolStripMenuItem,
|
this.addRectangleToolStripMenuItem,
|
||||||
this.redactToolStripMenuItem,
|
|
||||||
this.addEllipseToolStripMenuItem,
|
this.addEllipseToolStripMenuItem,
|
||||||
this.drawLineToolStripMenuItem,
|
this.drawLineToolStripMenuItem,
|
||||||
this.drawArrowToolStripMenuItem,
|
this.drawArrowToolStripMenuItem,
|
||||||
|
@ -720,24 +706,17 @@ namespace Greenshot.Editor.Forms {
|
||||||
this.objectToolStripMenuItem.Name = "objectToolStripMenuItem";
|
this.objectToolStripMenuItem.Name = "objectToolStripMenuItem";
|
||||||
this.objectToolStripMenuItem.Size = new System.Drawing.Size(54, 20);
|
this.objectToolStripMenuItem.Size = new System.Drawing.Size(54, 20);
|
||||||
this.objectToolStripMenuItem.Text = "Object";
|
this.objectToolStripMenuItem.Text = "Object";
|
||||||
//
|
//
|
||||||
// addRectangleToolStripMenuItem
|
// addRectangleToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.addRectangleToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("addRectangleToolStripMenuItem.Image")));
|
this.addRectangleToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("addRectangleToolStripMenuItem.Image")));
|
||||||
this.addRectangleToolStripMenuItem.LanguageKey = "editor_drawrectangle";
|
this.addRectangleToolStripMenuItem.LanguageKey = "editor_drawrectangle";
|
||||||
this.addRectangleToolStripMenuItem.Name = "addRectangleToolStripMenuItem";
|
this.addRectangleToolStripMenuItem.Name = "addRectangleToolStripMenuItem";
|
||||||
this.addRectangleToolStripMenuItem.Click += new System.EventHandler(this.AddRectangleToolStripMenuItemClick);
|
this.addRectangleToolStripMenuItem.Click += new System.EventHandler(this.AddRectangleToolStripMenuItemClick);
|
||||||
//
|
//
|
||||||
// redactToolStripMenuItem
|
// addEllipseToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.redactToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("addRectangleToolStripMenuItem.Image")));//TODO
|
this.addEllipseToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("addEllipseToolStripMenuItem.Image")));
|
||||||
this.redactToolStripMenuItem.LanguageKey = "editor_drawrectangle";//TODO
|
|
||||||
this.redactToolStripMenuItem.Name = "redactToolStripMenuItem";
|
|
||||||
this.redactToolStripMenuItem.Click += new System.EventHandler(this.RedactToolStripMenuItemClick);
|
|
||||||
//
|
|
||||||
// addEllipseToolStripMenuItem
|
|
||||||
//
|
|
||||||
this.addEllipseToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("addEllipseToolStripMenuItem.Image")));
|
|
||||||
this.addEllipseToolStripMenuItem.LanguageKey = "editor_drawellipse";
|
this.addEllipseToolStripMenuItem.LanguageKey = "editor_drawellipse";
|
||||||
this.addEllipseToolStripMenuItem.Name = "addEllipseToolStripMenuItem";
|
this.addEllipseToolStripMenuItem.Name = "addEllipseToolStripMenuItem";
|
||||||
this.addEllipseToolStripMenuItem.Click += new System.EventHandler(this.AddEllipseToolStripMenuItemClick);
|
this.addEllipseToolStripMenuItem.Click += new System.EventHandler(this.AddEllipseToolStripMenuItemClick);
|
||||||
|
@ -2022,7 +2001,6 @@ namespace Greenshot.Editor.Forms {
|
||||||
private GreenshotToolStripMenuItem addCounterToolStripMenuItem;
|
private GreenshotToolStripMenuItem addCounterToolStripMenuItem;
|
||||||
private GreenshotToolStripMenuItem addEllipseToolStripMenuItem;
|
private GreenshotToolStripMenuItem addEllipseToolStripMenuItem;
|
||||||
private GreenshotToolStripMenuItem addRectangleToolStripMenuItem;
|
private GreenshotToolStripMenuItem addRectangleToolStripMenuItem;
|
||||||
private GreenshotToolStripMenuItem redactToolStripMenuItem;
|
|
||||||
private GreenshotToolStripMenuItem objectToolStripMenuItem;
|
private GreenshotToolStripMenuItem objectToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem undoToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem undoToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem redoToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem redoToolStripMenuItem;
|
||||||
|
@ -2047,7 +2025,6 @@ namespace Greenshot.Editor.Forms {
|
||||||
private GreenshotToolStripButton btnEllipse;
|
private GreenshotToolStripButton btnEllipse;
|
||||||
private GreenshotToolStripButton btnSave;
|
private GreenshotToolStripButton btnSave;
|
||||||
private GreenshotToolStripButton btnRect;
|
private GreenshotToolStripButton btnRect;
|
||||||
private GreenshotToolStripButton btnRedact;
|
|
||||||
private System.Windows.Forms.ToolStripContainer topToolStripContainer;
|
private System.Windows.Forms.ToolStripContainer topToolStripContainer;
|
||||||
private ToolStripEx destinationsToolStrip;
|
private ToolStripEx destinationsToolStrip;
|
||||||
private NonJumpingPanel panel1;
|
private NonJumpingPanel panel1;
|
||||||
|
|
|
@ -689,12 +689,6 @@ namespace Greenshot.Editor.Forms
|
||||||
RefreshFieldControls();
|
RefreshFieldControls();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BtnRedactClick(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
_surface.DrawingMode = DrawingModes.Redact;
|
|
||||||
RefreshFieldControls();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void BtnTextClick(object sender, EventArgs e)
|
private void BtnTextClick(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
_surface.DrawingMode = DrawingModes.Text;
|
_surface.DrawingMode = DrawingModes.Text;
|
||||||
|
@ -774,11 +768,6 @@ namespace Greenshot.Editor.Forms
|
||||||
BtnRectClick(sender, e);
|
BtnRectClick(sender, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RedactToolStripMenuItemClick(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
BtnRedactClick(sender, e);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void DrawFreehandToolStripMenuItemClick(object sender, EventArgs e)
|
private void DrawFreehandToolStripMenuItemClick(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
BtnFreehandClick(sender, e);
|
BtnFreehandClick(sender, e);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue