hyperion.ng/include/hyperion/Hyperion.h
T. van der Zwan b457c444f6 Changed the image-to-leds map by using offset-pointing.
Moved the image-buffer from processor to dispmanx-wrapper.
Added timeout handling to Hyperion.
2013-08-14 15:02:09 +00:00

50 lines
871 B
C++

#pragma once
// QT includes
#include <QObject>
#include <QTimer>
// 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 QObject
{
Q_OBJECT
public:
Hyperion(const Json::Value& jsonConfig);
~Hyperion();
unsigned getLedCount() const;
void setValue(int priority, std::vector<RgbColor> &ledColors, const int timeout_ms);
private slots:
void update();
private:
void applyTransform(std::vector<RgbColor>& colors) const;
LedString mLedString;
PriorityMuxer mMuxer;
hyperion::ColorTransform* mRedTransform;
hyperion::ColorTransform* mGreenTransform;
hyperion::ColorTransform* mBlueTransform;
LedDevice* mDevice;
QTimer _timer;
};