IDisplay Interface Reference

The IDisplay interface represents the virtual machine's display. More...

List of all members.

Public Member Functions

void setupInternalFramebuffer (in unsigned long depth)
 Prepares an internally managed frame buffer.
void lockFramebuffer ([retval] out octetPtr address)
 Requests access to the internal frame buffer.
void unlockFramebuffer ()
 Releases access to the internal frame buffer.
void registerExternalFramebuffer (in IFramebuffer framebuffer)
 Registers an external frame buffer.
void setFramebuffer (in unsigned long screenId, in IFramebuffer framebuffer)
 Sets the framebuffer for given screen.
void getFramebuffer (in unsigned long screenId, out IFramebuffer framebuffer, out long xOrigin, out long yOrigin)
 Queries the framebuffer for given screen.
void setVideoModeHint (in unsigned long width, in unsigned long height, in unsigned long bitsPerPixel, in unsigned long display)
 Asks VirtualBox to request the given video mode from the guest.
void setSeamlessMode (in boolean enabled)
 Enables or disables seamless guest display rendering (seamless desktop integration) mode.
void takeScreenShot (in octetPtr address, in unsigned long width, in unsigned long height)
 Takes a screen shot of the requested size and copies it to the 32-bpp buffer allocated by the caller.
void drawToScreen (in octetPtr address, in unsigned long x, in unsigned long y, in unsigned long width, in unsigned long height)
 Draws a 32-bpp image of the specified size from the given buffer to the given point on the VM display.
void invalidateAndUpdate ()
 Does a full invalidation of the VM display and instructs the VM to update it.
void resizeCompleted (in unsigned long screenId)
 Signals that a framebuffer has completed the resize operation.
void updateCompleted ()
 Signals that a framebuffer has completed the update operation.

Public Attributes

readonly attribute unsigned long width
 Current display width.
readonly attribute unsigned long height
 Current display height.
readonly attribute unsigned long bitsPerPixel
 Current guest display color depth.


Detailed Description

The IDisplay interface represents the virtual machine's display.

The object implementing this interface is contained in each IConsole::display attribute and represents the visual output of the virtual machine.

The virtual display supports pluggable output targets represented by the IFramebuffer interface. Examples of the output target are a window on the host computer or an RDP session's display on a remote computer.

Interface ID:
{09789F63-4525-48E5-A5E4-1080453B0EAB}

Member Function Documentation

void IDisplay::setupInternalFramebuffer ( in unsigned long  depth  ) 

Prepares an internally managed frame buffer.

void IDisplay::lockFramebuffer ( [retval] out octetPtr  address  ) 

Requests access to the internal frame buffer.

Expected result codes:
VBOX_E_NOT_SUPPORTED Attempt to lock a non-internal frame buffer.
Warning:
This method is non-scriptable. In particular, this also means that an attempt to call it from a process other than the process that has created and owns the object will most likely fail or crash your application.

void IDisplay::unlockFramebuffer (  ) 

Releases access to the internal frame buffer.

Expected result codes:
VBOX_E_NOT_SUPPORTED Attempt to unlock a non-internal frame buffer.

void IDisplay::registerExternalFramebuffer ( in IFramebuffer  framebuffer  ) 

Registers an external frame buffer.

void IDisplay::setFramebuffer ( in unsigned long  screenId,
in IFramebuffer  framebuffer 
)

Sets the framebuffer for given screen.

void IDisplay::getFramebuffer ( in unsigned long  screenId,
out IFramebuffer  framebuffer,
out long  xOrigin,
out long  yOrigin 
)

Queries the framebuffer for given screen.

void IDisplay::setVideoModeHint ( in unsigned long  width,
in unsigned long  height,
in unsigned long  bitsPerPixel,
in unsigned long  display 
)

Asks VirtualBox to request the given video mode from the guest.

This is just a hint and it cannot be guaranteed that the requested resolution will be used. Guest Additions are required for the request to be seen by guests. The caller should issue the request and wait for a resolution change and after a timeout retry.

Specifying 0 for either width, height or bitsPerPixel parameters means that the corresponding values should be taken from the current video mode (i.e. left unchanged).

If the guest OS supports multi-monitor configuration then the display parameter specifies the number of the guest display to send the hint to: 0 is the primary display, 1 is the first secondary and so on. If the multi-monitor configuration is not supported, display must be 0.

Expected result codes:
E_INVALIDARG The display is not associated with any monitor.

void IDisplay::setSeamlessMode ( in boolean  enabled  ) 

Enables or disables seamless guest display rendering (seamless desktop integration) mode.

Note:
Calling this method has no effect if IGuest::supportsSeamless returns false.

void IDisplay::takeScreenShot ( in octetPtr  address,
in unsigned long  width,
in unsigned long  height 
)

Takes a screen shot of the requested size and copies it to the 32-bpp buffer allocated by the caller.

Expected result codes:
E_NOTIMPL Feature not implemented.
VBOX_E_IPRT_ERROR Could not take a screenshot.
Warning:
This method is non-scriptable. In particular, this also means that an attempt to call it from a process other than the process that has created and owns the object will most likely fail or crash your application.

void IDisplay::drawToScreen ( in octetPtr  address,
in unsigned long  x,
in unsigned long  y,
in unsigned long  width,
in unsigned long  height 
)

Draws a 32-bpp image of the specified size from the given buffer to the given point on the VM display.

Expected result codes:
E_NOTIMPL Feature not implemented.
VBOX_E_IPRT_ERROR Could not draw to screen.
Warning:
This method is non-scriptable. In particular, this also means that an attempt to call it from a process other than the process that has created and owns the object will most likely fail or crash your application.

void IDisplay::invalidateAndUpdate (  ) 

Does a full invalidation of the VM display and instructs the VM to update it.

Expected result codes:
VBOX_E_IPRT_ERROR Could not invalidate and update screen.

void IDisplay::resizeCompleted ( in unsigned long  screenId  ) 

Signals that a framebuffer has completed the resize operation.

Expected result codes:
VBOX_E_NOT_SUPPORTED Operation only valid for external frame buffers.

void IDisplay::updateCompleted (  ) 

Signals that a framebuffer has completed the update operation.

Expected result codes:
VBOX_E_NOT_SUPPORTED Operation only valid for external frame buffers.


Member Data Documentation

readonly attribute unsigned long IDisplay::width

Current display width.

readonly attribute unsigned long IDisplay::height

Current display height.

readonly attribute unsigned long IDisplay::bitsPerPixel

Current guest display color depth.

Note that this may differ from IFramebuffer::bitsPerPixel.


Generated on Tue Apr 7 21:43:44 2009 for VirtualBox Main API by  doxygen 1.5.6