Spec-Zone.ru › GTK 3.20

GtkGestureMultiPress

GtkGestureMultiPress — Жест многократного нажатия

Функции

GtkGesture * gtk_gesture_multi_press_new ()
void gtk_gesture_multi_press_set_area ()
gboolean gtk_gesture_multi_press_get_area ()

Сигналы

void pressed Run Last
void released Run Last
void stopped Run Last

Типы и значения

GtkGestureMultiPress

Иерархия объектов

    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

a 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

a GtkGesture

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

a GtkGestureMultiPress

rect

возвращаемая область нажатия.

[out]

Возвращаемое значение

TRUE, если rect была заполнена областью нажатия

С: 3.14

Типы и значения

GtkGestureMultiPress

typedef struct _GtkGestureMultiPress GtkGestureMultiPress;

Подробности сигналов

Сигнал “pressed”

void
user_function (GtkGestureMultiPress *gesture,
               gint                  n_press,
               gdouble               x,
               gdouble               y,
               gpointer              user_data)

Этот сигнал генерируется всякий раз, когда происходит нажатие кнопки или касание.

Параметры

gesture

объект, получивший сигнал

n_press

количество касаний/нажатий, произошедших в рамках данного события

x

Координата X, в координатах размещения виджета

y

Координата Y, в координатах размещения виджета

user_data

данные пользователя, заданные при подключении обработчика сигналов.

Флаги: Выполнять последним

С версии: 3.14

Сигнал “released”

void
user_function (GtkGestureMultiPress *gesture,
               gint                  n_press,
               gdouble               x,
               gdouble               y,
               gpointer              user_data)

Этот сигнал генерируется при отпускании кнопки или завершении касания. n_press сообщит количество нажатий, связанных с этим событием. Обратите внимание, что сигнал «stopped» может быть сгенерирован между нажатием и его отпусканием. n_press будет начинаться только с новым нажатием.

Параметры

gesture

объект, получивший сигнал

n_press

количество нажатий, связанных с этим отпусканием

x

Координата X, в координатах размещения виджета

y

Координата Y, в координатах размещения виджета

user_data

данные пользователя, заданные при подключении обработчика сигналов.

Флаги: Выполнять последним

С версии: 3.14

Сигнал “stopped”

void
user_function (GtkGestureMultiPress *gesture,
               gpointer              user_data)

Этот сигнал генерируется всякий раз, когда превышен любой порог времени или расстояния.

Параметры

gesture

объект, получивший сигнал

user_data

данные пользователя, заданные при подключении обработчика сигналов.

Флаги: Выполнять последним

С версии: 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.20/GtkGestureMultiPress.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API