Stefan Schuermans commited on 2011-09-11 11:27:59
Showing 3 changed files, with 8 additions and 9 deletions.
| ... | ... |
@@ -97,7 +97,7 @@ public class Display |
| 97 | 97 |
public void dataClear() |
| 98 | 98 |
{
|
| 99 | 99 |
byte [] black = {(byte)0, (byte)0, (byte)0};
|
| 100 |
- data(black, 0, 0, 0, 0, m_size.m_x, m_size.m_y); |
|
| 100 |
+ data(black, 0, 0, 0, 0, 0, m_size.m_x, m_size.m_y); |
|
| 101 | 101 |
} |
| 102 | 102 |
|
| 103 | 103 |
/** |
| ... | ... |
@@ -106,12 +106,13 @@ public class Display |
| 106 | 106 |
* pixels need to be in R8G8B8 format |
| 107 | 107 |
* @param[in] strideX stride between two pixels in X direction |
| 108 | 108 |
* @param[in] strideY stride between two pixels in Y direction |
| 109 |
+ * @param[in] base array index of top-left pixel |
|
| 109 | 110 |
* @param[in] x X coordinate of left side of rectangular area |
| 110 | 111 |
* @param[in] y Y coordinate of top side of rectangular area |
| 111 | 112 |
* @param[in] width with of rectangular area |
| 112 | 113 |
* @param[in] height height of rectangular area |
| 113 | 114 |
*/ |
| 114 |
- public void data(byte [] data, int strideX, int strideY, |
|
| 115 |
+ public void data(byte [] data, int strideX, int strideY, int base, |
|
| 115 | 116 |
int x, int y, int width, int height) |
| 116 | 117 |
{
|
| 117 | 118 |
int dist, out, pix, i, c; |
| ... | ... |
@@ -141,7 +142,7 @@ public class Display |
| 141 | 142 |
// check if pixel is within rectangular area of image |
| 142 | 143 |
if (rx >= 0 && rx < width && ry >= 0 && ry < height) {
|
| 143 | 144 |
// get pixel data and map it |
| 144 |
- src = rx * strideX + ry * strideY; |
|
| 145 |
+ src = rx * strideX + ry * strideY + base; |
|
| 145 | 146 |
distri.m_msgBuf[dest+0] = distri.m_mapRed.m_table[data[src+0] & 0xFF]; |
| 146 | 147 |
distri.m_msgBuf[dest+1] = distri.m_mapGreen.m_table[data[src+1] & 0xFF]; |
| 147 | 148 |
distri.m_msgBuf[dest+2] = distri.m_mapBlue.m_table[data[src+2] & 0xFF]; |
| ... | ... |
@@ -71,12 +71,10 @@ public class Fade |
| 71 | 71 |
display.data(image, |
| 72 | 72 |
3, // consecutive pixels are 3 bytes apart |
| 73 | 73 |
width * 3, // consecutive lines are width * 3 bytes apart |
| 74 |
- 0, 0, width, height); |
|
| 74 |
+ 0, // top-left pixel is at array index 0 |
|
| 75 |
+ 0, 0, // top-left pixel is 0,0 |
|
| 76 |
+ width, height); // image size is width,height |
|
| 75 | 77 |
display.send(); |
| 76 |
- try {
|
|
| 77 |
- Thread.sleep(500); |
|
| 78 |
- } catch (InterruptedException e) {
|
|
| 79 |
- } |
|
| 80 | 78 |
|
| 81 | 79 |
// free display |
| 82 | 80 |
display = null; |
| 83 | 81 |