## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# iLightCallback Struct Reference
[Lighting]

Set a callback which is called when this light color is changed. More...

`#include <iengine/light.h>`

Inheritance diagram for iLightCallback:

[legend]
List of all members.

## Public Member Functions

virtual void | OnAttenuationChange (iLight *light, int newatt)=0
| Attenuation will be changed.
virtual void | OnColorChange (iLight *light, const csColor &newcolor)=0
| Light color will be changed.
virtual void | OnDestroy (iLight *light)=0
| Light will be destroyed.
virtual void | OnPositionChange (iLight *light, const csVector3 &newpos)=0
| Light position will be changed.
virtual void | OnRadiusChange (iLight *light, float newradius)=0
| Radius will be changed.
virtual void | OnSectorChange (iLight *light, iSector *newsector)=0
| Sector will be changed.

## Detailed Description

Set a callback which is called when this light color is changed.

The given context will be either an instance of iRenderView, iFrustumView, or else 0.

Main creators of instances implementing this interface:

- Application.

Main users of this interface:

- iLight

Definition at line 157 of file light.h.

## Member Function Documentation

virtual void iLightCallback::OnAttenuationChange | ( | iLight * | light,
|  | int | newatt
| ) | `[pure virtual]`

| Attenuation will be changed. It is safe to delete this callback in this function.

virtual void iLightCallback::OnColorChange | ( | iLight * | light,
|  | const csColor & | newcolor
| ) | `[pure virtual]`

| Light color will be changed. It is safe to delete this callback in this function.

virtual void iLightCallback::OnDestroy | ( | iLight * | light | ) | `[pure virtual]`

| Light will be destroyed. It is safe to delete this callback in this function.

virtual void iLightCallback::OnPositionChange | ( | iLight * | light,
|  | const csVector3 & | newpos
| ) | `[pure virtual]`

| Light position will be changed. It is safe to delete this callback in this function.

virtual void iLightCallback::OnRadiusChange | ( | iLight * | light,
|  | float | newradius
| ) | `[pure virtual]`

| Radius will be changed. It is safe to delete this callback in this function.

virtual void iLightCallback::OnSectorChange | ( | iLight * | light,
|  | iSector * | newsector
| ) | `[pure virtual]`

| Sector will be changed. It is safe to delete this callback in this function.

The documentation for this struct was generated from the following file:

- iengine/light.h