I use the algorithm of checking if a point is inside a region:
draw a point with color1
draw a region with color2
check if point still has color1
So the main problem for me is the last step.
I know it is possible to do this with core graphics but it is probably slow. In OpenVG and OpenGL it could be faster but:
I can't find any examples
it requires 2 cycles of built-in draw function - draw a point and a region on the first call and check color on the second. And the same operation for each region separately.