+
+
+##
+# @DisplayGTK:
+#
+# GTK display options.
+#
+# @grab-on-hover: Grab keyboard input on mouse hover.
+# @zoom-to-fit: Zoom guest display to fit into the host window. When
+# turned off the host window will be resized instead.
+# In case the display device can notify the guest on
+# window resizes (virtio-gpu) this will default to "on",
+# assuming the guest will resize the display to match
+# the window size then. Otherwise it defaults to "off".
+# Since 3.1
+#
+# Since: 2.12
+#
+##
+{ 'struct' : 'DisplayGTK',
+ 'data' : { '*grab-on-hover' : 'bool',
+ '*zoom-to-fit' : 'bool' } }
+
+##
+# @DisplayEGLHeadless:
+#
+# EGL headless display options.
+#
+# @rendernode: Which DRM render node should be used. Default is the first
+# available node on the host.
+#
+# Since: 3.1
+#
+##
+{ 'struct' : 'DisplayEGLHeadless',
+ 'data' : { '*rendernode' : 'str' } }
+
+ ##
+ # @DisplayGLMode:
+ #
+ # Display OpenGL mode.
+ #
+ # @off: Disable OpenGL (default).
+ # @on: Use OpenGL, pick context type automatically.
+ # Would better be named 'auto' but is called 'on' for backward
+ # compatibility with bool type.
+ # @core: Use OpenGL with Core (desktop) Context.
+ # @es: Use OpenGL with ES (embedded systems) Context.
+ #
+ # Since: 3.0
+ #
+ ##
+ { 'enum' : 'DisplayGLMode',
+ 'data' : [ 'off', 'on', 'core', 'es' ] }
+
+##
+# @DisplayType:
+#
+# Display (user interface) type.
+#
+# Since: 2.12
+#
+##
+{ 'enum' : 'DisplayType',
+ 'data' : [ 'default', 'none', 'gtk', 'sdl',
+ 'egl-headless', 'curses', 'cocoa' ] }
+
+##
+# @DisplayOptions:
+#
+# Display (user interface) options.
+#
+# @type: Which DisplayType qemu should use.
+# @full-screen: Start user interface in fullscreen mode (default: off).
+# @window-close: Allow to quit qemu with window close button (default: on).
+# @gl: Enable OpenGL support (default: off).
+#
+# Since: 2.12
+#
+##
+{ 'union' : 'DisplayOptions',
+ 'base' : { 'type' : 'DisplayType',
+ '*full-screen' : 'bool',
+ '*window-close' : 'bool',
+ '*gl' : 'DisplayGLMode' },
+ 'discriminator' : 'type',
+ 'data' : { 'gtk' : 'DisplayGTK',
+ 'egl-headless' : 'DisplayEGLHeadless'} }
+
+##
+# @query-display-options:
+#
+# Returns information about display configuration
+#
+# Returns: @DisplayOptions
+#
+# Since: 3.1
+#
+##
+{ 'command': 'query-display-options',
+ 'returns': 'DisplayOptions' }