Проблема при поиске цветов на полотне

Всем доброго времени суток. Возник вопрос по одной задаче, никак не могу найти оптимального решения(везде где-то да проскакивает баг)

На примере Paint

Дано: Полотно фиксированного размера(по сути квадрат, на скрине выделил его красным) с разными отметками(зеленый и оранжевый цвет), задача каждую секунду мониторить появление новых отметок с учетом обновления полотна.

Как сейчас устроено:
0) Находим на полотне отметку, которой нет в коллекции координат и добавляем ее(записываем x; y)
1) Дальше если находится отметка, но ее координаты есть в коллекции, то пропускаем и ничего с ней не делаем

С первым этапом проблем нет, возникает проблема на следующем: если я начинаю крутить полотно в пэинте(с помощью скролла), то все эти отметки тоже меняют свое положение на полотне относительно красного квадрата(выделенной области) и алгоритм начинает их считать за новые(ибо этих координат нет в коллекции)

Обновление хаотичное и сами отметки могут уйти влево на рандмоные N-точек

Так вот. Вопрос состоит в следующем: как мне отслеживать отметки с учетом обновления полотна?

введите сюда описание изображения введите сюда описание изображения


Ответы (0 шт):