summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/directfb/qdirectfbblitter.h
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2014-08-13 16:33:27 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2014-08-15 18:28:37 +0200
commit258d35ceb3142d654d02799516c433ccf7094313 (patch)
treeb8e87dc4fc1591759988d61cea015716c7ccb60a /src/plugins/platforms/directfb/qdirectfbblitter.h
parentc8e7fe7f3583f03cc0af680aea2b25c25249ee6e (diff)
Add support for accelerated glyph rendering in the directfb plugin
Change-Id: I44ae087c900e5cffdada45845cb7f34aab89b8ab Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/plugins/platforms/directfb/qdirectfbblitter.h')
-rw-r--r--src/plugins/platforms/directfb/qdirectfbblitter.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/plugins/platforms/directfb/qdirectfbblitter.h b/src/plugins/platforms/directfb/qdirectfbblitter.h
index 0255040729..c60f0fac25 100644
--- a/src/plugins/platforms/directfb/qdirectfbblitter.h
+++ b/src/plugins/platforms/directfb/qdirectfbblitter.h
@@ -61,6 +61,7 @@ public:
virtual void drawPixmap(const QRectF &rect, const QPixmap &pixmap, const QRectF &subrect);
void alphaFillRect(const QRectF &rect, const QColor &color, QPainter::CompositionMode cmode);
void drawPixmapOpacity(const QRectF &rect, const QPixmap &pixmap, const QRectF &subrect, QPainter::CompositionMode cmode, qreal opacity);
+ virtual bool drawCachedGlyphs(const QPaintEngineState *state, QFontEngine::GlyphFormat glyphFormat, int numGlyphs, const glyph_t *glyphs, const QFixedPoint *positions, QFontEngine *fontEngine);
IDirectFBSurface *dfbSurface() const;
@@ -110,6 +111,21 @@ inline IDirectFBSurface *QDirectFbBlitter::dfbSurface() const
return m_surface.data();
}
+class QDirectFbTextureGlyphCache : public QImageTextureGlyphCache
+{
+public:
+ QDirectFbTextureGlyphCache(QFontEngine::GlyphFormat format, const QTransform &matrix)
+ : QImageTextureGlyphCache(format, matrix)
+ {}
+
+ virtual void resizeTextureData(int width, int height);
+
+ IDirectFBSurface *sourceSurface();
+
+private:
+ QDirectFBPointer<IDirectFBSurface> m_surface;
+};
+
QT_END_NAMESPACE
#endif // QDIRECTFBBLITTER_H