summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormrwastl <mrwastl@users.sourceforge.net>2011-10-13 13:03:25 +0200
committermrwastl <mrwastl@users.sourceforge.net>2011-10-13 13:03:25 +0200
commitab3acde2326a9d8f942995325b71b3aeaf24b918 (patch)
treeec1c3ed9de1dde8280aee9e011777f4161236572
parent9647922aa1f9d2b3fa1e8eb8693511cd7cbb6db6 (diff)
downloadgraphlcd-base-ab3acde2326a9d8f942995325b71b3aeaf24b918.tar.gz
graphlcd-base-ab3acde2326a9d8f942995325b71b3aeaf24b918.tar.bz2
bug fix for bit order in SetPixel(): verified: image, not verified yet: hd61830, ks0108, network, sed1330, sed1520; beauty fix in object.c (compiler warning)
-rw-r--r--glcddrivers/hd61830.c2
-rw-r--r--glcddrivers/image.c6
-rw-r--r--glcddrivers/ks0108.c1
-rw-r--r--glcddrivers/network.c1
-rw-r--r--glcddrivers/sed1330.c1
-rw-r--r--glcddrivers/sed1520.c1
-rw-r--r--glcdskin/object.c2
7 files changed, 10 insertions, 4 deletions
diff --git a/glcddrivers/hd61830.c b/glcddrivers/hd61830.c
index 69fee54..25f39ff 100644
--- a/glcddrivers/hd61830.c
+++ b/glcddrivers/hd61830.c
@@ -311,7 +311,7 @@ void cDriverHD61830::SetPixel(int x, int y, uint32_t data)
{
x = width - 1 - x;
y = height - 1 - y;
- } else {
+ //} else {
pos = 7 - pos; // reverse bit position
}
diff --git a/glcddrivers/image.c b/glcddrivers/image.c
index 6a89ffa..a3d123f 100644
--- a/glcddrivers/image.c
+++ b/glcddrivers/image.c
@@ -136,18 +136,20 @@ void cDriverImage::SetPixel(int x, int y, uint32_t data)
if (x >= width || y >= height)
return;
+ int cols = (width + 7 ) >> 3;
int pos = x % 8;
if (config->upsideDown)
{
x = width - 1 - x;
y = height - 1 - y;
+ } else {
pos = 7 - pos; // reverse bit position
}
if (data == GRAPHLCD_White)
- newLCD[y * x] |= ( 1 << pos );
+ newLCD[y * cols + (x >> 3)] |= ( 1 << pos );
else
- newLCD[y * x] &= ( 0xFF ^ ( 1 << pos) );
+ newLCD[y * cols + (x >> 3)] &= ( 0xFF ^ ( 1 << pos) );
}
void cDriverImage::Refresh(bool refreshAll)
diff --git a/glcddrivers/ks0108.c b/glcddrivers/ks0108.c
index 2a723f9..042f286 100644
--- a/glcddrivers/ks0108.c
+++ b/glcddrivers/ks0108.c
@@ -429,6 +429,7 @@ void cDriverKS0108::SetPixel(int x, int y, uint32_t data)
{
x = width - 1 - x;
y = height - 1 - y;
+ } else {
pos = 7 - pos; // reverse bit position
}
diff --git a/glcddrivers/network.c b/glcddrivers/network.c
index 40399bc..5000fda 100644
--- a/glcddrivers/network.c
+++ b/glcddrivers/network.c
@@ -128,6 +128,7 @@ void cDriverNetwork::SetPixel(int x, int y, uint32_t data)
{
x = width - 1 - x;
y = height - 1 - y;
+ } else {
pos = 7 - pos; // reverse bit position
}
diff --git a/glcddrivers/sed1330.c b/glcddrivers/sed1330.c
index 588d8d3..872cf89 100644
--- a/glcddrivers/sed1330.c
+++ b/glcddrivers/sed1330.c
@@ -549,6 +549,7 @@ void cDriverSED1330::SetPixel(int x, int y, uint32_t data)
{
x = width - 1 - x;
y = height - 1 - y;
+ } else {
pos = 7 - pos; // reverse bit position
}
diff --git a/glcddrivers/sed1520.c b/glcddrivers/sed1520.c
index d48f11e..4692c64 100644
--- a/glcddrivers/sed1520.c
+++ b/glcddrivers/sed1520.c
@@ -312,6 +312,7 @@ void cDriverSED1520::SetPixel (int x, int y, uint32_t data)
{
x = width - 1 - x;
y = height - 1 - y;
+ } else {
pos = 7 - pos; // reverse bit position
}
diff --git a/glcdskin/object.c b/glcdskin/object.c
index 5c1e514..b2dffe7 100644
--- a/glcdskin/object.c
+++ b/glcdskin/object.c
@@ -658,7 +658,7 @@ void cSkinObject::Render(GLCD::cBitmap * screen)
mMultilineScrollPosition = 0;
} else if (multilineRelScroll > 0) {
mMultilineScrollPosition += multilineRelScroll;
- if (mMultilineScrollPosition > (lines.size() - amount_lines) )
+ if (mMultilineScrollPosition > (int)((lines.size() - amount_lines)) )
mMultilineScrollPosition = lines.size() - amount_lines;
}
}