summaryrefslogtreecommitdiff
path: root/libjava/gnu/gcj/xlib/XButtonEvent.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/gnu/gcj/xlib/XButtonEvent.java')
-rw-r--r--libjava/gnu/gcj/xlib/XButtonEvent.java53
1 files changed, 53 insertions, 0 deletions
diff --git a/libjava/gnu/gcj/xlib/XButtonEvent.java b/libjava/gnu/gcj/xlib/XButtonEvent.java
new file mode 100644
index 000000000..032830b2c
--- /dev/null
+++ b/libjava/gnu/gcj/xlib/XButtonEvent.java
@@ -0,0 +1,53 @@
+/* Copyright (C) 2000 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.xlib;
+
+/**
+ * Interprets data from an Xlib XButtonEvent into members of java
+ * primitive types.
+ *
+ * @author Rolf W. Rasmussen <rolfwr@ii.uib.no>
+ */
+public class XButtonEvent extends XEvent
+{
+
+ // Must match the definition in X.h:
+ public static final int MASK_SHIFT = 1<<0,
+ MASK_LOCK = 1<<1,
+ MASK_CONTROL = 1<<2,
+ MASK_MOD1 = 1<<3,
+ MASK_MOD2 = 1<<4,
+ MASK_MOD3 = 1<<5,
+ MASK_MOD4 = 1<<6,
+ MASK_MOD5 = 1<<7;
+
+ public XButtonEvent(XAnyEvent event)
+ {
+ super(event);
+
+ // FIXME: Avoid double checking?
+ if ((event.getType() != XAnyEvent.TYPE_BUTTON_PRESS) &&
+ (event.getType() != XAnyEvent.TYPE_BUTTON_RELEASE))
+ {
+ throw new IllegalArgumentException("Wrong event type");
+ }
+ init();
+ }
+
+ native void init();
+
+ public long time;
+ public int x;
+ public int y;
+ public int state;
+ public int button;
+}
+
+
+