mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
Updated the way colororder is configured per led
Former-commit-id: 2a77b551c5b504f4ce9b0a179d4c20eaf6128f6b
This commit is contained in:
@@ -153,7 +153,14 @@ public slots:
|
||||
|
||||
public:
|
||||
static ColorOrder createColorOrder(const Json::Value & deviceConfig);
|
||||
static LedString createLedString(const Json::Value & ledsConfig);
|
||||
/**
|
||||
* Construct the 'led-string' with the integration area definition per led and the color
|
||||
* ordering of the RGB channels
|
||||
* @param ledsConfig The configuration of the led areas
|
||||
* @param deviceOrder The default RGB channel ordering
|
||||
* @return The constructed ledstring
|
||||
*/
|
||||
static LedString createLedString(const Json::Value & ledsConfig, const ColorOrder deviceOrder);
|
||||
|
||||
static MultiColorTransform * createLedColorsTransform(const unsigned ledCnt, const Json::Value & colorTransformConfig);
|
||||
static ColorTransform * createColorTransform(const Json::Value & transformConfig);
|
||||
@@ -188,9 +195,6 @@ private:
|
||||
/// The transformation from raw colors to led colors
|
||||
MultiColorTransform * _raw2ledTransform;
|
||||
|
||||
/// Value with the desired color byte order
|
||||
ColorOrder _colorOrder;
|
||||
|
||||
/// The actual LedDevice
|
||||
LedDevice * _device;
|
||||
|
||||
|
@@ -15,9 +15,60 @@ namespace Json { class Value; }
|
||||
/// Enumeration containing the possible orders of device color byte data
|
||||
enum ColorOrder
|
||||
{
|
||||
ORDER_RGB, ORDER_RBG, ORDER_GRB, ORDER_BRG, ORDER_GBR, ORDER_BGR, ORDER_DEFAULT
|
||||
ORDER_RGB, ORDER_RBG, ORDER_GRB, ORDER_BRG, ORDER_GBR, ORDER_BGR
|
||||
};
|
||||
|
||||
inline std::string colorOrderToString(const ColorOrder colorOrder)
|
||||
{
|
||||
switch (colorOrder)
|
||||
{
|
||||
case ORDER_RGB:
|
||||
return "rgb";
|
||||
case ORDER_RBG:
|
||||
return "rbg";
|
||||
case ORDER_GRB:
|
||||
return "grb";
|
||||
case ORDER_BRG:
|
||||
return "brg";
|
||||
case ORDER_GBR:
|
||||
return "gbr";
|
||||
case ORDER_BGR:
|
||||
return "bgr";
|
||||
default:
|
||||
return "not-a-colororder";
|
||||
}
|
||||
}
|
||||
inline ColorOrder stringToColorOrder(const std::string & order)
|
||||
{
|
||||
if (order == "rgb")
|
||||
{
|
||||
return ORDER_RGB;
|
||||
}
|
||||
else if (order == "bgr")
|
||||
{
|
||||
return ORDER_BGR;
|
||||
}
|
||||
else if (order == "rbg")
|
||||
{
|
||||
return ORDER_RBG;
|
||||
}
|
||||
else if (order == "brg")
|
||||
{
|
||||
return ORDER_BRG;
|
||||
}
|
||||
else if (order == "gbr")
|
||||
{
|
||||
return ORDER_GBR;
|
||||
}
|
||||
else if (order == "grb")
|
||||
{
|
||||
return ORDER_GRB;
|
||||
}
|
||||
|
||||
std::cout << "Unknown color order defined (" << order << "). Using RGB." << std::endl;
|
||||
return ORDER_RGB;
|
||||
}
|
||||
|
||||
///
|
||||
/// The Led structure contains the definition of the image portion used to determine a single led's
|
||||
/// color.
|
||||
|
Reference in New Issue
Block a user