diff options
author | Teng-Hui Zhu <ztenghui@google.com> | 2011-08-22 14:40:07 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-08-22 14:40:07 -0700 |
commit | ed38269b68d46d6aaa137dea8c022bc7f9c4996d (patch) | |
tree | d2b3b2d596bab375e72a760fc990752b2079f919 | |
parent | dae37cc1d6a4927000976634ecd7e55b30de3b32 (diff) | |
parent | 1af71ac3df81a9b312f5375ae3cb6c33c129227b (diff) | |
download | external_webkit-ed38269b68d46d6aaa137dea8c022bc7f9c4996d.zip external_webkit-ed38269b68d46d6aaa137dea8c022bc7f9c4996d.tar.gz external_webkit-ed38269b68d46d6aaa137dea8c022bc7f9c4996d.tar.bz2 |
Merge "Merge the line by line copy into one when appropiate"
-rw-r--r-- | Source/WebCore/platform/graphics/android/TransferQueue.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/Source/WebCore/platform/graphics/android/TransferQueue.cpp b/Source/WebCore/platform/graphics/android/TransferQueue.cpp index 8b4b596..00c9e68 100644 --- a/Source/WebCore/platform/graphics/android/TransferQueue.cpp +++ b/Source/WebCore/platform/graphics/android/TransferQueue.cpp @@ -316,12 +316,16 @@ void TransferQueue::updateQueueWithBitmap(const TileRenderInfo* renderInfo, if (!x && !y && bitmap.width() == width && bitmap.height() == height) { bitmap.lockPixels(); uint8_t* bitmapOrigin = static_cast<uint8_t*>(bitmap.getPixels()); - // Copied line by line since we need to handle the offsets and stride. - for (row = 0 ; row < bitmap.height(); row ++) { - uint8_t* dst = &(img[(buffer.stride * (row + x) + y) * bpp]); - uint8_t* src = &(bitmapOrigin[bitmap.width() * row * bpp]); - memcpy(dst, src, bpp * bitmap.width()); - } + if (buffer.stride != bitmap.width()) + // Copied line by line since we need to handle the offsets and stride. + for (row = 0 ; row < bitmap.height(); row ++) { + uint8_t* dst = &(img[buffer.stride * row * bpp]); + uint8_t* src = &(bitmapOrigin[bitmap.width() * row * bpp]); + memcpy(dst, src, bpp * bitmap.width()); + } + else + memcpy(img, bitmapOrigin, bpp * bitmap.width() * bitmap.height()); + bitmap.unlockPixels(); } else { // TODO: implement the partial invalidate here! |