Skip to content

Commit

Permalink
add font color field type
Browse files Browse the repository at this point in the history
  • Loading branch information
bestiasan committed Aug 31, 2022
1 parent a063c6e commit 46b53a7
Show file tree
Hide file tree
Showing 8 changed files with 609 additions and 617 deletions.
Binary file not shown.
4 changes: 2 additions & 2 deletions src/Greenshot.Editor/Drawing/Fields/FieldType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,12 @@ public class FieldType : IFieldType
public static readonly IFieldType PREPARED_FILTER_HIGHLIGHT = new FieldType(nameof(PREPARED_FILTER_HIGHLIGHT));
public static readonly IFieldType FLAGS = new FieldType(nameof(FLAGS));
public static readonly IFieldType CROPMODE = new FieldType(nameof(CROPMODE));
public static readonly IFieldType BORDER_COLOR = new FieldType(nameof(BORDER_COLOR));
public static readonly IFieldType FONT_COLOR = new FieldType(nameof(FONT_COLOR));

public static IFieldType[] Values =
{
ARROWHEADS, BLUR_RADIUS, BRIGHTNESS, FILL_COLOR, FONT_BOLD, FONT_FAMILY, FONT_ITALIC, FONT_SIZE, TEXT_HORIZONTAL_ALIGNMENT, TEXT_VERTICAL_ALIGNMENT, HIGHLIGHT_COLOR,
LINE_COLOR, LINE_THICKNESS, MAGNIFICATION_FACTOR, PIXEL_SIZE, PREVIEW_QUALITY, SHADOW, PREPARED_FILTER_OBFUSCATE, PREPARED_FILTER_HIGHLIGHT, FLAGS, CROPMODE, BORDER_COLOR
LINE_COLOR, LINE_THICKNESS, MAGNIFICATION_FACTOR, PIXEL_SIZE, PREVIEW_QUALITY, SHADOW, PREPARED_FILTER_OBFUSCATE, PREPARED_FILTER_HIGHLIGHT, FLAGS, CROPMODE, FONT_COLOR
};

public string Name { get; set; }
Expand Down
10 changes: 5 additions & 5 deletions src/Greenshot.Editor/Drawing/StepLabelContainer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ protected override void InitializeFields()
AddField(GetType(), FieldType.FILL_COLOR, Color.DarkRed);
AddField(GetType(), FieldType.LINE_COLOR, Color.White);
AddField(GetType(), FieldType.LINE_THICKNESS, 2);
AddField(GetType(), FieldType.BORDER_COLOR, Color.Black );
AddField(GetType(), FieldType.FONT_COLOR, Color.Black );
AddField(GetType(), FieldType.FLAGS, FieldFlag.COUNTER);
}

Expand Down Expand Up @@ -198,15 +198,15 @@ public override void Draw(Graphics graphics, RenderMode rm)
var rect = new NativeRect(Left, Top, Width, Height).Normalize();
Color fillColor = GetFieldValueAsColor(FieldType.FILL_COLOR);
Color lineColor = GetFieldValueAsColor(FieldType.LINE_COLOR);
Color borderColor = GetFieldValueAsColor(FieldType.BORDER_COLOR);
Color fontColor = GetFieldValueAsColor(FieldType.FONT_COLOR);
int line_thickness = GetFieldValueAsInt(FieldType.LINE_THICKNESS);
if (_drawAsRectangle)
{
RectangleContainer.DrawRectangle(rect, graphics, rm, line_thickness, borderColor, fillColor, false);
RectangleContainer.DrawRectangle(rect, graphics, rm, line_thickness, lineColor, fillColor, false);
}
else
{
EllipseContainer.DrawEllipse(rect, graphics, rm, line_thickness, borderColor, fillColor, false);
EllipseContainer.DrawEllipse(rect, graphics, rm, line_thickness, lineColor, fillColor, false);
}

float fontSize = Math.Min(Math.Abs(Width), Math.Abs(Height)) / 1.4f;
Expand All @@ -218,7 +218,7 @@ public override void Draw(Graphics graphics, RenderMode rm)
{
using FontFamily fam = new FontFamily(FontFamily.GenericSansSerif.Name);
using Font font = new Font(fam, fontSize, FontStyle.Bold, GraphicsUnit.Pixel);
TextContainer.DrawText(graphics, rect, 0, lineColor, false, _stringFormat, text, font);
TextContainer.DrawText(graphics, rect, 0, fontColor, false, _stringFormat, text, font);
}
}

Expand Down
20 changes: 10 additions & 10 deletions src/Greenshot.Editor/Forms/ImageEditorForm.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions src/Greenshot.Editor/Forms/ImageEditorForm.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1265,7 +1265,7 @@ private void BindFieldControls()
// TODO: This is actually risky, if there are no references than the objects may be garbage collected
new BidirectionalBinding(btnFillColor, "SelectedColor", _surface.FieldAggregator.GetField(FieldType.FILL_COLOR), "Value", NotNullValidator.GetInstance());
new BidirectionalBinding(btnLineColor, "SelectedColor", _surface.FieldAggregator.GetField(FieldType.LINE_COLOR), "Value", NotNullValidator.GetInstance());
new BidirectionalBinding(btnBorderColor, "SelectedColor", _surface.FieldAggregator.GetField(FieldType.BORDER_COLOR), "Value", NotNullValidator.GetInstance());
new BidirectionalBinding(btnFontColor, "SelectedColor", _surface.FieldAggregator.GetField(FieldType.FONT_COLOR), "Value", NotNullValidator.GetInstance());
new BidirectionalBinding(lineThicknessUpDown, "Value", _surface.FieldAggregator.GetField(FieldType.LINE_THICKNESS), "Value", DecimalIntConverter.GetInstance(),
NotNullValidator.GetInstance());
new BidirectionalBinding(blurRadiusUpDown, "Value", _surface.FieldAggregator.GetField(FieldType.BLUR_RADIUS), "Value", DecimalIntConverter.GetInstance(),
Expand Down Expand Up @@ -1305,7 +1305,7 @@ private void RefreshFieldControls()
var props = (FieldAggregator)_surface.FieldAggregator;
btnFillColor.Visible = props.HasFieldValue(FieldType.FILL_COLOR);
btnLineColor.Visible = props.HasFieldValue(FieldType.LINE_COLOR);
btnBorderColor.Visible = props.HasFieldValue(FieldType.BORDER_COLOR);
btnFontColor.Visible = props.HasFieldValue(FieldType.FONT_COLOR);
lineThicknessLabel.Visible = lineThicknessUpDown.Visible = props.HasFieldValue(FieldType.LINE_THICKNESS);
blurRadiusLabel.Visible = blurRadiusUpDown.Visible = props.HasFieldValue(FieldType.BLUR_RADIUS);
previewQualityLabel.Visible = previewQualityUpDown.Visible = props.HasFieldValue(FieldType.PREVIEW_QUALITY);
Expand Down
Loading

0 comments on commit 46b53a7

Please sign in to comment.