org.freedesktop.wayland.client.WlPointerEventsV3 Maven / Gradle / Ivy
Show all versions of wayland Show documentation
package org.freedesktop.wayland.client;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
//
//
// Copyright © 2008-2011 Kristian Høgsberg
// Copyright © 2010-2011 Intel Corporation
// Copyright © 2012-2013 Collabora, Ltd.
//
// Permission to use, copy, modify, distribute, and sell this
// software and its documentation for any purpose is hereby granted
// without fee, provided that the above copyright notice appear in
// all copies and that both that copyright notice and this permission
// notice appear in supporting documentation, and that the name of
// the copyright holders not be used in advertising or publicity
// pertaining to distribution of the software without specific,
// written prior permission. The copyright holders make no
// representations about the suitability of this software for any
// purpose. It is provided "as is" without express or implied
// warranty.
//
// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
// THIS SOFTWARE.
//
/**
* pointer input device
*
*
* The wl_pointer interface represents one or more input devices,
* such as mice, which control the pointer location and pointer_focus
* of a seat.
*
* The wl_pointer interface generates motion, enter and leave
* events for the surfaces that the pointer is located over,
* and button and axis events for button presses, button releases
* and scrolling.
*
*/
public interface WlPointerEventsV3 extends WlPointerEventsV2 {
int VERSION = 3;
/**
* enter event
*
*
* Notification that this seat's pointer is focused on a certain
* surface.
*
* When an seat's focus enters a surface, the pointer image
* is undefined and a client should respond to this event by setting
* an appropriate pointer image with the set_cursor request.
*
* @param emitter The protocol object that emitted the event.
* @param serial
* @param surface
* @param surfaceX x coordinate in surface-relative coordinates
* @param surfaceY y coordinate in surface-relative coordinates
*/
public void enter(WlPointerProxy emitter, int serial, @Nonnull WlSurfaceProxy surface, @Nonnull org.freedesktop.wayland.util.Fixed surfaceX, @Nonnull org.freedesktop.wayland.util.Fixed surfaceY);
/**
* leave event
*
*
* Notification that this seat's pointer is no longer focused on
* a certain surface.
*
* The leave notification is sent before the enter notification
* for the new focus.
*
* @param emitter The protocol object that emitted the event.
* @param serial
* @param surface
*/
public void leave(WlPointerProxy emitter, int serial, @Nonnull WlSurfaceProxy surface);
/**
* pointer motion event
*
*
* Notification of pointer location change. The arguments
* surface_x and surface_y are the location relative to the
* focused surface.
*
* @param emitter The protocol object that emitted the event.
* @param time timestamp with millisecond granularity
* @param surfaceX x coordinate in surface-relative coordinates
* @param surfaceY y coordinate in surface-relative coordinates
*/
public void motion(WlPointerProxy emitter, int time, @Nonnull org.freedesktop.wayland.util.Fixed surfaceX, @Nonnull org.freedesktop.wayland.util.Fixed surfaceY);
/**
* pointer button event
*
*
* Mouse button click and release notifications.
*
* The location of the click is given by the last motion or
* enter event.
* The time argument is a timestamp with millisecond
* granularity, with an undefined base.
*
* @param emitter The protocol object that emitted the event.
* @param serial
* @param time timestamp with millisecond granularity
* @param button
* @param state
*/
public void button(WlPointerProxy emitter, int serial, int time, int button, int state);
/**
* axis event
*
*
* Scroll and other axis notifications.
*
* For scroll events (vertical and horizontal scroll axes), the
* value parameter is the length of a vector along the specified
* axis in a coordinate space identical to those of motion events,
* representing a relative movement along the specified axis.
*
* For devices that support movements non-parallel to axes multiple
* axis events will be emitted.
*
* When applicable, for example for touch pads, the server can
* choose to emit scroll events where the motion vector is
* equivalent to a motion event vector.
*
* When applicable, clients can transform its view relative to the
* scroll distance.
*
* @param emitter The protocol object that emitted the event.
* @param time timestamp with millisecond granularity
* @param axis
* @param value
*/
public void axis(WlPointerProxy emitter, int time, int axis, @Nonnull org.freedesktop.wayland.util.Fixed value);
}