mirror of
https://github.com/kwsch/PKHeX
synced 2024-12-24 03:13:18 +00:00
bf6c25eca7
A little bit cleaner when the logic is separated Keep an abstraction of BoxEdit to cache the current box contents. Already fetched to show sprites; any future fetches (for preview text / hover sprite) can reuse the already fetched pkm data. Should probably rewrite this stuff completely, but effort better spent elsewhere
33 lines
No EOL
911 B
C#
33 lines
No EOL
911 B
C#
using System.Drawing;
|
|
using System.Windows.Forms;
|
|
using PKHeX.Core;
|
|
|
|
namespace PKHeX.WinForms.Controls
|
|
{
|
|
public class DragManager
|
|
{
|
|
public SlotChangeInfo<Cursor> Info;
|
|
public event DragEventHandler RequestExternalDragDrop;
|
|
public void RequestDD(object sender, DragEventArgs e) => RequestExternalDragDrop?.Invoke(sender, e);
|
|
|
|
public void SetCursor(Form f, Cursor z)
|
|
{
|
|
Info.Cursor = f.Cursor = z;
|
|
}
|
|
|
|
public void ResetCursor(Form sender)
|
|
{
|
|
SetCursor(sender, Cursors.Default);
|
|
}
|
|
|
|
public void Initialize(SaveFile SAV)
|
|
{
|
|
Info = new SlotChangeInfo<Cursor>(SAV);
|
|
}
|
|
|
|
public void Reset() => Info.Reset();
|
|
|
|
public Point MouseDownPosition { get; set; }
|
|
public bool CanStartDrag => Info.LeftMouseIsDown && !Cursor.Position.Equals(MouseDownPosition);
|
|
}
|
|
} |