FIX: drawLine added w to y instead of h
This commit is contained in:
parent
9a6ca32976
commit
7fa66fb4d5
@ -112,28 +112,25 @@ public:
|
|||||||
|
|
||||||
void drawLine(int x0, int y0, int w, int h, const int thickness, const RGBA color) {
|
void drawLine(int x0, int y0, int w, int h, const int thickness, const RGBA color) {
|
||||||
fixRect(x0, y0, w, h);
|
fixRect(x0, y0, w, h);
|
||||||
|
for (auto t = 0; t < thickness; ++t) {
|
||||||
|
const auto offset = t % 2 == 0 ? t / 2 : -t / 2;
|
||||||
if (h == 0) {
|
if (h == 0) {
|
||||||
for (auto x = x0; x < x0 + w; ++x) {
|
for (auto x = x0; x < x0 + w; ++x) {
|
||||||
setPixel(x, y0, color);
|
setPixel(x, y0, color);
|
||||||
}
|
}
|
||||||
} else if (w == 0) {
|
} else if (w == 0) {
|
||||||
for (auto y = y0; y < y0 + w; ++y) {
|
for (auto y = y0; y < y0 + h; ++y) {
|
||||||
setPixel(x0, y, color);
|
setPixel(x0, y, color);
|
||||||
}
|
}
|
||||||
} else if (w >= h) {
|
} else if (w >= h) {
|
||||||
const auto m = static_cast<double>(h) / w;
|
const auto m = static_cast<double>(h) / w;
|
||||||
for (auto t = 0; t < thickness; ++t) {
|
|
||||||
const auto offset = t % 2 == 0 ? t / 2 : -t / 2;
|
|
||||||
for (auto x = x0; x < x0 + w; ++x) {
|
for (auto x = x0; x < x0 + w; ++x) {
|
||||||
const auto y = static_cast<int>(round(offset + x * m));
|
const auto y = static_cast<int>(round(offset + x * m));
|
||||||
setPixel(x, y, color);
|
setPixel(x, y, color);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
const auto m = static_cast<double>(w) / h;
|
const auto m = static_cast<double>(w) / h;
|
||||||
for (auto t = 0; t < thickness; ++t) {
|
for (auto y = y0; y < y0 + h; ++y) {
|
||||||
const auto offset = t % 2 == 0 ? t / 2 : -t / 2;
|
|
||||||
for (auto y = y0; y < y0 + w; ++y) {
|
|
||||||
const auto x = static_cast<int>(round(offset + y * m));
|
const auto x = static_cast<int>(round(offset + y * m));
|
||||||
setPixel(x, y, color);
|
setPixel(x, y, color);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user