Factorio.com|Forums|Wiki|Mod Portal|API Docs Prototype|Runtime|Auxiliary

# Factorio Prototype Docs Version 2.0.7

## MouseCursor 'mouse-cursor' Example code

Used by SelectionToolPrototype::mouse_cursor.

## Properties

- default
- sorted

type | :: `"mouse-cursor"` |
name | :: string | Name of the prototype.
Name of the prototype.
system_cursor optional | :: `"arrow"` or `"i-beam"` or `"crosshair"` or `"wait-arrow"` or `"size-all"` or `"no"` or `"hand"` | Either this or the other three properties have to be present.
Either this or the other three properties have to be present.
filename optional | :: FileName | Mandatory if `system_cursor` is not defined.
Mandatory if `system_cursor` is not defined.
hot_pixel_x optional | :: int16 | Mandatory if `system_cursor` is not defined.
Mandatory if `system_cursor` is not defined.
hot_pixel_y optional | :: int16 | Mandatory if `system_cursor` is not defined.
Mandatory if `system_cursor` is not defined.

name | :: string | Name of the prototype.
Name of the prototype.
type | :: `"mouse-cursor"` |
filename optional | :: FileName | Mandatory if `system_cursor` is not defined.
Mandatory if `system_cursor` is not defined.
hot_pixel_x optional | :: int16 | Mandatory if `system_cursor` is not defined.
Mandatory if `system_cursor` is not defined.
hot_pixel_y optional | :: int16 | Mandatory if `system_cursor` is not defined.
Mandatory if `system_cursor` is not defined.
system_cursor optional | :: `"arrow"` or `"i-beam"` or `"crosshair"` or `"wait-arrow"` or `"size-all"` or `"no"` or `"hand"` | Either this or the other three properties have to be present.
Either this or the other three properties have to be present.

## Properties

### type :: `"mouse-cursor"`

### name :: string

Name of the prototype.

### system_cursor :: `"arrow"` or `"i-beam"` or `"crosshair"` or `"wait-arrow"` or `"size-all"` or `"no"` or `"hand"` optional

Either this or the other three properties have to be present.

### filename :: FileName optional

Mandatory if `system_cursor` is not defined.

### hot_pixel_x :: int16 optional

Mandatory if `system_cursor` is not defined.

### hot_pixel_y :: int16 optional

Mandatory if `system_cursor` is not defined.

## Examples

    {
      type = "mouse-cursor",
      name = "selection-tool-cursor",
      filename = "__core__/graphics/cross-select-x32.png",
      hot_pixel_x = 16,
      hot_pixel_y = 16
    }

    {
      type = "mouse-cursor",
      name = "system-crosshair",
      system_cursor = "crosshair"
    }