VirtualBox Main API
Public Attributes | List of all members
IMousePointerShapeChangedEvent Interface Reference

Notification when the guest mouse pointer shape has changed. More...

Inheritance diagram for IMousePointerShapeChangedEvent:
IEvent

Public Attributes

readonly attribute boolean visible
 Flag whether the pointer is visible. More...
 
readonly attribute boolean alpha
 Flag whether the pointer has an alpha channel. More...
 
readonly attribute unsigned long xhot
 The pointer hot spot X coordinate. More...
 
readonly attribute unsigned long yhot
 The pointer hot spot Y coordinate. More...
 
readonly attribute unsigned long width
 Width of the pointer shape in pixels. More...
 
readonly attribute unsigned long height
 Height of the pointer shape in pixels. More...
 
readonly attribute octet[] shape
 Shape buffer arrays. More...
 
- Public Attributes inherited from IEvent
readonly attribute VBoxEventType type
 Event type. More...
 
readonly attribute IEventSource source
 Source of this event. More...
 
readonly attribute boolean waitable
 If we can wait for this event being processed. More...
 

Additional Inherited Members

- Public Member Functions inherited from IEvent
void setProcessed ()
 Internal method called by the system when all listeners of a particular event have called IEventSource::eventProcessed. More...
 
void waitProcessed (in long timeout, [retval] out boolean result)
 Wait until time outs, or this event is processed. More...
 

Detailed Description

Notification when the guest mouse pointer shape has changed.

The new shape data is given.

Interface ID:
{A6DCF6E8-416B-4181-8C4A-45EC95177AEF}

Member Data Documentation

readonly attribute boolean IMousePointerShapeChangedEvent::visible

Flag whether the pointer is visible.

readonly attribute boolean IMousePointerShapeChangedEvent::alpha

Flag whether the pointer has an alpha channel.

readonly attribute unsigned long IMousePointerShapeChangedEvent::xhot

The pointer hot spot X coordinate.

readonly attribute unsigned long IMousePointerShapeChangedEvent::yhot

The pointer hot spot Y coordinate.

readonly attribute unsigned long IMousePointerShapeChangedEvent::width

Width of the pointer shape in pixels.

readonly attribute unsigned long IMousePointerShapeChangedEvent::height

Height of the pointer shape in pixels.

readonly attribute octet [] IMousePointerShapeChangedEvent::shape

Shape buffer arrays.

The shape buffer contains a 1-bpp (bits per pixel) AND mask followed by a 32-bpp XOR (color) mask.

For pointers without alpha channel the XOR mask pixels are 32-bit values: (lsb)BGR0(msb). For pointers with alpha channel the XOR mask consists of (lsb)BGRA(msb) 32-bit values.

An AND mask is used for pointers with alpha channel, so if the callback does not support alpha, the pointer could be displayed as a normal color pointer.

The AND mask is a 1-bpp bitmap with byte aligned scanlines. The size of the AND mask therefore is cbAnd = (width + 7) / 8 * height. The padding bits at the end of each scanline are undefined.

The XOR mask follows the AND mask on the next 4-byte aligned offset: uint8_t *pXor = pAnd + (cbAnd + 3) & ~3. Bytes in the gap between the AND and the XOR mask are undefined. The XOR mask scanlines have no gap between them and the size of the XOR mask is: cXor = width * 4 * height.

Note
If shape is 0, only the pointer visibility is changed.