   Mouse in region
Does anyone know where I can find any code that checks if the mouse is in a region that can be defined as any kind of region? Checking for a rectangle is easy, but checking for any polygon region I'm not sure how to go about doing that.
This is a snippet I found on the internet a while ago, seemed to work fine for everything I threw at it.Don't ask me about the math behind it ;)xp and yp are point to an array of corners, x,y is the point you want to check:template < typename T >  bool is_point_in_poly( int num_edges, T *xp, T *yp, T x, T y)  {    int i, j;    bool c = 0;    for (i = 0, j = num_edges-1; i < num_edges; j = i++) { if ((((yp[i]<=y) && (y<yp[j])) || ((yp[j]<=y) && (y<yp[i]))) &&(x < (xp[j] - xp[i]) * (y - yp[i]) / (yp[j] - yp[i]) + xp[i]))    c = !c;    }    return c;  };There is tons of example code for stuff like this in all kinds of different situations on the real time rendering book site. http://www.realtimerendering.com/intersections.html