using Lattice.Core.DragDrop.Models; using Lattice.Core.Geometry; namespace Lattice.UI.DragDrop.Abstractions; /// /// Поставщик визуального представления для перетаскиваемого элемента. /// public interface IDragVisualProvider { /// /// Создает визуальное представление для перетаскивания. /// /// Информация о перетаскивании. /// Начальная позиция в экранных координатах. /// Объект, представляющий визуальное отображение. object CreateDragVisual(DragInfo dragInfo, Point initialPosition); /// /// Обновляет позицию визуального представления. /// /// Визуальное представление. /// Новая позиция. void UpdateDragVisualPosition(object dragVisual, Point position); /// /// Освобождает ресурсы визуального представления. /// /// Визуальное представление. void ReleaseDragVisual(object dragVisual); }