Kaydet (Commit) b917d352 authored tarafından Tor Lillqvist's avatar Tor Lillqvist

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
üst 9a471b8c
...@@ -221,11 +221,10 @@ static void BlitFrameRegionToWindow(ANativeWindow_Buffer *pOutBuffer, ...@@ -221,11 +221,10 @@ static void BlitFrameRegionToWindow(ANativeWindow_Buffer *pOutBuffer,
// FIXME: do some cropping goodness on aSrcRect to ensure no overflows etc. // FIXME: do some cropping goodness on aSrcRect to ensure no overflows etc.
ARect aSrcRect = rSrcRect; 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++) for (unsigned int y = 0; y < (unsigned int)(aSrcRect.bottom - aSrcRect.top); y++)
{ {
unsigned char *sp = ( pSrc + nStride * (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) { switch (pOutBuffer->format) {
case WINDOW_FORMAT_RGBA_8888: case WINDOW_FORMAT_RGBA_8888:
...@@ -236,9 +235,9 @@ static void BlitFrameRegionToWindow(ANativeWindow_Buffer *pOutBuffer, ...@@ -236,9 +235,9 @@ static void BlitFrameRegionToWindow(ANativeWindow_Buffer *pOutBuffer,
nDestX * 4 /* dest pixel size */ ); nDestX * 4 /* dest pixel size */ );
for (unsigned int x = 0; x < (unsigned int)(aSrcRect.right - aSrcRect.left); x++) 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 + 0] = sp[x*4 + 2]; // R
dp[x*4 + 1] = sp[x*3 + 1]; // G dp[x*4 + 1] = sp[x*4 + 1]; // G
dp[x*4 + 2] = sp[x*3 + 0]; // B dp[x*4 + 2] = sp[x*4 + 0]; // B
dp[x*4 + 3] = 255; // A dp[x*4 + 3] = 255; // A
} }
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment