Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of N5110 by
Diff: N5110.cpp
- Revision:
- 42:596c207519de
- Parent:
- 36:00ebd449b6f3
- Child:
- 43:c2598020fcac
diff -r 6c046786be6c -r 596c207519de N5110.cpp
--- a/N5110.cpp Wed Mar 08 16:13:08 2017 +0000
+++ b/N5110.cpp Tue Mar 21 10:43:19 2017 +0000
@@ -191,11 +191,13 @@
// Pixels are addressed in the range of 0 to 47 (y) and 0 to 83 (x). The refresh()
// function must be called after set and clear in order to update the display
void N5110::setPixel(unsigned int const x,
- unsigned int const y)
+ unsigned int const y,
+ bool const state)
{
if (x<WIDTH && y<HEIGHT) { // check within range
// calculate bank and shift 1 to required position in the data byte
- buffer[x][y/8] |= (1 << y%8);
+ if(state) buffer[x][y/8] |= (1 << y%8);
+ else buffer[x][y/8] &= ~(1 << y%8);
}
}
@@ -389,10 +391,9 @@
// do linear interpolation
int y = y0 + (y1-y0)*(x-x0)/(x1-x0);
- if (type == 0) // if 'white' line, turn off pixel
- clearPixel(x,y);
- else
- setPixel(x,y); // else if 'black' or 'dotted' turn on pixel
+ // If the line type is '0', this will clear the pixel
+ // If it is '1' or '2', the pixel will be set
+ setPixel(x,y, type);
}
} else {
@@ -404,11 +405,9 @@
// do linear interpolation
int x = x0 + (x1-x0)*(y-y0)/(y1-y0);
- if (type == 0) // if 'white' line, turn off pixel
- clearPixel(x,y);
- else
- setPixel(x,y); // else if 'black' or 'dotted' turn on pixel
-
+ // If the line type is '0', this will clear the pixel
+ // If it is '1' or '2', the pixel will be set
+ setPixel(x,y, type);
}
}
@@ -434,23 +433,16 @@
}
void N5110::drawSprite(int x0,
- int y0,
- int nrows,
- int ncols,
- int *sprite)
+ int y0,
+ int nrows,
+ int ncols,
+ int *sprite)
{
for (int i = 0; i < nrows; i++) {
for (int j = 0 ; j < ncols ; j++) {
int pixel = *((sprite+i*ncols)+j);
-
- if (pixel) {
- setPixel(x0+j,y0+i);
- }
- else {
- clearPixel(x0+j,y0+i);
- }
-
+ setPixel(x0+j,y0+i, pixel);
}
}
}
\ No newline at end of file
