summaryrefslogtreecommitdiffstats
path: root/libs/hwui/FontRenderer.h
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2012-05-14 14:00:27 -0700
committerRomain Guy <romainguy@google.com>2012-05-14 14:06:02 -0700
commitae91c4cbc79ea910753be65e2f1d7899abcb4da2 (patch)
tree9391544d7731f84a661da570357be4f6c99cbf8d /libs/hwui/FontRenderer.h
parent2411c3361eb2c15b09a8bfadf5c7c4a3de092ea0 (diff)
downloadframeworks_base-ae91c4cbc79ea910753be65e2f1d7899abcb4da2.zip
frameworks_base-ae91c4cbc79ea910753be65e2f1d7899abcb4da2.tar.gz
frameworks_base-ae91c4cbc79ea910753be65e2f1d7899abcb4da2.tar.bz2
Properly pre-cache latin glyphs
Bug #6408362 Change-Id: Ie11644c5a9e2d87d3b851b7e619e5f04b60a7e02
Diffstat (limited to 'libs/hwui/FontRenderer.h')
-rw-r--r--libs/hwui/FontRenderer.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/libs/hwui/FontRenderer.h b/libs/hwui/FontRenderer.h
index 4fc5862..b5aa26b 100644
--- a/libs/hwui/FontRenderer.h
+++ b/libs/hwui/FontRenderer.h
@@ -41,11 +41,13 @@ namespace uirenderer {
#if RENDER_TEXT_AS_GLYPHS
typedef uint16_t glyph_t;
+ #define TO_GLYPH(g) g
#define GET_METRICS(paint, glyph) paint->getGlyphMetrics(glyph)
#define GET_GLYPH(text) nextGlyph((const uint16_t**) &text)
#define IS_END_OF_STRING(glyph) false
#else
typedef SkUnichar glyph_t;
+ #define TO_GLYPH(g) ((SkUnichar) g)
#define GET_METRICS(paint, glyph) paint->getUnicharMetrics(glyph)
#define GET_GLYPH(text) SkUTF16_NextUnichar((const uint16_t**) &text)
#define IS_END_OF_STRING(glyph) glyph < 0
@@ -98,7 +100,7 @@ public:
uint32_t mCurrentRow;
uint32_t mCurrentCol;
bool mDirty;
- CacheTexture *mCacheTexture;
+ CacheTexture* mCacheTexture;
};
struct CachedGlyphInfo {
@@ -236,8 +238,6 @@ public:
FontRenderer();
~FontRenderer();
- void init();
- void deinit();
void flushLargeCaches();
void setGammaTable(const uint8_t* gammaTable) {
@@ -278,6 +278,7 @@ public:
GLuint getTexture(bool linearFiltering = false) {
checkInit();
+
if (linearFiltering != mCurrentCacheTexture->mLinearFiltering) {
mCurrentCacheTexture->mLinearFiltering = linearFiltering;
mLinearFiltering = linearFiltering;
@@ -287,6 +288,7 @@ public:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, filtering);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, filtering);
}
+
return mCurrentCacheTexture->mTextureId;
}
@@ -326,7 +328,6 @@ protected:
void initRender(const Rect* clip, Rect* bounds);
void finishRender();
- String16 mLatinPrecache;
void precacheLatin(SkPaint* paint);
void issueDrawCommand();