DragAndDrop core
This commit is contained in:
31
Lattice.UI.DragDrop/Abstractions/IDragVisualProvider.cs
Normal file
31
Lattice.UI.DragDrop/Abstractions/IDragVisualProvider.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using Lattice.Core.DragDrop.Models;
|
||||
using Lattice.Core.Geometry;
|
||||
|
||||
namespace Lattice.UI.DragDrop.Abstractions;
|
||||
|
||||
/// <summary>
|
||||
/// Поставщик визуального представления для перетаскиваемого элемента.
|
||||
/// </summary>
|
||||
public interface IDragVisualProvider
|
||||
{
|
||||
/// <summary>
|
||||
/// Создает визуальное представление для перетаскивания.
|
||||
/// </summary>
|
||||
/// <param name="dragInfo">Информация о перетаскивании.</param>
|
||||
/// <param name="initialPosition">Начальная позиция в экранных координатах.</param>
|
||||
/// <returns>Объект, представляющий визуальное отображение.</returns>
|
||||
object CreateDragVisual(DragInfo dragInfo, Point initialPosition);
|
||||
|
||||
/// <summary>
|
||||
/// Обновляет позицию визуального представления.
|
||||
/// </summary>
|
||||
/// <param name="dragVisual">Визуальное представление.</param>
|
||||
/// <param name="position">Новая позиция.</param>
|
||||
void UpdateDragVisualPosition(object dragVisual, Point position);
|
||||
|
||||
/// <summary>
|
||||
/// Освобождает ресурсы визуального представления.
|
||||
/// </summary>
|
||||
/// <param name="dragVisual">Визуальное представление.</param>
|
||||
void ReleaseDragVisual(object dragVisual);
|
||||
}
|
||||
Reference in New Issue
Block a user