LampPurposes Enumeration

Describes a set of purposes for which a single Lamp is intended to be used.

Syntax

enum class LampPurposes : uint32_t
{
    Undefined       = 0x00,
    Control         = 0x01,
    Accent          = 0x02,
    Branding        = 0x04,
    Status          = 0x08,
    Illumination    = 0x10,
    Presentation    = 0x20
}; 

DEFINE_ENUM_FLAG_OPERATORS(LampPurposes);

Constants

Constant Description
Undefined LampPurposes are not specified for this Lamp.
Control Lamp is associated with a control on the device (for example, button, key, slider).
Accent Lamp is used for aesthetic accent purposes and doesn't interact with the user (for example, case fan LED, illuminated side panels on a keyboard).
Branding Lamp is used for device branding (for example, manufacturer logo).
Status Lamp is used to indicate system status information (for example, unread email, CPU temperature).
Illumination Lamp illuminates an object that is outside of the LampArray (for example, stage spotlight, car headlights, camera flash).
Presentation A lamp the user directly looks at (for example, within an artwork or costume).

Remarks

It is likely this list will expand in the future, so avoid using error checks that validate whether a LampPurpose is within the current bounds. The preferred approach is to compare against the subset of LampPurposes the application supports.

Requirements

Header: Declared in LampArray.h.

See also

Lighting API Overview
ILampArray::GetIndicesCountForPurposes
ILampArray::GetIndicesForPurposes
ILampInfo::GetPurposes