/* class MouseEvent
*
* Copyright (C) 2001-2003 R M Pitman
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package charva.awt.event;
import charva.awt.Component;
/**
* An event which encapsulates information about a mouse-click.
*/
public class MouseEvent extends InputEvent
{
private static final long serialVersionUID = 1L;
public MouseEvent(Component source_, int modifiers_,
int x_, int y_, int clickcount_, int button_) {
super(source_, AWTEvent.MOUSE_EVENT);
modifiers = modifiers_;
x = x_;
y = y_;
clickcount = clickcount_;
button = button_;
}
public int getModifiers() {
return modifiers;
}
public boolean isLeftButtonPressed()
{
return (button == BUTTON1) && (modifiers == MOUSE_PRESSED);
}
public boolean isMiddleButtonPressed()
{
return (button == BUTTON2) && (modifiers == MOUSE_PRESSED);
}
public boolean isRightButtonPressed()
{
return (button == BUTTON3) && (modifiers == MOUSE_PRESSED);
}
public int getX() {
return x;
}
public int getY() {
return y;
}
public int getClickCount() {
return clickcount;
}
public int getButton() {
return button;
}
public String toString() {
return ("MouseEvent: x=" + x + " y=" + y +
" modifiers=" + modifiers + " clickcount=" + clickcount +
" button=" + button + " source=[" + getSource() + "]");
}
// INSTANCE VARIABLES ================================================
/** Specifies whether the button was pressed, released or clicked. */
protected int modifiers;
protected int x;
protected int y;
/** Specified which button was pressed, released or clicked. */
protected int button;
protected int clickcount;
// STATIC CONSTANTS ==================================================
// Buttons
public static final int BUTTON1 = 1;
public static final int BUTTON2 = 2;
public static final int BUTTON3 = 3;
// Modifiers
public static final int MOUSE_PRESSED = 100;
public static final int MOUSE_RELEASED = 101;
public static final int MOUSE_CLICKED = 102;
}