19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * this work for additional information regarding copyright ownership. 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (the "License"); you may not use this file except in compliance with 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the License. You may obtain a copy of the License at 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @author Dmitry A. Durnev, Michael Danilov 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @version $Revision$ 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage java.awt; 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport java.util.EventObject; 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport java.util.Hashtable; 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport java.util.EventListener; 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport java.awt.event.*; 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The abstract class AWTEvent is the base class for all AWT events. This class 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * and its subclasses supersede the original java.awt.Event class. 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @since Android 1.0 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic abstract class AWTEvent extends EventObject { 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant serialVersionUID. 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final long serialVersionUID = -1825314779160409405L; 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant COMPONENT_EVENT_MASK indicates the event relates to a 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * component. 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final long COMPONENT_EVENT_MASK = 1; 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant CONTAINER_EVENT_MASK indicates the event relates to a 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * container. 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final long CONTAINER_EVENT_MASK = 2; 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant FOCUS_EVENT_MASK indicates the event relates to the focus. 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final long FOCUS_EVENT_MASK = 4; 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant KEY_EVENT_MASK indicates the event relates to a key. 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final long KEY_EVENT_MASK = 8; 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant MOUSE_EVENT_MASK indicates the event relates to the mouse. 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final long MOUSE_EVENT_MASK = 16; 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant MOUSE_MOTION_EVENT_MASK indicates the event relates to a 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * mouse motion. 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final long MOUSE_MOTION_EVENT_MASK = 32; 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant WINDOW_EVENT_MASK indicates the event relates to a window. 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final long WINDOW_EVENT_MASK = 64; 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant ACTION_EVENT_MASK indicates the event relates to an action. 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final long ACTION_EVENT_MASK = 128; 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant ADJUSTMENT_EVENT_MASK indicates the event relates to an 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * adjustment. 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final long ADJUSTMENT_EVENT_MASK = 256; 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant ITEM_EVENT_MASK indicates the event relates to an item. 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final long ITEM_EVENT_MASK = 512; 969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant TEXT_EVENT_MASK indicates the event relates to text. 999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final long TEXT_EVENT_MASK = 1024; 1019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant INPUT_METHOD_EVENT_MASK indicates the event relates to an 1049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * input method. 1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final long INPUT_METHOD_EVENT_MASK = 2048; 1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant PAINT_EVENT_MASK indicates the event relates to a paint 1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * method. 1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final long PAINT_EVENT_MASK = 8192; 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant INVOCATION_EVENT_MASK indicates the event relates to a 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * method invocation. 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final long INVOCATION_EVENT_MASK = 16384; 1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant HIERARCHY_EVENT_MASK indicates the event relates to a 1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * hierarchy. 1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final long HIERARCHY_EVENT_MASK = 32768; 1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant HIERARCHY_BOUNDS_EVENT_MASK indicates the event relates to 1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * hierarchy bounds. 1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final long HIERARCHY_BOUNDS_EVENT_MASK = 65536; 1319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant MOUSE_WHEEL_EVENT_MASK indicates the event relates to the 1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * mouse wheel. 1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final long MOUSE_WHEEL_EVENT_MASK = 131072; 1379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant WINDOW_STATE_EVENT_MASK indicates the event relates to a 1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * window state. 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final long WINDOW_STATE_EVENT_MASK = 262144; 1439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant WINDOW_FOCUS_EVENT_MASK indicates the event relates to a 1469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * window focus. 1479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final long WINDOW_FOCUS_EVENT_MASK = 524288; 1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant RESERVED_ID_MAX indicates the maximum value for reserved AWT 1529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * event IDs. 1539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int RESERVED_ID_MAX = 1999; 1559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The Constant eventsMap. 1589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final Hashtable<Integer, EventDescriptor> eventsMap = new Hashtable<Integer, EventDescriptor>(); 1609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The converter. 1639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static EventConverter converter; 1659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The ID of the event. 1689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project protected int id; 1709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The consumed indicates whether or not the event is sent back down to the 1739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * peer once the source has processed it (false means it's sent to the peer, 1749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * true means it's not). 1759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project protected boolean consumed; 1779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The dispatched by kfm. 1809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean dispatchedByKFM; 1829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The is posted. 1859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project transient boolean isPosted; 1879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static { 1899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(KeyEvent.KEY_TYPED), new EventDescriptor(KEY_EVENT_MASK, 1909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project KeyListener.class)); 1919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(KeyEvent.KEY_PRESSED), new EventDescriptor(KEY_EVENT_MASK, 1929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project KeyListener.class)); 1939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(KeyEvent.KEY_RELEASED), new EventDescriptor(KEY_EVENT_MASK, 1949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project KeyListener.class)); 1959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(MouseEvent.MOUSE_CLICKED), new EventDescriptor(MOUSE_EVENT_MASK, 1969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project MouseListener.class)); 1979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(MouseEvent.MOUSE_PRESSED), new EventDescriptor(MOUSE_EVENT_MASK, 1989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project MouseListener.class)); 1999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(MouseEvent.MOUSE_RELEASED), new EventDescriptor(MOUSE_EVENT_MASK, 2009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project MouseListener.class)); 2019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(MouseEvent.MOUSE_MOVED), new EventDescriptor( 2029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project MOUSE_MOTION_EVENT_MASK, MouseMotionListener.class)); 2039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(MouseEvent.MOUSE_ENTERED), new EventDescriptor(MOUSE_EVENT_MASK, 2049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project MouseListener.class)); 2059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(MouseEvent.MOUSE_EXITED), new EventDescriptor(MOUSE_EVENT_MASK, 2069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project MouseListener.class)); 2079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(MouseEvent.MOUSE_DRAGGED), new EventDescriptor( 2089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project MOUSE_MOTION_EVENT_MASK, MouseMotionListener.class)); 2099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(MouseEvent.MOUSE_WHEEL), new EventDescriptor( 2109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project MOUSE_WHEEL_EVENT_MASK, MouseWheelListener.class)); 2119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(ComponentEvent.COMPONENT_MOVED), new EventDescriptor( 2129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_EVENT_MASK, ComponentListener.class)); 2139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(ComponentEvent.COMPONENT_RESIZED), new EventDescriptor( 2149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_EVENT_MASK, ComponentListener.class)); 2159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(ComponentEvent.COMPONENT_SHOWN), new EventDescriptor( 2169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_EVENT_MASK, ComponentListener.class)); 2179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(ComponentEvent.COMPONENT_HIDDEN), new EventDescriptor( 2189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_EVENT_MASK, ComponentListener.class)); 2199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(FocusEvent.FOCUS_GAINED), new EventDescriptor(FOCUS_EVENT_MASK, 2209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project FocusListener.class)); 2219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(FocusEvent.FOCUS_LOST), new EventDescriptor(FOCUS_EVENT_MASK, 2229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project FocusListener.class)); 2239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(PaintEvent.PAINT), new EventDescriptor(PAINT_EVENT_MASK, null)); 2249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(PaintEvent.UPDATE), new EventDescriptor(PAINT_EVENT_MASK, null)); 2259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(WindowEvent.WINDOW_OPENED), new EventDescriptor( 2269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project WINDOW_EVENT_MASK, WindowListener.class)); 2279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(WindowEvent.WINDOW_CLOSING), new EventDescriptor( 2289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project WINDOW_EVENT_MASK, WindowListener.class)); 2299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(WindowEvent.WINDOW_CLOSED), new EventDescriptor( 2309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project WINDOW_EVENT_MASK, WindowListener.class)); 2319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(WindowEvent.WINDOW_DEICONIFIED), new EventDescriptor( 2329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project WINDOW_EVENT_MASK, WindowListener.class)); 2339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(WindowEvent.WINDOW_ICONIFIED), new EventDescriptor( 2349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project WINDOW_EVENT_MASK, WindowListener.class)); 2359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(WindowEvent.WINDOW_STATE_CHANGED), new EventDescriptor( 2369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project WINDOW_STATE_EVENT_MASK, WindowStateListener.class)); 2379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(WindowEvent.WINDOW_LOST_FOCUS), new EventDescriptor( 2389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project WINDOW_FOCUS_EVENT_MASK, WindowFocusListener.class)); 2399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(WindowEvent.WINDOW_GAINED_FOCUS), new EventDescriptor( 2409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project WINDOW_FOCUS_EVENT_MASK, WindowFocusListener.class)); 2419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(WindowEvent.WINDOW_DEACTIVATED), new EventDescriptor( 2429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project WINDOW_EVENT_MASK, WindowListener.class)); 2439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(WindowEvent.WINDOW_ACTIVATED), new EventDescriptor( 2449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project WINDOW_EVENT_MASK, WindowListener.class)); 2459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(HierarchyEvent.HIERARCHY_CHANGED), new EventDescriptor( 2469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project HIERARCHY_EVENT_MASK, HierarchyListener.class)); 2479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(HierarchyEvent.ANCESTOR_MOVED), new EventDescriptor( 2489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project HIERARCHY_BOUNDS_EVENT_MASK, HierarchyBoundsListener.class)); 2499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(HierarchyEvent.ANCESTOR_RESIZED), new EventDescriptor( 2509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project HIERARCHY_BOUNDS_EVENT_MASK, HierarchyBoundsListener.class)); 2519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(ContainerEvent.COMPONENT_ADDED), new EventDescriptor( 2529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project CONTAINER_EVENT_MASK, ContainerListener.class)); 2539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(ContainerEvent.COMPONENT_REMOVED), new EventDescriptor( 2549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project CONTAINER_EVENT_MASK, ContainerListener.class)); 2559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(InputMethodEvent.INPUT_METHOD_TEXT_CHANGED), new EventDescriptor( 2569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project INPUT_METHOD_EVENT_MASK, InputMethodListener.class)); 2579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(InputMethodEvent.CARET_POSITION_CHANGED), new EventDescriptor( 2589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project INPUT_METHOD_EVENT_MASK, InputMethodListener.class)); 2599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(InvocationEvent.INVOCATION_DEFAULT), new EventDescriptor( 2609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project INVOCATION_EVENT_MASK, null)); 2619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(ItemEvent.ITEM_STATE_CHANGED), new EventDescriptor( 2629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ITEM_EVENT_MASK, ItemListener.class)); 2639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(TextEvent.TEXT_VALUE_CHANGED), new EventDescriptor( 2649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project TEXT_EVENT_MASK, TextListener.class)); 2659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(ActionEvent.ACTION_PERFORMED), new EventDescriptor( 2669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ACTION_EVENT_MASK, ActionListener.class)); 2679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eventsMap.put(new Integer(AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED), new EventDescriptor( 2689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ADJUSTMENT_EVENT_MASK, AdjustmentListener.class)); 2699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project converter = new EventConverter(); 2709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Instantiates a new AWT event from the specified Event object. 2749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 2759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param event 2769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the Event object. 2779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public AWTEvent(Event event) { 2799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project this(event.target, event.id); 2809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Instantiates a new AWT event with the specified object and type. 2849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 2859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param source 2869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the source Object. 2879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param id 2889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the event's type. 2899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public AWTEvent(Object source, int id) { 2919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project super(source); 2929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project this.id = id; 2939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project consumed = false; 2949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Gets the event's type. 2989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 2999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return the event type ID. 3009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int getID() { 3029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return id; 3039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Sets a new source for the AWTEvent. 3079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param newSource 3099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the new source Object for the AWTEvent. 3109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setSource(Object newSource) { 3129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project source = newSource; 3139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns a String representation of the AWTEvent. 3179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return the String representation of the AWTEvent. 3199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 3219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String toString() { 3229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /* 3239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The format is based on 1.5 release behavior which can be revealed by 3249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the following code: AWTEvent event = new AWTEvent(new Component(){}, 3259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1){}; System.out.println(event); 3269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String name = ""; //$NON-NLS-1$ 3289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (source instanceof Component && (source != null)) { 3309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Component comp = (Component)getSource(); 3319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project name = comp.getName(); 3329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (name == null) { 3339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project name = ""; //$NON-NLS-1$ 3349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return (getClass().getName() + "[" + paramString() + "]" //$NON-NLS-1$ //$NON-NLS-2$ 3389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + " on " + (name.length() > 0 ? name : source)); //$NON-NLS-1$ 3399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns a string representation of the AWTEvent state. 3439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return a string representation of the AWTEvent state. 3459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String paramString() { 3479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // nothing to implement: all event types must override this method 3489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return ""; //$NON-NLS-1$ 3499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Checks whether or not this AWTEvent has been consumed. 3539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true, if this AWTEvent has been consumed, false otherwise. 3559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project protected boolean isConsumed() { 3579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return consumed; 3589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Consumes the AWTEvent. 3629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project protected void consume() { 3649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project consumed = true; 3659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Convert AWTEvent object to a corresponding (deprecated) Event object. 3699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return new Event object which is a converted AWTEvent object or null if 3719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the conversion is not possible 3729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Event getEvent() { 3749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (id == ActionEvent.ACTION_PERFORMED) { 3769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ActionEvent ae = (ActionEvent)this; 3779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return converter.convertActionEvent(ae); 3789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } else if (id == AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED) { 3809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project AdjustmentEvent ae = (AdjustmentEvent)this; 3819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return converter.convertAdjustmentEvent(ae); 3829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // ???AWT 3849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // } else if (id == ComponentEvent.COMPONENT_MOVED 3859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // && source instanceof Window) { 3869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // //the only type of Component events is COMPONENT_MOVED on window 3879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // ComponentEvent ce = (ComponentEvent) this; 3889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // return converter.convertComponentEvent(ce); 3899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } else if (id >= FocusEvent.FOCUS_FIRST && id <= FocusEvent.FOCUS_LAST) { 3919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // nothing to convert 3929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // ???AWT 3949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // } else if (id == ItemEvent.ITEM_STATE_CHANGED) { 3959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // ItemEvent ie = (ItemEvent) this; 3969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // return converter.convertItemEvent(ie); 3979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } else if (id == KeyEvent.KEY_PRESSED || id == KeyEvent.KEY_RELEASED) { 3999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project KeyEvent ke = (KeyEvent)this; 4009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return converter.convertKeyEvent(ke); 4019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } else if (id >= MouseEvent.MOUSE_FIRST && id <= MouseEvent.MOUSE_LAST) { 4029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project MouseEvent me = (MouseEvent)this; 4039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return converter.convertMouseEvent(me); 4049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } else if (id == WindowEvent.WINDOW_CLOSING || id == WindowEvent.WINDOW_ICONIFIED 4059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project || id == WindowEvent.WINDOW_DEICONIFIED) { 4069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // nothing to convert 4079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } else { 4089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return null; 4099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return new Event(source, id, null); 4119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The class EventDescriptor. 4159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final class EventDescriptor { 4179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The event mask. 4209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final long eventMask; 4229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The listener type. 4259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final Class<? extends EventListener> listenerType; 4279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Instantiates a new event descriptor. 4309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param eventMask 4329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the event mask. 4339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param listenerType 4349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the listener type. 4359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project EventDescriptor(long eventMask, Class<? extends EventListener> listenerType) { 4379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project this.eventMask = eventMask; 4389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project this.listenerType = listenerType; 4399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The class EventTypeLookup. 4459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final class EventTypeLookup { 4479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The last event. 4509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private AWTEvent lastEvent = null; 4529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The last event descriptor. 4559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private EventDescriptor lastEventDescriptor = null; 4579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Gets the event descriptor. 4609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param event 4629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the event. 4639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return the event descriptor. 4649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project EventDescriptor getEventDescriptor(AWTEvent event) { 4669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project synchronized (this) { 4679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (event != lastEvent) { 4689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project lastEvent = event; 4699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project lastEventDescriptor = eventsMap.get(new Integer(event.id)); 4709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return lastEventDescriptor; 4739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Gets the event mask. 4789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param event 4809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the event. 4819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return the event mask. 4829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project long getEventMask(AWTEvent event) { 4849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final EventDescriptor ed = getEventDescriptor(event); 4859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return ed == null ? -1 : ed.eventMask; 4869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The class EventConverter. 4919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final class EventConverter { 4939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The constant OLD_MOD_MASK. 4969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int OLD_MOD_MASK = Event.ALT_MASK | Event.CTRL_MASK | Event.META_MASK 4989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project | Event.SHIFT_MASK; 4999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 5019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Convert action event. 5029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param ae 5049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the ae. 5059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return the event. 5069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Event convertActionEvent(ActionEvent ae) { 5089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Event evt = new Event(ae.getSource(), ae.getID(), ae.getActionCommand()); 5099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project evt.when = ae.getWhen(); 5109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project evt.modifiers = ae.getModifiers() & OLD_MOD_MASK; 5119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /* 5139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * if (source instanceof Button) { arg = ((Button) 5149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * source).getLabel(); } else if (source instanceof Checkbox) { arg 5159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * = new Boolean(((Checkbox) source).getState()); } else if (source 5169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * instanceof CheckboxMenuItem) { arg = ((CheckboxMenuItem) 5179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * source).getLabel(); } else if (source instanceof Choice) { arg = 5189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * ((Choice) source).getSelectedItem(); } else if (source instanceof 5199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * List) { arg = ((List) source).getSelectedItem(); } else if 5209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (source instanceof MenuItem) { arg = ((MenuItem) 5219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * source).getLabel(); } else if (source instanceof TextField) { arg 5229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * = ((TextField) source).getText(); } 5239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return evt; 5259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 5289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Convert adjustment event. 5299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param ae 5319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the ae. 5329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return the event. 5339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Event convertAdjustmentEvent(AdjustmentEvent ae) { 5359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // TODO: Event.SCROLL_BEGIN/SCROLL_END 5369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return new Event(ae.source, ae.id + ae.getAdjustmentType() - 1, new Integer(ae 5379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project .getValue())); 5389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 5419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Convert component event. 5429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param ce 5449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the ce. 5459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return the event. 5469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Event convertComponentEvent(ComponentEvent ce) { 5489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Component comp = ce.getComponent(); 5499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Event evt = new Event(comp, Event.WINDOW_MOVED, null); 5509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project evt.x = comp.getX(); 5519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project evt.y = comp.getY(); 5529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return evt; 5539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // ???AWT 5569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /* 5579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Event convertItemEvent(ItemEvent ie) { int oldId = ie.id + 5589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * ie.getStateChange() - 1; Object source = ie.source; int idx = -1; if 5599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (source instanceof List) { List list = (List) source; idx = 5609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * list.getSelectedIndex(); } else if (source instanceof Choice) { 5619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Choice choice = (Choice) source; idx = choice.getSelectedIndex(); } 5629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Object arg = idx >= 0 ? new Integer(idx) : null; return new 5639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Event(source, oldId, arg); } 5649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 5679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Convert key event. 5689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param ke 5709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the ke. 5719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return the event. 5729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Event convertKeyEvent(KeyEvent ke) { 5749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int oldId = ke.id; 5759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // leave only old Event's modifiers 5769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int mod = ke.getModifiers() & OLD_MOD_MASK; 5789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Component comp = ke.getComponent(); 5799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project char keyChar = ke.getKeyChar(); 5809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int keyCode = ke.getKeyCode(); 5819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int key = convertKey(keyChar, keyCode); 5829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (key >= Event.HOME && key <= Event.INSERT) { 5839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project oldId += 2; // non-ASCII key -> action key 5849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return new Event(comp, ke.getWhen(), oldId, 0, 0, key, mod); 5869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 5899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Convert mouse event. 5909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param me 5929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the me. 5939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return the event. 5949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Event convertMouseEvent(MouseEvent me) { 5969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int id = me.id; 5979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (id != MouseEvent.MOUSE_CLICKED) { 5989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Event evt = new Event(me.source, id, null); 5999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project evt.x = me.getX(); 6009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project evt.y = me.getY(); 6019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int mod = me.getModifiers(); 6029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // in Event modifiers mean button number for mouse events: 6039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project evt.modifiers = mod & (Event.ALT_MASK | Event.META_MASK); 6049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (id == MouseEvent.MOUSE_PRESSED) { 6059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project evt.clickCount = me.getClickCount(); 6069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return evt; 6089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return null; 6109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Convert key. 6149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param keyChar 6169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the key char. 6179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param keyCode 6189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the key code. 6199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return the int. 6209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int convertKey(char keyChar, int keyCode) { 6229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int key; 6239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // F1 - F12 6249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (keyCode >= KeyEvent.VK_F1 && keyCode <= KeyEvent.VK_F12) { 6259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project key = Event.F1 + keyCode - KeyEvent.VK_F1; 6269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } else { 6279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (keyCode) { 6289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: // non-action key 6299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project key = keyChar; 6309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 6319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // action keys: 6329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case KeyEvent.VK_HOME: 6339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project key = Event.HOME; 6349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 6359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case KeyEvent.VK_END: 6369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project key = Event.END; 6379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 6389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case KeyEvent.VK_PAGE_UP: 6399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project key = Event.PGUP; 6409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 6419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case KeyEvent.VK_PAGE_DOWN: 6429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project key = Event.PGDN; 6439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 6449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case KeyEvent.VK_UP: 6459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project key = Event.UP; 6469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 6479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case KeyEvent.VK_DOWN: 6489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project key = Event.DOWN; 6499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 6509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case KeyEvent.VK_LEFT: 6519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project key = Event.LEFT; 6529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 6539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case KeyEvent.VK_RIGHT: 6549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project key = Event.RIGHT; 6559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 6569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case KeyEvent.VK_PRINTSCREEN: 6579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project key = Event.PRINT_SCREEN; 6589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 6599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case KeyEvent.VK_SCROLL_LOCK: 6609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project key = Event.SCROLL_LOCK; 6619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 6629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case KeyEvent.VK_CAPS_LOCK: 6639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project key = Event.CAPS_LOCK; 6649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 6659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case KeyEvent.VK_NUM_LOCK: 6669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project key = Event.NUM_LOCK; 6679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 6689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case KeyEvent.VK_PAUSE: 6699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project key = Event.PAUSE; 6709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 6719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case KeyEvent.VK_INSERT: 6729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project key = Event.INSERT; 6739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 6749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return key; 6779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 682