class Gtk::GestureSingle
Overview
Gtk::GestureSingle
is a Gtk::Gestures
subclass optimized for singe-touch
and mouse gestures.
Under interaction, these gestures stick to the first interacting sequence,
which is accessible through Gtk::GestureSingle#current_sequence
while the gesture is being interacted with.
By default gestures react to both %GDK_BUTTON_PRIMARY and touch events.
Gtk::GestureSingle#touch_only=
can be used to change the
touch behavior. Callers may also specify a different mouse button number
to interact with through Gtk::GestureSingle#button=
, or react
to any mouse button by setting it to 0. While the gesture is active, the
button being currently pressed can be known through
Gtk::GestureSingle#current_button
.
Direct Known Subclasses
- Gtk::DragSource
- Gtk::GestureClick
- Gtk::GestureDrag
- Gtk::GestureLongPress
- Gtk::GestureStylus
- Gtk::GestureSwipe
Defined in:
lib/gi-crystal/src/auto/gtk-4.0/gesture_single.crConstructors
-
.new
Initialize a new
GestureSingle
. - .new(*, button : UInt32 | Nil = nil, exclusive : Bool | Nil = nil, n_points : UInt32 | Nil = nil, name : String | Nil = nil, propagation_limit : Gtk::PropagationLimit | Nil = nil, propagation_phase : Gtk::PropagationPhase | Nil = nil, touch_only : Bool | 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. -
#button : UInt32
Returns the button number gesture listens for.
-
#button=(button : UInt32) : Nil
Sets the button number gesture listens to.
-
#current_button : UInt32
Returns the button number currently interacting with gesture, or 0 if there is none.
-
#current_sequence : Gdk::EventSequence | Nil
Returns the event sequence currently interacting with gesture.
-
#exclusive : Bool
Gets whether a gesture is exclusive.
-
#exclusive=(exclusive : Bool) : Nil
Sets whether gesture is exclusive.
- #exclusive? : Bool
-
#hash(hasher)
See
Object#hash(hasher)
-
#touch_only : Bool
Returns
true
if the gesture is only triggered by touch events. -
#touch_only=(touch_only : Bool) : Nil
Sets whether to handle only touch events.
- #touch_only? : Bool
Instance methods inherited from class Gtk::Gesture
==(other : self)
==,
begin_signal
begin_signal,
bounding_box : Gdk::Rectangle
bounding_box,
bounding_box_center(x : Float64, y : Float64) : Bool
bounding_box_center,
cancel_signal
cancel_signal,
device : Gdk::Device | Nil
device,
end_signal
end_signal,
group(gesture : Gtk::Gesture) : Nilgroup : GLib::List group, handles_sequence(sequence : Gdk::EventSequence | Nil) : Bool handles_sequence, hash(hasher) hash, is_active : Bool is_active, is_grouped_with(other : Gtk::Gesture) : Bool is_grouped_with, is_recognized : Bool is_recognized, last_event(sequence : Gdk::EventSequence | Nil) : Gdk::Event | Nil last_event, last_updated_sequence : Gdk::EventSequence | Nil last_updated_sequence, n_points : UInt32 n_points, n_points=(value : UInt32) : UInt32 n_points=, point(sequence : Gdk::EventSequence | Nil) : Bool point, sequence_state(sequence : Gdk::EventSequence) : Gtk::EventSequenceState sequence_state, sequence_state_changed_signal sequence_state_changed_signal, sequences : GLib::List sequences, set_sequence_state(sequence : Gdk::EventSequence, state : Gtk::EventSequenceState) : Bool set_sequence_state, state=(state : Gtk::EventSequenceState) : Bool state=, ungroup : Nil ungroup, update_signal update_signal
Constructor methods inherited from class Gtk::Gesture
newnew(*, n_points : UInt32 | Nil = nil, 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::Gesture
g_type : UInt64
g_type
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
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?
.
Returns the button number gesture listens for.
If this is 0, the gesture reacts to any button press.
Sets the button number gesture listens to.
If non-0, every button press from a different button number will be ignored. Touch events implicitly match with button 1.
Returns the button number currently interacting with gesture, or 0 if there is none.
Returns the event sequence currently interacting with gesture.
This is only meaningful if Gtk::Gesture#is_active?
returns true
.
Gets whether a gesture is exclusive.
For more information, see Gtk::GestureSingle#exclusive=
.
Sets whether gesture is exclusive.
An exclusive gesture will only handle pointer and "pointer emulated" touch events, so at any given time, there is only one sequence able to interact with those.
Returns true
if the gesture is only triggered by touch events.
Sets whether to handle only touch events.
If touch_only is true
, gesture will only handle events of type
%GDK_TOUCH_BEGIN, %GDK_TOUCH_UPDATE or %GDK_TOUCH_END. If false
,
mouse events will be handled too.