{ 'command': 'screendump',
'data': {'filename': 'str', '*device': 'str', '*head': 'int',
'*format': 'ImageFormat'},
- 'coroutine': true }
+ 'coroutine': true,
+ 'if': 'CONFIG_PIXMAN' }
##
# == Spice
#
# @extra: rear side button of a 5-button mouse (since 2.9)
#
+# @touch: screen contact on a multi-touch device (since 8.1)
+#
# Since: 2.0
##
{ 'enum' : 'InputButton',
'data' : [ 'left', 'middle', 'right', 'wheel-up', 'wheel-down', 'side',
- 'extra', 'wheel-left', 'wheel-right' ] }
+ 'extra', 'wheel-left', 'wheel-right', 'touch' ] }
##
# @InputAxis:
'data' : [ 'x', 'y' ] }
##
+# @InputMultiTouchType:
+#
+# Type of a multi-touch event.
+#
+# Since: 8.1
+##
+{ 'enum' : 'InputMultiTouchType',
+ 'data' : [ 'begin', 'update', 'end', 'cancel', 'data' ] }
+
+
+##
# @InputKeyEvent:
#
# Keyboard input event.
'value' : 'int' } }
##
+# @InputMultiTouchEvent:
+#
+# MultiTouch input event.
+#
+# @slot: Which slot has generated the event.
+#
+# @tracking-id: ID to correlate this event with previously generated
+# events.
+#
+# @axis: Which axis is referenced by @value.
+#
+# @value: Contact position.
+#
+# Since: 8.1
+##
+{ 'struct' : 'InputMultiTouchEvent',
+ 'data' : { 'type' : 'InputMultiTouchType',
+ 'slot' : 'int',
+ 'tracking-id': 'int',
+ 'axis' : 'InputAxis',
+ 'value' : 'int' } }
+
+##
# @InputEventKind:
#
+# @key: a keyboard input event
+#
+# @btn: a pointer button input event
+#
+# @rel: a relative pointer motion input event
+#
+# @abs: an absolute pointer motion input event
+#
+# @mtt: a multi-touch input event
+#
# Since: 2.0
##
{ 'enum': 'InputEventKind',
- 'data': [ 'key', 'btn', 'rel', 'abs' ] }
+ 'data': [ 'key', 'btn', 'rel', 'abs', 'mtt' ] }
##
# @InputKeyEventWrapper:
'data': { 'data': 'InputMoveEvent' } }
##
+# @InputMultiTouchEventWrapper:
+#
+# Since: 8.1
+##
+{ 'struct': 'InputMultiTouchEventWrapper',
+ 'data': { 'data': 'InputMultiTouchEvent' } }
+
+##
# @InputEvent:
#
# Input event union.
#
-# @type: the input type, one of:
-#
-# - 'key': Input event of Keyboard
-# - 'btn': Input event of pointer buttons
-# - 'rel': Input event of relative pointer motion
-# - 'abs': Input event of absolute pointer motion
+# @type: the type of input event
#
# Since: 2.0
##
'data' : { 'key' : 'InputKeyEventWrapper',
'btn' : 'InputBtnEventWrapper',
'rel' : 'InputMoveEventWrapper',
- 'abs' : 'InputMoveEventWrapper' } }
+ 'abs' : 'InputMoveEventWrapper',
+ 'mtt' : 'InputMultiTouchEventWrapper' } }
##
# @input-send-event:
# defaults to "off". (Since 3.1)
#
# @show-tabs: Display the tab bar for switching between the various
-# graphical interfaces (e.g. VGA and virtual console character
+# graphical interfaces (e.g. VGA and virtual console character
# devices) by default. (Since 7.1)
#
# @show-menubar: Display the main window menubar. Defaults to "on".
# codes match their position on non-Mac keyboards and you can use
# Meta/Super and Alt where you expect them. (default: off)
#
+# @zoom-to-fit: Zoom guest display to fit into the host window. When
+# turned off the host window will be resized instead. Defaults to
+# "off". (Since 8.2)
+#
# Since: 7.0
##
{ 'struct': 'DisplayCocoa',
'data': {
'*left-command-key': 'bool',
'*full-grab': 'bool',
- '*swap-opt-cmd': 'bool'
+ '*swap-opt-cmd': 'bool',
+ '*zoom-to-fit': 'bool'
} }
##
{ 'name': 'none' },
{ 'name': 'gtk', 'if': 'CONFIG_GTK' },
{ 'name': 'sdl', 'if': 'CONFIG_SDL' },
- { 'name': 'egl-headless',
- 'if': { 'all': ['CONFIG_OPENGL', 'CONFIG_GBM'] } },
+ { 'name': 'egl-headless', 'if': 'CONFIG_OPENGL' },
{ 'name': 'curses', 'if': 'CONFIG_CURSES' },
{ 'name': 'cocoa', 'if': 'CONFIG_COCOA' },
{ 'name': 'spice-app', 'if': 'CONFIG_SPICE' },
'cocoa': { 'type': 'DisplayCocoa', 'if': 'CONFIG_COCOA' },
'curses': { 'type': 'DisplayCurses', 'if': 'CONFIG_CURSES' },
'egl-headless': { 'type': 'DisplayEGLHeadless',
- 'if': { 'all': ['CONFIG_OPENGL', 'CONFIG_GBM'] } },
+ 'if': 'CONFIG_OPENGL' },
'dbus': { 'type': 'DisplayDBus', 'if': 'CONFIG_DBUS_DISPLAY' },
'sdl': { 'type': 'DisplaySDL', 'if': 'CONFIG_SDL' }
}