Gtk.Gesture_Multi_Press.Gtk_Gesture_Multi_Press is a Gtk.Gesture.Gtk_Gesture implementation able to recognize multiple clicks on a nearby zone, which can be listened for through the Gtk.Gesture_Multi_Press.Gtk_Gesture_Multi_Press::pressed signal. Whenever time or distance between clicks exceed the GTK+ defaults, Gtk.Gesture_Multi_Press.Gtk_Gesture_Multi_Press::stopped is emitted, and the click counter is reset.
Callers may also restrict the area that is considered valid for a >1 touch/button press through Gtk.Gesture_Multi_Press.Set_Area, so any click happening outside that area is considered to be a first click of its own.
type Cb_GObject_Gint_Gdouble_Gdouble_Void is not null access procedure
(Self : access Glib.Object.GObject_Record'Class;
N_Press : Glib.Gint;
X : Gdouble;
Y : Gdouble);
type Cb_GObject_Void is not null access procedure
(Self : access Glib.Object.GObject_Record'Class);
type Cb_Gtk_Gesture_Multi_Press_Gint_Gdouble_Gdouble_Void is not null access procedure
(Self : access Gtk_Gesture_Multi_Press_Record'Class;
N_Press : Glib.Gint;
X : Gdouble;
Y : Gdouble);
type Cb_Gtk_Gesture_Multi_Press_Void is not null access procedure
(Self : access Gtk_Gesture_Multi_Press_Record'Class);
function Get_Area
(Self : not null access Gtk_Gesture_Multi_Press_Record;
Rect : access Gdk.Rectangle.Gdk_Rectangle) return Boolean
If an area was set through Gtk.Gesture_Multi_Press.Set_Area, this function will return True and fill in Rect with the press area. See Gtk.Gesture_Multi_Press.Set_Area for more details on what the press area represents. Since: gtk+ 3.14
return location for the press area
True if Rect was filled with the press area
function Get_Type return Glib.GType
type Gtk_Gesture_Multi_Press is access all Gtk_Gesture_Multi_Press_Record'Class;
function Gtk_Gesture_Multi_Press_New
(Widget : not null access Gtk.Widget.Gtk_Widget_Record'Class)
return Gtk_Gesture_Multi_Press
Returns a newly created Gtk.Gesture.Gtk_Gesture that recognizes single and multiple presses. Since: gtk+ 3.14
a Gtk.Widget.Gtk_Widget
type Gtk_Gesture_Multi_Press_Record is new Gtk_Gesture_Single_Record with null record;
procedure Gtk_New
(Self : out Gtk_Gesture_Multi_Press;
Widget : not null access Gtk.Widget.Gtk_Widget_Record'Class)
Returns a newly created Gtk.Gesture.Gtk_Gesture that recognizes single and multiple presses. Since: gtk+ 3.14 Initialize does nothing if the object was already created with another call to Initialize* or G_New.
a Gtk.Widget.Gtk_Widget
procedure Initialize
(Self : not null access Gtk_Gesture_Multi_Press_Record'Class;
Widget : not null access Gtk.Widget.Gtk_Widget_Record'Class)
Returns a newly created Gtk.Gesture.Gtk_Gesture that recognizes single and multiple presses. Since: gtk+ 3.14 Initialize does nothing if the object was already created with another call to Initialize* or G_New.
a Gtk.Widget.Gtk_Widget
procedure On_Pressed
(Self : not null access Gtk_Gesture_Multi_Press_Record;
Call : Cb_GObject_Gint_Gdouble_Gdouble_Void;
Slot : not null access Glib.Object.GObject_Record'Class;
After : Boolean := False)
This signal is emitted whenever a button or touch press happens.
Callback parameters: -- @param N_Press how many touch/button presses happened with this one -- @param X The X coordinate, in widget allocation coordinates -- @param Y The Y coordinate, in widget allocation coordinates
procedure On_Pressed
(Self : not null access Gtk_Gesture_Multi_Press_Record;
Call : Cb_Gtk_Gesture_Multi_Press_Gint_Gdouble_Gdouble_Void;
After : Boolean := False)
This signal is emitted whenever a button or touch press happens.
Callback parameters: -- @param N_Press how many touch/button presses happened with this one -- @param X The X coordinate, in widget allocation coordinates -- @param Y The Y coordinate, in widget allocation coordinates
procedure On_Released
(Self : not null access Gtk_Gesture_Multi_Press_Record;
Call : Cb_GObject_Gint_Gdouble_Gdouble_Void;
Slot : not null access Glib.Object.GObject_Record'Class;
After : Boolean := False)
This signal is emitted when a button or touch is released. N_Press will report the number of press that is paired to this event, note that Gtk.Gesture_Multi_Press.Gtk_Gesture_Multi_Press::stopped may have been emitted between the press and its release, N_Press will only start over at the next press.
Callback parameters: -- @param N_Press number of press that is paired with this release -- @param X The X coordinate, in widget allocation coordinates -- @param Y The Y coordinate, in widget allocation coordinates
procedure On_Released
(Self : not null access Gtk_Gesture_Multi_Press_Record;
Call : Cb_Gtk_Gesture_Multi_Press_Gint_Gdouble_Gdouble_Void;
After : Boolean := False)
This signal is emitted when a button or touch is released. N_Press will report the number of press that is paired to this event, note that Gtk.Gesture_Multi_Press.Gtk_Gesture_Multi_Press::stopped may have been emitted between the press and its release, N_Press will only start over at the next press.
Callback parameters: -- @param N_Press number of press that is paired with this release -- @param X The X coordinate, in widget allocation coordinates -- @param Y The Y coordinate, in widget allocation coordinates
procedure On_Stopped
(Self : not null access Gtk_Gesture_Multi_Press_Record;
Call : Cb_GObject_Void;
Slot : not null access Glib.Object.GObject_Record'Class;
After : Boolean := False)
This signal is emitted whenever any time/distance threshold has been exceeded.
procedure On_Stopped
(Self : not null access Gtk_Gesture_Multi_Press_Record;
Call : Cb_Gtk_Gesture_Multi_Press_Void;
After : Boolean := False)
This signal is emitted whenever any time/distance threshold has been exceeded.
procedure Set_Area
(Self : not null access Gtk_Gesture_Multi_Press_Record;
Rect : Gdk.Rectangle.Gdk_Rectangle)
If Rect is non-null, the press area will be checked to be confined within the rectangle, otherwise the button count will be reset so the press is seen as being the first one. If Rect is null, the area will be reset to an unrestricted state. Note: The rectangle is only used to determine whether any non-first click falls within the expected area. This is not akin to an input shape. Since: gtk+ 3.14
rectangle to receive coordinates on
Signal_Pressed : constant Glib.Signal_Name := "pressed";
This signal is emitted whenever a button or touch press happens.
Callback parameters: -- @param N_Press how many touch/button presses happened with this one -- @param X The X coordinate, in widget allocation coordinates -- @param Y The Y coordinate, in widget allocation coordinates
Signal_Released : constant Glib.Signal_Name := "released";
This signal is emitted when a button or touch is released. N_Press will report the number of press that is paired to this event, note that Gtk.Gesture_Multi_Press.Gtk_Gesture_Multi_Press::stopped may have been emitted between the press and its release, N_Press will only start over at the next press.
Callback parameters: -- @param N_Press number of press that is paired with this release -- @param X The X coordinate, in widget allocation coordinates -- @param Y The Y coordinate, in widget allocation coordinates
Signal_Stopped : constant Glib.Signal_Name := "stopped";
This signal is emitted whenever any time/distance threshold has been exceeded.