| /* |
| * 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; |
| |
| /** |
| * This class is not supported in Android 1.0. It is merely provided to maintain |
| * interface compatibility with desktop Java implementations. |
| * |
| * @since Android 1.0 |
| */ |
| 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(); |
| } |
| |
| } |