Added quick sticker mode

This commit is contained in:
Jaex 2018-02-15 00:04:00 +03:00
parent 73f759baa7
commit 3467f36b8d
3 changed files with 37 additions and 15 deletions

View file

@ -87,6 +87,7 @@ public class AnnotationOptions
public List<StickerPackInfo> StickerPacks = new List<StickerPackInfo>();
public int SelectedStickerPack = 0;
public int StickerSize { get; set; } = 64;
public bool StickerQuickMode { get; set; } = false;
// Blur effect
public int BlurRadius { get; set; } = 15;

View file

@ -63,23 +63,14 @@ private void OpenStickerForm(bool creating)
AnnotationOptions.SelectedStickerPack = stickerForm.SelectedStickerPack;
AnnotationOptions.StickerSize = stickerForm.StickerSize;
if (!string.IsNullOrEmpty(stickerForm.SelectedImageFile))
if (LoadSticker(stickerForm.SelectedImageFile, stickerForm.StickerSize))
{
Image img = ImageHelpers.LoadImage(stickerForm.SelectedImageFile);
if (img != null)
if (creating)
{
img = ImageHelpers.ResizeImageLimit(img, stickerForm.StickerSize);
SetImage(img, true);
if (creating)
{
OnCreated();
}
return;
OnCreated();
}
return;
}
}
}
@ -95,12 +86,41 @@ private void OpenStickerForm(bool creating)
}
}
private bool LoadSticker(string filePath, int stickerSize)
{
if (!string.IsNullOrEmpty(filePath))
{
Image img = ImageHelpers.LoadImage(filePath);
if (img != null)
{
Manager.LastStickerPath = filePath;
img = ImageHelpers.ResizeImageLimit(img, stickerSize);
SetImage(img, true);
return true;
}
}
return false;
}
public override void OnCreating()
{
Point pos = InputManager.ClientMousePosition;
Rectangle = new Rectangle(pos.X, pos.Y, 1, 1);
OpenStickerForm(true);
if (AnnotationOptions.StickerQuickMode && LoadSticker(Manager.LastStickerPath, AnnotationOptions.StickerSize))
{
OnCreated();
Manager.IsMoving = true;
}
else
{
OpenStickerForm(true);
}
}
public override void OnDoubleClicked()

View file

@ -217,6 +217,7 @@ public bool NodesVisible
public event Action<BaseShape> ShapeCreated;
internal RegionCaptureForm Form { get; private set; }
internal string LastStickerPath { get; set; }
private bool isLeftPressed, isRightPressed, isUpPressed, isDownPressed;