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 pastel_green {"#B1D1AF"};
struct Rect {
struct Square {
double cx {0};
double cy {0};
double width {0};
@ -19,7 +19,7 @@ struct Rect {
};
struct Situation {
std::vector<Rect> rects;
std::vector<Square> rects;
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;
for (size_t x = 0; x < _h; ++x) {
for (size_t y = 0; y < _v; ++y) {
Rect r;
Square r;
r.cx = _border + h_margin + x * _d;
r.cy = _border + v_margin + y * _d;
r.width = 0;
@ -126,7 +126,7 @@ void Grid::update() {
if (++_frames > _fade * fps()) {
_frames = 0;
_old = _new;
for (Rect& r : _new.rects) {
for (Square& r : _new.rects) {
r.width = random_between(_min_size, _max_size);
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_rectangle(_c, _r.x, _r.y, _r.width, _r.height);
cairo_fill(_c);
for (const Rect& r : _cur.rects) {
for (const Square& r : _cur.rects) {
RGB col {RGB(r.color)};
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);
@ -165,9 +165,9 @@ void Grid::animate() {
_cur.bg = bg3;
}
for (size_t i = 0; i < _old.rects.size(); ++i) {
Rect& r1 = _old.rects[i];
Rect& r2 = _new.rects[i];
Rect& r3 = _cur.rects[i];
Square& r1 = _old.rects[i];
Square& r2 = _new.rects[i];
Square& r3 = _cur.rects[i];
RGB rgb1 {RGB(r1.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)};