1 /* GTK - The GIMP Toolkit 2 * Copyright (C) 2017, Red Hat, Inc. 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 16 * 17 * Author(s): Carlos Garnacho <carlosg@gnome.org> 18 */ 19 20 #ifndef __GTK_EVENT_CONTROLLER_KEY_H__ 21 #define __GTK_EVENT_CONTROLLER_KEY_H__ 22 23 #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) 24 #error "Only <gtk/gtk.h> can be included directly." 25 #endif 26 27 #include <gdk/gdk.h> 28 #include <gtk/gtkeventcontroller.h> 29 #include <gtk/gtkimcontext.h> 30 31 G_BEGIN_DECLS 32 33 #define GTK_TYPE_EVENT_CONTROLLER_KEY (gtk_event_controller_key_get_type ()) 34 #define GTK_EVENT_CONTROLLER_KEY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_EVENT_CONTROLLER_KEY, GtkEventControllerKey)) 35 #define GTK_EVENT_CONTROLLER_KEY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_EVENT_CONTROLLER_KEY, GtkEventControllerKeyClass)) 36 #define GTK_IS_EVENT_CONTROLLER_KEY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_EVENT_CONTROLLER_KEY)) 37 #define GTK_IS_EVENT_CONTROLLER_KEY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_EVENT_CONTROLLER_KEY)) 38 #define GTK_EVENT_CONTROLLER_KEY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_EVENT_CONTROLLER_KEY, GtkEventControllerKeyClass)) 39 40 typedef struct _GtkEventControllerKey GtkEventControllerKey; 41 typedef struct _GtkEventControllerKeyClass GtkEventControllerKeyClass; 42 43 GDK_AVAILABLE_IN_3_24 44 GType gtk_event_controller_key_get_type (void) G_GNUC_CONST; 45 46 GDK_AVAILABLE_IN_3_24 47 GtkEventController *gtk_event_controller_key_new (GtkWidget *widget); 48 49 GDK_AVAILABLE_IN_3_24 50 void gtk_event_controller_key_set_im_context (GtkEventControllerKey *controller, 51 GtkIMContext *im_context); 52 GDK_AVAILABLE_IN_3_24 53 GtkIMContext * gtk_event_controller_key_get_im_context (GtkEventControllerKey *controller); 54 55 GDK_AVAILABLE_IN_3_24 56 gboolean gtk_event_controller_key_forward (GtkEventControllerKey *controller, 57 GtkWidget *widget); 58 GDK_AVAILABLE_IN_3_24 59 guint gtk_event_controller_key_get_group (GtkEventControllerKey *controller); 60 61 G_END_DECLS 62 63 #endif /* __GTK_EVENT_CONTROLLER_KEY_H__ */ 64