Package: gtk

Class gtk:event-controller-scroll

Superclasses

gtk:event-controller, gobject:object, common-lisp:standard-object, common-lisp:t

Documented Subclasses

None

Direct Slots

flags
The flags property of type event-controller-scroll-flags (Read / Write)
The flags affecting event controller behavior.

Details

The gtk:event-controller-scroll object is an event controller meant to handle scroll events from mice and touchpads. It is capable of handling both discrete and continuous scroll events, abstracting them both on the "scroll" signal. Deltas in the discrete case are multiples of 1.

In the case of continuous scroll events, the gtk:event-controller-scroll object encloses all "scroll" events between two "scroll-begin" and "scroll-end" signals.

The behavior of the event controller can be modified by the flags given at creation time, or modified at a later point through the gtk:event-controller-scroll-flags function, e.g. because the scrolling conditions of the widget changed.

The controller can be set up to emit motion for either/both vertical and horizontal scroll events through :vertical, :horizontal and :both-axes. If any axis is disabled, the respective "scroll" delta will be 0. Vertical scroll events will be translated to horizontal motion for the devices incapable of horizontal scrolling.

The event controller can also be forced to emit discrete events on all devices through :discrete. This can be used to implement discrete actions triggered through scroll events, e.g. switching across combobox options.

The :kinetic flag toggles the emission of the "decelerate" signal, emitted at the end of scrolling with two X/Y velocity arguments that are consistent with the motion that was received.

This object was added in 3.24.

Signal Details

The "decelerate" signal
lambda (controller xvel yvel)    :run-first      
Emitted after scroll is finished if the :kinetic flag is set. xvel and yvel express the initial velocity that was imprinted by the scroll events. xvel and yvel are expressed in pixels/ms.
controller
The gtk:event-controller-scroll object that received the signal.
xvel
a double float with the x velocity
yvel
a double float with the y velocity
The "scroll" signal
lambda (controller dx dy)    :run-first      
Signals that the widget should scroll by the amount specified by dx and dy.
controller
The gtk:event-controller-scroll object that received the signal.
dx
a double float with the x delta
dy
a double float with the y delta
The "scroll-begin" signal
lambda (controller)    :run-first      
Signals that a new scrolling operation has begun. It will only be emitted on devices capable of it.
controller
The gtk:event-controller-scroll object that received the signal.
The "scroll-end" signal
lambda (controller)    :run-first      
Signals that a new scrolling operation has finished. It will only be emitted on devices capable of it.
controller
The gtk:event-controller-scroll object that received the signal.
 

Returned by

Slot Access Functions

Inherited Slot Access Functions

See also

#2023-3-1