191 lines
5.2 KiB
Java
191 lines
5.2 KiB
Java
|
/*
|
||
|
* 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();
|
||
|
}
|
||
|
|
||
|
}
|