Spec-Zone.ru › GTK 3.24

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

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

GtkGestureMultiPress

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

GtkGestureMultiPress

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

Spec-Zone.ru

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