Added configure method
This commit is contained in:
parent
3d64d4e69e
commit
0bdf958537
@ -94,3 +94,17 @@ void ScreensaverPlugin::rounded_rect(const cairo_rectangle_t& rect, double radiu
|
||||
cairo_line_to(_c, x0, y1);
|
||||
cairo_arc(_c, x1, y1, radius, M_PI, 1.5 * M_PI);
|
||||
}
|
||||
|
||||
void ScreensaverPlugin::config(const nlohmann::json& data) {
|
||||
_j = data;
|
||||
configure();
|
||||
}
|
||||
|
||||
void ScreensaverPlugin::config(nlohmann::json&& data) {
|
||||
_j = data;
|
||||
configure();
|
||||
}
|
||||
|
||||
void ScreensaverPlugin::configure() {
|
||||
// empty default implementation
|
||||
}
|
||||
|
@ -18,13 +18,14 @@ class ScreensaverPlugin {
|
||||
virtual ~ScreensaverPlugin() = default;
|
||||
|
||||
virtual void setup(cairo_t* context, const cairo_rectangle_t& rect);
|
||||
virtual void configure();
|
||||
virtual int fps() const;
|
||||
|
||||
virtual void update() = 0; // advance state for next frame
|
||||
virtual void render() = 0; // draw next frame
|
||||
|
||||
void config(const nlohmann::json& data) { _j = data; }
|
||||
void config(nlohmann::json&& data) { _j = data; }
|
||||
void config(const nlohmann::json& data);
|
||||
void config(nlohmann::json&& data);
|
||||
const nlohmann::json& config() const { return _j; }
|
||||
|
||||
protected:
|
||||
|
Loading…
x
Reference in New Issue
Block a user