diff options
author | Romain Guy <romainguy@google.com> | 2013-06-20 18:30:28 -0700 |
---|---|---|
committer | Romain Guy <romainguy@google.com> | 2013-06-21 10:13:58 -0700 |
commit | 03c00b5a135e68d22ca5bb829b899ebda6ed7e9d (patch) | |
tree | 7538aa95ebbfb5c06aaaebbd22966cddcce2ee1e /libs/hwui/OpenGLRenderer.h | |
parent | d485ef27c795648c4a05c4c089e8c5a15712fd36 (diff) | |
download | frameworks_base-03c00b5a135e68d22ca5bb829b899ebda6ed7e9d.zip frameworks_base-03c00b5a135e68d22ca5bb829b899ebda6ed7e9d.tar.gz frameworks_base-03c00b5a135e68d22ca5bb829b899ebda6ed7e9d.tar.bz2 |
Batch 9-patches in a single mesh whenever possible
This change also fixes the way batched bitmaps were handled
inside a layer. The layer is now correctly dirtied to minimize
the amount of pixels to blend.
Fix alpha, mode and opaque computations for DrawPatchOp.
Change-Id: I1b6cd581c0f0db66c1002bb4fb1a9811e55bfa78
Diffstat (limited to 'libs/hwui/OpenGLRenderer.h')
-rw-r--r-- | libs/hwui/OpenGLRenderer.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libs/hwui/OpenGLRenderer.h b/libs/hwui/OpenGLRenderer.h index 0760f9c..548501d 100644 --- a/libs/hwui/OpenGLRenderer.h +++ b/libs/hwui/OpenGLRenderer.h @@ -297,10 +297,12 @@ public: virtual status_t drawBitmapData(SkBitmap* bitmap, float left, float top, SkPaint* paint); virtual status_t drawBitmapMesh(SkBitmap* bitmap, int meshWidth, int meshHeight, float* vertices, int* colors, SkPaint* paint); + status_t drawPatches(SkBitmap* bitmap, AssetAtlas::Entry* entry, + TextureVertex* vertices, uint32_t indexCount, SkPaint* paint); virtual status_t drawPatch(SkBitmap* bitmap, Res_png_9patch* patch, float left, float top, float right, float bottom, SkPaint* paint); status_t drawPatch(SkBitmap* bitmap, const Patch* mesh, AssetAtlas::Entry* entry, - float left, float top, float right, float bottom, int alpha, SkXfermode::Mode mode); + float left, float top, float right, float bottom, SkPaint* paint); virtual status_t drawColor(int color, SkXfermode::Mode mode); virtual status_t drawRect(float left, float top, float right, float bottom, SkPaint* paint); virtual status_t drawRoundRect(float left, float top, float right, float bottom, @@ -1115,6 +1117,8 @@ private: friend class DisplayListRenderer; friend class Layer; friend class TextSetupFunctor; + friend class DrawBitmapOp; + friend class DrawPatchOp; }; // class OpenGLRenderer |