diff options
author | robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-10-01 14:32:51 +0000 |
---|---|---|
committer | robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-10-01 14:32:51 +0000 |
commit | ffad46b264de469b2dd51aab6caaef71099fdbbf (patch) | |
tree | 77d41eb666e2c432d9bbc4afe492e8c70458ace8 /gm | |
parent | 35e535a10fee7a738f8add54fc17271af0297a2a (diff) |
Fixed bug in drawing of large bitmaps
https://codereview.appspot.com/6595047/
git-svn-id: http://skia.googlecode.com/svn/trunk@5745 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gm')
-rw-r--r-- | gm/bitmaprect.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/gm/bitmaprect.cpp b/gm/bitmaprect.cpp index ee95e45ee6..c438776328 100644 --- a/gm/bitmaprect.cpp +++ b/gm/bitmaprect.cpp @@ -206,13 +206,23 @@ protected: SkBitmap bitmap; make_big_bitmap(&bitmap); - SkRect srcR = { 0.0f, 0.0f, 4096.0f, 2040.0f }; - SkRect dstR = { 10.1f, 10.1f, 629.9f, 469.9f }; + SkRect srcR1 = { 0.0f, 0.0f, 4096.0f, 2040.0f }; + SkRect dstR1 = { 10.1f, 10.1f, 629.9f, 400.9f }; + + SkRect srcR2 = { 4085.0f, 10.0f, 4087.0f, 12.0f }; + SkRect dstR2 = { 10, 410, 30, 430 }; if (!fUseIRect) { - canvas->drawBitmapRectToRect(bitmap, &srcR, dstR, &paint); + canvas->drawBitmapRectToRect(bitmap, &srcR1, dstR1, &paint); + canvas->drawBitmapRectToRect(bitmap, &srcR2, dstR2, &paint); } else { - canvas->drawBitmapRect(bitmap, NULL, dstR, &paint); + SkIRect iSrcR1, iSrcR2; + + srcR1.roundOut(&iSrcR1); + srcR2.roundOut(&iSrcR2); + + canvas->drawBitmapRect(bitmap, &iSrcR1, dstR1, &paint); + canvas->drawBitmapRect(bitmap, &iSrcR2, dstR2, &paint); } } |