Class MouseEvent
- All Implemented Interfaces:
Serializable
MouseEvent.PointerType
.
The historical misleading class name may change in the future to PointerEvent
.
http://www.w3.org/Submission/pointer-events/#pointerevent-interface
Unit of Coordinates
All pointer coordinates of this interface are represented in pixel units,
see NativeSurface
and NativeWindow
.
Multiple-Pointer Events
In case an instance represents a multiple-pointer event, i.e. getPointerCount()
is > 1,
the first data element of the multiple-pointer fields represents the pointer triggering this event.
For example e.getX(0)
at EVENT_MOUSE_PRESSED
returns the data of the pressed pointer, etc.
Multiple-pointer event's button number
is mapped to the first pointer ID
triggering the event and the button mask bits
in the modifiers
field represent the pressed pointer IDs.
Users can query the pressed button and pointer count via InputEvent.getButtonDownCount()
or use the simple query InputEvent.isAnyButtonDown()
.
If representing a single-pointer MouseEvent.PointerType.Mouse
event, pointer-ID
is 0
and a button value
of 0
denotes no button activity, i.e. MouseEvent.PointerType.Mouse
move.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
Class of pointer typesstatic enum
Type of pointer devicesNested classes/interfaces inherited from class com.jogamp.newt.event.InputEvent
InputEvent.InputClass, InputEvent.InputType
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final short
Maximum number of buttons, value16
static final short
ID for button 1, value1
static final short
ID for button 2, value2
static final short
ID for button 3, value3
static final short
ID for button 4, value4
static final short
ID for button 5, value5
static final short
ID for button 6, value6
static final short
ID for button 6, value7
static final short
ID for button 6, value8
static final short
ID for button 6, value9
static final short
static final short
static final short
Only generated forMouseEvent.PointerType.Mouse
static final short
Only generated forMouseEvent.PointerType.Mouse
static final short
static final short
static final short
static final short
Fields inherited from class com.jogamp.newt.event.InputEvent
ALT_GRAPH_MASK, ALT_MASK, AUTOREPEAT_MASK, BUTTON1_MASK, BUTTON2_MASK, BUTTON3_MASK, BUTTON4_MASK, BUTTON5_MASK, BUTTON6_MASK, BUTTON7_MASK, BUTTON8_MASK, BUTTON9_MASK, BUTTONALL_MASK, BUTTONLAST_MASK, CONFINED_MASK, CTRL_MASK, INVISIBLE_MASK, META_MASK, SHIFT_MASK
Fields inherited from class com.jogamp.newt.event.NEWTEvent
consumedTag
-
Constructor Summary
ConstructorsConstructorDescriptionMouseEvent
(short eventType, Object source, long when, int modifiers, int x, int y, short clickCount, short button, float[] rotationXYZ, float rotationScale) Constructor for traditional one-pointer event.MouseEvent
(short eventType, Object source, long when, int modifiers, MouseEvent.PointerType[] pointerType, short[] pointerID, int[] x, int[] y, float[] pressure, float maxPressure, short button, short clickCount, float[] rotationXYZ, float rotationScale) Constructor for a multiple-pointer event. -
Method Summary
Modifier and TypeMethodDescriptionfinal MouseEvent
createVariant
(short newEventType) final short[]
See details for multiple-pointer events.final MouseEvent.PointerType[]
See details for multiple-pointer events.final float[]
See details for multiple-pointer events.final int[]
getAllX()
See details for multiple-pointer events.final int[]
getAllY()
See details for multiple-pointer events.final short
Returns the button number, e.g.final short
static final short
static String
getEventTypeString
(short type) final float
Returns the maximum pressure known for the input device generating this event.final int
See details for multiple-pointer events.final short
getPointerId
(int index) Return the pointer id for the given index or -1 if index not available.final int
getPointerIdx
(short id) See details for multiple-pointer events.final MouseEvent.PointerType
getPointerType
(int index) See details for multiple-pointer events.final float
getPressure
(boolean normalized) final float
getPressure
(int index, boolean normalized) See details for multiple-pointer events.final float[]
Returns a 3-component float array filled with the values of the rotational axis in the following order: horizontal-, vertical- and z-axis.final float
Returns the scale used to determine therotation value
, which semantics depends on thepointer type's
MouseEvent.PointerClass
.static final float[]
getRotationXYZ
(float rotationXorY, int mods) Returns the 3-axis XYZ rotation array by given rotation on Y axis or X axis (if SHIFT_MASK is given in mods).final int
getX()
See details for multiple-pointer events.final int
getX
(int index) See details for multiple-pointer events.final int
getY()
See details for multiple-pointer events.final int
getY
(int index) See details for multiple-pointer events.final String
toString()
final StringBuilder
Methods inherited from class com.jogamp.newt.event.InputEvent
getButtonDownCount, getButtonMask, getButtonsDown, getModifiers, getModifiersString, isAltDown, isAltGraphDown, isAnyButtonDown, isAutoRepeat, isButtonDown, isConfined, isControlDown, isInvisible, isMetaDown, isShiftDown
Methods inherited from class com.jogamp.newt.event.NEWTEvent
getAttachment, getEventType, getWhen, isConsumed, setAttachment, setConsumed, toHexString
Methods inherited from class java.util.EventObject
getSource
-
Field Details
-
BUTTON1
public static final short BUTTON1ID for button 1, value1
- See Also:
-
BUTTON2
public static final short BUTTON2ID for button 2, value2
- See Also:
-
BUTTON3
public static final short BUTTON3ID for button 3, value3
- See Also:
-
BUTTON4
public static final short BUTTON4ID for button 4, value4
- See Also:
-
BUTTON5
public static final short BUTTON5ID for button 5, value5
- See Also:
-
BUTTON6
public static final short BUTTON6ID for button 6, value6
- See Also:
-
BUTTON7
public static final short BUTTON7ID for button 6, value7
- See Also:
-
BUTTON8
public static final short BUTTON8ID for button 6, value8
- See Also:
-
BUTTON9
public static final short BUTTON9ID for button 6, value9
- See Also:
-
BUTTON_COUNT
public static final short BUTTON_COUNTMaximum number of buttons, value16
- See Also:
-
EVENT_MOUSE_CLICKED
public static final short EVENT_MOUSE_CLICKED- See Also:
-
EVENT_MOUSE_ENTERED
public static final short EVENT_MOUSE_ENTEREDOnly generated forMouseEvent.PointerType.Mouse
- See Also:
-
EVENT_MOUSE_EXITED
public static final short EVENT_MOUSE_EXITEDOnly generated forMouseEvent.PointerType.Mouse
- See Also:
-
EVENT_MOUSE_PRESSED
public static final short EVENT_MOUSE_PRESSED- See Also:
-
EVENT_MOUSE_RELEASED
public static final short EVENT_MOUSE_RELEASED- See Also:
-
EVENT_MOUSE_MOVED
public static final short EVENT_MOUSE_MOVED- See Also:
-
EVENT_MOUSE_DRAGGED
public static final short EVENT_MOUSE_DRAGGED- See Also:
-
EVENT_MOUSE_WHEEL_MOVED
public static final short EVENT_MOUSE_WHEEL_MOVED- See Also:
-
-
Constructor Details
-
MouseEvent
public MouseEvent(short eventType, Object source, long when, int modifiers, int x, int y, short clickCount, short button, float[] rotationXYZ, float rotationScale) Constructor for traditional one-pointer event.- Parameters:
eventType
-source
-when
-modifiers
-x
- X-axisy
- Y-axisclickCount
- Mouse-button click-countbutton
- button number, e.g. [BUTTON1
..BUTTON_COUNT
-1]. A button value of0
denotes no button activity, i.e.MouseEvent.PointerType.Mouse
move.rotationXYZ
- Rotation of all axisrotationScale
- Rotation scale
-
MouseEvent
public MouseEvent(short eventType, Object source, long when, int modifiers, MouseEvent.PointerType[] pointerType, short[] pointerID, int[] x, int[] y, float[] pressure, float maxPressure, short button, short clickCount, float[] rotationXYZ, float rotationScale) Constructor for a multiple-pointer event.First element of multiple-pointer arrays represents the pointer which triggered the event!
See details for multiple-pointer events.
- Parameters:
eventType
-source
-when
-modifiers
-pointerType
- PointerType for each pointer (multiple pointer)pointerID
- Pointer ID for each pointer (multiple pointer). IDs start w/ 0 and are consecutive numbers. A pointer-ID of -1 may also denote no pointer/button activity, i.e.MouseEvent.PointerType.Mouse
move.x
- X-axis for each pointer (multiple pointer)y
- Y-axis for each pointer (multiple pointer)pressure
- Pressure for each pointer (multiple pointer)maxPressure
- Maximum pointer pressure for all pointerbutton
- Corresponding mouse-buttonclickCount
- Mouse-button click-countrotationXYZ
- Rotation of all axisrotationScale
- Rotation scale
-
-
Method Details
-
getRotationXYZ
public static final float[] getRotationXYZ(float rotationXorY, int mods) Returns the 3-axis XYZ rotation array by given rotation on Y axis or X axis (if SHIFT_MASK is given in mods). -
getClickTimeout
public static final short getClickTimeout() -
createVariant
-
getPointerCount
public final int getPointerCount()See details for multiple-pointer events.- Returns:
- the count of pointers involved in this event
-
getPointerType
See details for multiple-pointer events.- Returns:
- the
MouseEvent.PointerType
for the data at index or null if index not available.
-
getAllPointerTypes
See details for multiple-pointer events.- Returns:
- array of all
MouseEvent.PointerType
s for all pointers
-
getPointerId
public final short getPointerId(int index) Return the pointer id for the given index or -1 if index not available.IDs start w/ 0 and are consecutive numbers.
See details for multiple-pointer events.
-
getPointerIdx
public final int getPointerIdx(short id) See details for multiple-pointer events.- Returns:
- the pointer index for the given pointer id or -1 if id not available.
-
getAllPointerIDs
public final short[] getAllPointerIDs()See details for multiple-pointer events.- Returns:
- array of all pointer IDs for all pointers. IDs start w/ 0 and are consecutive numbers.
-
getButton
public final short getButton()Returns the button number, e.g. [BUTTON1
..BUTTON_COUNT
-1].A button value of
0
denotes no button activity, i.e.MouseEvent.PointerType.Mouse
move.See details for multiple-pointer events.
-
getClickCount
public final short getClickCount() -
getX
public final int getX()See details for multiple-pointer events.- Returns:
- X-Coord of the triggering pointer-index zero in pixel units.
-
getY
public final int getY()See details for multiple-pointer events.- Returns:
- Y-Coord of the triggering pointer-index zero in pixel units.
-
getX
public final int getX(int index) See details for multiple-pointer events.- Parameters:
index
- pointer-index within [0 ..getPointerCount()
-1]- Returns:
- X-Coord associated with the pointer-index in pixel units.
- See Also:
-
getY
public final int getY(int index) See details for multiple-pointer events.- Parameters:
index
- pointer-index within [0 ..getPointerCount()
-1]- Returns:
- Y-Coord associated with the pointer-index in pixel units.
- See Also:
-
getAllX
public final int[] getAllX()See details for multiple-pointer events.- Returns:
- array of all X-Coords for all pointers in pixel units.
-
getAllY
public final int[] getAllY()See details for multiple-pointer events.- Returns:
- array of all Y-Coords for all pointers in pixel units.
-
getPressure
public final float getPressure(boolean normalized) - Parameters:
normalized
- if true, method returns the normalized pressure, i.e.pressure / maxPressure
- Returns:
- The pressure associated with the pointer-index 0. The value of zero is return if not available.
- See Also:
-
getPressure
public final float getPressure(int index, boolean normalized) See details for multiple-pointer events.- Parameters:
index
- pointer-index within [0 ..getPointerCount()
-1]normalized
- if true, method returns the normalized pressure, i.e.pressure / maxPressure
- Returns:
- The pressure associated with the pointer-index. The value of zero is return if not available.
- See Also:
-
getAllPressures
public final float[] getAllPressures()See details for multiple-pointer events.- Returns:
- array of all raw, un-normalized pressures for all pointers
-
getMaxPressure
public final float getMaxPressure()Returns the maximum pressure known for the input device generating this event.This value may be self calibrating on devices/OS, where no known maximum pressure is known. Hence subsequent events may return a higher value.
Self calibrating maximum pressure is performed on:
- Android
-
getRotation
public final float[] getRotation()Returns a 3-component float array filled with the values of the rotational axis in the following order: horizontal-, vertical- and z-axis.A vertical rotation of > 0.0f is up and < 0.0f is down.
A horizontal rotation of > 0.0f is left and < 0.0f is right.
A z-axis rotation of > 0.0f is back and < 0.0f is front.
However, on some OS this might be flipped due to the OS default behavior. The latter is true for OS X 10.7 (Lion) for example.
On PointerClass
onscreen
devices, i.e.touch screens
, rotation events are usually produced by a 2-finger movement, where horizontal and vertical rotation values are filled.On PointerClass
offscreen
devices, i.e.mouse
, either the horizontal or the vertical rotation value is filled.The
InputEvent.SHIFT_MASK
modifier is set in case |horizontal| > |vertical| value.
This can be utilized to implement only one 2d rotation direction, you may useInputEvent.isShiftDown()
to query it.In case the pointer type is
mouse
, events are usually send in steps of one, ie. -1.0f and 1.0f. Higher values may result due to fast scrolling. Fractional values may result due to slow scrolling with high resolution devices.
Here the button number refers to the wheel number.In case the pointer type is of class
MouseEvent.PointerClass.Onscreen
, e.g.touch screen
, seegetRotationScale()
for semantics. -
getRotationScale
public final float getRotationScale()Returns the scale used to determine therotation value
, which semantics depends on thepointer type's
MouseEvent.PointerClass
.For
MouseEvent.PointerClass.Offscreen
, the scale is usually1.0f
and denominates an abstract value without association to a physical value.For
MouseEvent.PointerClass.Onscreen
, the scale varies and denominates the divisor of the distance the finger[s] have moved on the screen. Hencescale * rotation
reproduces the screen distance in pixels the finger[s] have moved. -
toString
- Overrides:
toString
in classInputEvent
-
toString
- Overrides:
toString
in classInputEvent
-
getEventTypeString
-