summaryrefslogtreecommitdiff
path: root/glcddrivers/sed1330.c
diff options
context:
space:
mode:
authormrwastl <mrwastl@users.sourceforge.net>2011-06-25 21:52:54 +0200
committermrwastl <mrwastl@users.sourceforge.net>2011-06-25 21:52:54 +0200
commit82d929736a6188583fe3283b8fa2ce776f3cca21 (patch)
tree1a894c5a603415086db3e3cdbb9b8d15fabc94a5 /glcddrivers/sed1330.c
parentd7b7ae09a995d8ceab70a9d7904a7b9e25beba00 (diff)
downloadgraphlcd-base-82d929736a6188583fe3283b8fa2ce776f3cca21.tar.gz
graphlcd-base-82d929736a6188583fe3283b8fa2ce776f3cca21.tar.bz2
adapt all drivers to support SetPixel() with 32bit colours; Set8Pixels() is no longer virtual (generic implementation in base class)
Diffstat (limited to 'glcddrivers/sed1330.c')
-rw-r--r--glcddrivers/sed1330.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/glcddrivers/sed1330.c b/glcddrivers/sed1330.c
index e993ca0..80a8970 100644
--- a/glcddrivers/sed1330.c
+++ b/glcddrivers/sed1330.c
@@ -14,7 +14,9 @@
* This file is released under the GNU General Public License. Refer
* to the COPYING file distributed with this package.
*
- * (c) 2003 Roland Praml <praml.roland AT t-online.de>
+ * (c) 2003 Roland Praml <praml.roland AT t-online.de>
+ * (c) 2005-2010 Andreas Regel <andreas.regel AT powarman.de>
+ * (c) 2011 Wolfgang Astleitner <mrwastl AT users.sourceforge.net>
*/
#include <syslog.h>
@@ -539,6 +541,28 @@ void cDriverSED1330::Clear()
memset(newLCD[x], 0, height);
}
+
+void cDriverSED1330::SetPixel(int x, int y, uint32_t data)
+{
+ if (x >= width || y >= height)
+ return;
+
+ int pos = x % 8;
+ if (config->upsideDown)
+ {
+ x = width - 1 - x;
+ y = height - 1 - y;
+ pos = 7 - pos; // reverse bit position
+ }
+
+ if (data == GLCD::cColor::White)
+ newLCD[x / 8][y] |= (1 << pos);
+ else
+ newLCD[x / 8][y] &= ( 0xFF ^ (1 << pos) );
+}
+
+
+#if 0
void cDriverSED1330::Set8Pixels(int x, int y, unsigned char data)
{
if (x >= width || y >= height)
@@ -557,6 +581,7 @@ void cDriverSED1330::Set8Pixels(int x, int y, unsigned char data)
newLCD[x / 8][y] = newLCD[x / 8][y] | ReverseBits(data);
}
}
+#endif
void cDriverSED1330::Refresh(bool refreshAll)
{