summaryrefslogtreecommitdiff
path: root/plugins/dfinput
diff options
context:
space:
mode:
authorSND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2011-05-18 13:50:04 +0000
committerSND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2011-05-18 13:50:04 +0000
commit9acd71c584aeb60ceab64eccf464e92d1d6d5c31 (patch)
tree46c90363a5693e7c7b39a03e686aecfd418f4662 /plugins/dfinput
parent187b28524af9ac656ba4576693480f97c723763b (diff)
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@66891 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'plugins/dfinput')
-rwxr-xr-xplugins/dfinput/util.c66
-rwxr-xr-xplugins/dfinput/util.h28
2 files changed, 94 insertions, 0 deletions
diff --git a/plugins/dfinput/util.c b/plugins/dfinput/util.c
new file mode 100755
index 00000000..58d491ce
--- /dev/null
+++ b/plugins/dfinput/util.c
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2010, Wei Mingzhi <whistler@openoffice.org>.
+ * All Rights Reserved.
+ *
+ * Based on: Cdrom for Psemu Pro like Emulators
+ * By: linuzappz <linuzappz@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses>.
+ */
+
+#include "pad.h"
+#include "util.h"
+
+void grabCursor(Display *dpy, Window win, int grab)
+{
+ if(!grab)
+ {
+ XUngrabPointer(dpy, CurrentTime);
+ }
+ else
+ {
+ XGrabPointer(dpy, win, True, ButtonPressMask, GrabModeAsync, GrabModeAsync, win, None, CurrentTime);
+ }
+}
+
+void showCursor(Display *dpy, Window win, int show)
+{
+ if(!show)
+ {
+ Pixmap bm_no;
+ Colormap cmap;
+ Cursor no_ptr;
+ XColor black, dummy;
+
+ char bm_no_data[] =
+ {
+ 0, 0, 0, 0, 0, 0, 0, 0
+ };
+
+ cmap = DefaultColormap(dpy, DefaultScreen(dpy));
+ XAllocNamedColor(dpy, cmap, "black", &black, &dummy);
+ bm_no = XCreateBitmapFromData(dpy, win, bm_no_data, 8, 8);
+ no_ptr = XCreatePixmapCursor(dpy, bm_no, bm_no, &black, &black, 0, 0);
+
+ XDefineCursor(dpy, win, no_ptr);
+
+ XFreeCursor(dpy, no_ptr);
+ XFreePixmap(dpy, bm_no);
+ XFreeColors(dpy, cmap, &black.pixel, 1, 0);
+ }
+ else
+ {
+ XDefineCursor(dpy, win, 0);
+ }
+}
diff --git a/plugins/dfinput/util.h b/plugins/dfinput/util.h
new file mode 100755
index 00000000..cf4f93c0
--- /dev/null
+++ b/plugins/dfinput/util.h
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2010, Wei Mingzhi <whistler@openoffice.org>.
+ * All Rights Reserved.
+ *
+ * Based on: Cdrom for Psemu Pro like Emulators
+ * By: linuzappz <linuzappz@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses>.
+ */
+
+#ifndef __UTIL_H__
+#define __UTIL_H__
+
+extern void grabCursor(Display *dpy, Window win, int grab);
+extern void showCursor(Display *dpy, Window win, int show);
+
+#endif // __UTIL_H__