Я разрабатываю приложение-раскраску для iPad (iOS4+). Приложение должно позволять окрашивать только одну область изображения за раз.
Я имею в виду, что если пользователь коснется любого места на экране и начнет двигать пальцем, цвет должен применяться только к тем пикселям, которые находятся в той же области, что и первая точка касания. Например, если пользователь коснется центра левого изображения и начнет двигать пальцем по всему изображению, он должен получить что-то вроде правого изображения.

Я думаю, что одним из решений задачи может быть создание маски в форме затронутой области, а затем применение этой маски к изображению, прежде чем выполнять дальнейшие модификации. Но, честно говоря, я понятия не имею, с чего начать.
Подскажите, пожалуйста, как сделать такую маску?
Решение может использовать Core Graphics и Open GL.