mirror of https://github.com/xqemu/xqemu.git
gtk: create gtk.h
Move various gtk bits (includes, data structures) to a header file. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
1301e515ef
commit
dc7ff34418
|
@ -0,0 +1,76 @@
|
||||||
|
#ifndef UI_GTK_H
|
||||||
|
#define UI_GTK_H
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
# define _WIN32_WINNT 0x0601 /* needed to get definition of MAPVK_VK_TO_VSC */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
|
||||||
|
/* Work around an -Wstrict-prototypes warning in GTK headers */
|
||||||
|
#pragma GCC diagnostic push
|
||||||
|
#pragma GCC diagnostic ignored "-Wstrict-prototypes"
|
||||||
|
#endif
|
||||||
|
#include <gtk/gtk.h>
|
||||||
|
#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
|
||||||
|
#pragma GCC diagnostic pop
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <gdk/gdkkeysyms.h>
|
||||||
|
|
||||||
|
#ifdef GDK_WINDOWING_X11
|
||||||
|
#include <gdk/gdkx.h>
|
||||||
|
#include <X11/XKBlib.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Compatibility define to let us build on both Gtk2 and Gtk3 */
|
||||||
|
#if GTK_CHECK_VERSION(3, 0, 0)
|
||||||
|
static inline void gdk_drawable_get_size(GdkWindow *w, gint *ww, gint *wh)
|
||||||
|
{
|
||||||
|
*ww = gdk_window_get_width(w);
|
||||||
|
*wh = gdk_window_get_height(w);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef struct GtkDisplayState GtkDisplayState;
|
||||||
|
|
||||||
|
typedef struct VirtualGfxConsole {
|
||||||
|
GtkWidget *drawing_area;
|
||||||
|
DisplayChangeListener dcl;
|
||||||
|
DisplaySurface *ds;
|
||||||
|
pixman_image_t *convert;
|
||||||
|
cairo_surface_t *surface;
|
||||||
|
double scale_x;
|
||||||
|
double scale_y;
|
||||||
|
} VirtualGfxConsole;
|
||||||
|
|
||||||
|
#if defined(CONFIG_VTE)
|
||||||
|
typedef struct VirtualVteConsole {
|
||||||
|
GtkWidget *box;
|
||||||
|
GtkWidget *scrollbar;
|
||||||
|
GtkWidget *terminal;
|
||||||
|
CharDriverState *chr;
|
||||||
|
} VirtualVteConsole;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef enum VirtualConsoleType {
|
||||||
|
GD_VC_GFX,
|
||||||
|
GD_VC_VTE,
|
||||||
|
} VirtualConsoleType;
|
||||||
|
|
||||||
|
typedef struct VirtualConsole {
|
||||||
|
GtkDisplayState *s;
|
||||||
|
char *label;
|
||||||
|
GtkWidget *window;
|
||||||
|
GtkWidget *menu_item;
|
||||||
|
GtkWidget *tab_item;
|
||||||
|
GtkWidget *focus;
|
||||||
|
VirtualConsoleType type;
|
||||||
|
union {
|
||||||
|
VirtualGfxConsole gfx;
|
||||||
|
#if defined(CONFIG_VTE)
|
||||||
|
VirtualVteConsole vte;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
} VirtualConsole;
|
||||||
|
|
||||||
|
#endif /* UI_GTK_H */
|
73
ui/gtk.c
73
ui/gtk.c
|
@ -34,24 +34,11 @@
|
||||||
#define GETTEXT_PACKAGE "qemu"
|
#define GETTEXT_PACKAGE "qemu"
|
||||||
#define LOCALEDIR "po"
|
#define LOCALEDIR "po"
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
# define _WIN32_WINNT 0x0601 /* needed to get definition of MAPVK_VK_TO_VSC */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
|
|
||||||
#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
|
#include "ui/console.h"
|
||||||
/* Work around an -Wstrict-prototypes warning in GTK headers */
|
#include "ui/gtk.h"
|
||||||
#pragma GCC diagnostic push
|
|
||||||
#pragma GCC diagnostic ignored "-Wstrict-prototypes"
|
|
||||||
#endif
|
|
||||||
#include <gtk/gtk.h>
|
|
||||||
#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
|
|
||||||
#pragma GCC diagnostic pop
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#include <gdk/gdkkeysyms.h>
|
|
||||||
#include <glib/gi18n.h>
|
#include <glib/gi18n.h>
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#if defined(CONFIG_VTE)
|
#if defined(CONFIG_VTE)
|
||||||
|
@ -60,7 +47,6 @@
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
#include "ui/console.h"
|
|
||||||
#include "ui/input.h"
|
#include "ui/input.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
#include "qmp-commands.h"
|
#include "qmp-commands.h"
|
||||||
|
@ -68,10 +54,6 @@
|
||||||
#include "keymaps.h"
|
#include "keymaps.h"
|
||||||
#include "sysemu/char.h"
|
#include "sysemu/char.h"
|
||||||
#include "qom/object.h"
|
#include "qom/object.h"
|
||||||
#ifdef GDK_WINDOWING_X11
|
|
||||||
#include <gdk/gdkx.h>
|
|
||||||
#include <X11/XKBlib.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define MAX_VCS 10
|
#define MAX_VCS 10
|
||||||
#define VC_WINDOW_X_MIN 320
|
#define VC_WINDOW_X_MIN 320
|
||||||
|
@ -99,15 +81,6 @@
|
||||||
# define VTE_RESIZE_HACK 1
|
# define VTE_RESIZE_HACK 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Compatibility define to let us build on both Gtk2 and Gtk3 */
|
|
||||||
#if GTK_CHECK_VERSION(3, 0, 0)
|
|
||||||
static inline void gdk_drawable_get_size(GdkWindow *w, gint *ww, gint *wh)
|
|
||||||
{
|
|
||||||
*ww = gdk_window_get_width(w);
|
|
||||||
*wh = gdk_window_get_height(w);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !GTK_CHECK_VERSION(2, 20, 0)
|
#if !GTK_CHECK_VERSION(2, 20, 0)
|
||||||
#define gtk_widget_get_realized(widget) GTK_WIDGET_REALIZED(widget)
|
#define gtk_widget_get_realized(widget) GTK_WIDGET_REALIZED(widget)
|
||||||
#endif
|
#endif
|
||||||
|
@ -138,48 +111,6 @@ static const int modifier_keycode[] = {
|
||||||
0x2a, 0x36, 0x1d, 0x9d, 0x38, 0xb8, 0xdb, 0xdd,
|
0x2a, 0x36, 0x1d, 0x9d, 0x38, 0xb8, 0xdb, 0xdd,
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct GtkDisplayState GtkDisplayState;
|
|
||||||
|
|
||||||
typedef struct VirtualGfxConsole {
|
|
||||||
GtkWidget *drawing_area;
|
|
||||||
DisplayChangeListener dcl;
|
|
||||||
DisplaySurface *ds;
|
|
||||||
pixman_image_t *convert;
|
|
||||||
cairo_surface_t *surface;
|
|
||||||
double scale_x;
|
|
||||||
double scale_y;
|
|
||||||
} VirtualGfxConsole;
|
|
||||||
|
|
||||||
#if defined(CONFIG_VTE)
|
|
||||||
typedef struct VirtualVteConsole {
|
|
||||||
GtkWidget *box;
|
|
||||||
GtkWidget *scrollbar;
|
|
||||||
GtkWidget *terminal;
|
|
||||||
CharDriverState *chr;
|
|
||||||
} VirtualVteConsole;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef enum VirtualConsoleType {
|
|
||||||
GD_VC_GFX,
|
|
||||||
GD_VC_VTE,
|
|
||||||
} VirtualConsoleType;
|
|
||||||
|
|
||||||
typedef struct VirtualConsole {
|
|
||||||
GtkDisplayState *s;
|
|
||||||
char *label;
|
|
||||||
GtkWidget *window;
|
|
||||||
GtkWidget *menu_item;
|
|
||||||
GtkWidget *tab_item;
|
|
||||||
GtkWidget *focus;
|
|
||||||
VirtualConsoleType type;
|
|
||||||
union {
|
|
||||||
VirtualGfxConsole gfx;
|
|
||||||
#if defined(CONFIG_VTE)
|
|
||||||
VirtualVteConsole vte;
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
} VirtualConsole;
|
|
||||||
|
|
||||||
struct GtkDisplayState {
|
struct GtkDisplayState {
|
||||||
GtkWidget *window;
|
GtkWidget *window;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue