DragAndDrop core

This commit is contained in:
FrigaT
2026-01-18 16:33:35 +03:00
parent 9ea82af329
commit 79bdd8bc62
229 changed files with 21214 additions and 2494 deletions

View 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);
}