Thanks for the quick reply.
1) I hope someone else would need this to, it is definitely a feature I miss often.
2) I might have overlooked how to do it. ApplyFilterOnSnapShot with 0xff0000 will keep all the read of all pixels, not just the ones with the exact color 0xff0000. ie 0xffffff and 0xff4242 would both become 0xff0000. For debugging it would be useful to have a filter that will keep only the pixels that match exactly 0xff0000, so I can see graphically which pixels of a snapshot it considerd. Again I might have missed it, if it is already possible it would be great?
3) It's true, that if its complicated to use, it would not be used. One possible way could be to do it similar to color lists:
void AddSearchRect(left, top, right, bottom, count, color) - where the coordinates is relative to the point one want to return.
Then if someone would search for the france flag, it would be something like:
AddSearchRect(-15, -10, -5, 10, count, 0x0000ff);
AddSearchRect(-5, -10, 5, 10, count, 0xffffff);
AddSearchRect(5, -10, 15, 10, count, 0xff0000);
Search(&X, &Y)
The found X,Y would then be in the middle of the white stripe.
But it might be to complicated to see actual usage.
Thanks again for a great library