8
8
#include < QObject>
9
9
#include < QTimer>
10
10
#include < QSize>
11
+ #include < QJsonObject>
12
+ #include < QJsonValue>
13
+ #include < QJsonArray>
11
14
12
15
// hyperion-utils includes
13
16
#include < utils/Image.h>
@@ -79,7 +82,7 @@ class Hyperion : public QObject
79
82
~Hyperion ();
80
83
81
84
82
- static Hyperion* initInstance (const Json::Value& jsonConfig, const std::string configFile);
85
+ static Hyperion* initInstance (const Json::Value& jsonConfig, const QJsonObject& qjsonConfig, const std::string configFile);
83
86
static Hyperion* getInstance ();
84
87
85
88
// /
@@ -270,32 +273,32 @@ public slots:
270
273
public:
271
274
static Hyperion *_hyperion;
272
275
273
- static ColorOrder createColorOrder (const Json::Value & deviceConfig);
276
+ static ColorOrder createColorOrder (const QJsonObject & deviceConfig);
274
277
/* *
275
278
* Construct the 'led-string' with the integration area definition per led and the color
276
279
* ordering of the RGB channels
277
280
* @param ledsConfig The configuration of the led areas
278
281
* @param deviceOrder The default RGB channel ordering
279
282
* @return The constructed ledstring
280
283
*/
281
- static LedString createLedString (const Json::Value & ledsConfig, const ColorOrder deviceOrder);
282
- static LedString createLedStringClone (const Json::Value & ledsConfig, const ColorOrder deviceOrder);
283
-
284
- static MultiColorTransform * createLedColorsTransform (const unsigned ledCnt, const Json::Value & colorTransformConfig);
285
- static MultiColorCorrection * createLedColorsTemperature (const unsigned ledCnt, const Json::Value & colorTemperatureConfig);
286
- static MultiColorAdjustment * createLedColorsAdjustment (const unsigned ledCnt, const Json::Value & colorAdjustmentConfig);
287
- static ColorTransform * createColorTransform (const Json::Value & transformConfig);
288
- static ColorCorrection * createColorCorrection (const Json::Value & correctionConfig);
289
- static ColorAdjustment * createColorAdjustment (const Json::Value & adjustmentConfig);
290
- static HsvTransform * createHsvTransform (const Json::Value & hsvConfig);
291
- static HslTransform * createHslTransform (const Json::Value & hslConfig);
292
- static RgbChannelTransform * createRgbChannelTransform (const Json::Value & colorConfig);
293
- static RgbChannelAdjustment * createRgbChannelCorrection (const Json::Value & colorConfig);
294
- static RgbChannelAdjustment * createRgbChannelAdjustment (const Json::Value & colorConfig, const RgbChannel color);
295
-
296
- static LinearColorSmoothing * createColorSmoothing (const Json::Value & smoothingConfig, LedDevice* leddevice);
297
- static MessageForwarder * createMessageForwarder (const Json::Value & forwarderConfig);
298
- static QSize getLedLayoutGridSize (const Json::Value & ledsConfig);
284
+ static LedString createLedString (const QJsonValue & ledsConfig, const ColorOrder deviceOrder);
285
+ static LedString createLedStringClone (const QJsonValue & ledsConfig, const ColorOrder deviceOrder);
286
+
287
+ static MultiColorTransform * createLedColorsTransform (const unsigned ledCnt, const QJsonObject & colorTransformConfig);
288
+ static MultiColorCorrection * createLedColorsTemperature (const unsigned ledCnt, const QJsonObject & colorTemperatureConfig);
289
+ static MultiColorAdjustment * createLedColorsAdjustment (const unsigned ledCnt, const QJsonObject & colorAdjustmentConfig);
290
+ static ColorTransform * createColorTransform (const QJsonObject & transformConfig);
291
+ static ColorCorrection * createColorCorrection (const QJsonObject & correctionConfig);
292
+ static ColorAdjustment * createColorAdjustment (const QJsonObject & adjustmentConfig);
293
+ static HsvTransform * createHsvTransform (const QJsonObject & hsvConfig);
294
+ static HslTransform * createHslTransform (const QJsonObject & hslConfig);
295
+ static RgbChannelTransform * createRgbChannelTransform (const QJsonObject & colorConfig);
296
+ static RgbChannelAdjustment * createRgbChannelCorrection (const QJsonObject & colorConfig);
297
+ static RgbChannelAdjustment * createRgbChannelAdjustment (const QJsonObject & colorConfig, const RgbChannel color);
298
+
299
+ static LinearColorSmoothing * createColorSmoothing (const QJsonObject & smoothingConfig, LedDevice* leddevice);
300
+ static MessageForwarder * createMessageForwarder (const QJsonObject & forwarderConfig);
301
+ static QSize getLedLayoutGridSize (const QJsonValue & ledsConfig);
299
302
300
303
signals:
301
304
// / Signal which is emitted when a priority channel is actively cleared
@@ -322,7 +325,7 @@ private slots:
322
325
// /
323
326
// / @param[in] jsonConfig The Json configuration
324
327
// /
325
- Hyperion (const Json::Value& jsonConfig, const std::string configFile);
328
+ Hyperion (const Json::Value& jsonConfig, const QJsonObject& qjsonConfig, const std::string configFile);
326
329
327
330
// / The specifiation of the led frame construction and picture integration
328
331
LedString _ledString;
0 commit comments