cleanup
This commit is contained in:
parent
452bfcc059
commit
da7493da8b
1 changed files with 41 additions and 54 deletions
95
glcd.c
95
glcd.c
|
@ -56,65 +56,52 @@ void lcdDrawPixel(uint16_t x, uint16_t y, uint16_t color) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void lcdDrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color) {
|
void lcdDrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color) {
|
||||||
int16_t dy, dx;
|
int16_t dy, dx;
|
||||||
int16_t addx=1, addy=1;
|
int16_t addx=1, addy=1;
|
||||||
int16_t P, diff;
|
int16_t P, diff;
|
||||||
|
|
||||||
int16_t i=0;
|
int16_t i=0;
|
||||||
dx = abs((int16_t)(x2 - x1));
|
dx = abs((int16_t)(x2 - x1));
|
||||||
dy = abs((int16_t)(y2 - y1));
|
dy = abs((int16_t)(y2 - y1));
|
||||||
|
|
||||||
if(x1 > x2)
|
if(x1 > x2)
|
||||||
addx = -1;
|
addx = -1;
|
||||||
if(y1 > y2)
|
if(y1 > y2)
|
||||||
addy = -1;
|
addy = -1;
|
||||||
|
|
||||||
if(dx >= dy)
|
if(dx >= dy) {
|
||||||
{
|
dy *= 2;
|
||||||
dy *= 2;
|
P = dy - dx;
|
||||||
P = dy - dx;
|
diff = P - dx;
|
||||||
diff = P - dx;
|
|
||||||
|
|
||||||
for(; i<=dx; ++i)
|
for(; i<=dx; ++i) {
|
||||||
{
|
lcdDrawPixel(x1, y1, color);
|
||||||
lcdDrawPixel(x1, y1, color);
|
if(P < 0) {
|
||||||
|
P += dy;
|
||||||
|
x1 += addx;
|
||||||
|
} else {
|
||||||
|
P += diff;
|
||||||
|
x1 += addx;
|
||||||
|
y1 += addy;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
dx *= 2;
|
||||||
|
P = dx - dy;
|
||||||
|
diff = P - dy;
|
||||||
|
|
||||||
if(P < 0)
|
for(; i<=dy; ++i) {
|
||||||
{
|
lcdDrawPixel(x1, y1, color);
|
||||||
P += dy;
|
if(P < 0) {
|
||||||
x1 += addx;
|
P += dx;
|
||||||
}
|
y1 += addy;
|
||||||
else
|
} else {
|
||||||
{
|
P += diff;
|
||||||
P += diff;
|
x1 += addx;
|
||||||
x1 += addx;
|
y1 += addy;
|
||||||
y1 += addy;
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dx *= 2;
|
|
||||||
P = dx - dy;
|
|
||||||
diff = P - dy;
|
|
||||||
|
|
||||||
for(; i<=dy; ++i)
|
|
||||||
{
|
|
||||||
lcdDrawPixel(x1, y1, color);
|
|
||||||
|
|
||||||
if(P < 0)
|
|
||||||
{
|
|
||||||
P += dx;
|
|
||||||
y1 += addy;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
P += diff;
|
|
||||||
x1 += addx;
|
|
||||||
y1 += addy;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
|
|
Loading…
Add table
Reference in a new issue