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);