01: /*******************************************************************************
02: * Copyright (c) 2000, 2005 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: *******************************************************************************/package org.eclipse.swt.widgets;
11:
12: import org.eclipse.swt.graphics.*;
13:
14: /**
15: * Instances of this class are descriptions of monitors.
16: *
17: * @see Display
18: *
19: * @since 3.0
20: */
21: public final class Monitor {
22: int /*long*/handle;
23: int x, y, width, height;
24: int clientX, clientY, clientWidth, clientHeight;
25:
26: /**
27: * Prevents uninitialized instances from being created outside the package.
28: */
29: Monitor() {
30: }
31:
32: /**
33: * Compares the argument to the receiver, and returns true
34: * if they represent the <em>same</em> object using a class
35: * specific comparison.
36: *
37: * @param object the object to compare with this object
38: * @return <code>true</code> if the object is the same as this object and <code>false</code> otherwise
39: *
40: * @see #hashCode()
41: */
42: public boolean equals(Object object) {
43: if (object == this )
44: return true;
45: if (!(object instanceof Monitor))
46: return false;
47: Monitor monitor = (Monitor) object;
48: return handle == monitor.handle;
49: }
50:
51: /**
52: * Returns a rectangle describing the receiver's size and location
53: * relative to its device.
54: *
55: * @return the receiver's bounding rectangle
56: */
57: public Rectangle getBounds() {
58: return new Rectangle(x, y, width, height);
59: }
60:
61: /**
62: * Returns a rectangle which describes the area of the
63: * receiver which is capable of displaying data.
64: *
65: * @return the client area
66: */
67: public Rectangle getClientArea() {
68: return new Rectangle(clientX, clientY, clientWidth,
69: clientHeight);
70: }
71:
72: /**
73: * Returns an integer hash code for the receiver. Any two
74: * objects that return <code>true</code> when passed to
75: * <code>equals</code> must return the same value for this
76: * method.
77: *
78: * @return the receiver's hash
79: *
80: * @see #equals(Object)
81: */
82: public int hashCode() {
83: return (int) /*64*/handle;
84: }
85:
86: }
|