moved all sources into src directory
This commit is contained in:
38
src/ScreensaverPlugin.hpp
Normal file
38
src/ScreensaverPlugin.hpp
Normal file
@ -0,0 +1,38 @@
|
||||
//
|
||||
// ScreensaverPlugin.hpp
|
||||
// screensaver
|
||||
//
|
||||
// Created by Bob Polis at 2020-10-26
|
||||
// Copyright (c) 2020 SwiftCoder. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef _ScreensaverPlugin_H_
|
||||
#define _ScreensaverPlugin_H_
|
||||
|
||||
#include <cairo/cairo.h>
|
||||
#include <random>
|
||||
|
||||
class ScreensaverPlugin {
|
||||
public:
|
||||
ScreensaverPlugin() = default;
|
||||
virtual ~ScreensaverPlugin() = default;
|
||||
|
||||
virtual void setup(cairo_t* context, const cairo_rectangle_t& rect);
|
||||
virtual int fps() const;
|
||||
|
||||
virtual void draw_frame() = 0;
|
||||
|
||||
protected:
|
||||
cairo_t* _c {nullptr};
|
||||
cairo_rectangle_t _r {};
|
||||
std::random_device _dev {};
|
||||
std::default_random_engine _eng {_dev()};
|
||||
|
||||
void make_black();
|
||||
cairo_rectangle_t random_rect();
|
||||
double random_x();
|
||||
double random_y();
|
||||
double random01();
|
||||
};
|
||||
|
||||
#endif // _ScreensaverPlugin_H_
|
Reference in New Issue
Block a user