Spec-Zone.ru › GTK 3.24

GtkEventControllerScroll

GtkEventControllerScroll — Контроллер событий для скроллинга

Функции

GtkEventController * gtk_event_controller_scroll_new ()
void gtk_event_controller_scroll_set_flags ()
GtkEventControllerScrollFlags gtk_event_controller_scroll_get_flags ()

Свойства

GtkEventControllerScrollFlags flags Чтение / Запись

Сигналы

void decelerate Выполняется первым
void scroll Выполняется первым
void scroll-begin Выполняется первым
void scroll-end Выполняется первым

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

GtkEventControllerScroll
перечисление GtkEventControllerScrollFlags

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

    GObject
    ╰── GtkEventController
        ╰── GtkEventControllerScroll

Включаемые файлы

#include <gtk/gtk.h>

Описание

GtkEventControllerScroll — контроллер событий, предназначенный для обработки событий прокрутки с помощью мыши и сенсорных панелей. Он способен обрабатывать как дискретные, так и непрерывные события прокрутки, абстрагируя их оба в сигнале “scroll” (дельта в дискретном случае — кратные 1).

В случае непрерывных событий прокрутки GtkEventControllerScroll включает все события “scroll” между двумя сигналами “scroll-begin” и “scroll-end”.

Поведение контроллера событий можно изменить с помощью флагов, заданных во время создания, или изменить позже с помощью gtk_event_controller_scroll_set_flags() (например, потому что изменились условия прокрутки виджета).

Контроллер может быть настроен на вызов событий движения как для вертикальной, так и для горизонтальной прокрутки через GTK_EVENT_CONTROLLER_SCROLL_VERTICAL, GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL и GTK_EVENT_CONTROLLER_SCROLL_BOTH. Если какая-либо ось отключена, соответствующая дельта “scroll” будет равна 0. Вертикальные события прокрутки будут преобразованы в горизонтальное движение для устройств, неспособных к горизонтальной прокрутке.

Контроллер событий также может быть настроен на вызов дискретных событий на всех устройствах с помощью GTK_EVENT_CONTROLLER_SCROLL_DISCRETE. Это можно использовать для реализации дискретных действий, вызываемых событиями прокрутки (например, переключение опций в выпадающем списке).

Флаг GTK_EVENT_CONTROLLER_SCROLL_KINETIC включает в себя отправку сигнала “decelerate” в конце прокрутки с двумя аргументами скорости X/Y, которые соответствуют полученному движению.

Этот объект был добавлен в 3.24.

Подробное описание функций

gtk_event_controller_scroll_new ()

GtkEventController *
gtk_event_controller_scroll_new (GtkWidget *widget,
                                 GtkEventControllerScrollFlags flags);

Создает новый контроллер событий, который будет обрабатывать события прокрутки для данного widget .

Параметры

widget

GtkWidget

flags

флаги поведения

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

новый GtkEventControllerScroll

С версии: 3.24

gtk_event_controller_scroll_set_flags ()

void
gtk_event_controller_scroll_set_flags (GtkEventControllerScroll *controller,
                                       GtkEventControllerScrollFlags flags);

Устанавливает флаги, определяющие поведение контроллера прокрутки.

Параметры

scroll

GtkEventControllerScroll

flags

флаги поведения

С версии: 3.24

gtk_event_controller_scroll_get_flags ()

GtkEventControllerScrollFlags
gtk_event_controller_scroll_get_flags (GtkEventControllerScroll *controller);

Получает флаги, определяющие поведение контроллера прокрутки.

Параметры

scroll

GtkEventControllerScroll

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

флаги контроллера.

С версии: 3.24

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

GtkEventControllerScroll

typedef struct _GtkEventControllerScroll GtkEventControllerScroll;

перечисление GtkEventControllerScrollFlags

Описывает поведение GtkEventControllerScroll.

Члены

GTK_EVENT_CONTROLLER_SCROLL_NONE

Не генерировать события прокрутки.

GTK_EVENT_CONTROLLER_SCROLL_VERTICAL

Генерировать события прокрутки с вертикальными смещениями.

GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL

Генерировать события прокрутки с горизонтальными смещениями.

GTK_EVENT_CONTROLLER_SCROLL_DISCRETE

Генерировать только смещения, кратные 1.

GTK_EVENT_CONTROLLER_SCROLL_KINETIC

Генерировать сигнал «деcelerate» после завершения непрерывной прокрутки.

GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES

Генерировать события прокрутки по обеим осям.

С: 3.24

Подробности свойств

Свойство “flags”

  “flags”                    GtkEventControllerScrollFlags

Флаги, влияющие на поведение контроллера событий

Владелец: GtkEventControllerScroll

Флаги: Чтение / Запись

С: 3.24

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

Сигнал “decelerate”

void
user_function (GtkEventControllerScroll *controller,
               double                    vel_x,
               double                    vel_y,
               gpointer                  user_data)

Выпускается после завершения прокрутки, если установлен флаг GTK_EVENT_CONTROLLER_SCROLL_KINETIC. vel_x и vel_y выражают начальную скорость, заданную событиями прокрутки. vel_x и vel_y выражаются в пикселях/мс.

Параметры

controller

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

vel_x

Скорость по оси X

vel_y

Скорость по оси Y

user_data

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

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

Сигнал “scroll”

void
user_function (GtkEventControllerScroll *controller,
               double                    dx,
               double                    dy,
               gpointer                  user_data)

Сигнализирует, что виджет должен прокрутиться на количество, указанное dx и dy .

Параметры

controller

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

dx

Смещение по оси X

dy

Смещение по оси Y

user_data

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

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

Сигнал “scroll-begin”

void
user_function (GtkEventControllerScroll *controller,
               gpointer                  user_data)

Сигнализирует о начале новой операции прокрутки. Будет генерироваться только на устройствах, способных к этому.

Параметры

controller

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

user_data

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

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

Сигнал “scroll-end”

void
user_function (GtkEventControllerScroll *controller,
               gpointer                  user_data)

Сигнализирует о завершении новой операции прокрутки. Будет генерироваться только на устройствах, способных к этому.

Параметры

controller

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

user_data

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

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

См. также

GtkEventController

© 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/GtkEventControllerScroll.html

Spec-Zone.ru

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