Rename Rect to Square

This commit is contained in:
2025-02-14 12:13:24 +01:00
parent 518596a06b
commit 37b17704f3

View File

@ -11,7 +11,7 @@ const std::string white {"#FFFFFF"};
const std::string sand {"#B69061"}; const std::string sand {"#B69061"};
const std::string pastel_green {"#B1D1AF"}; const std::string pastel_green {"#B1D1AF"};
struct Rect { struct Square {
double cx {0}; double cx {0};
double cy {0}; double cy {0};
double width {0}; double width {0};
@ -19,7 +19,7 @@ struct Rect {
}; };
struct Situation { struct Situation {
std::vector<Rect> rects; std::vector<Square> rects;
Color bg {pastel_green}; Color bg {pastel_green};
}; };
@ -79,7 +79,7 @@ void Grid::setup(cairo_t* context, const cairo_rectangle_t& rect) {
double v_margin = (inset.height - (_v - 1) * _d) / 2; double v_margin = (inset.height - (_v - 1) * _d) / 2;
for (size_t x = 0; x < _h; ++x) { for (size_t x = 0; x < _h; ++x) {
for (size_t y = 0; y < _v; ++y) { for (size_t y = 0; y < _v; ++y) {
Rect r; Square r;
r.cx = _border + h_margin + x * _d; r.cx = _border + h_margin + x * _d;
r.cy = _border + v_margin + y * _d; r.cy = _border + v_margin + y * _d;
r.width = 0; r.width = 0;
@ -126,7 +126,7 @@ void Grid::update() {
if (++_frames > _fade * fps()) { if (++_frames > _fade * fps()) {
_frames = 0; _frames = 0;
_old = _new; _old = _new;
for (Rect& r : _new.rects) { for (Square& r : _new.rects) {
r.width = random_between(_min_size, _max_size); r.width = random_between(_min_size, _max_size);
r.color = sc::random::choice(_colors); r.color = sc::random::choice(_colors);
} }
@ -147,7 +147,7 @@ void Grid::render() {
cairo_set_source_rgb(_c, bg.r, bg.g, bg.b); cairo_set_source_rgb(_c, bg.r, bg.g, bg.b);
cairo_rectangle(_c, _r.x, _r.y, _r.width, _r.height); cairo_rectangle(_c, _r.x, _r.y, _r.width, _r.height);
cairo_fill(_c); cairo_fill(_c);
for (const Rect& r : _cur.rects) { for (const Square& r : _cur.rects) {
RGB col {RGB(r.color)}; RGB col {RGB(r.color)};
cairo_set_source_rgb(_c, col.r, col.g, col.b); cairo_set_source_rgb(_c, col.r, col.g, col.b);
cairo_rectangle(_c, r.cx - r.width / 2, r.cy - r.width / 2, r.width, r.width); cairo_rectangle(_c, r.cx - r.width / 2, r.cy - r.width / 2, r.width, r.width);
@ -165,9 +165,9 @@ void Grid::animate() {
_cur.bg = bg3; _cur.bg = bg3;
} }
for (size_t i = 0; i < _old.rects.size(); ++i) { for (size_t i = 0; i < _old.rects.size(); ++i) {
Rect& r1 = _old.rects[i]; Square& r1 = _old.rects[i];
Rect& r2 = _new.rects[i]; Square& r2 = _new.rects[i];
Rect& r3 = _cur.rects[i]; Square& r3 = _cur.rects[i];
RGB rgb1 {RGB(r1.color)}; RGB rgb1 {RGB(r1.color)};
RGB rgb2 {RGB(r2.color)}; RGB rgb2 {RGB(r2.color)};
RGB rgb3 {rgb1.r + f * (rgb2.r - rgb1.r), rgb1.g + f * (rgb2.g - rgb1.g), rgb1.b + f * (rgb2.b - rgb1.b)}; RGB rgb3 {rgb1.r + f * (rgb2.r - rgb1.r), rgb1.g + f * (rgb2.g - rgb1.g), rgb1.b + f * (rgb2.b - rgb1.b)};