01: /*
02: * @(#)CaptureEvent.java
03: *
04: * Copyright (C) 2002-2003 Matt Albrecht
05: * groboclown@users.sourceforge.net
06: * http://groboutils.sourceforge.net
07: *
08: * Permission is hereby granted, free of charge, to any person obtaining a
09: * copy of this software and associated documentation files (the "Software"),
10: * to deal in the Software without restriction, including without limitation
11: * the rights to use, copy, modify, merge, publish, distribute, sublicense,
12: * and/or sell copies of the Software, and to permit persons to whom the
13: * Software is furnished to do so, subject to the following conditions:
14: *
15: * The above copyright notice and this permission notice shall be included in
16: * all copies or substantial portions of the Software.
17: *
18: * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19: * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20: * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21: * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22: * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23: * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24: * DEALINGS IN THE SOFTWARE.
25: */
26:
27: package net.sourceforge.groboutils.uicapture.v1.event;
28:
29: import java.awt.Robot;
30: import java.awt.event.InputEvent;
31:
32: /**
33: * An event object which stores a capture event.
34: *
35: * @author Matt Albrecht <a href="mailto:groboclown@users.sourceforge.net">groboclown@users.sourceforge.net</a>
36: * @version Jan 4, 2002
37: */
38: public abstract class CaptureEvent implements java.io.Serializable {
39: public static final int CE_MOUSE_MOVED = 1;
40: public static final int CE_MOUSE_PRESSED = 2;
41: public static final int CE_MOUSE_RELEASED = 3;
42: public static final int CE_KEY_PRESSED = 4;
43: public static final int CE_KEY_RELEASED = 5;
44: public static final int CE_MOUSE_WHEEL = 6;
45:
46: /**
47: * @serial
48: */
49: private int eventType = -1;
50:
51: /**
52: * @serial
53: */
54: private InputEvent event = null;
55:
56: /**
57: * @serial
58: */
59: private long timeOfEvent = -1;
60:
61: /**
62: * Create a CaptureEvent with an AWT InputEvent.
63: */
64: public CaptureEvent(int eventType, InputEvent event) {
65: this .eventType = eventType;
66: this .event = event;
67: if (event != null) {
68: this .timeOfEvent = event.getWhen();
69: }
70: }
71:
72: /**
73: * Create a CaptureEvent without an AWT InputEvent.
74: */
75: public CaptureEvent(int eventType) {
76: this .eventType = eventType;
77: this .event = null;
78: this .timeOfEvent = -1;
79: }
80:
81: public int getEventType() {
82: return this .eventType;
83: }
84:
85: public InputEvent getInputEvent() {
86: return this .event;
87: }
88:
89: public long getTimeOfEvent() {
90: return this .timeOfEvent;
91: }
92:
93: /**
94: * Reenacts the event that this CaptureEvent represents underneath it
95: * all.
96: */
97: public abstract void performEvent(Robot r);
98: }
|