5 # define _WIN32_WINNT 0x0601 /* needed to get definition of MAPVK_VK_TO_VSC */
8 #ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
9 /* Work around an -Wstrict-prototypes warning in GTK headers */
10 #pragma GCC diagnostic push
11 #pragma GCC diagnostic ignored "-Wstrict-prototypes"
14 #ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
15 #pragma GCC diagnostic pop
18 #include <gdk/gdkkeysyms.h>
20 #ifdef GDK_WINDOWING_X11
22 #include <X11/XKBlib.h>
25 #if defined(CONFIG_OPENGL)
26 #include "ui/egl-helpers.h"
29 /* Compatibility define to let us build on both Gtk2 and Gtk3 */
30 #if GTK_CHECK_VERSION(3, 0, 0)
31 static inline void gdk_drawable_get_size(GdkWindow *w, gint *ww, gint *wh)
33 *ww = gdk_window_get_width(w);
34 *wh = gdk_window_get_height(w);
38 typedef struct GtkDisplayState GtkDisplayState;
40 typedef struct VirtualGfxConsole {
41 GtkWidget *drawing_area;
42 DisplayChangeListener dcl;
44 pixman_image_t *convert;
45 cairo_surface_t *surface;
48 #if defined(CONFIG_OPENGL)
56 #if defined(CONFIG_VTE)
57 typedef struct VirtualVteConsole {
65 typedef enum VirtualConsoleType {
70 typedef struct VirtualConsole {
77 VirtualConsoleType type;
79 VirtualGfxConsole gfx;
80 #if defined(CONFIG_VTE)
81 VirtualVteConsole vte;
87 void gd_update_windowsize(VirtualConsole *vc);
90 void gd_egl_init(VirtualConsole *vc);
91 void gd_egl_draw(VirtualConsole *vc);
92 void gd_egl_update(DisplayChangeListener *dcl,
93 int x, int y, int w, int h);
94 void gd_egl_refresh(DisplayChangeListener *dcl);
95 void gd_egl_switch(DisplayChangeListener *dcl,
96 DisplaySurface *surface);
97 void gtk_egl_init(void);