am d1f6b624: Merge "Take text alignment into account to compue text bounds Bug #10258621" into klp-dev

* commit 'd1f6b6245c546f95a44d0252544ea9e2028a33b4':
  Take text alignment into account to compue text bounds Bug #10258621
This commit is contained in:
Romain Guy
2013-08-12 14:26:56 -07:00
committed by Android Git Automerger

View File

@@ -610,6 +610,7 @@ static void renderText(OpenGLRenderer* renderer, const jchar* text, int count,
const jchar* glyphs = value->getGlyphs(); const jchar* glyphs = value->getGlyphs();
size_t glyphsCount = value->getGlyphsCount(); size_t glyphsCount = value->getGlyphsCount();
jfloat totalAdvance = value->getTotalAdvance(); jfloat totalAdvance = value->getTotalAdvance();
x += xOffsetForTextAlign(paint, totalAdvance);
const float* positions = value->getPos(); const float* positions = value->getPos();
int bytesCount = glyphsCount * sizeof(jchar); int bytesCount = glyphsCount * sizeof(jchar);
const SkRect& r = value->getBounds(); const SkRect& r = value->getBounds();
@@ -617,8 +618,7 @@ static void renderText(OpenGLRenderer* renderer, const jchar* text, int count,
bounds.translate(x, y); bounds.translate(x, y);
renderer->drawText((const char*) glyphs, bytesCount, glyphsCount, renderer->drawText((const char*) glyphs, bytesCount, glyphsCount,
x + xOffsetForTextAlign(paint, totalAdvance), y, positions, x, y, positions, paint, totalAdvance, bounds);
paint, totalAdvance, bounds);
} }
static void renderTextOnPath(OpenGLRenderer* renderer, const jchar* text, int count, static void renderTextOnPath(OpenGLRenderer* renderer, const jchar* text, int count,
@@ -646,6 +646,7 @@ static void renderTextRun(OpenGLRenderer* renderer, const jchar* text,
const jchar* glyphs = value->getGlyphs(); const jchar* glyphs = value->getGlyphs();
size_t glyphsCount = value->getGlyphsCount(); size_t glyphsCount = value->getGlyphsCount();
jfloat totalAdvance = value->getTotalAdvance(); jfloat totalAdvance = value->getTotalAdvance();
x += xOffsetForTextAlign(paint, totalAdvance);
const float* positions = value->getPos(); const float* positions = value->getPos();
int bytesCount = glyphsCount * sizeof(jchar); int bytesCount = glyphsCount * sizeof(jchar);
const SkRect& r = value->getBounds(); const SkRect& r = value->getBounds();
@@ -653,8 +654,7 @@ static void renderTextRun(OpenGLRenderer* renderer, const jchar* text,
bounds.translate(x, y); bounds.translate(x, y);
renderer->drawText((const char*) glyphs, bytesCount, glyphsCount, renderer->drawText((const char*) glyphs, bytesCount, glyphsCount,
x + xOffsetForTextAlign(paint, totalAdvance), y, positions, x, y, positions, paint, totalAdvance, bounds);
paint, totalAdvance, bounds);
} }
static void android_view_GLES20Canvas_drawTextArray(JNIEnv* env, jobject clazz, static void android_view_GLES20Canvas_drawTextArray(JNIEnv* env, jobject clazz,