Add support for textScaleX.

This will not look great because we render fonts using bitmaps, not
paths.

Change-Id: I01b87b81bfbdbfa28460a5d5309d38e2a65e77c4
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index 3440687..49d49da 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -575,6 +575,14 @@
         return;
     }
 
+    float scaleX = paint->getTextScaleX();
+    bool applyScaleX = scaleX < 0.9999f || scaleX > 1.0001f;
+    if (applyScaleX) {
+        save(0);
+        translate(x - (x * scaleX), 0.0f);
+        scale(scaleX, 1.0f);
+    }
+
     float length = -1.0f;
     switch (paint->getTextAlign()) {
         case SkPaint::kCenter_Align:
@@ -626,6 +634,10 @@
     glDisableVertexAttribArray(mCurrentProgram->getAttrib("texCoords"));
 
     drawTextDecorations(text, bytesCount, length, x, y, paint);
+
+    if (applyScaleX) {
+        restore();
+    }
 }
 
 void OpenGLRenderer::drawPath(SkPath* path, SkPaint* paint) {