From 3023f3329d87a6203d03a0e9ccb948772940da96 Mon Sep 17 00:00:00 2001 From: aliguori Date: Fri, 16 Jan 2009 19:04:14 +0000 Subject: graphical_console_init change (Stefano Stabellini) Patch 5/7 This patch changes the graphical_console_init function to return an allocated DisplayState instead of a QEMUConsole. This patch contains just the graphical_console_init change and few other modifications mainly in console.c and vl.c. It was necessary to move the display frontends (e.g. sdl and vnc) initialization after machine->init in vl.c. This patch does *not* include any required changes to any device, these changes come with the following patches. Patch 6/7 This patch changes the QEMUMachine init functions not to take a DisplayState as an argument because is not needed any more; In few places the graphic hardware initialization function was called only if DisplayState was not NULL, now they are always called. Apart from these cases, the rest are all mechanical substitutions. Patch 7/7 This patch updates the graphic device code to use the new graphical_console_init function. As for the previous patch, in few places graphical_console_init was called only if DisplayState was not NULL, now it is always called. Apart from these cases, the rest are all mechanical substitutions. Signed-off-by: Stefano Stabellini Signed-off-by: Anthony Liguori git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6344 c046a42c-6fe2-441c-8c8c-71466251a162 --- console.h | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'console.h') diff --git a/console.h b/console.h index 06c9326fd..3ac0afac3 100644 --- a/console.h +++ b/console.h @@ -122,8 +122,12 @@ struct DisplayState { void (*mouse_set)(int x, int y, int on); void (*cursor_define)(int width, int height, int bpp, int hot_x, int hot_y, uint8_t *image, uint8_t *mask); + + struct DisplayState *next; }; +void register_displaystate(DisplayState *ds); +DisplayState *get_displaystate(void); DisplaySurface* qemu_create_displaysurface(int width, int height, int bpp, int linesize); DisplaySurface* qemu_resize_displaysurface(DisplaySurface *surface, int width, int height, int bpp, int linesize); @@ -248,11 +252,12 @@ typedef void (*vga_hw_invalidate_ptr)(void *); typedef void (*vga_hw_screen_dump_ptr)(void *, const char *); typedef void (*vga_hw_text_update_ptr)(void *, console_ch_t *); -TextConsole *graphic_console_init(DisplayState *ds, vga_hw_update_ptr update, - vga_hw_invalidate_ptr invalidate, - vga_hw_screen_dump_ptr screen_dump, - vga_hw_text_update_ptr text_update, - void *opaque); +DisplayState *graphic_console_init(vga_hw_update_ptr update, + vga_hw_invalidate_ptr invalidate, + vga_hw_screen_dump_ptr screen_dump, + vga_hw_text_update_ptr text_update, + void *opaque); + void vga_hw_update(void); void vga_hw_invalidate(void); void vga_hw_screen_dump(const char *filename); @@ -263,9 +268,9 @@ int is_fixedsize_console(void); CharDriverState *text_console_init(DisplayState *ds, const char *p); void console_select(unsigned int index); void console_color_init(DisplayState *ds); -void qemu_console_resize(QEMUConsole *console, int width, int height); -void qemu_console_copy(QEMUConsole *console, int src_x, int src_y, - int dst_x, int dst_y, int w, int h); +void qemu_console_resize(DisplayState *ds, int width, int height); +void qemu_console_copy(DisplayState *ds, int src_x, int src_y, + int dst_x, int dst_y, int w, int h); /* sdl.c */ void sdl_display_init(DisplayState *ds, int full_screen, int no_frame); -- cgit v1.2.3