summaryrefslogtreecommitdiff
path: root/awt/java/awt/event/InputEvent.java
diff options
context:
space:
mode:
Diffstat (limited to 'awt/java/awt/event/InputEvent.java')
-rw-r--r--awt/java/awt/event/InputEvent.java184
1 files changed, 184 insertions, 0 deletions
diff --git a/awt/java/awt/event/InputEvent.java b/awt/java/awt/event/InputEvent.java
new file mode 100644
index 000000000000..c98382d803e9
--- /dev/null
+++ b/awt/java/awt/event/InputEvent.java
@@ -0,0 +1,184 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @author Michael Danilov
+ * @version $Revision$
+ */
+package java.awt.event;
+
+import java.awt.Component;
+
+public abstract class InputEvent extends ComponentEvent {
+
+ private static final long serialVersionUID = -2482525981698309786L;
+
+ public static final int SHIFT_MASK = 1;
+
+ public static final int CTRL_MASK = 2;
+
+ public static final int META_MASK = 4;
+
+ public static final int ALT_MASK = 8;
+
+ public static final int ALT_GRAPH_MASK = 32;
+
+ public static final int BUTTON1_MASK = 16;
+
+ public static final int BUTTON2_MASK = 8;
+
+ public static final int BUTTON3_MASK = 4;
+
+ public static final int SHIFT_DOWN_MASK = 64;
+
+ public static final int CTRL_DOWN_MASK = 128;
+
+ public static final int META_DOWN_MASK = 256;
+
+ public static final int ALT_DOWN_MASK = 512;
+
+ public static final int BUTTON1_DOWN_MASK = 1024;
+
+ public static final int BUTTON2_DOWN_MASK = 2048;
+
+ public static final int BUTTON3_DOWN_MASK = 4096;
+
+ public static final int ALT_GRAPH_DOWN_MASK = 8192;
+
+ private static final int DOWN_MASKS = SHIFT_DOWN_MASK | CTRL_DOWN_MASK |
+ META_DOWN_MASK | ALT_DOWN_MASK | BUTTON1_DOWN_MASK |
+ BUTTON2_DOWN_MASK | BUTTON3_DOWN_MASK | ALT_GRAPH_DOWN_MASK;
+
+ private long when;
+ private int modifiersEx;
+
+ public static String getModifiersExText(int modifiers/*Ex*/) {
+ return MouseEvent.addMouseModifiersExText(
+ KeyEvent.getKeyModifiersExText(modifiers), modifiers);
+ }
+
+ static int extractExFlags(int modifiers) {
+ int exFlags = modifiers & DOWN_MASKS;
+
+ if ((modifiers & SHIFT_MASK) != 0) {
+ exFlags |= SHIFT_DOWN_MASK;
+ }
+ if ((modifiers & CTRL_MASK) != 0) {
+ exFlags |= CTRL_DOWN_MASK;
+ }
+ if ((modifiers & META_MASK) != 0) {
+ exFlags |= META_DOWN_MASK;
+ }
+ if ((modifiers & ALT_MASK) != 0) {
+ exFlags |= ALT_DOWN_MASK;
+ }
+ if ((modifiers & ALT_GRAPH_MASK) != 0) {
+ exFlags |= ALT_GRAPH_DOWN_MASK;
+ }
+ if ((modifiers & BUTTON1_MASK) != 0) {
+ exFlags |= BUTTON1_DOWN_MASK;
+ }
+ if ((modifiers & BUTTON2_MASK) != 0) {
+ exFlags |= BUTTON2_DOWN_MASK;
+ }
+ if ((modifiers & BUTTON3_MASK) != 0) {
+ exFlags |= BUTTON3_DOWN_MASK;
+ }
+
+ return exFlags;
+ }
+
+ InputEvent(Component source, int id, long when, int modifiers) {
+ super(source, id);
+
+ this.when = when;
+ modifiersEx = extractExFlags(modifiers);
+ }
+
+ public int getModifiers() {
+ int modifiers = 0;
+
+ if ((modifiersEx & SHIFT_DOWN_MASK) != 0) {
+ modifiers |= SHIFT_MASK;
+ }
+ if ((modifiersEx & CTRL_DOWN_MASK) != 0) {
+ modifiers |= CTRL_MASK;
+ }
+ if ((modifiersEx & META_DOWN_MASK) != 0) {
+ modifiers |= META_MASK;
+ }
+ if ((modifiersEx & ALT_DOWN_MASK) != 0) {
+ modifiers |= ALT_MASK;
+ }
+ if ((modifiersEx & ALT_GRAPH_DOWN_MASK) != 0) {
+ modifiers |= ALT_GRAPH_MASK;
+ }
+ if ((modifiersEx & BUTTON1_DOWN_MASK) != 0) {
+ modifiers |= BUTTON1_MASK;
+ }
+ if ((modifiersEx & BUTTON2_DOWN_MASK) != 0) {
+ modifiers |= BUTTON2_MASK;
+ }
+ if ((modifiersEx & BUTTON3_DOWN_MASK) != 0) {
+ modifiers |= BUTTON3_MASK;
+ }
+
+ return modifiers;
+ }
+
+ public int getModifiersEx() {
+ return modifiersEx;
+ }
+
+ void setModifiers(int modifiers) {
+ modifiersEx = extractExFlags(modifiers);
+ }
+
+ public boolean isAltDown() {
+ return ((modifiersEx & ALT_DOWN_MASK) != 0);
+ }
+
+ public boolean isAltGraphDown() {
+ return ((modifiersEx & ALT_GRAPH_DOWN_MASK) != 0);
+ }
+
+ public boolean isControlDown() {
+ return ((modifiersEx & CTRL_DOWN_MASK) != 0);
+ }
+
+ public boolean isMetaDown() {
+ return ((modifiersEx & META_DOWN_MASK) != 0);
+ }
+
+ public boolean isShiftDown() {
+ return ((modifiersEx & SHIFT_DOWN_MASK) != 0);
+ }
+
+ public long getWhen() {
+ return when;
+ }
+
+ @Override
+ public void consume() {
+ super.consume();
+ }
+
+ @Override
+ public boolean isConsumed() {
+ return super.isConsumed();
+ }
+
+}