Fix 9patches in Launcher
Change-Id: Ieedf36ccaab253909b44ed8c222d523867f095be
diff --git a/libs/hwui/Patch.cpp b/libs/hwui/Patch.cpp
index 3f0036a..999e4ea 100644
--- a/libs/hwui/Patch.cpp
+++ b/libs/hwui/Patch.cpp
@@ -167,6 +167,10 @@
float v2 = fmax(0.0f, stepY - 0.5f) / bitmapHeight;
if (stepY > 0.0f) {
+ if (i == mYCount - 1 && mYDivs[i] == bitmapHeight) {
+ y2 = bottom - top;
+ v2 = 1.0f;
+ }
generateRow(vertex, y1, y2, v1, v2, stretchX, right - left,
bitmapWidth, quadCount);
}
@@ -177,8 +181,10 @@
previousStepY = stepY;
}
- generateRow(vertex, y1, bottom - top, v1, 1.0f, stretchX, right - left,
- bitmapWidth, quadCount);
+ if (previousStepY != bitmapHeight) {
+ generateRow(vertex, y1, bottom - top, v1, 1.0f, stretchX, right - left,
+ bitmapWidth, quadCount);
+ }
if (verticesCount > 0) {
Caches::getInstance().bindMeshBuffer(meshBuffer);
@@ -216,6 +222,10 @@
float u2 = fmax(0.0f, stepX - 0.5f) / bitmapWidth;
if (stepX > 0.0f) {
+ if (i == mXCount - 1 && mXDivs[i] == bitmapWidth) {
+ x2 = bitmapWidth;
+ u2 = 1.0f;
+ }
generateQuad(vertex, x1, y1, x2, y2, u1, v1, u2, v2, quadCount);
}
@@ -225,7 +235,9 @@
previousStepX = stepX;
}
- generateQuad(vertex, x1, y1, width, y2, u1, v1, 1.0f, v2, quadCount);
+ if (previousStepX != bitmapWidth) {
+ generateQuad(vertex, x1, y1, width, y2, u1, v1, 1.0f, v2, quadCount);
+ }
}
void Patch::generateQuad(TextureVertex*& vertex, float x1, float y1, float x2, float y2,