summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@openedhand.com>2008-02-11 19:32:01 +0000
committerRoss Burton <ross@burtonini.com>2008-02-11 19:32:01 +0000
commit7b8e29186097170e930de634a4a68072558aa056 (patch)
tree74d216db8141fd776b4ebe5a1f1f18a10c800ce7
parent95c1708a48ab470971dc37df31b2733ad1aeb220 (diff)
Add XCalibrateScreenToCoord
-rw-r--r--xcalibrate.c26
-rw-r--r--xcalibrate.h2
2 files changed, 28 insertions, 0 deletions
diff --git a/xcalibrate.c b/xcalibrate.c
index d51c2a2..d147527 100644
--- a/xcalibrate.c
+++ b/xcalibrate.c
@@ -227,3 +227,29 @@ XCalibrateSetRawMode (Display *dpy, Bool enable)
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;
+}
+
diff --git a/xcalibrate.h b/xcalibrate.h
index 6b82223..04f9153 100644
--- a/xcalibrate.h
+++ b/xcalibrate.h
@@ -43,4 +43,6 @@ Status XCalibrateQueryVersion (Display *dpy,
Status XCalibrateSetRawMode (Display *dpy, Bool enable);
+Status XCalibrateScreenToCoord (Display *dpy, int *x, int *y);
+
#endif