diff options
Diffstat (limited to 'src/gui/painting/qtextureglyphcache.cpp')
-rw-r--r-- | src/gui/painting/qtextureglyphcache.cpp | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/src/gui/painting/qtextureglyphcache.cpp b/src/gui/painting/qtextureglyphcache.cpp index 83edeb41a6..fb8c23835d 100644 --- a/src/gui/painting/qtextureglyphcache.cpp +++ b/src/gui/painting/qtextureglyphcache.cpp @@ -50,20 +50,6 @@ QT_BEGIN_NAMESPACE // #define CACHE_DEBUG -// returns the highest number closest to v, which is a power of 2 -// NB! assumes 32 bit ints -static inline int qt_next_power_of_two(int v) -{ - v--; - v |= v >> 1; - v |= v >> 2; - v |= v >> 4; - v |= v >> 8; - v |= v >> 16; - ++v; - return v; -} - int QTextureGlyphCache::calculateSubPixelPositionCount(glyph_t glyph) const { // Test 12 different subpixel positions since it factors into 3*4 so it gives @@ -199,7 +185,7 @@ bool QTextureGlyphCache::populate(QFontEngine *fontEngine, int numGlyphs, const if (fontEngine->maxCharWidth() <= QT_DEFAULT_TEXTURE_GLYPH_CACHE_WIDTH) m_w = QT_DEFAULT_TEXTURE_GLYPH_CACHE_WIDTH; else - m_w = qt_next_power_of_two(fontEngine->maxCharWidth()); + m_w = qNextPowerOfTwo(qCeil(fontEngine->maxCharWidth()) - 1); } // now actually use the coords and paint the wanted glyps into cache. @@ -261,9 +247,9 @@ void QTextureGlyphCache::fillInPendingGlyphs() if (isNull() || requiredHeight > m_h || requiredWidth > m_w) { if (isNull()) - createCache(qt_next_power_of_two(requiredWidth), qt_next_power_of_two(requiredHeight)); + createCache(qNextPowerOfTwo(requiredWidth - 1), qNextPowerOfTwo(requiredHeight - 1)); else - resizeCache(qt_next_power_of_two(requiredWidth), qt_next_power_of_two(requiredHeight)); + resizeCache(qNextPowerOfTwo(requiredWidth - 1), qNextPowerOfTwo(requiredHeight - 1)); } { |