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, exclusive : Bool? = nil, n_points : UInt32? = nil, name : String? = nil, propagation_limit : Gtk::PropagationLimit? = nil, propagation_phase : Gtk::PropagationPhase? = nil, touch_only : Bool? = nil, widget : Gtk::Widget? = nil)
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
Instance Method Summary
-
#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?
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
-
#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
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?
device,
end_signal
end_signal,
group(gesture : Gtk::Gesture) : Nilgroup : GLib::List group, handles_sequence(sequence : Gdk::EventSequence?) : Bool handles_sequence, 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?) : Gdk::Event? last_event, last_updated_sequence : Gdk::EventSequence? last_updated_sequence, n_points : UInt32 n_points, n_points=(value : UInt32) : UInt32 n_points=, point(sequence : Gdk::EventSequence?) : 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, name : String? = nil, propagation_limit : Gtk::PropagationLimit? = nil, propagation_phase : Gtk::PropagationPhase? = nil, widget : Gtk::Widget? = nil) new
Class methods inherited from class Gtk::Gesture
g_type : UInt64
g_type
Instance methods inherited from class Gtk::EventController
current_event : Gdk::Event?
current_event,
current_event_device : Gdk::Device?
current_event_device,
current_event_state : Gdk::ModifierType
current_event_state,
current_event_time : UInt32
current_event_time,
name : String?
name,
name=(value : String) : Stringname=(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, static_name=(name : String?) : Nil static_name=, widget : Gtk::Widget widget
Constructor methods inherited from class Gtk::EventController
newnew(*, name : String? = nil, propagation_limit : Gtk::PropagationLimit? = nil, propagation_phase : Gtk::PropagationPhase? = nil, widget : Gtk::Widget? = nil) new
Class methods inherited from class Gtk::EventController
g_type : UInt64
g_type
Instance methods inherited from class GObject::Object
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)?
data,
finalize
finalize,
freeze_notify : Nil
freeze_notify,
getv(names : Enumerable(String), values : Enumerable(_)) : Nil
getv,
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)?
qdata,
ref_count : UInt32
ref_count,
run_dispose : Nil
run_dispose,
set_data(key : String, data : Pointer(Void)?) : Nil
set_data,
set_property(property_name : String, value : _) : Nil
set_property,
steal_data(key : String) : Pointer(Void)?
steal_data,
steal_qdata(quark : UInt32) : Pointer(Void)?
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,
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
compat_control(what : UInt64, data : Pointer(Void)?) : 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
Constructor Detail
Class Method Detail
Instance Method Detail
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
.
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.
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.