org.virtualbox_4_1
Class IDisplay

java.lang.Object
  extended by org.virtualbox_4_1.IUnknown
      extended by org.virtualbox_4_1.IDisplay

public class IDisplay
extends IUnknown

The IDisplay interface represents the virtual machine's display. The object implementing this interface is contained in each IConsole.getDisplay() 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: {09EED313-CD56-4D06-BD56-FAC0F716B5DD}


Field Summary
 
Fields inherited from class org.virtualbox_4_1.IUnknown
obj, port
 
Constructor Summary
IDisplay(java.lang.String wrapped, org.virtualbox_4_1.jaxws.VboxPortType port)
           
 
Method Summary
 void getScreenResolution(java.lang.Long screenId, Holder<java.lang.Long> width, Holder<java.lang.Long> height, Holder<java.lang.Long> bitsPerPixel)
          Queries display width, height and color depth for given screen.
 void invalidateAndUpdate()
          Does a full invalidation of the VM display and instructs the VM to update it.
static IDisplay queryInterface(IUnknown obj)
           
 void resizeCompleted(java.lang.Long screenId)
          Signals that a framebuffer has completed the resize operation.
 void setSeamlessMode(java.lang.Boolean enabled)
          Enables or disables seamless guest display rendering (seamless desktop integration) mode.
 void setVideoModeHint(java.lang.Long width, java.lang.Long height, java.lang.Long bitsPerPixel, java.lang.Long display)
          Asks VirtualBox to request the given video mode from the guest.
 byte[] takeScreenShotPNGToArray(java.lang.Long screenId, java.lang.Long width, java.lang.Long height)
          Takes a guest screen shot of the requested size and returns it as PNG image in array.
 byte[] takeScreenShotToArray(java.lang.Long screenId, java.lang.Long width, java.lang.Long height)
          Takes a guest screen shot of the requested size and returns it as an array of bytes in uncompressed 32-bit RGBA format.
 
Methods inherited from class org.virtualbox_4_1.IUnknown
getRemoteWSPort, getWrapped, releaseRemote
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IDisplay

public IDisplay(java.lang.String wrapped,
                org.virtualbox_4_1.jaxws.VboxPortType port)
Method Detail

queryInterface

public static IDisplay queryInterface(IUnknown obj)

getScreenResolution

public void getScreenResolution(java.lang.Long screenId,
                                Holder<java.lang.Long> width,
                                Holder<java.lang.Long> height,
                                Holder<java.lang.Long> bitsPerPixel)
Queries display width, height and color depth for given screen.


setVideoModeHint

public void setVideoModeHint(java.lang.Long width,
                             java.lang.Long height,
                             java.lang.Long bitsPerPixel,
                             java.lang.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.


setSeamlessMode

public void setSeamlessMode(java.lang.Boolean enabled)
Enables or disables seamless guest display rendering (seamless desktop integration) mode. NOTE: Calling this method has no effect if IGuest.getFacilityStatus(org.virtualbox_4_1.AdditionsFacilityType,Holder) with facility Seamless does not return Active.


takeScreenShotToArray

public byte[] takeScreenShotToArray(java.lang.Long screenId,
                                    java.lang.Long width,
                                    java.lang.Long height)
Takes a guest screen shot of the requested size and returns it as an array of bytes in uncompressed 32-bit RGBA format. A pixel consists of 4 bytes in order: R, G, B, 0xFF. This API is slow, but could be the only option to get guest screenshot for scriptable languages not allowed to manipulate with addresses directly.

Parameters:
screenId - Monitor to take screenshot from.
width - Desired image width.
height - Desired image height.
Returns:
Array with resulting screen data. Expected result codes:
E_NOTIMPL Feature not implemented.
@link ::VBOX_E_IPRT_ERROR VBOX_E_IPRT_ERROR Could not take a screenshot.

takeScreenShotPNGToArray

public byte[] takeScreenShotPNGToArray(java.lang.Long screenId,
                                       java.lang.Long width,
                                       java.lang.Long height)
Takes a guest screen shot of the requested size and returns it as PNG image in array.

Parameters:
screenId - Monitor to take the screenshot from.
width - Desired image width.
height - Desired image height.
Returns:
Array with resulting screen data. Expected result codes:
E_NOTIMPL Feature not implemented.
@link ::VBOX_E_IPRT_ERROR VBOX_E_IPRT_ERROR Could not take a screenshot.

invalidateAndUpdate

public void invalidateAndUpdate()
Does a full invalidation of the VM display and instructs the VM to update it. Expected result codes:
@link ::VBOX_E_IPRT_ERROR VBOX_E_IPRT_ERROR Could not invalidate and update screen.


resizeCompleted

public void resizeCompleted(java.lang.Long screenId)
Signals that a framebuffer has completed the resize operation. Expected result codes:
@link ::VBOX_E_NOT_SUPPORTED VBOX_E_NOT_SUPPORTED Operation only valid for external frame buffers.