31 lines
1.5 KiB
C#
31 lines
1.5 KiB
C#
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);
|
||
} |