mirror of
https://github.com/CalcProgrammer1/OpenRGB.git
synced 2025-12-23 15:27:48 -05:00
[WIP] Add per-zone modes to RGBController API
This commit is contained in:
@@ -189,6 +189,24 @@ void RGBController::SetHidden(bool hidden)
|
||||
/*---------------------------------------------------------*\
|
||||
| Zone Functions |
|
||||
\*---------------------------------------------------------*/
|
||||
int RGBController::GetZoneActiveMode(unsigned int zone)
|
||||
{
|
||||
int active_mode;
|
||||
|
||||
AccessMutex.lock_shared();
|
||||
if(zone < zones.size())
|
||||
{
|
||||
active_mode = zones[zone].active_mode;
|
||||
}
|
||||
else
|
||||
{
|
||||
active_mode = 0;
|
||||
}
|
||||
AccessMutex.unlock_shared();
|
||||
|
||||
return(active_mode);
|
||||
}
|
||||
|
||||
RGBColor RGBController::GetZoneColor(unsigned int zone, unsigned int color_index)
|
||||
{
|
||||
RGBColor color;
|
||||
@@ -373,6 +391,294 @@ unsigned int RGBController::GetZoneMatrixMapWidth(unsigned int zone)
|
||||
return(width);
|
||||
}
|
||||
|
||||
std::size_t RGBController::GetZoneModeCount(unsigned int zone)
|
||||
{
|
||||
std::size_t mode_count;
|
||||
|
||||
AccessMutex.lock_shared();
|
||||
if(zone < zones.size())
|
||||
{
|
||||
mode_count = zones[zone].modes.size();
|
||||
}
|
||||
else
|
||||
{
|
||||
mode_count = 0;
|
||||
}
|
||||
AccessMutex.unlock_shared();
|
||||
|
||||
return(mode_count);
|
||||
}
|
||||
|
||||
unsigned int RGBController::GetZoneModeBrightness(unsigned int zone, unsigned int mode)
|
||||
{
|
||||
unsigned int brightness;
|
||||
|
||||
AccessMutex.lock_shared();
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()))
|
||||
{
|
||||
brightness = zones[zone].modes[mode].brightness;
|
||||
}
|
||||
else
|
||||
{
|
||||
brightness = 0;
|
||||
}
|
||||
AccessMutex.unlock_shared();
|
||||
|
||||
return(brightness);
|
||||
}
|
||||
|
||||
unsigned int RGBController::GetZoneModeBrightnessMax(unsigned int zone, unsigned int mode)
|
||||
{
|
||||
unsigned int brightness_max;
|
||||
|
||||
AccessMutex.lock_shared();
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()))
|
||||
{
|
||||
brightness_max = zones[zone].modes[mode].brightness_max;
|
||||
}
|
||||
else
|
||||
{
|
||||
brightness_max = 0;
|
||||
}
|
||||
AccessMutex.unlock_shared();
|
||||
|
||||
return(brightness_max);
|
||||
}
|
||||
|
||||
unsigned int RGBController::GetZoneModeBrightnessMin(unsigned int zone, unsigned int mode)
|
||||
{
|
||||
unsigned int brightness_min;
|
||||
|
||||
AccessMutex.lock_shared();
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()))
|
||||
{
|
||||
brightness_min = zones[zone].modes[mode].brightness_min;
|
||||
}
|
||||
else
|
||||
{
|
||||
brightness_min = 0;
|
||||
}
|
||||
AccessMutex.unlock_shared();
|
||||
|
||||
return(brightness_min);
|
||||
}
|
||||
|
||||
RGBColor RGBController::GetZoneModeColor(unsigned int zone, unsigned int mode, unsigned int color_index)
|
||||
{
|
||||
RGBColor color;
|
||||
|
||||
AccessMutex.lock_shared();
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()) && (color_index < zones[zone].modes[mode].colors.size()))
|
||||
{
|
||||
color = zones[zone].modes[mode].colors[color_index];
|
||||
}
|
||||
else
|
||||
{
|
||||
color = 0;
|
||||
}
|
||||
AccessMutex.unlock_shared();
|
||||
|
||||
return(color);
|
||||
}
|
||||
|
||||
unsigned int RGBController::GetZoneModeColorMode(unsigned int zone, unsigned int mode)
|
||||
{
|
||||
unsigned int color_mode;
|
||||
|
||||
AccessMutex.lock_shared();
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()))
|
||||
{
|
||||
color_mode = zones[zone].modes[mode].color_mode;
|
||||
}
|
||||
else
|
||||
{
|
||||
color_mode = 0;
|
||||
}
|
||||
AccessMutex.unlock_shared();
|
||||
|
||||
return(color_mode);
|
||||
}
|
||||
|
||||
std::size_t RGBController::GetZoneModeColorsCount(unsigned int zone, unsigned int mode)
|
||||
{
|
||||
std::size_t colors_count;
|
||||
|
||||
AccessMutex.lock_shared();
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()))
|
||||
{
|
||||
colors_count = zones[zone].modes[mode].colors.size();
|
||||
}
|
||||
else
|
||||
{
|
||||
colors_count = 0;
|
||||
}
|
||||
AccessMutex.unlock_shared();
|
||||
|
||||
return(colors_count);
|
||||
}
|
||||
|
||||
unsigned int RGBController::GetZoneModeColorsMax(unsigned int zone, unsigned int mode)
|
||||
{
|
||||
unsigned int colors_max;
|
||||
|
||||
AccessMutex.lock_shared();
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()))
|
||||
{
|
||||
colors_max = zones[zone].modes[mode].colors_max;
|
||||
}
|
||||
else
|
||||
{
|
||||
colors_max = 0;
|
||||
}
|
||||
AccessMutex.unlock_shared();
|
||||
|
||||
return(colors_max);
|
||||
}
|
||||
|
||||
unsigned int RGBController::GetZoneModeColorsMin(unsigned int zone, unsigned int mode)
|
||||
{
|
||||
unsigned int colors_min;
|
||||
|
||||
AccessMutex.lock_shared();
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()))
|
||||
{
|
||||
colors_min = zones[zone].modes[mode].colors_min;
|
||||
}
|
||||
else
|
||||
{
|
||||
colors_min = 0;
|
||||
}
|
||||
AccessMutex.unlock_shared();
|
||||
|
||||
return(colors_min);
|
||||
}
|
||||
|
||||
unsigned int RGBController::GetZoneModeDirection(unsigned int zone, unsigned int mode)
|
||||
{
|
||||
unsigned int direction;
|
||||
|
||||
AccessMutex.lock_shared();
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()))
|
||||
{
|
||||
direction = zones[zone].modes[mode].direction;
|
||||
}
|
||||
else
|
||||
{
|
||||
direction = 0;
|
||||
}
|
||||
AccessMutex.unlock_shared();
|
||||
|
||||
return(direction);
|
||||
}
|
||||
|
||||
unsigned int RGBController::GetZoneModeFlags(unsigned int zone, unsigned int mode)
|
||||
{
|
||||
unsigned int flags;
|
||||
|
||||
AccessMutex.lock_shared();
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()))
|
||||
{
|
||||
flags = zones[zone].modes[mode].flags;
|
||||
}
|
||||
else
|
||||
{
|
||||
flags = 0;
|
||||
}
|
||||
AccessMutex.unlock_shared();
|
||||
|
||||
return(flags);
|
||||
}
|
||||
|
||||
std::string RGBController::GetZoneModeName(unsigned int zone, unsigned int mode)
|
||||
{
|
||||
std::string name;
|
||||
|
||||
AccessMutex.lock_shared();
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()))
|
||||
{
|
||||
name = zones[zone].modes[mode].name;
|
||||
}
|
||||
else
|
||||
{
|
||||
name = "";
|
||||
}
|
||||
AccessMutex.unlock_shared();
|
||||
|
||||
return(name);
|
||||
}
|
||||
|
||||
unsigned int RGBController::GetZoneModeSpeed(unsigned int zone, unsigned int mode)
|
||||
{
|
||||
unsigned int speed;
|
||||
|
||||
AccessMutex.lock_shared();
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()))
|
||||
{
|
||||
speed = zones[zone].modes[mode].speed;
|
||||
}
|
||||
else
|
||||
{
|
||||
speed = 0;
|
||||
}
|
||||
AccessMutex.unlock_shared();
|
||||
|
||||
return(speed);
|
||||
}
|
||||
|
||||
unsigned int RGBController::GetZoneModeSpeedMax(unsigned int zone, unsigned int mode)
|
||||
{
|
||||
unsigned int speed_max;
|
||||
|
||||
AccessMutex.lock_shared();
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()))
|
||||
{
|
||||
speed_max = zones[zone].modes[mode].speed_max;
|
||||
}
|
||||
else
|
||||
{
|
||||
speed_max = 0;
|
||||
}
|
||||
AccessMutex.unlock_shared();
|
||||
|
||||
return(speed_max);
|
||||
}
|
||||
|
||||
unsigned int RGBController::GetZoneModeSpeedMin(unsigned int zone, unsigned int mode)
|
||||
{
|
||||
unsigned int speed_min;
|
||||
|
||||
AccessMutex.lock_shared();
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()))
|
||||
{
|
||||
speed_min = zones[zone].modes[mode].speed_min;
|
||||
}
|
||||
else
|
||||
{
|
||||
speed_min = 0;
|
||||
}
|
||||
AccessMutex.unlock_shared();
|
||||
|
||||
return(speed_min);
|
||||
}
|
||||
|
||||
int RGBController::GetZoneModeValue(unsigned int zone, unsigned int mode)
|
||||
{
|
||||
unsigned int value;
|
||||
|
||||
AccessMutex.lock_shared();
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()))
|
||||
{
|
||||
value = zones[zone].modes[mode].value;
|
||||
}
|
||||
else
|
||||
{
|
||||
value = 0;
|
||||
}
|
||||
AccessMutex.unlock_shared();
|
||||
|
||||
return(value);
|
||||
}
|
||||
|
||||
std::string RGBController::GetZoneName(unsigned int zone)
|
||||
{
|
||||
std::string name;
|
||||
@@ -627,6 +933,64 @@ unsigned int RGBController::GetLEDsInZone(unsigned int zone)
|
||||
return(leds_count);
|
||||
}
|
||||
|
||||
void RGBController::SetZoneActiveMode(unsigned int zone, int mode)
|
||||
{
|
||||
if(zone < zones.size())
|
||||
{
|
||||
zones[zone].active_mode = mode;
|
||||
|
||||
UpdateMode();
|
||||
}
|
||||
}
|
||||
|
||||
void RGBController::SetZoneModeBrightness(unsigned int zone, unsigned int mode, unsigned int brightness)
|
||||
{
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()))
|
||||
{
|
||||
zones[zone].modes[mode].brightness = brightness;
|
||||
}
|
||||
}
|
||||
|
||||
void RGBController::SetZoneModeColor(unsigned int zone, unsigned int mode, unsigned int color_index, RGBColor color)
|
||||
{
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()) && (color_index < zones[zone].modes[mode].colors.size()))
|
||||
{
|
||||
zones[zone].modes[mode].colors[color_index] = color;
|
||||
}
|
||||
}
|
||||
|
||||
void RGBController::SetZoneModeColorMode(unsigned int zone, unsigned int mode, unsigned int color_mode)
|
||||
{
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()))
|
||||
{
|
||||
zones[zone].modes[mode].color_mode = color_mode;
|
||||
}
|
||||
}
|
||||
|
||||
void RGBController::SetZoneModeColorsCount(unsigned int zone, unsigned int mode, std::size_t count)
|
||||
{
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()))
|
||||
{
|
||||
zones[zone].modes[mode].colors.resize(count);
|
||||
}
|
||||
}
|
||||
|
||||
void RGBController::SetZoneModeDirection(unsigned int zone, unsigned int mode, unsigned int direction)
|
||||
{
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()))
|
||||
{
|
||||
zones[zone].modes[mode].direction = direction;
|
||||
}
|
||||
}
|
||||
|
||||
void RGBController::SetZoneModeSpeed(unsigned int zone, unsigned int mode, unsigned int speed)
|
||||
{
|
||||
if((zone < zones.size()) && (mode < zones[zone].modes.size()))
|
||||
{
|
||||
zones[zone].modes[mode].speed = speed;
|
||||
}
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------*\
|
||||
| Mode Functions |
|
||||
\*---------------------------------------------------------*/
|
||||
|
||||
@@ -49,6 +49,8 @@ enum
|
||||
MODE_FLAG_HAS_RANDOM_COLOR = (1 << 7), /* Mode has random color option */
|
||||
MODE_FLAG_MANUAL_SAVE = (1 << 8), /* Mode can manually be saved */
|
||||
MODE_FLAG_AUTOMATIC_SAVE = (1 << 9), /* Mode automatically saves */
|
||||
MODE_FLAG_REQUIRES_ENTIRE_DEVICE = (1 << 10),/* Mode always applies to entire */
|
||||
/* device, overrides per-zone modes */
|
||||
};
|
||||
|
||||
/*---------------------------------------------------------*\
|
||||
@@ -195,6 +197,8 @@ public:
|
||||
matrix_map_type * matrix_map; /* Matrix map pointer */
|
||||
std::vector<segment> segments; /* Segments in zone */
|
||||
unsigned int flags; /* Zone flags bitfield */
|
||||
std::vector<mode> modes; /* Zone-specific modes */
|
||||
int active_mode; /* Active zone-specific mode*/
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Zone Constructor / Destructor |
|
||||
@@ -280,159 +284,184 @@ public:
|
||||
/*-----------------------------------------------------*\
|
||||
| Controller Information |
|
||||
\*-----------------------------------------------------*/
|
||||
virtual std::string GetName() = 0;
|
||||
virtual std::string GetVendor() = 0;
|
||||
virtual std::string GetDescription() = 0;
|
||||
virtual std::string GetVersion() = 0;
|
||||
virtual std::string GetSerial() = 0;
|
||||
virtual std::string GetLocation() = 0;
|
||||
virtual std::string GetName() = 0;
|
||||
virtual std::string GetVendor() = 0;
|
||||
virtual std::string GetDescription() = 0;
|
||||
virtual std::string GetVersion() = 0;
|
||||
virtual std::string GetSerial() = 0;
|
||||
virtual std::string GetLocation() = 0;
|
||||
|
||||
virtual device_type GetDeviceType() = 0;
|
||||
virtual unsigned int GetFlags() = 0;
|
||||
virtual device_type GetDeviceType() = 0;
|
||||
virtual unsigned int GetFlags() = 0;
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Hidden Flag Functions |
|
||||
\*-----------------------------------------------------*/
|
||||
virtual bool GetHidden() = 0;
|
||||
virtual void SetHidden(bool hidden) = 0;
|
||||
virtual bool GetHidden() = 0;
|
||||
virtual void SetHidden(bool hidden) = 0;
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Zone Functions |
|
||||
\*-----------------------------------------------------*/
|
||||
virtual RGBColor GetZoneColor(unsigned int zone, unsigned int color_index) = 0;
|
||||
virtual RGBColor* GetZoneColorsPointer(unsigned int zone) = 0;
|
||||
virtual std::size_t GetZoneCount() = 0;
|
||||
virtual unsigned int GetZoneFlags(unsigned int zone) = 0;
|
||||
virtual unsigned int GetZoneLEDsCount(unsigned int zone) = 0;
|
||||
virtual unsigned int GetZoneLEDsMax(unsigned int zone) = 0;
|
||||
virtual unsigned int GetZoneLEDsMin(unsigned int zone) = 0;
|
||||
virtual bool GetZoneMatrixMapAvailable(unsigned int zone) = 0;
|
||||
virtual unsigned int GetZoneMatrixMapHeight(unsigned int zone) = 0;
|
||||
virtual const unsigned int * GetZoneMatrixMap(unsigned int zone) = 0;
|
||||
virtual unsigned int GetZoneMatrixMapWidth(unsigned int zone) = 0;
|
||||
virtual std::string GetZoneName(unsigned int zone) = 0;
|
||||
virtual std::size_t GetZoneSegmentCount(unsigned int zone) = 0;
|
||||
virtual unsigned int GetZoneSegmentLEDsCount(unsigned int zone, unsigned int segment) = 0;
|
||||
virtual bool GetZoneSegmentMatrixMapAvailable(unsigned int zone, unsigned int segment) = 0;
|
||||
virtual unsigned int GetZoneSegmentMatrixMapHeight(unsigned int zone, unsigned int segment) = 0;
|
||||
virtual const unsigned int * GetZoneSegmentMatrixMap(unsigned int zone, unsigned int segment) = 0;
|
||||
virtual unsigned int GetZoneSegmentMatrixMapWidth(unsigned int zone, unsigned int segment) = 0;
|
||||
virtual std::string GetZoneSegmentName(unsigned int zone, unsigned int segment) = 0;
|
||||
virtual unsigned int GetZoneSegmentStartIndex(unsigned int zone, unsigned int segment) = 0;
|
||||
virtual unsigned int GetZoneSegmentType(unsigned int zone, unsigned int segment) = 0;
|
||||
virtual unsigned int GetZoneStartIndex(unsigned int zone) = 0;
|
||||
virtual zone_type GetZoneType(unsigned int zone) = 0;
|
||||
virtual int GetZoneActiveMode(unsigned int zone) = 0;
|
||||
virtual RGBColor GetZoneColor(unsigned int zone, unsigned int color_index) = 0;
|
||||
virtual RGBColor* GetZoneColorsPointer(unsigned int zone) = 0;
|
||||
virtual std::size_t GetZoneCount() = 0;
|
||||
virtual unsigned int GetZoneFlags(unsigned int zone) = 0;
|
||||
virtual unsigned int GetZoneLEDsCount(unsigned int zone) = 0;
|
||||
virtual unsigned int GetZoneLEDsMax(unsigned int zone) = 0;
|
||||
virtual unsigned int GetZoneLEDsMin(unsigned int zone) = 0;
|
||||
virtual bool GetZoneMatrixMapAvailable(unsigned int zone) = 0;
|
||||
virtual unsigned int GetZoneMatrixMapHeight(unsigned int zone) = 0;
|
||||
virtual const unsigned int * GetZoneMatrixMap(unsigned int zone) = 0;
|
||||
virtual unsigned int GetZoneMatrixMapWidth(unsigned int zone) = 0;
|
||||
virtual std::size_t GetZoneModeCount(unsigned int zone) = 0;
|
||||
virtual unsigned int GetZoneModeBrightness(unsigned int zone, unsigned int mode) = 0;
|
||||
virtual unsigned int GetZoneModeBrightnessMax(unsigned int zone, unsigned int mode) = 0;
|
||||
virtual unsigned int GetZoneModeBrightnessMin(unsigned int zone, unsigned int mode) = 0;
|
||||
virtual RGBColor GetZoneModeColor(unsigned int zone, unsigned int mode, unsigned int color_index) = 0;
|
||||
virtual unsigned int GetZoneModeColorMode(unsigned int zone, unsigned int mode) = 0;
|
||||
virtual std::size_t GetZoneModeColorsCount(unsigned int zone, unsigned int mode) = 0;
|
||||
virtual unsigned int GetZoneModeColorsMax(unsigned int zone, unsigned int mode) = 0;
|
||||
virtual unsigned int GetZoneModeColorsMin(unsigned int zone, unsigned int mode) = 0;
|
||||
virtual unsigned int GetZoneModeDirection(unsigned int zone, unsigned int mode) = 0;
|
||||
virtual unsigned int GetZoneModeFlags(unsigned int zone, unsigned int mode) = 0;
|
||||
virtual std::string GetZoneModeName(unsigned int zone, unsigned int mode) = 0;
|
||||
virtual unsigned int GetZoneModeSpeed(unsigned int zone, unsigned int mode) = 0;
|
||||
virtual unsigned int GetZoneModeSpeedMax(unsigned int zone, unsigned int mode) = 0;
|
||||
virtual unsigned int GetZoneModeSpeedMin(unsigned int zone, unsigned int mode) = 0;
|
||||
virtual int GetZoneModeValue(unsigned int zone, unsigned int mode) = 0;
|
||||
virtual std::string GetZoneName(unsigned int zone) = 0;
|
||||
virtual std::size_t GetZoneSegmentCount(unsigned int zone) = 0;
|
||||
virtual unsigned int GetZoneSegmentLEDsCount(unsigned int zone, unsigned int segment) = 0;
|
||||
virtual bool GetZoneSegmentMatrixMapAvailable(unsigned int zone, unsigned int segment) = 0;
|
||||
virtual unsigned int GetZoneSegmentMatrixMapHeight(unsigned int zone, unsigned int segment) = 0;
|
||||
virtual const unsigned int * GetZoneSegmentMatrixMap(unsigned int zone, unsigned int segment) = 0;
|
||||
virtual unsigned int GetZoneSegmentMatrixMapWidth(unsigned int zone, unsigned int segment) = 0;
|
||||
virtual std::string GetZoneSegmentName(unsigned int zone, unsigned int segment) = 0;
|
||||
virtual unsigned int GetZoneSegmentStartIndex(unsigned int zone, unsigned int segment) = 0;
|
||||
virtual unsigned int GetZoneSegmentType(unsigned int zone, unsigned int segment) = 0;
|
||||
virtual unsigned int GetZoneStartIndex(unsigned int zone) = 0;
|
||||
virtual zone_type GetZoneType(unsigned int zone) = 0;
|
||||
|
||||
virtual unsigned int GetLEDsInZone(unsigned int zone) = 0;
|
||||
virtual unsigned int GetLEDsInZone(unsigned int zone) = 0;
|
||||
|
||||
virtual void SetZoneActiveMode(unsigned int zone, int mode) = 0;
|
||||
virtual void SetZoneModeBrightness(unsigned int zone, unsigned int mode, unsigned int brightness) = 0;
|
||||
virtual void SetZoneModeColor(unsigned int zone, unsigned int mode, unsigned int color_index, RGBColor color) = 0;
|
||||
virtual void SetZoneModeColorMode(unsigned int zone, unsigned int mode, unsigned int color_mode) = 0;
|
||||
virtual void SetZoneModeColorsCount(unsigned int zone, unsigned int mode, std::size_t count) = 0;
|
||||
virtual void SetZoneModeDirection(unsigned int zone, unsigned int mode, unsigned int direction) = 0;
|
||||
virtual void SetZoneModeSpeed(unsigned int zone, unsigned int mode, unsigned int speed) = 0;
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Mode Functions |
|
||||
\*-----------------------------------------------------*/
|
||||
virtual std::size_t GetModeCount() = 0;
|
||||
virtual unsigned int GetModeBrightness(unsigned int mode) = 0;
|
||||
virtual unsigned int GetModeBrightnessMax(unsigned int mode) = 0;
|
||||
virtual unsigned int GetModeBrightnessMin(unsigned int mode) = 0;
|
||||
virtual RGBColor GetModeColor(unsigned int mode, unsigned int color_index) = 0;
|
||||
virtual unsigned int GetModeColorMode(unsigned int mode) = 0;
|
||||
virtual std::size_t GetModeColorsCount(unsigned int mode) = 0;
|
||||
virtual unsigned int GetModeColorsMax(unsigned int mode) = 0;
|
||||
virtual unsigned int GetModeColorsMin(unsigned int mode) = 0;
|
||||
virtual unsigned int GetModeDirection(unsigned int mode) = 0;
|
||||
virtual unsigned int GetModeFlags(unsigned int mode) = 0;
|
||||
virtual std::string GetModeName(unsigned int mode) = 0;
|
||||
virtual unsigned int GetModeSpeed(unsigned int mode) = 0;
|
||||
virtual unsigned int GetModeSpeedMax(unsigned int mode) = 0;
|
||||
virtual unsigned int GetModeSpeedMin(unsigned int mode) = 0;
|
||||
virtual int GetModeValue(unsigned int mode) = 0;
|
||||
virtual std::size_t GetModeCount() = 0;
|
||||
virtual unsigned int GetModeBrightness(unsigned int mode) = 0;
|
||||
virtual unsigned int GetModeBrightnessMax(unsigned int mode) = 0;
|
||||
virtual unsigned int GetModeBrightnessMin(unsigned int mode) = 0;
|
||||
virtual RGBColor GetModeColor(unsigned int mode, unsigned int color_index) = 0;
|
||||
virtual unsigned int GetModeColorMode(unsigned int mode) = 0;
|
||||
virtual std::size_t GetModeColorsCount(unsigned int mode) = 0;
|
||||
virtual unsigned int GetModeColorsMax(unsigned int mode) = 0;
|
||||
virtual unsigned int GetModeColorsMin(unsigned int mode) = 0;
|
||||
virtual unsigned int GetModeDirection(unsigned int mode) = 0;
|
||||
virtual unsigned int GetModeFlags(unsigned int mode) = 0;
|
||||
virtual std::string GetModeName(unsigned int mode) = 0;
|
||||
virtual unsigned int GetModeSpeed(unsigned int mode) = 0;
|
||||
virtual unsigned int GetModeSpeedMax(unsigned int mode) = 0;
|
||||
virtual unsigned int GetModeSpeedMin(unsigned int mode) = 0;
|
||||
virtual int GetModeValue(unsigned int mode) = 0;
|
||||
|
||||
virtual void SetModeBrightness(unsigned int mode, unsigned int brightness) = 0;
|
||||
virtual void SetModeColor(unsigned int mode, unsigned int color_index, RGBColor color) = 0;
|
||||
virtual void SetModeColorMode(unsigned int mode, unsigned int color_mode) = 0;
|
||||
virtual void SetModeColorsCount(unsigned int mode, std::size_t count) = 0;
|
||||
virtual void SetModeDirection(unsigned int mode, unsigned int direction) = 0;
|
||||
virtual void SetModeSpeed(unsigned int mode, unsigned int speed) = 0;
|
||||
virtual void SetModeBrightness(unsigned int mode, unsigned int brightness) = 0;
|
||||
virtual void SetModeColor(unsigned int mode, unsigned int color_index, RGBColor color) = 0;
|
||||
virtual void SetModeColorMode(unsigned int mode, unsigned int color_mode) = 0;
|
||||
virtual void SetModeColorsCount(unsigned int mode, std::size_t count) = 0;
|
||||
virtual void SetModeDirection(unsigned int mode, unsigned int direction) = 0;
|
||||
virtual void SetModeSpeed(unsigned int mode, unsigned int speed) = 0;
|
||||
|
||||
virtual int GetActiveMode() = 0;
|
||||
virtual void SetActiveMode(int mode) = 0;
|
||||
virtual void SetCustomMode() = 0;
|
||||
virtual int GetActiveMode() = 0;
|
||||
virtual void SetActiveMode(int mode) = 0;
|
||||
virtual void SetCustomMode() = 0;
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| LED Functions |
|
||||
\*-----------------------------------------------------*/
|
||||
virtual std::size_t GetLEDCount() = 0;
|
||||
virtual std::string GetLEDName(unsigned int led) = 0;
|
||||
virtual unsigned int GetLEDValue(unsigned int led) = 0;
|
||||
virtual std::size_t GetLEDCount() = 0;
|
||||
virtual std::string GetLEDName(unsigned int led) = 0;
|
||||
virtual unsigned int GetLEDValue(unsigned int led) = 0;
|
||||
|
||||
virtual std::string GetLEDDisplayName(unsigned int led) = 0;
|
||||
virtual std::string GetLEDDisplayName(unsigned int led) = 0;
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Color Functions |
|
||||
\*-----------------------------------------------------*/
|
||||
virtual RGBColor GetColor(unsigned int led) = 0;
|
||||
virtual RGBColor* GetColorsPointer() = 0;
|
||||
virtual void SetColor(unsigned int led, RGBColor color) = 0;
|
||||
virtual RGBColor GetColor(unsigned int led) = 0;
|
||||
virtual RGBColor* GetColorsPointer() = 0;
|
||||
virtual void SetColor(unsigned int led, RGBColor color) = 0;
|
||||
|
||||
virtual void SetAllColors(RGBColor color) = 0;
|
||||
virtual void SetAllZoneColors(int zone, RGBColor color) = 0;
|
||||
virtual void SetAllColors(RGBColor color) = 0;
|
||||
virtual void SetAllZoneColors(int zone, RGBColor color) = 0;
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Serialized Description Functions |
|
||||
\*-----------------------------------------------------*/
|
||||
virtual unsigned char * GetDeviceDescription(unsigned int protocol_version) = 0;
|
||||
virtual void ReadDeviceDescription(unsigned char* data_buf, unsigned int protocol_version) = 0;
|
||||
virtual unsigned char * GetDeviceDescription(unsigned int protocol_version) = 0;
|
||||
virtual void ReadDeviceDescription(unsigned char* data_buf, unsigned int protocol_version) = 0;
|
||||
|
||||
virtual unsigned char * GetModeDescription(int mode, unsigned int protocol_version) = 0;
|
||||
virtual void SetModeDescription(unsigned char* data_buf, unsigned int protocol_version) = 0;
|
||||
virtual unsigned char * GetModeDescription(int mode, unsigned int protocol_version) = 0;
|
||||
virtual void SetModeDescription(unsigned char* data_buf, unsigned int protocol_version) = 0;
|
||||
|
||||
virtual unsigned char * GetColorDescription() = 0;
|
||||
virtual void SetColorDescription(unsigned char* data_buf) = 0;
|
||||
virtual unsigned char * GetColorDescription() = 0;
|
||||
virtual void SetColorDescription(unsigned char* data_buf) = 0;
|
||||
|
||||
virtual unsigned char * GetZoneColorDescription(int zone) = 0;
|
||||
virtual void SetZoneColorDescription(unsigned char* data_buf) = 0;
|
||||
virtual unsigned char * GetZoneColorDescription(int zone) = 0;
|
||||
virtual void SetZoneColorDescription(unsigned char* data_buf) = 0;
|
||||
|
||||
virtual unsigned char * GetSingleLEDColorDescription(int led) = 0;
|
||||
virtual void SetSingleLEDColorDescription(unsigned char* data_buf) = 0;
|
||||
virtual unsigned char * GetSingleLEDColorDescription(int led) = 0;
|
||||
virtual void SetSingleLEDColorDescription(unsigned char* data_buf) = 0;
|
||||
|
||||
virtual unsigned char * GetSegmentDescription(int zone, segment new_segment) = 0;
|
||||
virtual void SetSegmentDescription(unsigned char* data_buf) = 0;
|
||||
virtual unsigned char * GetSegmentDescription(int zone, segment new_segment) = 0;
|
||||
virtual void SetSegmentDescription(unsigned char* data_buf) = 0;
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| JSON Description Functions |
|
||||
\*-----------------------------------------------------*/
|
||||
virtual nlohmann::json GetDeviceDescriptionJSON() = 0;
|
||||
virtual nlohmann::json GetLEDDescriptionJSON(int led) = 0;
|
||||
virtual nlohmann::json GetModeDescriptionJSON(int mode) = 0;
|
||||
virtual nlohmann::json GetSegmentDescriptionJSON(int zone, int segment) = 0;
|
||||
virtual nlohmann::json GetZoneDescriptionJSON(int zone) = 0;
|
||||
virtual nlohmann::json GetDeviceDescriptionJSON() = 0;
|
||||
virtual nlohmann::json GetLEDDescriptionJSON(int led) = 0;
|
||||
virtual nlohmann::json GetModeDescriptionJSON(int mode) = 0;
|
||||
virtual nlohmann::json GetSegmentDescriptionJSON(int zone, int segment) = 0;
|
||||
virtual nlohmann::json GetZoneDescriptionJSON(int zone) = 0;
|
||||
|
||||
virtual void SetDeviceDescriptionJSON(nlohmann::json controller_json) = 0;
|
||||
virtual led SetLEDDescriptionJSON(nlohmann::json led_json) = 0;
|
||||
virtual mode SetModeDescriptionJSON(nlohmann::json mode_json) = 0;
|
||||
virtual segment SetSegmentDescriptionJSON(nlohmann::json segment_json) = 0;
|
||||
virtual zone SetZoneDescriptionJSON(nlohmann::json zone_json) = 0;
|
||||
virtual void SetDeviceDescriptionJSON(nlohmann::json controller_json) = 0;
|
||||
virtual led SetLEDDescriptionJSON(nlohmann::json led_json) = 0;
|
||||
virtual mode SetModeDescriptionJSON(nlohmann::json mode_json) = 0;
|
||||
virtual segment SetSegmentDescriptionJSON(nlohmann::json segment_json) = 0;
|
||||
virtual zone SetZoneDescriptionJSON(nlohmann::json zone_json) = 0;
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Update Callback Functions |
|
||||
\*-----------------------------------------------------*/
|
||||
virtual void RegisterUpdateCallback(RGBControllerCallback new_callback, void * new_callback_arg) = 0;
|
||||
virtual void UnregisterUpdateCallback(void * callback_arg) = 0;
|
||||
virtual void ClearCallbacks() = 0;
|
||||
virtual void SignalUpdate(unsigned int update_reason) = 0;
|
||||
virtual void RegisterUpdateCallback(RGBControllerCallback new_callback, void * new_callback_arg) = 0;
|
||||
virtual void UnregisterUpdateCallback(void * callback_arg) = 0;
|
||||
virtual void ClearCallbacks() = 0;
|
||||
virtual void SignalUpdate(unsigned int update_reason) = 0;
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Device Update Functions |
|
||||
\*-----------------------------------------------------*/
|
||||
virtual void UpdateLEDs() = 0;
|
||||
virtual void UpdateZoneLEDs(int zone) = 0;
|
||||
virtual void UpdateSingleLED(int led) = 0;
|
||||
virtual void UpdateLEDs() = 0;
|
||||
virtual void UpdateZoneLEDs(int zone) = 0;
|
||||
virtual void UpdateSingleLED(int led) = 0;
|
||||
|
||||
virtual void UpdateMode() = 0;
|
||||
virtual void SaveMode() = 0;
|
||||
virtual void UpdateMode() = 0;
|
||||
virtual void SaveMode() = 0;
|
||||
|
||||
virtual void ClearSegments(int zone) = 0;
|
||||
virtual void AddSegment(int zone, segment new_segment) = 0;
|
||||
virtual void ClearSegments(int zone) = 0;
|
||||
virtual void AddSegment(int zone, segment new_segment) = 0;
|
||||
|
||||
virtual void ResizeZone(int zone, int new_size) = 0;
|
||||
virtual void ResizeZone(int zone, int new_size) = 0;
|
||||
};
|
||||
|
||||
class RGBController : public RGBControllerInterface
|
||||
@@ -466,6 +495,7 @@ public:
|
||||
/*-----------------------------------------------------*\
|
||||
| Zone Functions |
|
||||
\*-----------------------------------------------------*/
|
||||
int GetZoneActiveMode(unsigned int zone);
|
||||
RGBColor GetZoneColor(unsigned int zone, unsigned int color_index);
|
||||
RGBColor* GetZoneColorsPointer(unsigned int zone);
|
||||
std::size_t GetZoneCount();
|
||||
@@ -477,6 +507,22 @@ public:
|
||||
unsigned int GetZoneMatrixMapHeight(unsigned int zone);
|
||||
const unsigned int* GetZoneMatrixMap(unsigned int zone);
|
||||
unsigned int GetZoneMatrixMapWidth(unsigned int zone);
|
||||
std::size_t GetZoneModeCount(unsigned int zone);
|
||||
unsigned int GetZoneModeBrightness(unsigned int zone, unsigned int mode);
|
||||
unsigned int GetZoneModeBrightnessMax(unsigned int zone, unsigned int mode);
|
||||
unsigned int GetZoneModeBrightnessMin(unsigned int zone, unsigned int mode);
|
||||
RGBColor GetZoneModeColor(unsigned int zone, unsigned int mode, unsigned int color_index);
|
||||
unsigned int GetZoneModeColorMode(unsigned int zone, unsigned int mode);
|
||||
std::size_t GetZoneModeColorsCount(unsigned int zone, unsigned int mode);
|
||||
unsigned int GetZoneModeColorsMax(unsigned int zone, unsigned int mode);
|
||||
unsigned int GetZoneModeColorsMin(unsigned int zone, unsigned int mode);
|
||||
unsigned int GetZoneModeDirection(unsigned int zone, unsigned int mode);
|
||||
unsigned int GetZoneModeFlags(unsigned int zone, unsigned int mode);
|
||||
std::string GetZoneModeName(unsigned int zone, unsigned int mode);
|
||||
unsigned int GetZoneModeSpeed(unsigned int zone, unsigned int mode);
|
||||
unsigned int GetZoneModeSpeedMax(unsigned int zone, unsigned int mode);
|
||||
unsigned int GetZoneModeSpeedMin(unsigned int zone, unsigned int mode);
|
||||
int GetZoneModeValue(unsigned int zone, unsigned int mode);
|
||||
std::string GetZoneName(unsigned int zone);
|
||||
std::size_t GetZoneSegmentCount(unsigned int zone);
|
||||
unsigned int GetZoneSegmentLEDsCount(unsigned int zone, unsigned int segment);
|
||||
@@ -492,6 +538,14 @@ public:
|
||||
|
||||
unsigned int GetLEDsInZone(unsigned int zone);
|
||||
|
||||
void SetZoneActiveMode(unsigned int zone, int mode);
|
||||
void SetZoneModeBrightness(unsigned int zone, unsigned int mode, unsigned int brightness);
|
||||
void SetZoneModeColor(unsigned int zone, unsigned int mode, unsigned int color_index, RGBColor color);
|
||||
void SetZoneModeColorMode(unsigned int zone, unsigned int mode, unsigned int color_mode);
|
||||
void SetZoneModeColorsCount(unsigned int zone, unsigned int mode, std::size_t count);
|
||||
void SetZoneModeDirection(unsigned int zone, unsigned int mode, unsigned int direction);
|
||||
void SetZoneModeSpeed(unsigned int zone, unsigned int mode, unsigned int speed);
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Mode Functions |
|
||||
\*-----------------------------------------------------*/
|
||||
|
||||
@@ -726,45 +726,97 @@ void OpenRGBDevicePage::UpdateModeUi()
|
||||
unsigned int selected_mode = (unsigned int)ui->ModeBox->currentIndex();
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Don't update the UI if the current mode is invalid |
|
||||
| Determine what is selected, either all zones, a zone, |
|
||||
| or a segment |
|
||||
\*-----------------------------------------------------*/
|
||||
if(selected_mode < device->GetModeCount())
|
||||
{
|
||||
bool supports_per_led = ( device->GetModeFlags(selected_mode) & MODE_FLAG_HAS_PER_LED_COLOR );
|
||||
bool supports_mode_specific = ( device->GetModeFlags(selected_mode) & MODE_FLAG_HAS_MODE_SPECIFIC_COLOR );
|
||||
bool supports_random = ( device->GetModeFlags(selected_mode) & MODE_FLAG_HAS_RANDOM_COLOR );
|
||||
bool supports_speed = ( device->GetModeFlags(selected_mode) & MODE_FLAG_HAS_SPEED );
|
||||
bool supports_brightness = ( device->GetModeFlags(selected_mode) & MODE_FLAG_HAS_BRIGHTNESS);
|
||||
bool supports_dir_lr = ( device->GetModeFlags(selected_mode) & MODE_FLAG_HAS_DIRECTION_LR );
|
||||
bool supports_dir_ud = ( device->GetModeFlags(selected_mode) & MODE_FLAG_HAS_DIRECTION_UD );
|
||||
bool supports_dir_hv = ( device->GetModeFlags(selected_mode) & MODE_FLAG_HAS_DIRECTION_HV );
|
||||
bool per_led = device->GetModeColorMode(selected_mode) == MODE_COLORS_PER_LED;
|
||||
bool mode_specific = device->GetModeColorMode(selected_mode) == MODE_COLORS_MODE_SPECIFIC;
|
||||
bool random = device->GetModeColorMode(selected_mode) == MODE_COLORS_RANDOM;
|
||||
unsigned int dir = device->GetModeDirection(selected_mode);
|
||||
bool manual_save = ( device->GetModeFlags(selected_mode) & MODE_FLAG_MANUAL_SAVE );
|
||||
bool automatic_save = ( device->GetModeFlags(selected_mode) & MODE_FLAG_AUTOMATIC_SAVE );
|
||||
bool selected_all_zones;
|
||||
int selected_zone;
|
||||
int selected_segment;
|
||||
|
||||
getSelectedZone(&selected_all_zones, &selected_zone, &selected_segment);
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Read mode variables |
|
||||
\*-----------------------------------------------------*/
|
||||
unsigned int brightness;
|
||||
unsigned int brightness_min;
|
||||
unsigned int brightness_max;
|
||||
unsigned int color_mode;
|
||||
unsigned int direction;
|
||||
unsigned int flags;
|
||||
unsigned int speed;
|
||||
unsigned int speed_min;
|
||||
unsigned int speed_max;
|
||||
|
||||
if((!selected_all_zones) && (selected_mode < device->GetZoneModeCount(selected_zone)))
|
||||
{
|
||||
brightness = device->GetZoneModeBrightness(selected_zone, selected_mode);
|
||||
brightness_min = device->GetZoneModeBrightnessMin(selected_zone, selected_mode);
|
||||
brightness_max = device->GetZoneModeBrightnessMax(selected_zone, selected_mode);
|
||||
color_mode = device->GetZoneModeColorMode(selected_zone, selected_mode);
|
||||
direction = device->GetZoneModeDirection(selected_zone, selected_mode);
|
||||
flags = device->GetZoneModeFlags(selected_zone, selected_mode);
|
||||
speed = device->GetZoneModeSpeed(selected_zone, selected_mode);
|
||||
speed_min = device->GetZoneModeSpeedMin(selected_zone, selected_mode);
|
||||
speed_max = device->GetZoneModeSpeedMax(selected_zone, selected_mode);
|
||||
}
|
||||
else if(selected_mode < device->GetModeCount())
|
||||
{
|
||||
brightness = device->GetModeBrightness(selected_mode);
|
||||
brightness_min = device->GetModeBrightnessMin(selected_mode);
|
||||
brightness_max = device->GetModeBrightnessMax(selected_mode);
|
||||
color_mode = device->GetModeColorMode(selected_mode);
|
||||
direction = device->GetModeDirection(selected_mode);
|
||||
flags = device->GetModeFlags(selected_mode);
|
||||
speed = device->GetModeSpeed(selected_mode);
|
||||
speed_min = device->GetModeSpeedMin(selected_mode);
|
||||
speed_max = device->GetModeSpeedMax(selected_mode);
|
||||
}
|
||||
else
|
||||
{
|
||||
/*-------------------------------------------------*\
|
||||
| Don't update the UI if the current mode is invalid|
|
||||
\*-------------------------------------------------*/
|
||||
return;
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Read mode flags |
|
||||
\*-----------------------------------------------------*/
|
||||
bool supports_per_led = flags & MODE_FLAG_HAS_PER_LED_COLOR;
|
||||
bool supports_mode_specific = flags & MODE_FLAG_HAS_MODE_SPECIFIC_COLOR;
|
||||
bool supports_random = flags & MODE_FLAG_HAS_RANDOM_COLOR;
|
||||
bool supports_speed = flags & MODE_FLAG_HAS_SPEED;
|
||||
bool supports_brightness = flags & MODE_FLAG_HAS_BRIGHTNESS;
|
||||
bool supports_dir_lr = flags & MODE_FLAG_HAS_DIRECTION_LR;
|
||||
bool supports_dir_ud = flags & MODE_FLAG_HAS_DIRECTION_UD;
|
||||
bool supports_dir_hv = flags & MODE_FLAG_HAS_DIRECTION_HV;
|
||||
bool per_led = color_mode == MODE_COLORS_PER_LED;
|
||||
bool mode_specific = color_mode == MODE_COLORS_MODE_SPECIFIC;
|
||||
bool random = color_mode == MODE_COLORS_RANDOM;
|
||||
bool manual_save = flags & MODE_FLAG_MANUAL_SAVE;
|
||||
bool automatic_save = flags & MODE_FLAG_AUTOMATIC_SAVE;
|
||||
|
||||
if(supports_speed)
|
||||
{
|
||||
ui->SpeedSlider->blockSignals(true);
|
||||
int current_speed;
|
||||
InvertedSpeed = device->GetModeSpeedMin(selected_mode) > device->GetModeSpeedMax(selected_mode);
|
||||
InvertedSpeed = speed_min > speed_max;
|
||||
|
||||
if(InvertedSpeed)
|
||||
{
|
||||
/*-----------------------------------------------------*\
|
||||
| If Speed Slider is inverted, invert value |
|
||||
\*-----------------------------------------------------*/
|
||||
ui->SpeedSlider->setMinimum(device->GetModeSpeedMax(selected_mode));
|
||||
ui->SpeedSlider->setMaximum(device->GetModeSpeedMin(selected_mode));
|
||||
current_speed = device->GetModeSpeedMin(selected_mode) - device->GetModeSpeed(selected_mode) + device->GetModeSpeedMax(selected_mode);
|
||||
ui->SpeedSlider->setMinimum(speed_max);
|
||||
ui->SpeedSlider->setMaximum(speed_min);
|
||||
current_speed = speed_min - speed + speed_max;
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->SpeedSlider->setMinimum(device->GetModeSpeedMin(selected_mode));
|
||||
ui->SpeedSlider->setMaximum(device->GetModeSpeedMax(selected_mode));
|
||||
current_speed = device->GetModeSpeed(selected_mode);
|
||||
ui->SpeedSlider->setMinimum(speed_min);
|
||||
ui->SpeedSlider->setMaximum(speed_max);
|
||||
current_speed = speed;
|
||||
}
|
||||
|
||||
ui->SpeedSlider->setValue(current_speed);
|
||||
@@ -782,22 +834,22 @@ void OpenRGBDevicePage::UpdateModeUi()
|
||||
{
|
||||
ui->BrightnessSlider->blockSignals(true);
|
||||
int current_brightness;
|
||||
InvertedBrightness = device->GetModeBrightnessMin(selected_mode) > device->GetModeBrightnessMax(selected_mode);
|
||||
InvertedBrightness = brightness_min > brightness_max;
|
||||
|
||||
if(InvertedBrightness)
|
||||
{
|
||||
/*-----------------------------------------------------*\
|
||||
| If Brightness Slider is inverted, invert value |
|
||||
\*-----------------------------------------------------*/
|
||||
ui->BrightnessSlider->setMinimum(device->GetModeBrightnessMax(selected_mode));
|
||||
ui->BrightnessSlider->setMaximum(device->GetModeBrightnessMin(selected_mode));
|
||||
current_brightness = device->GetModeBrightnessMin(selected_mode) - device->GetModeBrightness(selected_mode) + device->GetModeBrightnessMax(selected_mode);
|
||||
ui->BrightnessSlider->setMinimum(brightness_max);
|
||||
ui->BrightnessSlider->setMaximum(brightness_min);
|
||||
current_brightness = brightness_min - brightness + brightness_max;
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->BrightnessSlider->setMinimum(device->GetModeBrightnessMin(selected_mode));
|
||||
ui->BrightnessSlider->setMaximum(device->GetModeBrightnessMax(selected_mode));
|
||||
current_brightness = device->GetModeBrightness(selected_mode);
|
||||
ui->BrightnessSlider->setMinimum(brightness_min);
|
||||
ui->BrightnessSlider->setMaximum(brightness_max);
|
||||
current_brightness = brightness;
|
||||
}
|
||||
|
||||
ui->BrightnessSlider->setValue(current_brightness);
|
||||
@@ -835,41 +887,41 @@ void OpenRGBDevicePage::UpdateModeUi()
|
||||
if(supports_dir_lr || supports_dir_ud || supports_dir_hv)
|
||||
{
|
||||
if((supports_dir_lr)
|
||||
&&((dir == MODE_DIRECTION_LEFT)
|
||||
||(dir == MODE_DIRECTION_RIGHT)))
|
||||
&&((direction == MODE_DIRECTION_LEFT)
|
||||
||(direction == MODE_DIRECTION_RIGHT)))
|
||||
{
|
||||
ui->DirectionBox->setCurrentIndex(dir);
|
||||
ui->DirectionBox->setCurrentIndex(direction);
|
||||
}
|
||||
|
||||
if((supports_dir_ud)
|
||||
&&((dir == MODE_DIRECTION_UP)
|
||||
||(dir == MODE_DIRECTION_DOWN)))
|
||||
&&((direction == MODE_DIRECTION_UP)
|
||||
||(direction == MODE_DIRECTION_DOWN)))
|
||||
{
|
||||
if(supports_dir_lr)
|
||||
{
|
||||
ui->DirectionBox->setCurrentIndex(dir);
|
||||
ui->DirectionBox->setCurrentIndex(direction);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->DirectionBox->setCurrentIndex(dir - 2);
|
||||
ui->DirectionBox->setCurrentIndex(direction - 2);
|
||||
}
|
||||
}
|
||||
|
||||
if((supports_dir_hv)
|
||||
&&((dir == MODE_DIRECTION_HORIZONTAL)
|
||||
||(dir == MODE_DIRECTION_VERTICAL)))
|
||||
&&((direction == MODE_DIRECTION_HORIZONTAL)
|
||||
||(direction == MODE_DIRECTION_VERTICAL)))
|
||||
{
|
||||
if(supports_dir_lr && supports_dir_ud)
|
||||
{
|
||||
ui->DirectionBox->setCurrentIndex(dir);
|
||||
ui->DirectionBox->setCurrentIndex(direction);
|
||||
}
|
||||
else if(supports_dir_lr || supports_dir_ud)
|
||||
{
|
||||
ui->DirectionBox->setCurrentIndex(dir - 2);
|
||||
ui->DirectionBox->setCurrentIndex(direction - 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->DirectionBox->setCurrentIndex(dir - 4);
|
||||
ui->DirectionBox->setCurrentIndex(direction - 4);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -946,7 +998,7 @@ void OpenRGBDevicePage::UpdateModeUi()
|
||||
/*-----------------------------------------------------*\
|
||||
| Fill in the zone box based on color mode |
|
||||
\*-----------------------------------------------------*/
|
||||
switch(device->GetModeColorMode(selected_mode))
|
||||
switch(color_mode)
|
||||
{
|
||||
case MODE_COLORS_NONE:
|
||||
case MODE_COLORS_RANDOM:
|
||||
@@ -1046,7 +1098,7 @@ void OpenRGBDevicePage::UpdateModeUi()
|
||||
ui->ApplyColorsButton->setEnabled(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void OpenRGBDevicePage::UpdateMode()
|
||||
|
||||
Reference in New Issue
Block a user