hyperion.ng/include/hyperion/Hyperion.h

38 lines
688 B
C
Raw Normal View History

#pragma once
// hyperion-utils includes
#include <utils/RgbImage.h>
// Hyperion includes
#include <hyperion/LedString.h>
#include <hyperion/LedDevice.h>
#include <hyperion/PriorityMuxer.h>
// Forward class declaration
namespace hyperion { class ColorTransform; }
class Hyperion
{
public:
Hyperion(const Json::Value& jsonConfig);
~Hyperion();
void setValue(int priority, std::vector<RgbColor> &ledColors);
private:
void applyTransform(std::vector<RgbColor>& colors) const;
LedString mLedString;
PriorityMuxer mMuxer;
hyperion::ColorTransform* mRedTransform;
hyperion::ColorTransform* mGreenTransform;
hyperion::ColorTransform* mBlueTransform;
LedDevice* mDevice;
};