31 lines
790 B
C
31 lines
790 B
C
|
#pragma once
|
||
|
|
||
|
#include "kaleidoscope/event_handler_result.h"
|
||
|
#include "kaleidoscope/plugin.h"
|
||
|
#include "kaleidoscope/plugin/AccessTransientLEDMode.h"
|
||
|
#include "kaleidoscope/plugin/LEDMode.h"
|
||
|
#include "kaleidoscope/plugin/LEDModeInterface.h"
|
||
|
|
||
|
namespace kaleidoscope {
|
||
|
namespace plugin {
|
||
|
class LayerBasedTheme : public Plugin,
|
||
|
public LEDModeInterface,
|
||
|
public AccessTransientLEDMode {
|
||
|
public:
|
||
|
LayerBasedTheme(void) {}
|
||
|
|
||
|
EventHandlerResult onLayerChange();
|
||
|
|
||
|
class TransientLEDMode : public LEDMode {
|
||
|
public:
|
||
|
explicit TransientLEDMode(const LayerBasedTheme *parent);
|
||
|
|
||
|
private:
|
||
|
const LayerBasedTheme *parent_;
|
||
|
};
|
||
|
};
|
||
|
} // namespace plugin
|
||
|
} // namespace kaleidoscope
|
||
|
|
||
|
extern kaleidoscope::plugin::LayerBasedTheme LayerBasedTheme;
|