int INTERNAL_cursorpos(float *x, float *y) { POINT point; GetCursorPos(&point); ScreenToClient(WI[GD.win_id].child[C_DRAWAREA].hwnd, &point); *x = usercoorx((float) point.x); *y = usercoorx((float) point.y); return TRUE; }
int INTERNAL_cursorpos(float *x, float *y) { int rootx, rooty, wx, wy, ret; Window root, child; unsigned int mask; Widget wid; *x = *y = 0.0; if ((wid=XtWindowToWidget(INTERNAL_display,xwini[GD.win_id].xwin))==NULL) return FALSE; if (XtIsManaged(wid)==FALSE) return FALSE; if (XmGetVisibility(wid) == XmVISIBILITY_FULLY_OBSCURED) return FALSE; ret = (int) XQueryPointer(INTERNAL_display, xwini[GD.win_id].xwin, &root, &child, &rootx, &rooty, &wx, &wy, &mask); *x = usercoorx((float) wx); *y = usercoory((float) wy); return ret; }