GtkGestureDrag
GtkGestureDrag — Жест перетаскивания
Функции
| GtkGesture * | gtk_gesture_drag_new () |
| gboolean | gtk_gesture_drag_get_start_point () |
| gboolean | gtk_gesture_drag_get_offset () |
Сигналы
| void | drag-begin | Run Last |
| void | drag-end | Run Last |
| void | drag-update | Run Last |
Типы и значения
Иерархия объектов
GObject
╰── GtkEventController
╰── GtkGesture
╰── GtkGestureSingle
╰── GtkGestureDrag
╰── GtkGesturePan
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkGestureDrag — это реализация GtkGesture, распознающая операции перетаскивания. Саму операцию перетаскивания можно отслеживать во всех сигналах “drag-begin”, “drag-update” и “drag-end”, либо извлечь необходимые координаты с помощью gtk_gesture_drag_get_offset() и gtk_gesture_drag_get_start_point().
Функции
gtk_gesture_drag_new ()
GtkGesture *
gtk_gesture_drag_new (void); Возвращает новый созданный GtkGesture, распознающий перетаскивания.
Возвращает
новый созданный GtkGestureDrag
gtk_gesture_drag_get_start_point ()
gboolean gtk_gesture_drag_get_start_point (GtkGestureDrag *gesture,double *x,double *y);
Если gesture активен, эта функция возвращает TRUE и заполняет x и y координатами начала перетаскивания, в координатах, относительных к окну.
Параметры
gesture | ||
x | Координата X начала перетаскивания. | [out][nullable] |
y | Координата Y начала перетаскивания. | [out][nullable] |
Возвращает
TRUE если жест активен
gtk_gesture_drag_get_offset ()
gboolean gtk_gesture_drag_get_offset (GtkGestureDrag *gesture,double *x,double *y);
Если gesture активен, эта функция возвращает TRUE и заполняет x и y координатами текущей точки, как смещение от точки начала перетаскивания.
Параметры
gesture | ||
x | Смещение X текущей точки. | [out][nullable] |
y | Смещение Y текущей точки. | [out][nullable] |
Возвращает
TRUE если жест активен
Типы и значения
GtkGestureDrag
typedef struct _GtkGestureDrag GtkGestureDrag;
Подробности сигналов
Сигнал “drag-begin”
void user_function (GtkGestureDrag *gesture, double start_x, double start_y, gpointer user_data)
Этот сигнал генерируется при начале перетаскивания.
Параметры
gesture | объект, получивший сигнал | |
start_x | Координата X, относительно области виджета | |
start_y | Координата Y, относительно области виджета | |
user_data | пользовательские данные, установленные при подключении обработчика сигнала. |
Флаги: Run Last
Сигнал “drag-end”
void user_function (GtkGestureDrag *gesture, double offset_x, double offset_y, gpointer user_data)
Этот сигнал генерируется при завершении перетаскивания.
Параметры
gesture | объект, получивший сигнал | |
offset_x | Смещение X, относительно начальной точки | |
offset_y | Смещение Y, относительно начальной точки | |
user_data | пользовательские данные, установленные при подключении обработчика сигнала. |
Флаги: Run Last
Сигнал “drag-update”
void user_function (GtkGestureDrag *gesture, double offset_x, double offset_y, gpointer user_data)
Этот сигнал генерируется при перемещении точки перетаскивания.
Параметры
gesture | объект, получивший сигнал | |
offset_x | Смещение X, относительно начальной точки | |
offset_y | Смещение Y, относительно начальной точки | |
user_data | пользовательские данные, установленные при подключении обработчика сигнала. |
Флаги: Run Last
См. также
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkGestureDrag.html