mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2023-10-10 13:36:59 +02:00
Moved the image-buffer from processor to dispmanx-wrapper. Added timeout handling to Hyperion.
50 lines
871 B
C++
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;
|
|
};
|