class Gtk::EventControllerScroll
Overview
Gtk::EventControllerScroll
is an event controller that handles scroll
events.
It is capable of handling both discrete and continuous scroll
events from mice or touchpads, abstracting them both with the
Gtk::EventControllerScroll::#scroll
signal. Deltas in
the discrete case are multiples of 1.
In the case of continuous scroll events, Gtk::EventControllerScroll
encloses all Gtk::EventControllerScroll::#scroll
emissions
between two [signal@Gtk.EventControllerScroll::scroll-begin] and
[signal@Gtk.EventControllerScroll::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
Gtk::EventControllerScroll#flags=
(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 %GTK_EVENT_CONTROLLER_SCROLL_VERTICAL,
%GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL and %GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES.
If any axis is disabled, the respective Gtk::EventControllerScroll::#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 %GTK_EVENT_CONTROLLER_SCROLL_DISCRETE. This can be used to implement discrete actions triggered through scroll events (e.g. switching across combobox options).
The %GTK_EVENT_CONTROLLER_SCROLL_KINETIC flag toggles the emission of the
Gtk::EventControllerScroll::#decelerate
signal, emitted at the end
of scrolling with two X/Y velocity arguments that are consistent with the
motion that was received.
Defined in:
lib/gi-crystal/src/auto/gtk-4.0/event_controller_scroll.crConstructors
-
.new(flags : Gtk::EventControllerScrollFlags) : self
Creates a new event controller that will handle scroll events.
-
.new
Initialize a new
EventControllerScroll
. - .new(*, flags : Gtk::EventControllerScrollFlags | Nil = nil, name : String | Nil = nil, propagation_limit : Gtk::PropagationLimit | Nil = nil, propagation_phase : Gtk::PropagationPhase | Nil = nil, widget : Gtk::Widget | Nil = nil)
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
Instance Method Summary
-
#==(other : self)
Returns
true
if this reference is the same as other. - #decelerate_signal
-
#flags : Gtk::EventControllerScrollFlags
Gets the flags conditioning the scroll controller behavior.
-
#flags=(flags : Gtk::EventControllerScrollFlags) : Nil
Sets the flags conditioning scroll controller behavior.
-
#hash(hasher)
See
Object#hash(hasher)
- #scroll_begin_signal
- #scroll_end_signal
- #scroll_signal
Instance methods inherited from class Gtk::EventController
==(other : self)
==,
current_event : Gdk::Event | Nil
current_event,
current_event_device : Gdk::Device | Nil
current_event_device,
current_event_state : Gdk::ModifierType
current_event_state,
current_event_time : UInt32
current_event_time,
hash(hasher)
hash,
name : String | Nil
name,
name=(value : String) : Stringname=(value : Nil) : Nil
name=(name : String | Nil) : Nil name=, name? : String | Nil name?, propagation_limit : Gtk::PropagationLimit propagation_limit, propagation_limit=(limit : Gtk::PropagationLimit) : Nil propagation_limit=, propagation_phase : Gtk::PropagationPhase propagation_phase, propagation_phase=(phase : Gtk::PropagationPhase) : Nil propagation_phase=, reset : Nil reset, widget : Gtk::Widget widget
Constructor methods inherited from class Gtk::EventController
newnew(*, name : String | Nil = nil, propagation_limit : Gtk::PropagationLimit | Nil = nil, propagation_phase : Gtk::PropagationPhase | Nil = nil, widget : Gtk::Widget | Nil = nil) new
Class methods inherited from class Gtk::EventController
g_type : UInt64
g_type
Instance methods inherited from class GObject::Object
==(other : self)
==,
bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding
bind_property,
bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding
bind_property_full,
data(key : String) : Pointer(Void) | Nil
data,
finalize
finalize,
freeze_notify : Nil
freeze_notify,
getv(names : Enumerable(String), values : Enumerable(_)) : Nil
getv,
hash(hasher)
hash,
notify(property_name : String) : Nil
notify,
notify_by_pspec(pspec : GObject::ParamSpec) : Nil
notify_by_pspec,
notify_signal
notify_signal,
property(property_name : String, value : _) : Nil
property,
qdata(quark : UInt32) : Pointer(Void) | Nil
qdata,
ref_count : UInt32
ref_count,
run_dispose : Nil
run_dispose,
set_data(key : String, data : Pointer(Void) | Nil) : Nil
set_data,
set_property(property_name : String, value : _) : Nil
set_property,
steal_data(key : String) : Pointer(Void) | Nil
steal_data,
steal_qdata(quark : UInt32) : Pointer(Void) | Nil
steal_qdata,
thaw_notify : Nil
thaw_notify,
to_unsafe : Pointer(Void)
to_unsafe,
watch_closure(closure : GObject::Closure) : Nil
watch_closure
Constructor methods inherited from class GObject::Object
cast(obj : GObject::Object) : self
cast,
new(pointer : Pointer(Void), transfer : GICrystal::Transfer)new new, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv
Class methods inherited from class GObject::Object
cast?(obj : GObject::Object) : self | Nil
cast?,
compat_control(what : UInt64, data : Pointer(Void) | Nil) : UInt64
compat_control,
g_type : UInt64
g_type,
interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec
interface_find_property,
interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec)
interface_list_properties
Macros inherited from class GObject::Object
previous_vfunc(*args)
previous_vfunc,
previous_vfunc!(*args)
previous_vfunc!,
signal(signature)
signal
Constructor Detail
Creates a new event controller that will handle scroll events.
Class Method Detail
Returns the type id (GType) registered in GLib type system.
Instance Method Detail
Returns true
if this reference is the same as other. Invokes same?
.
Gets the flags conditioning the scroll controller behavior.
Sets the flags conditioning scroll controller behavior.