Вам потребуется разработать структуру данных для хранения точечных данных, чтобы их можно было легко запрашивать и манипулировать ими.Объект Path
может быть достаточным для этого самого, но подумайте над тем, чтобы обернуть его другим объектом, чтобы представить более специфичный для домена интерфейс.
Вам придется обнаруживать события мыши в Canvas и проверять попадание для всех вершинв пути.
Тест удара - это функция, которая дает вам ссылку на одну точку на пути, ближайшем к координате мыши, или null
, если щелчок был слишком далеко от любой из точек, чтобы считаться"удар".Ваша функция проверки попадания становится низкоуровневой конструкцией, из которой вы можете построить более интересные операции редактирования.
Например, вы можете сохранить bool
для каждой точки пути, указывающей, выбрана ли эта точка.При перетаскивании мыши кнопкой вниз можно перетаскивать все выбранные точки, смещая их данные в структуре данных, упомянутой ранее.