Statistics
| Branch: | Revision:

root / include / ui / console.h @ ffce9ebb

History | View | Annotate | Download (11.1 kB)

# Date Author Comment
95be0669 04/25/2013 10:45 pm Gerd Hoffmann

console: qom-ify QemuConsole

Just the minimal bits to turn QemuConsoles into Objects.

Signed-off-by: Gerd Hoffmann <>

aa2beaa1 04/25/2013 10:45 pm Gerd Hoffmann

console: add device link to QemuConsoles

So it is possible to figure which qemu console displays which device.

Signed-off-by: Gerd Hoffmann <>

14a93649 04/25/2013 10:45 pm Gerd Hoffmann

console: add qemu_console_lookup_by_device

Look up the QemuConsole for a given device, using the new link.

Signed-off-by: Gerd Hoffmann <>

5209089f 04/25/2013 10:45 pm Gerd Hoffmann

console: zap ds arg from register_displaychangelistener

We don't have multiple DisplayStates any more,
so passing it in as argument is not needed.

Signed-off-by: Gerd Hoffmann <>

72711efb 04/24/2013 07:50 pm Gerd Hoffmann

input: make QEMUPutLEDEntry + QEMUPutMouseEntry private

There is no need for anybody outside ui/input.c to access the
struct elements. Move the definitions, leaving only the typedefs
in the header files.

Signed-off-by: Gerd Hoffmann <>...

5a37532d 04/24/2013 07:50 pm Gerd Hoffmann

input: introduce keyboard handler list

Add a linked list of keyboard handlers. Added handlers will go
to the head of the list. Removed handlers will be zapped from
the list. The head of the list will be used for events.

This fixes the keyboard-dead-after-usb-kbd-unplug issue, key events...

dea1b0bd 04/16/2013 10:26 am Gerd Hoffmann

xen: re-enable refresh interval reporting for xenfb

xenfb informs the guest about the gui refresh interval so it can avoid
pointless work. That logic was temporarely disabled for the
DisplayState reorganization. Restore it now, with a proper interface
for it....

81c0d5a6 04/16/2013 10:26 am Gerd Hoffmann

console: add qemu_console_is_*

Signed-off-by: Gerd Hoffmann <>

284d1c6b 04/16/2013 10:26 am Gerd Hoffmann

console: allow pinning displaychangelisteners to consoles

DisplayChangeListener gets a new QemuConsole field, which can be set to
non-NULL before registering. This will pin the QemuConsole, so that
particular DisplayChangeListener will not follow console switches....

380cd056 04/16/2013 10:03 am Gerd Hoffmann

console: add GraphicHwOps

Pass a single GraphicHwOps struct pointer to graphic_console_init,
instead of a bunch of function pointers.

Signed-off-by: Gerd Hoffmann <>

0f7b2864 04/16/2013 10:03 am Gerd Hoffmann

console: gui timer fixes

Make gui update rate adaption code in gui_update() actually work.
Sprinkle in a tracepoint so you can see the code at work. Remove
the update rate adaption code in vnc and make vnc simply use the
generic bits instead.

Signed-off-by: Gerd Hoffmann <>

1dbfa005 04/16/2013 10:03 am Gerd Hoffmann

console: rename vga_hw_*, add QemuConsole param

Add QemuConsole parameter to vga_hw_*, so the interface allows to update
non-active consoles (the actual code can't handle this yet, see next
patch). Passing NULL is allowed and updates the active console, like...

321f048d 04/16/2013 10:03 am Gerd Hoffmann

console: give each QemuConsole its own DisplaySurface

Go away from the global DisplaySurface, give one to each QemuConsole
instead. With this patch applied it is possible to call
graphics_hw_* functions with qemu consoles which are not the current
foreground console....

2c62f08d 04/16/2013 10:03 am Gerd Hoffmann

console: simplify screendump

Screendumps are alot simpler as we can update non-active
QemuConsoles now. So we only need to update the QemuConsole
we want write out, then dump the DisplaySurface content into
a ppm file. Done.

No console switching needed. No special support code in the...

98a9ad90 04/16/2013 10:03 am Gerd Hoffmann

console: move gui_update+gui_setup_refresh from vl.c into console.c

Pure code motion, no functional changes.

Signed-off-by: Gerd Hoffmann <>

27be5587 04/16/2013 10:03 am Gerd Hoffmann

console: make DisplayState private to console.c

With gui_* being moved to console.c nobody outside console.c needs
access to DisplayState fields any more. Make the struct private.

Signed-off-by: Gerd Hoffmann <>

64840c66 04/16/2013 10:03 am Gerd Hoffmann

console: displaystate init revamp

We have only one DisplayState, so there is no need for the "next"
linking, rip it. Also consolidate all displaystate initialization
into init_displaystate(). This function is called by vl.c after
creating the devices (and thus all QemuConsoles) and before...

bc2ed970 03/18/2013 11:21 am Gerd Hoffmann

console: zap displaystate from dcl callbacks

Now that nobody depends on DisplayState in DisplayChangeListener
callbacks any more we can remove the parameter from all callbacks.

Signed-off-by: Gerd Hoffmann <>

c78f7137 03/18/2013 11:21 am Gerd Hoffmann

console: stop using DisplayState in gfx hardware emulation

Use QemuConsole instead. Updates interfaces in console.[ch] and adapts
gfx hardware emulation code.

Signed-off-by: Gerd Hoffmann <>

1562e531 03/18/2013 11:21 am Gerd Hoffmann

console: remove ds_get_* helper functions

Switch the few remaining ds_get_* uses in console.c over to the new
surface_* accessors.

While doing so tripped over a few leftovers from commit
a93a4a226a2afba147ba5df688b85d844f537c68 (code using depth == 0
as indicator for textmode rendering). Fixed them up....

7c20b4a3 03/18/2013 11:21 am Gerd Hoffmann

console: fix displaychangelisteners interface

Split callbacks into separate Ops struct. Pass DisplayChangeListener
pointer as first argument to all callbacks. Uninline a bunch of
display functions and move them from console.h to console.c

Signed-off-by: Gerd Hoffmann <>

21ef45d7 03/18/2013 11:21 am Gerd Hoffmann

console: kill DisplayState->opaque

It's broken by design. There can be multiple DisplayChangeListener
instances, so they simply can't store state in the (single) DisplayState
struct. Try 'qemu -display gtk -vnc :0', watch it crash & burn.

With DisplayChangeListenerOps having a more sane interface now we can...

da229ef3 03/18/2013 11:21 am Gerd Hoffmann

console: rework DisplaySurface handling [vga emu side]

Decouple DisplaySurface allocation & deallocation from DisplayState.
Replace dpy_gfx_resize + dpy_gfx_setdata with a dpy_gfx_replace_surface
function.

This handles the graphic hardware emulation.

Signed-off-by: Gerd Hoffmann <>

c12aeb86 03/18/2013 11:21 am Gerd Hoffmann

console: rework DisplaySurface handling [dcl/ui side]

Replace the dpy_gfx_resize and dpy_gfx_setdata DisplayChangeListener
callbacks with a dpy_gfx_switch callback which notifies the ui code
when the framebuffer backing storage changes.

Signed-off-by: Gerd Hoffmann <>

626e3b34 03/18/2013 11:21 am Gerd Hoffmann

console: add surface_*() getters

Add convinence wrappers to query DisplaySurface properties.
Simliar to ds_get_*, but operating in the DisplaySurface
not the DisplayState.

With this patch in place ui frontents can stop using DisplayState
in the rendering code paths, they can simply operate using the...

702ec69c 03/13/2013 11:27 am Gerd Hoffmann

chardev: add vc support to qapi

This patch adds 'vc' support to qapi and also switches over the
vc chardev initialization to the new qapi code path.

Signed-off-by: Gerd Hoffmann <>

d82831db 02/22/2013 12:34 am Anthony Liguori

console: allow VCs to be overridden by UI

We want to expose VCs using a VteTerminal widget. We need access to provide our
own CharDriverState in order to do this.

Signed-off-by: Anthony Liguori <>
Message-id:

a4ccabcf 02/22/2013 12:34 am Anthony Liguori

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...

b1424e03 02/22/2013 12:34 am Gerd Hoffmann

vga: fix byteswapping.

In case host and guest endianness differ the vga code first creates
a shared surface (using qemu_create_displaysurface_from), then goes
patch the surface format to indicate that the bytes must be swapped.

The switch to pixman broke that hack as the format patching isn't...

1de7afc9 12/19/2012 09:32 am Paolo Bonzini

misc: move include files to include/qemu/

Signed-off-by: Paolo Bonzini <>

83c9089e 12/19/2012 09:31 am Paolo Bonzini

monitor: move include files to include/monitor/

Signed-off-by: Paolo Bonzini <>

7b1b5d19 12/19/2012 09:31 am Paolo Bonzini

qapi: move include files to include/qobject/

Signed-off-by: Paolo Bonzini <>

28ecbaee 12/19/2012 09:31 am Paolo Bonzini

ui: move files to ui/ and include/ui/

Signed-off-by: Paolo Bonzini <>