summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/directfb/qdirectfbblitter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/directfb/qdirectfbblitter.h')
-rw-r--r--src/plugins/platforms/directfb/qdirectfbblitter.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/plugins/platforms/directfb/qdirectfbblitter.h b/src/plugins/platforms/directfb/qdirectfbblitter.h
index 6ed3850487..9a7362be65 100644
--- a/src/plugins/platforms/directfb/qdirectfbblitter.h
+++ b/src/plugins/platforms/directfb/qdirectfbblitter.h
@@ -58,6 +58,8 @@ public:
virtual void fillRect(const QRectF &rect, const QColor &color);
virtual void drawPixmap(const QRectF &rect, const QPixmap &pixmap, const QRectF &subrect);
+ IDirectFBSurface *dfbSurface() const;
+
static DFBSurfacePixelFormat alphaPixmapFormat();
static DFBSurfacePixelFormat pixmapFormat();
static DFBSurfacePixelFormat selectPixmapFormat(bool withAlpha);
@@ -76,6 +78,14 @@ class QDirectFbBlitterPlatformPixmap : public QBlittablePlatformPixmap
{
public:
QBlittable *createBlittable(const QSize &size, bool alpha) const;
+
+ QDirectFbBlitter *dfbBlitter() const;
+
+ virtual bool fromFile(const QString &filename, const char *format,
+ Qt::ImageConversionFlags flags);
+
+private:
+ bool fromDataBufferDescription(const DFBDataBufferDescription &);
};
inline QBlittable *QDirectFbBlitterPlatformPixmap::createBlittable(const QSize& size, bool alpha) const
@@ -83,4 +93,14 @@ inline QBlittable *QDirectFbBlitterPlatformPixmap::createBlittable(const QSize&
return new QDirectFbBlitter(size, alpha);
}
+inline QDirectFbBlitter *QDirectFbBlitterPlatformPixmap::dfbBlitter() const
+{
+ return static_cast<QDirectFbBlitter*>(blittable());
+}
+
+inline IDirectFBSurface *QDirectFbBlitter::dfbSurface() const
+{
+ return m_surface.data();
+}
+
#endif // QDIRECTFBBLITTER_H