]> Pileus Git - ~andy/gtk/blob - gdk/gdkkeysprivate.h
stylecontext: Do invalidation on first resize container
[~andy/gtk] / gdk / gdkkeysprivate.h
1 /* GDK - The GIMP Drawing Kit
2  * Copyright (C) 2010 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
18 #ifndef __GDK_KEYS_PRIVATE_H__
19 #define __GDK_KEYS_PRIVATE_H__
20
21 #include "gdkkeys.h"
22
23 G_BEGIN_DECLS
24
25 #define GDK_KEYMAP_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_KEYMAP, GdkKeymapClass))
26 #define GDK_IS_KEYMAP_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_KEYMAP))
27 #define GDK_KEYMAP_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_KEYMAP, GdkKeymapClass))
28
29 typedef struct _GdkKeymapClass GdkKeymapClass;
30
31 struct _GdkKeymapClass
32 {
33   GObjectClass parent_class;
34
35   PangoDirection (* get_direction)      (GdkKeymap *keymap);
36   gboolean (* have_bidi_layouts)        (GdkKeymap *keymap);
37   gboolean (* get_caps_lock_state)      (GdkKeymap *keymap);
38   gboolean (* get_num_lock_state)       (GdkKeymap *keymap);
39   gboolean (* get_entries_for_keyval)   (GdkKeymap     *keymap,
40                                          guint          keyval,
41                                          GdkKeymapKey **keys,
42                                          gint          *n_keys);
43   gboolean (* get_entries_for_keycode)  (GdkKeymap     *keymap,
44                                          guint          hardware_keycode,
45                                          GdkKeymapKey **keys,
46                                          guint        **keyvals,
47                                          gint          *n_entries);
48   guint (* lookup_key)                  (GdkKeymap          *keymap,
49                                          const GdkKeymapKey *key);
50   gboolean (* translate_keyboard_state) (GdkKeymap       *keymap,
51                                          guint            hardware_keycode,
52                                          GdkModifierType  state,
53                                          gint             group,
54                                          guint           *keyval,
55                                          gint            *effective_group,
56                                          gint            *level,
57                                          GdkModifierType *consumed_modifiers);
58   void (* add_virtual_modifiers)        (GdkKeymap       *keymap,
59                                          GdkModifierType *state);
60   gboolean (* map_virtual_modifiers)    (GdkKeymap       *keymap,
61                                          GdkModifierType *state);
62   GdkModifierType (*get_modifier_mask)  (GdkKeymap         *keymap,
63                                          GdkModifierIntent  intent);
64   guint (* get_modifier_state)          (GdkKeymap *keymap);
65
66
67   /* Signals */
68   void (*direction_changed) (GdkKeymap *keymap);
69   void (*keys_changed)      (GdkKeymap *keymap);
70   void (*state_changed)     (GdkKeymap *keymap);
71 };
72
73 struct _GdkKeymap
74 {
75   GObject     parent_instance;
76   GdkDisplay *display;
77 };
78
79 void _gdk_display_manager_real_keyval_convert_case (GdkDisplayManager *manager,
80                                                     guint              symbol,
81                                                     guint             *lower,
82                                                     guint             *upper);
83
84 G_END_DECLS
85
86 #endif