GtkGestureMultiPress
GtkGestureMultiPress — Жест множественного нажатия
Функции
| GtkGesture * | gtk_gesture_multi_press_new () |
| void | gtk_gesture_multi_press_set_area () |
| gboolean | gtk_gesture_multi_press_get_area () |
Типы и значения
Иерархия объектов
GObject
╰── GtkEventController
╰── GtkGesture
╰── GtkGestureSingle
╰── GtkGestureMultiPress
Файлы заголовочных файлов
#include <gtk/gtk.h>
Описание
GtkGestureMultiPress — это реализация GtkGesture, способная распознавать несколько нажатий вблизи одной зоны, которые можно прослушивать с помощью сигнала «pressed». Всякий раз, когда интервал времени или расстояние между нажатиями превышают значения по умолчанию GTK+, генерируется сигнал «stopped», и счётчик нажатий сбрасывается.
Вызывающий код может также ограничить область, которая считается допустимой для нажатия более чем одним пальцем/кнопкой, с помощью gtk_gesture_multi_press_set_area(), поэтому любое нажатие за пределами этой области считается первым нажатием.
Функции
gtk_gesture_multi_press_new ()
GtkGesture *
gtk_gesture_multi_press_new (GtkWidget *widget); Возвращает новый созданный GtkGesture, который распознает одинарные и множественные нажатия.
Параметры
widget | GtkWidget |
Возвращаемое значение
новый созданный GtkGestureMultiPress
С версии: 3.14
gtk_gesture_multi_press_set_area ()
void gtk_gesture_multi_press_set_area (GtkGestureMultiPress *gesture,const GdkRectangle *rect);
Если rect не NULL, область нажатия будет проверяться на соответствие прямоугольнику, в противном случае счётчик нажатий будет сброшен, так что нажатие будет рассматриваться как первое. Если rect равно NULL, область будет сброшена в неограниченное состояние.
Примечание: прямоугольник используется только для определения того, попадает ли любое нажатие, не являющееся первым, в ожидаемую область. Это не аналогично форме ввода.
Параметры
gesture | ||
rect | прямоугольник для получения координат. | [allow-none] |
С версии: 3.14
gtk_gesture_multi_press_get_area ()
gboolean gtk_gesture_multi_press_get_area (GtkGestureMultiPress *gesture,GdkRectangle *rect);
Если область была установлена с помощью gtk_gesture_multi_press_set_area(), эта функция вернёт TRUE и заполнит rect областью нажатия. См. gtk_gesture_multi_press_set_area() для более подробной информации о том, что представляет собой область нажатия.
Параметры
gesture | ||
rect | место возврата для области нажатия. | [out] |
Возвращаемое значение
TRUE если rect была заполнена областью нажатия
С версии: 3.14
Типы и значения
GtkGestureMultiPress
typedef struct _GtkGestureMultiPress GtkGestureMultiPress;
Подробности сигналов
Сигнал “pressed”
void user_function (GtkGestureMultiPress *gesture, int n_press, double x, double y, gpointer user_data)
Этот сигнал генерируется при нажатии кнопки или сенсорного касания.
Параметры
gesture | объект, получивший сигнал | |
n_press | количество касаний/нажатий, произошедших вместе | |
x | Координата X, в координатах размещения виджета | |
y | Координата Y, в координатах размещения виджета | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Run Last
С версии: 3.14
Сигнал “released”
void user_function (GtkGestureMultiPress *gesture, int n_press, double x, double y, gpointer user_data)
Этот сигнал генерируется при отпускании кнопки или сенсорного касания. n_press сообщит о количестве нажатий, связанных с этим событием. Обратите внимание, что сигнал «stopped» может быть сгенерирован между нажатием и его отпусканием. n_press будет начинаться заново только при следующем нажатии.
Параметры
gesture | объект, получивший сигнал | |
n_press | количество нажатий, связанных с этим отпусканием | |
x | Координата X, в координатах размещения виджета | |
y | Координата Y, в координатах размещения виджета | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Run Last
С версии: 3.14
Сигнал “stopped”
void user_function (GtkGestureMultiPress *gesture, gpointer user_data)
Этот сигнал генерируется всякий раз, когда превышен любой временной/расстояниевый порог.
Параметры
gesture | объект, получивший сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Run Last
С версии: 3.14
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkGestureMultiPress.html