2013-12-01 16:35:45 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
// Bootsequence include
|
|
|
|
#include <bootsequence/BootSequence.h>
|
|
|
|
|
|
|
|
// Hyperion includes
|
|
|
|
#include <hyperion/Hyperion.h>
|
|
|
|
|
|
|
|
///
|
|
|
|
/// The EffectBootSequence runs a script using the effect engine at startup
|
|
|
|
///
|
|
|
|
class EffectBootSequence : public BootSequence
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
///
|
|
|
|
/// Constructs the effect boot-sequence. The effect engine is used for executing the boot effect. The given
|
|
|
|
/// duration is the length the effect will run.
|
|
|
|
///
|
|
|
|
/// @param[in] hyperion The Hyperion instance
|
2013-12-11 21:58:59 +01:00
|
|
|
/// @param[in] effect The effect definition
|
2013-12-01 16:35:45 +01:00
|
|
|
/// @param[in] duration_ms The length of the sequence [ms]
|
|
|
|
///
|
2013-12-11 21:58:59 +01:00
|
|
|
EffectBootSequence(Hyperion * hyperion, const EffectDefinition & effect, const unsigned duration_ms);
|
2013-12-01 16:35:45 +01:00
|
|
|
virtual ~EffectBootSequence();
|
|
|
|
|
|
|
|
virtual void start();
|
|
|
|
|
|
|
|
private:
|
|
|
|
/// The Hyperion instance
|
|
|
|
Hyperion * _hyperion;
|
|
|
|
|
|
|
|
/// The script to execute
|
2013-12-11 21:58:59 +01:00
|
|
|
const EffectDefinition _effect;
|
2013-12-01 16:35:45 +01:00
|
|
|
|
|
|
|
/// Duration of the boot sequence
|
|
|
|
const unsigned _duration_ms;
|
|
|
|
};
|
|
|
|
|