Merge "Text would disappear when the font size is 75px. Bug #5230196"

This commit is contained in:
Romain Guy
2011-08-30 14:43:06 -07:00
committed by Android (Google) Code Review

View File

@@ -394,14 +394,14 @@ void FontRenderer::flushAllAndInvalidate() {
bool FontRenderer::cacheBitmap(const SkGlyph& glyph, uint32_t* retOriginX, uint32_t* retOriginY) { bool FontRenderer::cacheBitmap(const SkGlyph& glyph, uint32_t* retOriginX, uint32_t* retOriginY) {
// If the glyph is too tall, don't cache it // If the glyph is too tall, don't cache it
if (glyph.fHeight > mCacheLines[mCacheLines.size() - 1]->mMaxHeight) { if (glyph.fHeight + 2 > mCacheLines[mCacheLines.size() - 1]->mMaxHeight) {
if (mCacheHeight < MAX_TEXT_CACHE_HEIGHT) { if (mCacheHeight < MAX_TEXT_CACHE_HEIGHT) {
// Default cache not large enough for large glyphs - resize cache to // Default cache not large enough for large glyphs - resize cache to
// max size and try again // max size and try again
flushAllAndInvalidate(); flushAllAndInvalidate();
initTextTexture(true); initTextTexture(true);
} }
if (glyph.fHeight > mCacheLines[mCacheLines.size() - 1]->mMaxHeight) { if (glyph.fHeight + 2 > mCacheLines[mCacheLines.size() - 1]->mMaxHeight) {
LOGE("Font size to large to fit in cache. width, height = %i, %i", LOGE("Font size to large to fit in cache. width, height = %i, %i",
(int) glyph.fWidth, (int) glyph.fHeight); (int) glyph.fWidth, (int) glyph.fHeight);
return false; return false;