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

Defined in:

lib/gi-crystal/src/auto/gtk-4.0/gesture_single.cr

Constructors

Class Method Summary

Instance Method Summary

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) : Nil
group : 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

new
new(*, 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) : String
name=(name : String | Nil) : 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

new
new(*, 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

def self.new #

Initialize a new GestureSingle.


[View source]
def self.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) #

[View source]

Class Method Detail

def self.g_type : UInt64 #

Returns the type id (GType) registered in GLib type system.


[View source]

Instance Method Detail

def ==(other : self) #
Description copied from class Reference

Returns true if this reference is the same as other. Invokes same?.


def button : UInt32 #

Returns the button number gesture listens for.

If this is 0, the gesture reacts to any button press.


[View source]
def button=(button : UInt32) : Nil #

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.


[View source]
def current_button : UInt32 #

Returns the button number currently interacting with gesture, or 0 if there is none.


[View source]
def current_sequence : Gdk::EventSequence | Nil #

Returns the event sequence currently interacting with gesture.

This is only meaningful if Gtk::Gesture#is_active? returns true.


[View source]
def exclusive : Bool #

Gets whether a gesture is exclusive.

For more information, see Gtk::GestureSingle#exclusive=.


[View source]
def exclusive=(exclusive : Bool) : Nil #

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.


[View source]
def exclusive? : Bool #

[View source]
def hash(hasher) #
Description copied from class Reference

See Object#hash(hasher)


def touch_only : Bool #

Returns true if the gesture is only triggered by touch events.


[View source]
def touch_only=(touch_only : Bool) : Nil #

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.


[View source]
def touch_only? : Bool #

[View source]