diff options
author | Tor Lillqvist <tml@iki.fi> | 2013-02-25 22:07:36 +0200 |
---|---|---|
committer | Tor Lillqvist <tml@iki.fi> | 2013-02-25 22:15:57 +0200 |
commit | b917d352d97581122e5e445db54dd62565709a3f (patch) | |
tree | e72c672e122e4eaff57637274c3d9392842b9273 /vcl/android | |
parent | 9a471b8cd85d1c08d53ed2675e580ca9466ca433 (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
Diffstat (limited to 'vcl/android')
-rw-r--r-- | vcl/android/androidinst.cxx | 9 |
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; |