#### 15.3.3.11 Light Properties ¶

Properties of `light` objects (see light):

#### Categories: ¶

Callback Execution | Creation/Deletion | Display | Lighting | Mouse Interaction | Object Identification | Parent/Children

#### Callback Execution ¶

`busyaction`: `"cancel"` | {`"queue"`} ¶

  Define how Octave handles the execution of this object’s callback properties when it is unable to interrupt another object’s executing callback. This is only relevant when the currently executing callback object has its `interruptible` property set to `"off"`. The `busyaction` property of the interrupting callback object indicates whether the interrupting callback is queued (`"queue"` (default)) or discarded (`"cancel"`). See Callbacks section.

`interruptible`: `"off"` | {`"on"`} ¶

  Specify whether this object’s callback functions may be interrupted by other callbacks. By default `interruptible` is `"on"` and callbacks that make use of `drawnow`, `figure`, `waitfor`, `getframe` or `pause` functions are eventually interrupted. See Callbacks section.

#### Creation/Deletion ¶

`beingdeleted`: {`"off"`} | `"on"` ¶

  Property indicating that a function has initiated deletion of the object. `beingdeleted` is set to true until the object no longer exists.

`createfcn`: string | function handle, def. `[](0x0)` ¶

  Callback function executed immediately after light has been created. Function is set by using default property on root object, e.g., `set (groot, "defaultlightcreatefcn", 'disp ("light created!")')`.

  For information on how to write graphics listener functions see Callbacks section.

`deletefcn`: string | function handle, def. `[](0x0)` ¶

  Callback function executed immediately before light is deleted.

  For information on how to write graphics listener functions see Callbacks section.

#### Display ¶

`clipping`: `"off"` | {`"on"`} ¶

  If `clipping` is `"on"`, the light is clipped in its parent axes limits.

`visible`: `"off"` | {`"on"`} ¶

  If `visible` is `"off"`, the light is not rendered on screen.

#### Lighting ¶

`color`: colorspec, def. `[1 1 1]` ¶

  Color of the light source. See colorspec.

`position`: def. `[1 0 1]` ¶

  Position of the light source.

`style`: {`"infinite"`} | `"local"` ¶

  This string defines whether the light emanates from a light source at infinite distance (`"infinite"`) or from a local point source (`"local"`).

#### Mouse Interaction ¶

`buttondownfcn`: string | function handle, def. `[](0x0)` ¶

  For information on how to write graphics listener functions see Callbacks section.

`contextmenu`: graphics handle, def. `[](0x0)` ¶

  Graphics handle of the uicontextmenu object that is currently associated to this light object.

`hittest`: `"off"` | {`"on"`} ¶

  Specify whether light processes mouse events or passes them to ancestors of the object. When enabled, the object may respond to mouse clicks by evaluating the `"buttondownfcn"`, showing the uicontextmenu, and eventually becoming the root `"currentobject"`. This property is only relevant when the object can accept mouse clicks which is determined by the `"pickableparts"` property. See pickableparts property.

`pickableparts`: `"all"` | `"none"` | {`"visible"`} ¶

  Specify whether light will accept mouse clicks. By default, `pickableparts` is `"visible"` and only visible parts of the light or its children may react to mouse clicks. When `pickableparts` is `"all"` both visible and invisible parts (or children) may react to mouse clicks. When `pickableparts` is `"none"` mouse clicks on the object are ignored and transmitted to any objects underneath this one. When an object is configured to accept mouse clicks the `"hittest"` property will determine how they are processed. See hittest property.

`selected`: {`"off"`} | `"on"` ¶

  Property indicates whether this light is selected.

`selectionhighlight`: `"off"` | {`"on"`} ¶

  If `selectionhighlight` is `"on"`, then the light’s selection state is visually highlighted.

#### Object Identification ¶

`tag`: string, def. `""` ¶

  A user-defined string to label the graphics object.

`type` (read-only): string ¶

  Class name of the graphics object. `type` is always `"light"`.

`userdata`: Any Octave data, def. `[](0x0)` ¶

  User-defined data to associate with the graphics object.

#### Parent/Children ¶

`children` (read-only): vector of graphics handles, def. `[](0x1)` ¶

  light objects have no child objects. `children` is unused.

`handlevisibility`: `"callback"` | `"off"` | {`"on"`} ¶

  If `handlevisibility` is `"off"`, the light’s handle is not visible in its parent’s `"children"` property.

`parent`: graphics handle ¶

  Handle of the parent graphics object.