Spec-Zone.ru › GTK 3.22

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

Since: 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]

Since: 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 была заполнена областью нажатия

Since: 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.22/GtkGestureMultiPress.html

Spec-Zone.ru

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