From 2a5450f8b49b1b9e030957387917af618eeb76b2 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Sat, 28 Aug 2021 23:00:27 +0300 Subject: [PATCH] make use of cached alpha color table in QFontEngine::alphaMapForGlyph() and QFontEngineBox::alphaMapForGlyph() Signed-off-by: Ivailo Monev --- src/gui/text/qfontengine.cpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp index 0406a7272..8bd0dd0fd 100644 --- a/src/gui/text/qfontengine.cpp +++ b/src/gui/text/qfontengine.cpp @@ -31,6 +31,7 @@ #include "qharfbuzz_p.h" #include "qdrawhelper_p.h" #include "qcorecommon_p.h" +#include "qguicommon_p.h" QT_BEGIN_NAMESPACE @@ -632,10 +633,7 @@ QImage QFontEngine::alphaMapForGlyph(glyph_t glyph) p.end(); QImage indexed(im.width(), im.height(), QImage::Format_Indexed8); - QVector colors(256); - for (int i=0; i<256; ++i) - colors[i] = qRgba(0, 0, 0, i); - indexed.setColorTable(colors); + indexed.setColorTable(alphaColorTable()); const int bpl = indexed.bytesPerLine(); uchar *dest = indexed.bits(); @@ -1210,10 +1208,7 @@ QFontEngine::Type QFontEngineBox::type() const QImage QFontEngineBox::alphaMapForGlyph(glyph_t) { QImage image(_size, _size, QImage::Format_Indexed8); - QVector colors(256); - for (int i=0; i<256; ++i) - colors[i] = qRgba(0, 0, 0, i); - image.setColorTable(colors); + image.setColorTable(alphaColorTable()); image.fill(0); // can't use qpainter for index8; so use setPixel to draw our rectangle.