--- xcalibrate.c | 26 ++++++++++++++++++++++++++ xcalibrate.h | 2 ++ 2 files changed, 28 insertions(+) Index: XCalibrate/xcalibrate.c =================================================================== --- XCalibrate.orig/xcalibrate.c 2007-06-30 14:12:22.000000000 +0100 +++ XCalibrate/xcalibrate.c 2007-06-30 14:18:10.000000000 +0100 @@ -227,3 +227,29 @@ XCalibrateSetRawMode (Display *dpy, Bool SyncHandle (); return 0; } + +Status +XCalibrateScreenToCoord (Display *dpy, int *x, int *y) +{ + XExtDisplayInfo *info = XCalibrateFindDisplay (dpy); + xXCalibrateScreenToCoordReq *req; + xXCalibrateScreenToCoordReply rep; + LockDisplay (dpy); + GetReq (XCalibrateScreenToCoord, req); + req->reqType = info->codes->major_opcode; + req->xCalibrateReqType = X_XCalibrateScreenToCoord; + req->x = *x; + req->y = *y; + if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) + { + UnlockDisplay (dpy); + SyncHandle (); + return 1; + } + *x = rep.x; + *y = rep.y; + UnlockDisplay (dpy); + SyncHandle (); + return 0; +} + Index: XCalibrate/xcalibrate.h =================================================================== --- XCalibrate.orig/xcalibrate.h 2007-06-30 14:16:16.000000000 +0100 +++ XCalibrate/xcalibrate.h 2007-06-30 14:16:38.000000000 +0100 @@ -43,4 +43,6 @@ Status XCalibrateQueryVersion (Display * Status XCalibrateSetRawMode (Display *dpy, Bool enable); +Status XCalibrateScreenToCoord (Display *dpy, int *x, int *y); + #endif