diff options
Diffstat (limited to 'core/jni')
-rw-r--r-- | core/jni/android/graphics/NinePatchImpl.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/core/jni/android/graphics/NinePatchImpl.cpp b/core/jni/android/graphics/NinePatchImpl.cpp index a3e36ee..579749a 100644 --- a/core/jni/android/graphics/NinePatchImpl.cpp +++ b/core/jni/android/graphics/NinePatchImpl.cpp @@ -160,6 +160,14 @@ void NinePatch_Draw(SkCanvas* canvas, const SkRect& bounds, return; } + // if the nine patch is bigger than the dst on a given axis we cannot + // stretch properly so just draw the bitmap as best as possible and return + if (bitmap.width() >= bounds.width() || bitmap.height() >= bounds.height()) + { + canvas->drawBitmapRect(bitmap, NULL, bounds, paint); + return; + } + // should try a quick-reject test before calling lockPixels SkAutoLockPixels alp(bitmap); |