diff options
| author | Romain Guy <romainguy@google.com> | 2010-10-15 16:06:03 -0700 |
|---|---|---|
| committer | Romain Guy <romainguy@google.com> | 2010-10-15 16:06:03 -0700 |
| commit | 9d13fe25f4f10b25776b1dc5c858f9ebb0b28b30 (patch) | |
| tree | 9ea9d664453cffdd499fad587693e5dcf12e4c88 /libs/hwui/OpenGLRenderer.cpp | |
| parent | e5ebcb0107a939395e03592fd44c746cd09e311d (diff) | |
| download | frameworks_base-9d13fe25f4f10b25776b1dc5c858f9ebb0b28b30.zip frameworks_base-9d13fe25f4f10b25776b1dc5c858f9ebb0b28b30.tar.gz frameworks_base-9d13fe25f4f10b25776b1dc5c858f9ebb0b28b30.tar.bz2 | |
Fix text rendering artifact.
Change-Id: I50f47207846e4208d363dde4e8f5f1a0f23d2d75
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
| -rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index 0a95408..97bb73f 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -865,6 +865,10 @@ void OpenGLRenderer::drawText(const char* text, int bytesCount, int count, fontRenderer.setFont(paint, SkTypeface::UniqueID(paint->getTypeface()), paint->getTextSize()); + Rect clipRect(*mSnapshot->clipRect); + glScissor(clipRect.left, mSnapshot->height - clipRect.bottom, + clipRect.getWidth(), clipRect.getHeight()); + if (mHasShadow) { glActiveTexture(gTextureUnits[0]); mCaches.dropShadowCache.setFontRenderer(fontRenderer); @@ -889,12 +893,15 @@ void OpenGLRenderer::drawText(const char* text, int bytesCount, int count, const Rect& clip = mSnapshot->getLocalClip(); clearLayerRegions(); + fontRenderer.renderText(paint, &clip, text, 0, bytesCount, count, x, y); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); glDisableVertexAttribArray(mCaches.currentProgram->getAttrib("texCoords")); drawTextDecorations(text, bytesCount, length, x, y, paint); + + setScissorFromClip(); } void OpenGLRenderer::drawPath(SkPath* path, SkPaint* paint) { |
