diff options
| author | 2016-03-30 18:09:17 -0700 | |
|---|---|---|
| committer | 2016-03-30 18:09:18 -0700 | |
| commit | 70969ccde405ea410fc7ccfe869999a03f056686 (patch) | |
| tree | 03bb598f1e1de33746703cfc3cb221bda902c3ac /libs/hwui/GlopBuilder.cpp | |
| parent | af64f6341bdbca93aff3d68264af48e74faa9e58 (diff) | |
Fix layer damage and clipping for Text shadows
Fixes: 27787426
Change-Id: I4c65cca0cfcd343a9cfbaedd3a32b83f90df2ecf
Diffstat (limited to 'libs/hwui/GlopBuilder.cpp')
| -rw-r--r-- | libs/hwui/GlopBuilder.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/hwui/GlopBuilder.cpp b/libs/hwui/GlopBuilder.cpp index 2799def16b98..7d4f4100313f 100644 --- a/libs/hwui/GlopBuilder.cpp +++ b/libs/hwui/GlopBuilder.cpp @@ -492,7 +492,9 @@ GlopBuilder& GlopBuilder::setModelViewMapUnitToRect(const Rect destination) { mOutGlop->transform.modelView.loadTranslate(destination.left, destination.top, 0.0f); mOutGlop->transform.modelView.scale(destination.getWidth(), destination.getHeight(), 1.0f); +#if !HWUI_NEW_OPS mOutGlop->bounds = destination; +#endif return *this; } @@ -516,7 +518,9 @@ GlopBuilder& GlopBuilder::setModelViewMapUnitToRectSnap(const Rect destination) mOutGlop->transform.modelView.loadTranslate(left, top, 0.0f); mOutGlop->transform.modelView.scale(destination.getWidth(), destination.getHeight(), 1.0f); +#if !HWUI_NEW_OPS mOutGlop->bounds = destination; +#endif return *this; } @@ -524,8 +528,10 @@ GlopBuilder& GlopBuilder::setModelViewOffsetRect(float offsetX, float offsetY, c TRIGGER_STAGE(kModelViewStage); mOutGlop->transform.modelView.loadTranslate(offsetX, offsetY, 0.0f); +#if !HWUI_NEW_OPS mOutGlop->bounds = source; mOutGlop->bounds.translate(offsetX, offsetY); +#endif return *this; } @@ -545,8 +551,10 @@ GlopBuilder& GlopBuilder::setModelViewOffsetRectSnap(float offsetX, float offset } mOutGlop->transform.modelView.loadTranslate(offsetX, offsetY, 0.0f); +#if !HWUI_NEW_OPS mOutGlop->bounds = source; mOutGlop->bounds.translate(offsetX, offsetY); +#endif return *this; } @@ -643,7 +651,9 @@ void GlopBuilder::build() { // Final step: populate program and map bounds into render target space mOutGlop->fill.program = mCaches.programCache.get(mDescription); +#if !HWUI_NEW_OPS mOutGlop->transform.meshTransform().mapRect(mOutGlop->bounds); +#endif } void GlopBuilder::dump(const Glop& glop) { @@ -683,7 +693,9 @@ void GlopBuilder::dump(const Glop& glop) { ALOGD_IF(glop.roundRectClipState, "Glop RRCS %p", glop.roundRectClipState); ALOGD("Glop blend %d %d", glop.blend.src, glop.blend.dst); +#if !HWUI_NEW_OPS ALOGD("Glop bounds " RECT_STRING, RECT_ARGS(glop.bounds)); +#endif } } /* namespace uirenderer */ |