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:

## 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.

## 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

## ◆ visible

readonly attribute boolean IMousePointerShapeChangedEvent::visible

Flag whether the pointer is visible.

## ◆ alpha

readonly attribute boolean IMousePointerShapeChangedEvent::alpha

Flag whether the pointer has an alpha channel.

## ◆ xhot

readonly attribute unsigned long IMousePointerShapeChangedEvent::xhot

The pointer hot spot X coordinate.

## ◆ yhot

readonly attribute unsigned long IMousePointerShapeChangedEvent::yhot

The pointer hot spot Y coordinate.

## ◆ width

readonly attribute unsigned long IMousePointerShapeChangedEvent::width

Width of the pointer shape in pixels.

## ◆ height

readonly attribute unsigned long IMousePointerShapeChangedEvent::height

Height of the pointer shape in pixels.

## ◆ shape

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.