diff options
author | Romain Guy <romainguy@google.com> | 2012-05-14 19:44:40 -0700 |
---|---|---|
committer | Romain Guy <romainguy@google.com> | 2012-05-14 19:44:40 -0700 |
commit | e651cc6239616a202f6e96ebc2ed93b4b8b3627c (patch) | |
tree | 7aa90f8cccc91555bd652d0a88a898a026cdc333 /libs/hwui/OpenGLRenderer.cpp | |
parent | 99a6ddd4cd8762654a575eb4ac3d0e5431d919b8 (diff) | |
download | frameworks_base-e651cc6239616a202f6e96ebc2ed93b4b8b3627c.zip frameworks_base-e651cc6239616a202f6e96ebc2ed93b4b8b3627c.tar.gz frameworks_base-e651cc6239616a202f6e96ebc2ed93b4b8b3627c.tar.bz2 |
Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...)
Change-Id: Ie28538a2104d21154fdc78a56525e7403f08287d
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
-rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index da2192f..7f242c3 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -1502,6 +1502,21 @@ void OpenGLRenderer::drawBitmap(SkBitmap* bitmap, SkMatrix* matrix, SkPaint* pai restore(); } +void OpenGLRenderer::drawBitmapData(SkBitmap* bitmap, float left, float top, SkPaint* paint) { + const float right = left + bitmap->width(); + const float bottom = top + bitmap->height(); + + if (quickReject(left, top, right, bottom)) { + return; + } + + mCaches.activeTexture(0); + Texture* texture = mCaches.textureCache.getTransient(bitmap); + const AutoTexture autoCleanup(texture); + + drawTextureRect(left, top, right, bottom, texture, paint); +} + void OpenGLRenderer::drawBitmapMesh(SkBitmap* bitmap, int meshWidth, int meshHeight, float* vertices, int* colors, SkPaint* paint) { // TODO: Do a quickReject |