mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-01 09:47:22 +13:00
Added quick sticker mode
This commit is contained in:
parent
73f759baa7
commit
3467f36b8d
3 changed files with 37 additions and 15 deletions
|
@ -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;
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue