Index: src/gpu/GrBitmapTextContext.cpp |
diff --git a/src/gpu/GrBitmapTextContext.cpp b/src/gpu/GrBitmapTextContext.cpp |
index fa70d3270ba1fe6999138d63127be59f71b2841d..a1196dc494c02bc273bcd413c03b095d1819a657 100755 |
--- a/src/gpu/GrBitmapTextContext.cpp |
+++ b/src/gpu/GrBitmapTextContext.cpp |
@@ -16,7 +16,6 @@ |
#include "GrTextStrike_impl.h" |
#include "effects/GrCustomCoordsTextureEffect.h" |
-#include "SkAutoKern.h" |
#include "SkColorPriv.h" |
#include "SkDraw.h" |
#include "SkDrawProcs.h" |
@@ -91,97 +90,6 @@ inline void GrBitmapTextContext::init(const GrPaint& paint, const SkPaint& skPai |
fMaxVertices = 0; |
} |
-void GrBitmapTextContext::onDrawText(const GrPaint& paint, const SkPaint& skPaint, |
- const char text[], size_t byteLength, |
- SkScalar x, SkScalar y) { |
- SkASSERT(byteLength == 0 || text != NULL); |
- |
- // nothing to draw |
- if (text == NULL || byteLength == 0 /*|| fRC->isEmpty()*/) { |
- return; |
- } |
- |
- this->init(paint, skPaint); |
- |
- SkDrawCacheProc glyphCacheProc = fSkPaint.getDrawCacheProc(); |
- |
- SkAutoGlyphCache autoCache(fSkPaint, &fDeviceProperties, &fContext->getMatrix()); |
- SkGlyphCache* cache = autoCache.getCache(); |
- GrFontScaler* fontScaler = GetGrFontScaler(cache); |
- |
- // transform our starting point |
- { |
- SkPoint loc; |
- fContext->getMatrix().mapXY(x, y, &loc); |
- x = loc.fX; |
- y = loc.fY; |
- } |
- |
- // need to measure first |
- if (fSkPaint.getTextAlign() != SkPaint::kLeft_Align) { |
- SkVector stop; |
- |
- MeasureText(cache, glyphCacheProc, text, byteLength, &stop); |
- |
- SkScalar stopX = stop.fX; |
- SkScalar stopY = stop.fY; |
- |
- if (fSkPaint.getTextAlign() == SkPaint::kCenter_Align) { |
- stopX = SkScalarHalf(stopX); |
- stopY = SkScalarHalf(stopY); |
- } |
- x -= stopX; |
- y -= stopY; |
- } |
- |
- const char* stop = text + byteLength; |
- |
- SkAutoKern autokern; |
- |
- SkFixed fxMask = ~0; |
- SkFixed fyMask = ~0; |
- SkFixed halfSampleX, halfSampleY; |
- if (cache->isSubpixel()) { |
- halfSampleX = halfSampleY = (SK_FixedHalf >> SkGlyph::kSubBits); |
- SkAxisAlignment baseline = SkComputeAxisAlignmentForHText(fContext->getMatrix()); |
- if (kX_SkAxisAlignment == baseline) { |
- fyMask = 0; |
- halfSampleY = SK_FixedHalf; |
- } else if (kY_SkAxisAlignment == baseline) { |
- fxMask = 0; |
- halfSampleX = SK_FixedHalf; |
- } |
- } else { |
- halfSampleX = halfSampleY = SK_FixedHalf; |
- } |
- |
- SkFixed fx = SkScalarToFixed(x) + halfSampleX; |
- SkFixed fy = SkScalarToFixed(y) + halfSampleY; |
- |
- GrContext::AutoMatrix autoMatrix; |
- autoMatrix.setIdentity(fContext, &fPaint); |
- |
- while (text < stop) { |
- const SkGlyph& glyph = glyphCacheProc(cache, &text, fx & fxMask, fy & fyMask); |
- |
- fx += autokern.adjust(glyph); |
- |
- if (glyph.fWidth) { |
- this->appendGlyph(GrGlyph::Pack(glyph.getGlyphID(), |
- glyph.getSubXFixed(), |
- glyph.getSubYFixed()), |
- SkFixedFloorToFixed(fx), |
- SkFixedFloorToFixed(fy), |
- fontScaler); |
- } |
- |
- fx += glyph.fAdvanceX; |
- fy += glyph.fAdvanceY; |
- } |
- |
- this->finish(); |
-} |
- |
void GrBitmapTextContext::onDrawPosText(const GrPaint& paint, const SkPaint& skPaint, |
const char text[], size_t byteLength, |
const SkScalar pos[], int scalarsPerPosition, |