Show / Hide Table of Contents

Interface ICursorComponent

Interface for drivers which provide the cursor component of the platform abstraction layer.

Inherited Members
IPalComponent.Name
IPalComponent.Provides
IPalComponent.Logger
IPalComponent.Initialize(ToolkitOptions)
Namespace: OpenTK.Core.Platform
Assembly: OpenTK.Core.dll
Syntax
public interface ICursorComponent : IPalComponent

Properties

CanInspectSystemCursors

True if the backend supports inspecting system cursor handles. If true, functions like GetSize(CursorHandle, out int, out int) and GetHotspot(CursorHandle, out int, out int) works on system cursors. If false, these functions will fail.

Declaration
bool CanInspectSystemCursors { get; }
Property Value
Type Description
bool
See Also
GetSize(CursorHandle, out int, out int)
GetHotspot(CursorHandle, out int, out int)

CanLoadSystemCursors

True if the driver can load system cursors.

Declaration
bool CanLoadSystemCursors { get; }
Property Value
Type Description
bool
See Also
Create(SystemCursorType)

Methods

Create(SystemCursorType)

Create a standard system cursor.

Declaration
CursorHandle Create(SystemCursorType systemCursor)
Parameters
Type Name Description
SystemCursorType systemCursor

Type of the standard cursor to load.

Returns
Type Description
CursorHandle

A handle to the created cursor.

Remarks

This function is only supported if CanLoadSystemCursors is true.

Exceptions
Type Condition
PalNotImplementedException

Driver does not implement this function. See CanLoadSystemCursors.

PlatformException

System does not provide cursor type selected by systemCursor.

Create(int, int, ReadOnlySpan<byte>, int, int)

Load a cursor image from memory.

Declaration
CursorHandle Create(int width, int height, ReadOnlySpan<byte> image, int hotspotX, int hotspotY)
Parameters
Type Name Description
int width

Width of the cursor image.

int height

Height of the cursor image.

ReadOnlySpan<byte> image

Buffer containing image data.

int hotspotX

The x coordinate of the cursor hotspot.

int hotspotY

The y coordinate of the cursor hotspot.

Returns
Type Description
CursorHandle

A handle to the created cursor.

Exceptions
Type Condition
ArgumentOutOfRangeException

width or height is negative.

ArgumentException

image is smaller than specified dimensions.

Create(int, int, ReadOnlySpan<byte>, ReadOnlySpan<byte>, int, int)

Load a cursor image from memory.

Declaration
CursorHandle Create(int width, int height, ReadOnlySpan<byte> colorData, ReadOnlySpan<byte> maskData, int hotspotX, int hotspotY)
Parameters
Type Name Description
int width

Width of the cursor image.

int height

Height of the cursor image.

ReadOnlySpan<byte> colorData

Buffer containing color data.

ReadOnlySpan<byte> maskData

Buffer containing mask data.

int hotspotX

The x coordinate of the cursor hotspot.

int hotspotY

The y coordinate of the cursor hotspot.

Returns
Type Description
CursorHandle

A handle to the created handle.

Exceptions
Type Condition
ArgumentOutOfRangeException

width or height is negative.

ArgumentException

colorData or maskData is smaller than specified dimensions.

Destroy(CursorHandle)

Destroy a cursor object.

Declaration
void Destroy(CursorHandle handle)
Parameters
Type Name Description
CursorHandle handle

Handle to a cursor object.

Exceptions
Type Condition
ArgumentNullException

handle is null.

GetHotspot(CursorHandle, out int, out int)

Get the hotspot location of the mouse cursor. Getting the hotspot of a system cursor is not guaranteed to be possible, check CanInspectSystemCursors before trying.

Declaration
void GetHotspot(CursorHandle handle, out int x, out int y)
Parameters
Type Name Description
CursorHandle handle

Handle to a cursor object.

int x

X coordinate of the hotspot.

int y

Y coordinate of the hotspot.

Remarks

If handle is a system cursor and CanInspectSystemCursors is false this function will fail.

Exceptions
Type Condition
ArgumentNullException

handle is null.

See Also
IsSystemCursor(CursorHandle)
CanInspectSystemCursors

GetSize(CursorHandle, out int, out int)

Get the size of the cursor image.

Declaration
void GetSize(CursorHandle handle, out int width, out int height)
Parameters
Type Name Description
CursorHandle handle

Handle to a cursor object.

int width

Width of the cursor.

int height

Height of the cursor.

Remarks

If handle is a system cursor and CanInspectSystemCursors is false this function will fail.

Exceptions
Type Condition
ArgumentNullException

handle is null.

See Also
IsSystemCursor(CursorHandle)
CanInspectSystemCursors

IsSystemCursor(CursorHandle)

Returns true if this cursor is a system cursor.

Declaration
bool IsSystemCursor(CursorHandle handle)
Parameters
Type Name Description
CursorHandle handle

Handle to a cursor.

Returns
Type Description
bool

If the cursor is a system cursor or not.

See Also
Create(SystemCursorType)
In this article
Back to top Generated by DocFX