ui: add basic GTK gui (v5)

This is minimalistic and just contains the basic widget infrastructure.  The GUI
consists of a menu and a GtkNotebook.  To start with, the notebook has its tabs
hidden which provides a UI that looks very similar to SDL with the exception of
the menu bar.

The menu bar allows a user to toggle the visibility of the tabs.  Cairo is used
for rendering.

I used gtk-vnc as a reference.  gtk-vnc solves the same basic problems as QEMU
since it was originally written as a remote display for QEMU.  So for the most
part, the approach to rendering and keyboard handling should be pretty solid for
GTK.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Message-id: 1361367806-4599-4-git-send-email-aliguori@us.ibm.com
This commit is contained in:
Anthony Liguori 2013-02-20 07:43:20 -06:00
parent d82831dbc5
commit a4ccabcf6d
5 changed files with 615 additions and 0 deletions

View file

@ -487,4 +487,8 @@ void curses_display_init(DisplayState *ds, int full_screen);
int index_from_key(const char *key);
int index_from_keycode(int code);
/* gtk.c */
void early_gtk_display_init(void);
void gtk_display_init(DisplayState *ds);
#endif