• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *  Licensed to the Apache Software Foundation (ASF) under one or more
3  *  contributor license agreements.  See the NOTICE file distributed with
4  *  this work for additional information regarding copyright ownership.
5  *  The ASF licenses this file to You under the Apache License, Version 2.0
6  *  (the "License"); you may not use this file except in compliance with
7  *  the License.  You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *  Unless required by applicable law or agreed to in writing, software
12  *  distributed under the License is distributed on an "AS IS" BASIS,
13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  See the License for the specific language governing permissions and
15  *  limitations under the License.
16  */
17 /**
18  * @author Michael Danilov
19  * @version $Revision$
20  */
21 package java.awt.event;
22 
23 import java.awt.Component;
24 
25 /**
26  * This class is not supported in Android 1.0. It is merely provided to maintain
27  * interface compatibility with desktop Java implementations.
28  *
29  * @since Android 1.0
30  */
31 public abstract class InputEvent extends ComponentEvent {
32 
33     private static final long serialVersionUID = -2482525981698309786L;
34 
35     public static final int SHIFT_MASK = 1;
36 
37     public static final int CTRL_MASK = 2;
38 
39     public static final int META_MASK = 4;
40 
41     public static final int ALT_MASK = 8;
42 
43     public static final int ALT_GRAPH_MASK = 32;
44 
45     public static final int BUTTON1_MASK = 16;
46 
47     public static final int BUTTON2_MASK = 8;
48 
49     public static final int BUTTON3_MASK = 4;
50 
51     public static final int SHIFT_DOWN_MASK = 64;
52 
53     public static final int CTRL_DOWN_MASK = 128;
54 
55     public static final int META_DOWN_MASK = 256;
56 
57     public static final int ALT_DOWN_MASK = 512;
58 
59     public static final int BUTTON1_DOWN_MASK = 1024;
60 
61     public static final int BUTTON2_DOWN_MASK = 2048;
62 
63     public static final int BUTTON3_DOWN_MASK = 4096;
64 
65     public static final int ALT_GRAPH_DOWN_MASK = 8192;
66 
67     private static final int DOWN_MASKS = SHIFT_DOWN_MASK | CTRL_DOWN_MASK |
68             META_DOWN_MASK | ALT_DOWN_MASK | BUTTON1_DOWN_MASK |
69             BUTTON2_DOWN_MASK | BUTTON3_DOWN_MASK | ALT_GRAPH_DOWN_MASK;
70 
71     private long when;
72     private int modifiersEx;
73 
getModifiersExText(int modifiers )74     public static String getModifiersExText(int modifiers/*Ex*/) {
75         return MouseEvent.addMouseModifiersExText(
76                 KeyEvent.getKeyModifiersExText(modifiers), modifiers);
77     }
78 
extractExFlags(int modifiers)79     static int extractExFlags(int modifiers) {
80         int exFlags = modifiers & DOWN_MASKS;
81 
82         if ((modifiers & SHIFT_MASK) != 0) {
83             exFlags |= SHIFT_DOWN_MASK;
84         }
85         if ((modifiers & CTRL_MASK) != 0) {
86             exFlags |= CTRL_DOWN_MASK;
87         }
88         if ((modifiers & META_MASK) != 0) {
89             exFlags |= META_DOWN_MASK;
90         }
91         if ((modifiers & ALT_MASK) != 0) {
92             exFlags |= ALT_DOWN_MASK;
93         }
94         if ((modifiers & ALT_GRAPH_MASK) != 0) {
95             exFlags |= ALT_GRAPH_DOWN_MASK;
96         }
97         if ((modifiers & BUTTON1_MASK) != 0) {
98             exFlags |= BUTTON1_DOWN_MASK;
99         }
100         if ((modifiers & BUTTON2_MASK) != 0) {
101             exFlags |= BUTTON2_DOWN_MASK;
102         }
103         if ((modifiers & BUTTON3_MASK) != 0) {
104             exFlags |= BUTTON3_DOWN_MASK;
105         }
106 
107         return exFlags;
108     }
109 
InputEvent(Component source, int id, long when, int modifiers)110     InputEvent(Component source, int id, long when, int modifiers) {
111         super(source, id);
112 
113         this.when = when;
114         modifiersEx = extractExFlags(modifiers);
115     }
116 
getModifiers()117     public int getModifiers() {
118         int modifiers = 0;
119 
120         if ((modifiersEx & SHIFT_DOWN_MASK) != 0) {
121             modifiers |= SHIFT_MASK;
122         }
123         if ((modifiersEx & CTRL_DOWN_MASK) != 0) {
124             modifiers |= CTRL_MASK;
125         }
126         if ((modifiersEx & META_DOWN_MASK) != 0) {
127             modifiers |= META_MASK;
128         }
129         if ((modifiersEx & ALT_DOWN_MASK) != 0) {
130             modifiers |= ALT_MASK;
131         }
132         if ((modifiersEx & ALT_GRAPH_DOWN_MASK) != 0) {
133             modifiers |= ALT_GRAPH_MASK;
134         }
135         if ((modifiersEx & BUTTON1_DOWN_MASK) != 0) {
136             modifiers |= BUTTON1_MASK;
137         }
138         if ((modifiersEx & BUTTON2_DOWN_MASK) != 0) {
139             modifiers |= BUTTON2_MASK;
140         }
141         if ((modifiersEx & BUTTON3_DOWN_MASK) != 0) {
142             modifiers |= BUTTON3_MASK;
143         }
144 
145         return modifiers;
146     }
147 
getModifiersEx()148     public int getModifiersEx() {
149         return modifiersEx;
150     }
151 
setModifiers(int modifiers)152     void setModifiers(int modifiers) {
153         modifiersEx = extractExFlags(modifiers);
154     }
155 
isAltDown()156     public boolean isAltDown() {
157         return ((modifiersEx & ALT_DOWN_MASK) != 0);
158     }
159 
isAltGraphDown()160     public boolean isAltGraphDown() {
161         return ((modifiersEx & ALT_GRAPH_DOWN_MASK) != 0);
162     }
163 
isControlDown()164     public boolean isControlDown() {
165         return ((modifiersEx & CTRL_DOWN_MASK) != 0);
166     }
167 
isMetaDown()168     public boolean isMetaDown() {
169         return ((modifiersEx & META_DOWN_MASK) != 0);
170     }
171 
isShiftDown()172     public boolean isShiftDown() {
173         return ((modifiersEx & SHIFT_DOWN_MASK) != 0);
174     }
175 
getWhen()176     public long getWhen() {
177         return when;
178     }
179 
180     @Override
consume()181     public void consume() {
182         super.consume();
183     }
184 
185     @Override
isConsumed()186     public boolean isConsumed() {
187         return super.isConsumed();
188     }
189 
190 }
191