Routines (alphabetical) > Routines: C > CREATE_CURSOR

# CREATE_CURSOR

The CREATE_CURSOR function creates an image array from a string array that represents a 16 by 16 cursor. The returned image array can be passed to the REGISTER_CURSOR procedure Image argument. This allows you to quickly design a cursor using a simple string array.

## Examples

The following code creates a simple cursor. Define a string array representing the body and mask portions of the cursor. Notice the hotspot (“$”) in the cursor structure.

strArray = [ $

' . ', $

' .#. ', $

' .###. ', $

' .#####. ', $

' ....#.... ', $

' .#. .#. .#. ', $

' .##...#...##. ', $

'.######$######. ', $

' .##...#...##. ', $

' .#. .#. .#. ', $

' ....#.... ', $

' .#####. ', $

' .###. ', $

' .#. ', $

' . ', $

' ']

cursor_image = CREATE_CURSOR(strArray, HOTSPOT=hotspot, MASK=mask)

REGISTER_CURSOR, 'translate', cursor_image, HOTSPOT=hotspot, $

MASK=mask

After registering a cursor, you can set the current cursor using the IDLgrWindow::SetCurrentCursor method. The previous string results in the cursor .

## Syntax

Result = CREATE_CURSOR( StringArray [, HOTSPOT=variable] [, MASK=variable])

## Return Value

Translates the input string array into an image that satisfies the Image argument of the REGISTER_CURSOR procedure.

## Arguments

### StringArray

This must be a 16 element string array of 16 characters each that represents a window cursor. The array can consist of the “#” character, space and non-space characters, and optionally, a “$” character as follows:

- The “#” characters define the black outline of the cursor.
- Any non-space characters define the shape of the white mask. Adding a mask ensures the cursor’s visibility in light and dark areas of a visualization. Use the MASK keyword to return the array of masked out values.
- The “$” defines a hot spot. Use the HOTSPOT keyword to return the location of this character within the string array.

## Keywords

### HOTSPOT

Set this keyword to a variable that will contain a two-element vector indicating the location of the “$” character in the StringArray. This is considered to be the mouse position of the cursor. If there is no “$” present, then [0,0] is returned. This variable can be directly passed to the HOTSPOT keyword of REGISTER_CURSOR.

### MASK

Set this keyword to return a 16 by 16 byte array containing any non-space characters, which indicates the area to be masked out. This variable can be passed to the MASK keyword of REGISTER_CURSOR.

## Version History

6.1 | Introduced

## See Also

REGISTER_CURSOR, IDLgrWindow::SetCurrentCursor