# wxCursor

###
Module

wxCursor

###
Module Summary

Functions for wxCursor class

###
Description

A cursor is a small bitmap usually used for denoting where the mouse pointer is, with a picture that might indicate the interpretation of a mouse click. As with icons, cursors in X and MS Windows are created in a different manner. Therefore, separate cursors will be created for the different environments. Platform-specific methods for creating a wxCursor object are catered for, and this is an occasion where conditional compilation will probably be required (see wxIcon for an example).

A single cursor object may be used in many windows (any subwindow type). The wxWidgets convention is to set the cursor for a window, as in X, rather than to set it globally as in MS Windows, although a global wx_misc:setCursor/1 function is also available for MS Windows use.

Creating a Custom Cursor

The following is an example of creating a cursor from 32x32 bitmap data (down_bits) and a mask (down_mask) where 1 is black and 0 is white for the bits, and 1 is opaque and 0 is transparent for the mask. It works on Windows and GTK+.

Predefined objects (include wx.hrl):

See: wxBitmap, wxIcon, wxWindow:setCursor/2, wx_misc:setCursor/1, ?wxStockCursor

This class is derived (and can use functions) from: wxBitmap

wxWidgets docs: wxCursor

###
Data Types

####
wxCursor() = wx:wx_object()

###
Exports

####
new() -> wxCursor()

Default constructor.

####
new(CursorName) -> wxCursor()

####
new(Image) -> wxCursor()

####
new(CursorId) -> wxCursor()

### Types

CursorId = wx:wx_enum()

Constructs a cursor using a cursor identifier.

####
new(CursorName, Options :: [Option]) -> wxCursor()

### Types

CursorName = unicode:chardata()
Option =
{type, wx:wx_enum()} |
{hotSpotX, integer()} |
{hotSpotY, integer()}

Constructs a cursor by passing a string resource name or filename.

The arguments hotSpotX and hotSpotY are only used when there's no hotspot info in the resource/image-file to load (e.g. when using wxBITMAP_TYPE_ICO under wxMSW or wxBITMAP_TYPE_XPM under wxGTK).

####
destroy(This :: wxCursor()) -> ok

Destroys the cursor.

See reference-counted object destruction for more info.

A cursor can be reused for more than one window, and does not get destroyed when the window is destroyed. wxWidgets destroys all cursors on application exit, although it is best to clean them up explicitly.

####
ok(This) -> boolean()

### Types

This = wxCursor()

See: isOk/1.

####
isOk(This) -> boolean()

### Types

This = wxCursor()

Returns true if cursor data is present.