VirtualBox Main API
|
Notification when the guest mouse pointer shape has changed. More...
Public Attributes | |
readonly attribute boolean | visible |
Flag whether the pointer is visible. | |
readonly attribute boolean | alpha |
Flag whether the pointer has an alpha channel. | |
readonly attribute unsigned long | xhot |
The pointer hot spot X coordinate. | |
readonly attribute unsigned long | yhot |
The pointer hot spot Y coordinate. | |
readonly attribute unsigned long | width |
Width of the pointer shape in pixels. | |
readonly attribute unsigned long | height |
Height of the pointer shape in pixels. | |
readonly attribute octet[] | shape |
Shape buffer arrays. | |
Public Attributes inherited from IEvent | |
readonly attribute VBoxEventType | type |
Event type. | |
readonly attribute IEventSource | source |
Source of this event. | |
readonly attribute boolean | waitable |
If we can wait for this event being processed. | |
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. | |
void | waitProcessed (in long timeout, [retval] out boolean result) |
Wait until time outs, or this event is processed. | |
Notification when the guest mouse pointer shape has changed.
The new shape data is given.
{A6DCF6E8-416B-4181-8C4A-45EC95177AEF}
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
.