Без двойного буфера - самое простое помнить "старое значение", где была стрелка, и новое значение - где её нужно перерисовать. Тоже не самый удобный вариант, но его можно реализвать так:
- Стирание стрелки по старым координатам. (Восстановление части заднего фона)
- Рисование стрелки по новым координатам.
Плюсы - Не нужно много памяти. Фактически, только данные о стрелке, координатах и тому подобное.
Минусы - Минимум два кадра отрисовки.
Другой вариант - создавать временный буфер памяти, в котором будет рисоваться изменённая картинка, а затем выводить её на экран (заменять прямоугольник).
Минусы - Требуется память. Много. Можно попытаться отхватить больше памяти, чем есть в чипе.
Плюсы - Делается за один кадр.
Почему бы не использовать что-то другое? Ползунковые индикаторы / полосу / цифры, например. Их проще отрисовать быстро.
Хотя, если так хочется - то... как говорится.
Но лично я эти стрелочки пропустил для себя.