summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2013-02-25 22:07:36 +0200
committerTor Lillqvist <tml@iki.fi>2013-02-25 22:15:57 +0200
commitb917d352d97581122e5e445db54dd62565709a3f (patch)
treee72c672e122e4eaff57637274c3d9392842b9273
parent9a471b8cd85d1c08d53ed2675e580ca9466ca433 (diff)
The source buffer (virtual device) has 4 bytes per pixel, too
Now the desktop-style Writer window looks fine on my device. (The app still crashes quickly, though.) Change-Id: I2542fba653cfef651f207388f1fd98d186485d3b
-rw-r--r--vcl/android/androidinst.cxx9
1 files changed, 4 insertions, 5 deletions
diff --git a/vcl/android/androidinst.cxx b/vcl/android/androidinst.cxx
index 8bd285f1d310..339d2e764abb 100644
--- a/vcl/android/androidinst.cxx
+++ b/vcl/android/androidinst.cxx
@@ -221,11 +221,10 @@ static void BlitFrameRegionToWindow(ANativeWindow_Buffer *pOutBuffer,
// FIXME: do some cropping goodness on aSrcRect to ensure no overflows etc.
ARect aSrcRect = rSrcRect;
- // FIXME: by default we have WINDOW_FORMAT_RGB_565 = 4 ...
for (unsigned int y = 0; y < (unsigned int)(aSrcRect.bottom - aSrcRect.top); y++)
{
unsigned char *sp = ( pSrc + nStride * (aSrcRect.top + y) +
- aSrcRect.left * 3 /* src pixel size */ );
+ aSrcRect.left * 4 /* src pixel size */ );
switch (pOutBuffer->format) {
case WINDOW_FORMAT_RGBA_8888:
@@ -236,9 +235,9 @@ static void BlitFrameRegionToWindow(ANativeWindow_Buffer *pOutBuffer,
nDestX * 4 /* dest pixel size */ );
for (unsigned int x = 0; x < (unsigned int)(aSrcRect.right - aSrcRect.left); x++)
{
- dp[x*4 + 0] = sp[x*3 + 2]; // R
- dp[x*4 + 1] = sp[x*3 + 1]; // G
- dp[x*4 + 2] = sp[x*3 + 0]; // B
+ dp[x*4 + 0] = sp[x*4 + 2]; // R
+ dp[x*4 + 1] = sp[x*4 + 1]; // G
+ dp[x*4 + 2] = sp[x*4 + 0]; // B
dp[x*4 + 3] = 255; // A
}
break;