From ec19b4a764d512091a780fc93ced567dfbf80914 Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Thu, 7 Jul 2011 21:05:04 -0700 Subject: Use NEAREST filtering mode for TextureView.getBitmap(). Change-Id: I4649062bbdf18ebba7924bdf578f39ad8f6576ac --- libs/hwui/OpenGLRenderer.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'libs/hwui/OpenGLRenderer.cpp') diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index cb5a82b7bb24..06e3b290653e 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -645,7 +645,9 @@ void OpenGLRenderer::drawTextureLayer(Layer* layer, const Rect& rect) { } else { setupDrawExternalTexture(layer->getTexture()); } - if (mSnapshot->transform->isPureTranslate()) { + if (mSnapshot->transform->isPureTranslate() && + layer->getWidth() == (uint32_t) rect.getWidth() && + layer->getHeight() == (uint32_t) rect.getHeight()) { const float x = (int) floorf(rect.left + mSnapshot->transform->getTranslateX() + 0.5f); const float y = (int) floorf(rect.top + mSnapshot->transform->getTranslateY() + 0.5f); @@ -673,7 +675,9 @@ void OpenGLRenderer::composeLayerRect(Layer* layer, const Rect& rect, bool swap) float y = rect.top; bool simpleTransform = mSnapshot->transform->isPureTranslate(); - if (simpleTransform) { + if (simpleTransform && + layer->getWidth() == (uint32_t) rect.getWidth() && + layer->getHeight() == (uint32_t) rect.getHeight()) { // When we're swapping, the layer is already in screen coordinates if (!swap) { x = (int) floorf(rect.left + mSnapshot->transform->getTranslateX() + 0.5f); -- cgit v1.2.3-59-g8ed1b