mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 09:17:36 +13:00
Added magnify strength option
This commit is contained in:
parent
89ff9f0f34
commit
01bfe03112
3 changed files with 32 additions and 2 deletions
|
@ -84,6 +84,9 @@ public class AnnotationOptions
|
|||
public int StepFontSize { get; set; } = 18;
|
||||
public bool StepUseLetters { get; set; } = false;
|
||||
|
||||
// Magnify drawing
|
||||
public int MagnifyStrength { get; set; } = 200;
|
||||
|
||||
// Sticker drawing
|
||||
public List<StickerPackInfo> StickerPacks = new List<StickerPackInfo>()
|
||||
{
|
||||
|
|
|
@ -35,6 +35,18 @@ public class MagnifyDrawingShape : EllipseDrawingShape
|
|||
|
||||
public int MagnifyStrength { get; set; } = 200;
|
||||
|
||||
public override void OnConfigLoad()
|
||||
{
|
||||
base.OnConfigLoad();
|
||||
MagnifyStrength = AnnotationOptions.MagnifyStrength;
|
||||
}
|
||||
|
||||
public override void OnConfigSave()
|
||||
{
|
||||
base.OnConfigSave();
|
||||
AnnotationOptions.MagnifyStrength = MagnifyStrength;
|
||||
}
|
||||
|
||||
public override void OnDraw(Graphics g)
|
||||
{
|
||||
g.PixelOffsetMode = PixelOffsetMode.Half;
|
||||
|
@ -45,7 +57,7 @@ public override void OnDraw(Graphics g)
|
|||
gp.AddEllipse(Rectangle);
|
||||
g.SetClip(gp);
|
||||
|
||||
float magnify = Math.Max(MagnifyStrength, 200) / 100;
|
||||
float magnify = Math.Max(MagnifyStrength, 100) / 100;
|
||||
int newWidth = (int)(Rectangle.Width / magnify);
|
||||
int newHeight = (int)(Rectangle.Height / magnify);
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ internal partial class ShapeManager
|
|||
private ToolStripMenuItem tsmiArrowHeadsBothSide, tsmiShadow, tsmiShadowColor, tsmiStepUseLetters, tsmiUndo, tsmiDelete, tsmiDeleteAll, tsmiMoveTop,
|
||||
tsmiMoveUp, tsmiMoveDown, tsmiMoveBottom, tsmiRegionCapture, tsmiQuickCrop, tsmiShowMagnifier, tsmiImageEditorBackgroundColor;
|
||||
private ToolStripLabeledNumericUpDown tslnudBorderSize, tslnudCornerRadius, tslnudCenterPoints, tslnudBlurRadius, tslnudPixelateSize, tslnudStepFontSize,
|
||||
tslnudMagnifierPixelCount, tslnudStartingStepValue;
|
||||
tslnudMagnifierPixelCount, tslnudStartingStepValue, tslnudMagnifyStrength;
|
||||
private ToolStripLabel tslDragLeft, tslDragRight;
|
||||
private ToolStripLabeledComboBox tscbImageInterpolationMode, tscbCursorTypes;
|
||||
|
||||
|
@ -607,6 +607,18 @@ internal void CreateToolbar()
|
|||
};
|
||||
tsddbShapeOptions.DropDownItems.Add(tsmiShadowColor);
|
||||
|
||||
// TODO: Translate
|
||||
tslnudMagnifyStrength = new ToolStripLabeledNumericUpDown("Magnify strength:");
|
||||
tslnudMagnifyStrength.Content.Minimum = 100;
|
||||
tslnudMagnifyStrength.Content.Maximum = 1000;
|
||||
tslnudMagnifyStrength.Content.Increment = 100;
|
||||
tslnudMagnifyStrength.Content.ValueChanged = (sender, e) =>
|
||||
{
|
||||
AnnotationOptions.MagnifyStrength = (int)tslnudMagnifyStrength.Content.Value;
|
||||
UpdateCurrentShape();
|
||||
};
|
||||
tsddbShapeOptions.DropDownItems.Add(tslnudMagnifyStrength);
|
||||
|
||||
// In dropdown menu if only last item is visible then menu opens at 0, 0 position on first open, so need to add dummy item to solve this weird bug...
|
||||
tsddbShapeOptions.DropDownItems.Add(new ToolStripSeparator() { Visible = false });
|
||||
|
||||
|
@ -1356,6 +1368,8 @@ private void UpdateMenu()
|
|||
tslnudStartingStepValue.Content.Value = StartingStepNumber;
|
||||
tsmiStepUseLetters.Checked = AnnotationOptions.StepUseLetters;
|
||||
|
||||
tslnudMagnifyStrength.Content.Value = AnnotationOptions.MagnifyStrength;
|
||||
|
||||
tsmiShadow.Checked = AnnotationOptions.Shadow;
|
||||
|
||||
if (tsmiShadowColor.Image != null) tsmiShadowColor.Image.Dispose();
|
||||
|
@ -1450,6 +1464,7 @@ private void UpdateMenu()
|
|||
tscbImageInterpolationMode.Visible = shapeType == ShapeType.DrawingImage || shapeType == ShapeType.DrawingImageScreen;
|
||||
tslnudStartingStepValue.Visible = shapeType == ShapeType.DrawingStep;
|
||||
tslnudStepFontSize.Visible = tsmiStepUseLetters.Visible = shapeType == ShapeType.DrawingStep;
|
||||
tslnudMagnifyStrength.Visible = shapeType == ShapeType.DrawingMagnify;
|
||||
tscbCursorTypes.Visible = shapeType == ShapeType.DrawingCursor;
|
||||
tslnudBlurRadius.Visible = shapeType == ShapeType.EffectBlur;
|
||||
tslnudPixelateSize.Visible = shapeType == ShapeType.EffectPixelate;
|
||||
|
|
Loading…
Reference in a new issue