Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
GNOME
gtk
Commits
ec50d776
Commit
ec50d776
authored
Apr 10, 2014
by
Carlos Garnacho
Browse files
gesture: doc fixes
parent
dbc7f011
Changes
1
Hide whitespace changes
Inline
Side-by-side
gtk/gtkgesture.c
View file @
ec50d776
...
...
@@ -35,19 +35,20 @@
* is recognized.
*
* As soon as the gesture has the expected number of touches, the gesture will
* run the #GtkGesture:check signal regularly on input events, #GtkGesture
* subclasses define there the criteria to consider a gesture as "recognized".
* run the #GtkGesture::check signal regularly on input events until the gesture
* is recognized, the criteria to consider a gesture as "recognized" is left to
* #GtkGesture subclasses.
*
* A recognized gesture will then emit the following signals:
* - #GtkGesture:begin when the gesture is recognized.
* - A number of #GtkGesture:update, whenever an input event is processed.
* - #GtkGesture:end when the gesture is no longer recognized.
* - #GtkGesture:
:
begin when the gesture is recognized.
* - A number of #GtkGesture:
:
update, whenever an input event is processed.
* - #GtkGesture:
:
end when the gesture is no longer recognized.
*
* ## States of a sequence # {#touch-sequence-states}
*
* Whenever input interaction happens, a single event may trigger a cascade of
* #GtkGestures, both across the parents of the widget receiving the
* event and parallelly within
the same
widget. It is a responsibility of the
* event and parallelly within
an individual
widget. It is a responsibility of the
* widgets using those gestures to set the state of touch sequences accordingly
* in order to enable cooperation of gestures around the #GdkEventSequences
* triggering those.
...
...
@@ -61,16 +62,25 @@
* propagation will continue unstopped by gestures.
*
* If a sequence enters into the #GTK_EVENT_SEQUENCE_DENIED state, the gesture
* group will effectively ignore the sequence, but the "slot" will still remain
* occupied while the touch is active.
* group will effectively ignore the sequence, letting events go unstopped
* through the gesture, but the "slot" will still remain occupied while
* the touch is active.
*
* If a sequence enters in the #GTK_EVENT_SEQUENCE_CLAIMED state, the gesture
* group will grab all interaction on the sequence, by:
* - Setting the sequence to #GTK_EVENT_SEQUENCE_DENIED on every other gesture
* - Setting the
same
sequence to #GTK_EVENT_SEQUENCE_DENIED on every other gesture
* group within the widget, and every gesture on parent widgets in the propagation
* chain.
* - calling #GtkGesture:cancel on every gesture in widgets underneath in the
* - calling #GtkGesture:
:
cancel on every gesture in widgets underneath in the
* propagation chain.
* - Stopping event propagation after the gesture group handles the event.
*
* Note: if a sequence is set early to #GTK_EVENT_SEQUENCE_CLAIMED on
* #GDK_TOUCH_BEGIN/#GDK_BUTTON_PRESS (so those events are captured before
* reaching the event widget, this implies #GTK_PHASE_CAPTURE), one similar
* event will emulated if the sequence changes to #GTK_EVENT_SEQUENCE_DENIED.
* This way event coherence is preserved before event propagation is unstopped
* again.
*
* Sequence states can't be changed freely, see gtk_gesture_set_sequence_state()
* to know about the possible lifetimes of a #GdkEventSequence.
...
...
@@ -574,7 +584,7 @@ gtk_gesture_class_init (GtkGestureClass *klass)
TRUE
,
GTK_PARAM_READWRITE
));
/**
* GtkGesture:check:
* GtkGesture:
:
check:
* @gesture: the object which received the signal
*
* This signal is triggered when the number of interacting touch
...
...
@@ -594,12 +604,12 @@ gtk_gesture_class_init (GtkGestureClass *klass)
NULL
,
NULL
,
G_TYPE_BOOLEAN
,
0
);
/**
* GtkGesture:begin:
* GtkGesture:
:
begin:
* @gesture: the object which received the signal
* @sequence: the #GdkEventSequence that made the gesture to be recognized
*
* This signal is emitted when the gesture is recognized. This means the
* number of touch sequences matches #GtkGesture:n-points, and the #GtkGesture:check
* number of touch sequences matches #GtkGesture:n-points, and the #GtkGesture:
:
check
* handler(s) returned #TRUE.
*
* Note: These conditions may also happen when an extra touch (eg. a third touch
...
...
@@ -616,12 +626,12 @@ gtk_gesture_class_init (GtkGestureClass *klass)
NULL
,
NULL
,
NULL
,
G_TYPE_NONE
,
1
,
G_TYPE_POINTER
);
/**
* GtkGesture:end:
* GtkGesture:
:
end:
* @gesture: the object which received the signal
* @sequence: the #GdkEventSequence that made gesture recognition to finish.
*
* This signal is emitted when @gesture either stopped recognizing the event
* sequences as something to be handled (the #GtkGesture:check handler returned
* sequences as something to be handled (the #GtkGesture:
:
check handler returned
* #FALSE), or the number of touch sequences became higher or lower than
* #GtkGesture:n-points.
*
...
...
@@ -635,7 +645,7 @@ gtk_gesture_class_init (GtkGestureClass *klass)
NULL
,
NULL
,
NULL
,
G_TYPE_NONE
,
1
,
G_TYPE_POINTER
);
/**
* GtkGesture:update:
* GtkGesture:
:
update:
* @gesture: the object which received the signal
* @sequence: the #GdkEventSequence that was updated.
*
...
...
@@ -652,7 +662,7 @@ gtk_gesture_class_init (GtkGestureClass *klass)
NULL
,
NULL
,
NULL
,
G_TYPE_NONE
,
1
,
G_TYPE_POINTER
);
/**
* GtkGesture:cancel:
* GtkGesture:
:
cancel:
* @gesture: the object which received the signal
* @sequence: the #GdkEventSequence that was cancelled.
*
...
...
@@ -673,7 +683,7 @@ gtk_gesture_class_init (GtkGestureClass *klass)
NULL
,
NULL
,
NULL
,
G_TYPE_NONE
,
1
,
G_TYPE_POINTER
);
/**
* GtkGesture:sequence-state-changed:
* GtkGesture:
:
sequence-state-changed:
* @gesture: the object which received the signal
* @sequence: the #GdkEventSequence that was cancelled.
* @state: the new sequence state
...
...
@@ -853,7 +863,7 @@ gtk_gesture_set_state (GtkGesture *gesture,
* Returns the list of #GdkEventSequences currently being interpreted
* by @gesture
*
* Returns: (transfer container) (element-type
:
Gdk
.
EventSequence): A list
* Returns: (transfer container) (element-type
GdkEventSequence): A list
* of #GdkEventSequences, the list elements are owned by GTK+
* and must not be freed or modified, the list itself must be deleted
* through g_list_free()
...
...
@@ -908,6 +918,15 @@ gtk_gesture_get_last_updated_sequence (GtkGesture *gesture)
return
priv
->
last_sequence
;
}
/**
* gtk_gesture_get_last_event:
* @gesture: a #GtkGesture
* @sequence: a #GdkEventSequence
*
* Returns the last event that was processed for @sequence.
*
* Returns: (transfer none): The last event from @sequence
**/
const
GdkEvent
*
gtk_gesture_get_last_event
(
GtkGesture
*
gesture
,
GdkEventSequence
*
sequence
)
...
...
@@ -1388,7 +1407,7 @@ gtk_gesture_group (GtkGesture *gesture,
* gtk_gesture_ungroup:
* @gesture: a #GtkGesture
*
*
Ungroup
s @gesture
from its current
group.
*
Separate
s @gesture
into an isolated
group.
*
* Since: 3.14
**/
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment