Removed random engine, using libscnumerics instead
This commit is contained in:
parent
f3b95b0419
commit
42313b010a
@ -7,6 +7,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#include "ScreensaverPlugin.hpp"
|
#include "ScreensaverPlugin.hpp"
|
||||||
|
#include <libscnumerics.hpp>
|
||||||
|
|
||||||
void ScreensaverPlugin::setup(cairo_t* context, const cairo_rectangle_t& rect) {
|
void ScreensaverPlugin::setup(cairo_t* context, const cairo_rectangle_t& rect) {
|
||||||
_c = context;
|
_c = context;
|
||||||
@ -33,8 +34,8 @@ cairo_rectangle_t ScreensaverPlugin::random_rect_in_rect(const cairo_rectangle_t
|
|||||||
std::uniform_real_distribution<double> dx {rect.x, rect.width};
|
std::uniform_real_distribution<double> dx {rect.x, rect.width};
|
||||||
std::uniform_real_distribution<double> dy {rect.y, rect.height};
|
std::uniform_real_distribution<double> dy {rect.y, rect.height};
|
||||||
double v1, v2;
|
double v1, v2;
|
||||||
v1 = dx(_eng);
|
v1 = dx(sc::random::instance().engine());
|
||||||
v2 = dx(_eng);
|
v2 = dx(sc::random::instance().engine());
|
||||||
if (v1 < v2) {
|
if (v1 < v2) {
|
||||||
r.x = v1;
|
r.x = v1;
|
||||||
r.width = v2 - v1;
|
r.width = v2 - v1;
|
||||||
@ -42,8 +43,8 @@ cairo_rectangle_t ScreensaverPlugin::random_rect_in_rect(const cairo_rectangle_t
|
|||||||
r.x = v2;
|
r.x = v2;
|
||||||
r.width = v1 - v2;
|
r.width = v1 - v2;
|
||||||
}
|
}
|
||||||
v1 = dy(_eng);
|
v1 = dy(sc::random::instance().engine());
|
||||||
v2 = dy(_eng);
|
v2 = dy(sc::random::instance().engine());
|
||||||
if (v1 < v2) {
|
if (v1 < v2) {
|
||||||
r.y = v1;
|
r.y = v1;
|
||||||
r.height = v2 - v1;
|
r.height = v2 - v1;
|
||||||
@ -56,22 +57,22 @@ cairo_rectangle_t ScreensaverPlugin::random_rect_in_rect(const cairo_rectangle_t
|
|||||||
|
|
||||||
double ScreensaverPlugin::random_x() {
|
double ScreensaverPlugin::random_x() {
|
||||||
std::uniform_real_distribution<double> dist {0, _r.width};
|
std::uniform_real_distribution<double> dist {0, _r.width};
|
||||||
return dist(_eng);
|
return dist(sc::random::instance().engine());
|
||||||
}
|
}
|
||||||
|
|
||||||
double ScreensaverPlugin::random_y() {
|
double ScreensaverPlugin::random_y() {
|
||||||
std::uniform_real_distribution<double> dist {0, _r.height};
|
std::uniform_real_distribution<double> dist {0, _r.height};
|
||||||
return dist(_eng);
|
return dist(sc::random::instance().engine());
|
||||||
}
|
}
|
||||||
|
|
||||||
double ScreensaverPlugin::random01() {
|
double ScreensaverPlugin::random01() {
|
||||||
std::uniform_real_distribution<double> dist {};
|
std::uniform_real_distribution<double> dist {};
|
||||||
return dist(_eng);
|
return dist(sc::random::instance().engine());
|
||||||
}
|
}
|
||||||
|
|
||||||
double ScreensaverPlugin::random_between(double v1, double v2) {
|
double ScreensaverPlugin::random_between(double v1, double v2) {
|
||||||
std::uniform_real_distribution<double> dist {v1, v2};
|
std::uniform_real_distribution<double> dist {v1, v2};
|
||||||
return dist(_eng);
|
return dist(sc::random::instance().engine());
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScreensaverPlugin::rounded_rect(const cairo_rectangle_t& rect, double radius) {
|
void ScreensaverPlugin::rounded_rect(const cairo_rectangle_t& rect, double radius) {
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
#define _ScreensaverPlugin_H_
|
#define _ScreensaverPlugin_H_
|
||||||
|
|
||||||
#include <cairo/cairo.h>
|
#include <cairo/cairo.h>
|
||||||
#include <random>
|
|
||||||
|
|
||||||
class ScreensaverPlugin {
|
class ScreensaverPlugin {
|
||||||
public:
|
public:
|
||||||
@ -26,8 +25,6 @@ class ScreensaverPlugin {
|
|||||||
protected:
|
protected:
|
||||||
cairo_t* _c {nullptr};
|
cairo_t* _c {nullptr};
|
||||||
cairo_rectangle_t _r {};
|
cairo_rectangle_t _r {};
|
||||||
std::random_device _dev {};
|
|
||||||
std::default_random_engine _eng {_dev()};
|
|
||||||
|
|
||||||
void make_black();
|
void make_black();
|
||||||
cairo_rectangle_t random_rect();
|
cairo_rectangle_t random_rect();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user