blob: 216d973b37f7ab9ebbf8cc0a25f529c493bcc7cd [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.draw2d;
import org.eclipse.draw2d.geometry.Point;
/**
* An event caused by the user interacting with the mouse.
*/
public class MouseEvent extends InputEvent {
/** The X coordinate of the mouse event. */
public int x;
/** The Y coordinate of the mouse event. */
public int y;
/** The button that was pressed or released: {1, 2, 3}. */
public int button;
/**
* Constructs a new MouseEvent.
*
* @param dispatcher
* the event dispatcher
* @param source
* the source of the event
* @param me
* an SWT mouse event used to supply the state mask, button and
* position
* @since 3.7
*/
public MouseEvent(EventDispatcher dispatcher, IFigure source,
org.eclipse.swt.events.MouseEvent me) {
super(dispatcher, source, me.stateMask);
this.button = me.button;
Point pt = Point.SINGLETON;
pt.setLocation(me.x, me.y);
source.translateToRelative(pt);
this.x = pt.x;
this.y = pt.y;
}
/**
* Constructor for MouseEvent.
*
* @param x
* @param y
* @param dispatcher
* @param f
* @param button
* @param stateMask
* @since 3.6
* @deprecated Use
* {@link #MouseEvent(EventDispatcher, IFigure, org.eclipse.swt.events.MouseEvent)}
* instead.
*/
public MouseEvent(int x, int y, EventDispatcher dispatcher, IFigure f,
int button, int stateMask) {
super(dispatcher, f, stateMask);
Point pt = Point.SINGLETON;
pt.setLocation(x, y);
f.translateToRelative(pt);
this.button = button;
this.x = pt.x;
this.y = pt.y;
}
/**
* @return the location of this mouse event
*/
public Point getLocation() {
return new Point(x, y);
}
/**
* @see Object#toString()
*/
public String toString() {
return "MouseEvent(" + x + ',' + y + ") to Figure: " + source;//$NON-NLS-2$//$NON-NLS-1$
}
}