mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-03 19:54:13 +13:00
Added ellipse shadow
This commit is contained in:
parent
f28e913a11
commit
efe88bde57
2 changed files with 19 additions and 8 deletions
|
@ -23,6 +23,7 @@ You should have received a copy of the GNU General Public License
|
||||||
|
|
||||||
#endregion License Information (GPL v3)
|
#endregion License Information (GPL v3)
|
||||||
|
|
||||||
|
using ShareX.HelpersLib;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Drawing.Drawing2D;
|
using System.Drawing.Drawing2D;
|
||||||
|
|
||||||
|
@ -33,22 +34,32 @@ public class EllipseDrawingShape : BaseDrawingShape
|
||||||
public override ShapeType ShapeType { get; } = ShapeType.DrawingEllipse;
|
public override ShapeType ShapeType { get; } = ShapeType.DrawingEllipse;
|
||||||
|
|
||||||
public override void OnDraw(Graphics g)
|
public override void OnDraw(Graphics g)
|
||||||
|
{
|
||||||
|
if (Shadow && IsBorderVisible)
|
||||||
|
{
|
||||||
|
DrawEllipse(g, ShadowColor, BorderSize, Color.Transparent, Rectangle.LocationOffset(ShadowDirection));
|
||||||
|
}
|
||||||
|
|
||||||
|
DrawEllipse(g, BorderColor, BorderSize, FillColor, Rectangle);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DrawEllipse(Graphics g, Color borderColor, int borderSize, Color fillColor, Rectangle rect)
|
||||||
{
|
{
|
||||||
g.SmoothingMode = SmoothingMode.HighQuality;
|
g.SmoothingMode = SmoothingMode.HighQuality;
|
||||||
|
|
||||||
if (FillColor.A > 0)
|
if (fillColor.A > 0)
|
||||||
{
|
{
|
||||||
using (Brush brush = new SolidBrush(FillColor))
|
using (Brush brush = new SolidBrush(fillColor))
|
||||||
{
|
{
|
||||||
g.FillEllipse(brush, Rectangle);
|
g.FillEllipse(brush, rect);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (BorderSize > 0 && BorderColor.A > 0)
|
if (borderSize > 0 && borderColor.A > 0)
|
||||||
{
|
{
|
||||||
using (Pen pen = new Pen(BorderColor, BorderSize))
|
using (Pen pen = new Pen(borderColor, borderSize))
|
||||||
{
|
{
|
||||||
g.DrawEllipse(pen, Rectangle);
|
g.DrawEllipse(pen, rect);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,12 +52,12 @@ private void DrawRectangle(Graphics g, Color borderColor, int borderSize, Color
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (IsFillVisible)
|
if (fillColor.A > 0)
|
||||||
{
|
{
|
||||||
brush = new SolidBrush(fillColor);
|
brush = new SolidBrush(fillColor);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IsBorderVisible)
|
if (borderSize > 0 && borderColor.A > 0)
|
||||||
{
|
{
|
||||||
pen = new Pen(borderColor, borderSize);
|
pen = new Pen(borderColor, borderSize);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue