Files
OpenRGB/Controllers/RazerController/RazerController/RGBController_RazerAddressable.h
Adam Honse 1c449e332f Zone and Segment type updates
* Add zone flags to indicate if fields are manually configurable and if they have been manually configured
  * Add flags field to segment type
  * Add segment flags for group start and group member
  * Add color mode support flags to zone (RGB, RBG, GRB, GBR, BRG, BGR)
  * Add color mode enum to zone
  * Update zone and segment description functions to support new fields
  * Rename the effects-only configurable size flag
  * Remove zone type and matrix map configuration from E1.31 manual configuration, use zone editor instead
  * Rework DeviceResizeZone to DeviceConfigureZone
  * Rework most ARGB controllers to allow zone customizations
  * Rework DRGBController to define devices in DRGBDevices list (similar to RazerDevices)
  * Rework NollieController to define devices in NollieDevices list (similar to RazerDevices)
2026-03-23 01:33:55 -05:00

47 lines
1.4 KiB
C++

/*---------------------------------------------------------*\
| RGBController_RazerAddressable.h |
| |
| RGBController for Razer ARGB Controller |
| |
| Adam Honse (CalcProgrammer1) 11 Apr 2021 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-or-later |
\*---------------------------------------------------------*/
#pragma once
#include "RGBController.h"
#include "RazerController.h"
enum
{
RAZER_ADDRESSABLE_MODE_DIRECT,
RAZER_ADDRESSABLE_MODE_OFF,
RAZER_ADDRESSABLE_MODE_STATIC,
RAZER_ADDRESSABLE_MODE_BREATHING,
RAZER_ADDRESSABLE_MODE_SPECTRUM_CYCLE,
RAZER_ADDRESSABLE_MODE_WAVE,
RAZER_ADDRESSABLE_MODE_REACTIVE,
};
class RGBController_RazerAddressable : public RGBController
{
public:
RGBController_RazerAddressable(RazerController* controller_ptr);
~RGBController_RazerAddressable();
void SetupZones();
void DeviceConfigureZone(int zone_idx);
void DeviceUpdateLEDs();
void DeviceUpdateZoneLEDs(int zone);
void DeviceUpdateSingleLED(int led);
void DeviceUpdateMode();
private:
RazerController* controller;
};