using Lattice.Core.DragDrop.Models; using Lattice.Core.Geometry; namespace Lattice.UI.DragDrop.Abstractions; /// /// Визуальный элемент, показывающий обратную связь при наведении на цель сброса. /// /// /// /// Интерфейс предоставляет абстракцию для визуальных индикаторов, которые /// показывают пользователю возможность сброса данных на целевом элементе. /// /// /// Реализации могут предоставлять различные типы визуальной обратной связи: /// подсветку элемента, отображение индикатора позиции, изменение курсора и т.д. /// /// public interface IDropVisualAdorner { /// /// Показывает визуальную обратную связь для цели сброса. /// /// Информация о потенциальном сбросе, включая данные и позицию. /// Границы целевого элемента в экранных координатах. /// /// /// Метод должен отобразить визуальную обратную связь, соответствующую типу данных /// и контексту сброса. Обратная связь должна явно указывать на возможность /// сброса и ожидаемый эффект (копирование, перемещение и т.д.). /// /// /// Обратная связь должна учитывать свойства /// и для кастомизации отображения. /// /// void Show(DropInfo dropInfo, Rect targetBounds); /// /// Обновляет позицию и состояние визуальной обратной связи. /// /// Текущая информация о сбросе, включая обновленную позицию и состояние. /// /// Метод вызывается при каждом перемещении курсора над целью и должен /// обновлять визуальную обратную связь в соответствии с новой позицией /// и состоянием операции. /// void Update(DropInfo dropInfo); /// /// Скрывает визуальную обратную связь. /// /// /// Метод должен скрыть и очистить все визуальные элементы обратной связи. /// После вызова этого метода ресурсы могут быть освобождены или переиспользованы /// для следующих операций. /// void Hide(); }