summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorVictoria Lease <violets@google.com>2013-12-18 15:25:23 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-12-18 15:25:24 +0000
commit868399cdf48a2459b58a64a906dce5d127458800 (patch)
tree69f2dec7f3d8cad1ea56f97e9f77521138815191 /libs
parent65048bdce7a14d891d32c39369b3d81dd6916d6f (diff)
parent2ee2d59b7d10733e7e11e398d2316035d3b36c73 (diff)
downloadframeworks_base-868399cdf48a2459b58a64a906dce5d127458800.zip
frameworks_base-868399cdf48a2459b58a64a906dce5d127458800.tar.gz
frameworks_base-868399cdf48a2459b58a64a906dce5d127458800.tar.bz2
Merge "pass SkGlyphCache into updateGlyphCache()"
Diffstat (limited to 'libs')
-rw-r--r--libs/hwui/font/Font.cpp11
-rw-r--r--libs/hwui/font/Font.h5
2 files changed, 8 insertions, 8 deletions
diff --git a/libs/hwui/font/Font.cpp b/libs/hwui/font/Font.cpp
index 3e0124c..12a9c23 100644
--- a/libs/hwui/font/Font.cpp
+++ b/libs/hwui/font/Font.cpp
@@ -274,7 +274,7 @@ CachedGlyphInfo* Font::getCachedGlyph(SkPaint* paint, glyph_t textUnit, bool pre
if (!cachedGlyph->mIsValid) {
SkAutoGlyphCache autoCache(*paint, NULL, &mDescription.mLookupTransform);
const SkGlyph& skiaGlyph = GET_METRICS(autoCache.getCache(), textUnit);
- updateGlyphCache(paint, skiaGlyph, cachedGlyph, precaching);
+ updateGlyphCache(paint, skiaGlyph, autoCache.getCache(), cachedGlyph, precaching);
}
} else {
cachedGlyph = cacheGlyph(paint, textUnit, precaching);
@@ -416,8 +416,8 @@ void Font::render(SkPaint* paint, const char* text, uint32_t start, uint32_t len
}
}
-void Font::updateGlyphCache(SkPaint* paint, const SkGlyph& skiaGlyph, CachedGlyphInfo* glyph,
- bool precaching) {
+void Font::updateGlyphCache(SkPaint* paint, const SkGlyph& skiaGlyph, SkGlyphCache* skiaGlyphCache,
+ CachedGlyphInfo* glyph, bool precaching) {
glyph->mAdvanceX = skiaGlyph.fAdvanceX;
glyph->mAdvanceY = skiaGlyph.fAdvanceY;
glyph->mBitmapLeft = skiaGlyph.fLeft;
@@ -429,9 +429,8 @@ void Font::updateGlyphCache(SkPaint* paint, const SkGlyph& skiaGlyph, CachedGlyp
uint32_t startY = 0;
// Get the bitmap for the glyph
- SkAutoGlyphCache autoCache(*paint, NULL, &mDescription.mLookupTransform);
if (!skiaGlyph.fImage) {
- autoCache.getCache()->findImage(skiaGlyph);
+ skiaGlyphCache->findImage(skiaGlyph);
}
mState->cacheBitmap(skiaGlyph, glyph, &startX, &startY, precaching);
@@ -470,7 +469,7 @@ CachedGlyphInfo* Font::cacheGlyph(SkPaint* paint, glyph_t glyph, bool precaching
newGlyph->mIsValid = false;
newGlyph->mGlyphIndex = skiaGlyph.fID;
- updateGlyphCache(paint, skiaGlyph, newGlyph, precaching);
+ updateGlyphCache(paint, skiaGlyph, autoCache.getCache(), newGlyph, precaching);
return newGlyph;
}
diff --git a/libs/hwui/font/Font.h b/libs/hwui/font/Font.h
index 9e7ec2d..f68b430 100644
--- a/libs/hwui/font/Font.h
+++ b/libs/hwui/font/Font.h
@@ -19,6 +19,7 @@
#include <utils/KeyedVector.h>
+#include <SkGlyphCache.h>
#include <SkScalerContext.h>
#include <SkPaint.h>
#include <SkPathMeasure.h>
@@ -117,8 +118,8 @@ private:
void invalidateTextureCache(CacheTexture* cacheTexture = NULL);
CachedGlyphInfo* cacheGlyph(SkPaint* paint, glyph_t glyph, bool precaching);
- void updateGlyphCache(SkPaint* paint, const SkGlyph& skiaGlyph, CachedGlyphInfo* glyph,
- bool precaching);
+ void updateGlyphCache(SkPaint* paint, const SkGlyph& skiaGlyph, SkGlyphCache* skiaGlyphCache,
+ CachedGlyphInfo* glyph, bool precaching);
void measureCachedGlyph(CachedGlyphInfo* glyph, int x, int y,
uint8_t *bitmap, uint32_t bitmapW, uint32_t bitmapH,