mirror of
https://github.com/CalcProgrammer1/OpenRGB.git
synced 2026-11-09 00:02:49 -05:00
Add controller flag that indicates the controller supports passing arbitrary color data into the device update functions
This commit is contained in:
1 parent
6af53bc913
commit
30a98d9a29
2 files changed
+17
-5
No files matched your search
@@ -2132,12 +2132,18 @@ void RGBController::DeviceCallThreadFunction()
|
||||
{
|
||||
if(flags & CONTROLLER_FLAG_RESET_BEFORE_UPDATE)
|
||||
{
|
||||
AccessMutex.lock_shared();
|
||||
CallFlag_UpdateLEDs = false;
|
||||
DeviceMutex.lock();
|
||||
DeviceUpdateLEDs(colors);
|
||||
DeviceMutex.unlock();
|
||||
}
|
||||
|
||||
if(flags & CONTROLLER_FLAG_SUPPORTS_PASSING_COLORS_REFERENCE)
|
||||
{
|
||||
AccessMutex.lock_shared();
|
||||
std::vector<RGBController> update_colors = colors;
|
||||
AccessMutex.unlock_shared();
|
||||
|
||||
DeviceMutex.lock();
|
||||
DeviceUpdateLEDs(update_colors);
|
||||
DeviceMutex.unlock();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2145,9 +2151,13 @@ void RGBController::DeviceCallThreadFunction()
|
||||
DeviceMutex.lock();
|
||||
DeviceUpdateLEDs(colors);
|
||||
DeviceMutex.unlock();
|
||||
CallFlag_UpdateLEDs = false;
|
||||
AccessMutex.unlock_shared();
|
||||
}
|
||||
|
||||
if(!(flags & CONTROLLER_FLAG_RESET_BEFORE_UPDATE)))
|
||||
{
|
||||
CallFlag_UpdateLEDs = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -225,6 +225,8 @@ enum
|
||||
|
||||
CONTROLLER_FLAG_RESET_BEFORE_UPDATE = (1 << 8), /* Device resets update flag before */
|
||||
/* calling update function */
|
||||
CONTROLLER_FLAG_SUPPORTS_PASSING_COLORS_REFERENCE = (1 << 9), /* Device supports passing arbitrary colors data to */
|
||||
/* DeviceUpdateLEDs() */
|
||||
|
||||
CONTROLLER_FLAG_MANUALLY_CONFIGURABLE_NAME = (1 << 16),/* Device name is manually configurable */
|
||||
CONTROLLER_FLAG_MANUALLY_CONFIGURABLE_DEVICE_SPECIFIC = (1 << 17),/* Device dev-specific cfg manually configurable */
|
||||
|
||||
Reference in new issue
Block a user