![]() |
Qt 6.x
The Qt SDK
|
The QPlatformPixmap class provides an abstraction for native pixmaps. More...
#include <qplatformpixmap.h>
Public Types | |
enum | PixelType { PixmapType , BitmapType } |
enum | ClassId { RasterClass , DirectFBClass , BlitterClass , Direct2DClass , X11Class , CustomClass = 1024 } |
Public Member Functions | |
QPlatformPixmap (PixelType pixelType, int classId) | |
virtual | ~QPlatformPixmap () |
virtual QPlatformPixmap * | createCompatiblePlatformPixmap () const |
virtual void | resize (int width, int height)=0 |
virtual void | fromImage (const QImage &image, Qt::ImageConversionFlags flags)=0 |
virtual void | fromImageInPlace (QImage &image, Qt::ImageConversionFlags flags) |
virtual void | fromImageReader (QImageReader *imageReader, Qt::ImageConversionFlags flags) |
virtual bool | fromFile (const QString &filename, const char *format, Qt::ImageConversionFlags flags) |
virtual bool | fromData (const uchar *buffer, uint len, const char *format, Qt::ImageConversionFlags flags) |
virtual void | copy (const QPlatformPixmap *data, const QRect &rect) |
virtual bool | scroll (int dx, int dy, const QRect &rect) |
virtual int | metric (QPaintDevice::PaintDeviceMetric metric) const =0 |
virtual void | fill (const QColor &color)=0 |
virtual QBitmap | mask () const |
virtual void | setMask (const QBitmap &mask) |
virtual bool | hasAlphaChannel () const =0 |
virtual QPixmap | transformed (const QTransform &matrix, Qt::TransformationMode mode) const |
virtual QImage | toImage () const =0 |
virtual QImage | toImage (const QRect &rect) const |
virtual QPaintEngine * | paintEngine () const =0 |
int | serialNumber () const |
PixelType | pixelType () const |
ClassId | classId () const |
virtual qreal | devicePixelRatio () const =0 |
virtual void | setDevicePixelRatio (qreal scaleFactor)=0 |
virtual QImage * | buffer () |
int | width () const |
int | height () const |
int | colorCount () const |
int | depth () const |
bool | isNull () const |
qint64 | cacheKey () const |
Static Public Member Functions | |
static QPlatformPixmap * | create (int w, int h, PixelType type) |
Protected Member Functions | |
void | setSerialNumber (int serNo) |
void | setDetachNumber (int detNo) |
Protected Attributes | |
int | w |
int | h |
int | d |
bool | is_null |
Friends | |
class | QPixmap |
class | QX11PlatformPixmap |
class | QImagePixmapCleanupHooks |
class | QOpenGLTextureCache |
class | QExplicitlySharedDataPointer< QPlatformPixmap > |
The QPlatformPixmap class provides an abstraction for native pixmaps.
\preliminary
Definition at line 25 of file qplatformpixmap.h.
Enumerator | |
---|---|
RasterClass | |
DirectFBClass | |
BlitterClass | |
Direct2DClass | |
X11Class | |
CustomClass |
Definition at line 34 of file qplatformpixmap.h.
Enumerator | |
---|---|
PixmapType | |
BitmapType |
Definition at line 28 of file qplatformpixmap.h.
QPlatformPixmap::QPlatformPixmap | ( | PixelType | pixelType, |
int | classId | ||
) |
Definition at line 34 of file qplatformpixmap.cpp.
|
virtual |
Definition at line 48 of file qplatformpixmap.cpp.
References QImagePixmapCleanupHooks::executePlatformPixmapDestructionHooks().
|
virtual |
Reimplemented in QBlittablePlatformPixmap, and QRasterPlatformPixmap.
Definition at line 231 of file qplatformpixmap.cpp.
Referenced by QRasterPaintEngine::begin().
|
inline |
Definition at line 92 of file qplatformpixmap.h.
Referenced by QOpenGLTextureCacheWrapper::cleanupTexturesForPixmapData().
|
inline |
Definition at line 80 of file qplatformpixmap.h.
Referenced by QPixmapCacheEntry::QPixmapCacheEntry(), QRasterPaintEngine::begin(), CapabilitiesToStateMask::canBlitterDrawPixmap(), CapabilitiesToStateMask::canBlitterDrawPixmapOpacity(), QPixmap::detach(), QRasterPaintEngine::drawPixmap(), QRasterPaintEngine::drawPixmap(), QRasterPaintEngine::drawTiledPixmap(), QBrush::operator==(), and qt_pixmapToWinHBITMAP().
|
inline |
Definition at line 89 of file qplatformpixmap.h.
References QPaintDevice::PdmNumColors.
|
virtual |
Reimplemented in QRasterPlatformPixmap, and QX11PlatformPixmap.
Definition at line 117 of file qplatformpixmap.cpp.
References fromImage(), Qt::NoOpaqueDetection, and rect.
Referenced by QWindowsDirect2DBackingStore::resize().
|
static |
Definition at line 23 of file qplatformpixmap.cpp.
References QPlatformIntegration::createPlatformPixmap(), QGuiApplicationPrivate::platformIntegration(), Q_UNLIKELY, qFatal, and resize().
Referenced by QPixmap::load(), and QPixmap::loadFromData().
|
virtual |
Reimplemented in QRasterPlatformPixmap, and QX11PlatformPixmap.
Definition at line 62 of file qplatformpixmap.cpp.
References QPlatformIntegration::createPlatformPixmap(), d, pixelType(), and QGuiApplicationPrivate::platformIntegration().
|
inline |
Definition at line 90 of file qplatformpixmap.h.
References d.
Referenced by QX11PlatformPixmap::fill(), QX11PlatformPixmap::setMask(), and QX11PlatformPixmap::transformed().
|
pure virtual |
Implemented in QBlittablePlatformPixmap, QRasterPlatformPixmap, QWindowsDirect2DPlatformPixmap, and QX11PlatformPixmap.
Referenced by mask().
Implemented in QBlittablePlatformPixmap, QRasterPlatformPixmap, QWindowsDirect2DPlatformPixmap, and QX11PlatformPixmap.
|
virtual |
Reimplemented in QRasterPlatformPixmap.
Definition at line 105 of file qplatformpixmap.cpp.
References fromImage(), QByteArray::fromRawData(), isNull(), makeBitmapCompliantIfNeeded(), QImageReader::read(), and QIODeviceBase::ReadOnly.
|
virtual |
Reimplemented in QDirectFbBlitterPlatformPixmap.
Definition at line 95 of file qplatformpixmap.cpp.
References fileName, fromImage(), isNull(), makeBitmapCompliantIfNeeded(), and QImageReader::read().
Referenced by QDirectFbBlitterPlatformPixmap::fromFile().
|
pure virtual |
Implemented in QBlittablePlatformPixmap, QRasterPlatformPixmap, QWindowsDirect2DPlatformPixmap, and QX11PlatformPixmap.
Referenced by copy(), fromData(), fromFile(), fromImageReader(), and setMask().
|
inlinevirtual |
Reimplemented in QRasterPlatformPixmap.
Definition at line 46 of file qplatformpixmap.h.
Referenced by QPixmap::fromImage().
|
virtual |
Reimplemented in QRasterPlatformPixmap.
Definition at line 88 of file qplatformpixmap.cpp.
References fromImage().
|
pure virtual |
Implemented in QBlittablePlatformPixmap, QRasterPlatformPixmap, QWindowsDirect2DPlatformPixmap, and QX11PlatformPixmap.
Referenced by mask().
|
inline |
Definition at line 88 of file qplatformpixmap.h.
Referenced by QX11PlatformPixmap::fill(), QDirectFbBackingStore::resize(), QBlittablePlatformPixmap::resize(), QRasterPlatformPixmap::resize(), QWindowsDirect2DPlatformPixmap::resize(), QX11PlatformPixmap::resize(), QX11PlatformPixmap::setMask(), and QX11PlatformPixmap::transformed().
|
inline |
Definition at line 91 of file qplatformpixmap.h.
Referenced by fromData(), QRasterPlatformPixmap::fromData(), fromFile(), and QPixmap::operator!().
|
virtual |
Reimplemented in QX11PlatformPixmap.
Definition at line 130 of file qplatformpixmap.cpp.
References Qt::color0, Qt::color1, devicePixelRatio(), QImage::Format_ARGB32, QImage::Format_ARGB32_Premultiplied, QImage::Format_MonoLSB, QBitmap::fromImage(), h, hasAlphaChannel(), mask(), qAlpha(), QRgb, toImage(), and w.
Referenced by mask().
|
pure virtual |
Implemented in QBlittablePlatformPixmap, QRasterPlatformPixmap, QWindowsDirect2DPlatformPixmap, and QX11PlatformPixmap.
|
pure virtual |
Implemented in QBlittablePlatformPixmap, QRasterPlatformPixmap, QWindowsDirect2DPlatformPixmap, and QX11PlatformPixmap.
|
inline |
Definition at line 79 of file qplatformpixmap.h.
Referenced by createCompatiblePlatformPixmap(), QRasterPlatformPixmap::createCompatiblePlatformPixmap(), QX11PlatformPixmap::createCompatiblePlatformPixmap(), QRasterPlatformPixmap::createPixmapForImage(), QWindowsDirect2DPaintEngine::drawPixmap(), QX11PlatformPixmap::fromImage(), QRasterPlatformPixmap::resize(), QX11PlatformPixmap::resize(), and QX11PlatformPixmap::setMask().
|
pure virtual |
Implemented in QBlittablePlatformPixmap, QRasterPlatformPixmap, QWindowsDirect2DPlatformPixmap, and QX11PlatformPixmap.
Referenced by create().
|
virtual |
Reimplemented in QRasterPlatformPixmap, and QX11PlatformPixmap.
Definition at line 122 of file qplatformpixmap.cpp.
|
inline |
Definition at line 77 of file qplatformpixmap.h.
|
protected |
Definition at line 218 of file qplatformpixmap.cpp.
Referenced by QRasterPlatformPixmap::createPixmapForImage().
Implemented in QBlittablePlatformPixmap, QRasterPlatformPixmap, QWindowsDirect2DPlatformPixmap, and QX11PlatformPixmap.
Reimplemented in QX11PlatformPixmap.
Definition at line 166 of file qplatformpixmap.cpp.
References Qt::AutoColor, QImage::convertToFormat(), QImage::Format_ARGB32_Premultiplied, QImage::Format_MonoLSB, QImage::Format_RGB32, fromImage(), h, i, QRgb, QImage::scanLine(), toImage(), and w.
|
protected |
Definition at line 213 of file qplatformpixmap.cpp.
Referenced by QBlittablePlatformPixmap::QBlittablePlatformPixmap(), QWindowsDirect2DPlatformPixmap::QWindowsDirect2DPlatformPixmap(), QWindowsDirect2DPlatformPixmap::QWindowsDirect2DPlatformPixmap(), QX11PlatformPixmap::copy(), QRasterPlatformPixmap::createPixmapForImage(), QX11PlatformPixmap::fromImage(), QBlittablePlatformPixmap::resize(), QRasterPlatformPixmap::resize(), QX11PlatformPixmap::resize(), and QX11PlatformPixmap::transformed().
|
pure virtual |
Implemented in QBlittablePlatformPixmap, QRasterPlatformPixmap, QWindowsDirect2DPlatformPixmap, and QX11PlatformPixmap.
Referenced by QRasterPaintEngine::drawPixmap(), mask(), setMask(), toImage(), and transformed().
Reimplemented in QRasterPlatformPixmap, QWindowsDirect2DPlatformPixmap, and QX11PlatformPixmap.
Definition at line 223 of file qplatformpixmap.cpp.
References QImage::copy(), rect, and toImage().
|
virtual |
Reimplemented in QX11PlatformPixmap.
Definition at line 207 of file qplatformpixmap.cpp.
References QPixmap::fromImage(), toImage(), and transformed().
Referenced by transformed().
|
inline |
Definition at line 87 of file qplatformpixmap.h.
Referenced by QX11PlatformPixmap::fill(), QDirectFbBackingStore::resize(), QBlittablePlatformPixmap::resize(), QRasterPlatformPixmap::resize(), QWindowsDirect2DPlatformPixmap::resize(), QX11PlatformPixmap::resize(), QX11PlatformPixmap::setMask(), and QX11PlatformPixmap::transformed().
|
friend |
Definition at line 116 of file qplatformpixmap.h.
|
friend |
Definition at line 115 of file qplatformpixmap.h.
|
friend |
Definition at line 116 of file qplatformpixmap.h.
|
friend |
Definition at line 113 of file qplatformpixmap.h.
Referenced by QX11PlatformPixmap::mask(), and QX11PlatformPixmap::transformed().
|
friend |
Definition at line 114 of file qplatformpixmap.h.
Referenced by QX11PlatformPixmap::createCompatiblePlatformPixmap(), and QX11PlatformPixmap::transformed().
|
protected |
Definition at line 109 of file qplatformpixmap.h.
Referenced by QWindowsDirect2DPlatformPixmap::QWindowsDirect2DPlatformPixmap(), QWindowsDirect2DPlatformPixmap::bitmap(), QX11PlatformPixmap::copy(), createCompatiblePlatformPixmap(), QRasterPlatformPixmap::createPixmapForImage(), QWindowsDirect2DPlatformPixmap::devicePixelRatio(), QWindowsDirect2DPlatformPixmap::fill(), QX11PlatformPixmap::fill(), QWindowsDirect2DPlatformPixmap::fromImage(), QX11PlatformPixmap::fromImage(), QX11PlatformPixmap::hasAlphaChannel(), QX11PlatformPixmap::mask(), QRasterPlatformPixmap::metric(), QWindowsDirect2DPlatformPixmap::metric(), QX11PlatformPixmap::metric(), QWindowsDirect2DPlatformPixmap::paintEngine(), QBlittablePlatformPixmap::resize(), QRasterPlatformPixmap::resize(), QWindowsDirect2DPlatformPixmap::resize(), QX11PlatformPixmap::resize(), QWindowsDirect2DPlatformPixmap::setDevicePixelRatio(), QX11PlatformPixmap::setMask(), QRasterPlatformPixmap::toImage(), QWindowsDirect2DPlatformPixmap::toImage(), QX11PlatformPixmap::transformed(), and QX11PlatformPixmap::x11ConvertToDefaultDepth().
|
protected |
Definition at line 108 of file qplatformpixmap.h.
Referenced by QX11PlatformPixmap::createBitmapFromImage(), QX11PlatformPixmap::fromImage(), mask(), QBlittablePlatformPixmap::metric(), QRasterPlatformPixmap::metric(), QX11PlatformPixmap::metric(), setMask(), and QX11PlatformPixmap::transformed().
|
protected |
Definition at line 110 of file qplatformpixmap.h.
Referenced by QWindowsDirect2DPlatformPixmap::QWindowsDirect2DPlatformPixmap(), QX11PlatformPixmap::copy(), QRasterPlatformPixmap::createPixmapForImage(), QWindowsDirect2DPlatformPixmap::fromImage(), QX11PlatformPixmap::fromImage(), QBlittablePlatformPixmap::resize(), QRasterPlatformPixmap::resize(), QWindowsDirect2DPlatformPixmap::resize(), QX11PlatformPixmap::resize(), and QX11PlatformPixmap::transformed().
|
protected |
Definition at line 107 of file qplatformpixmap.h.
Referenced by QX11PlatformPixmap::fromImage(), mask(), QBlittablePlatformPixmap::metric(), QRasterPlatformPixmap::metric(), QX11PlatformPixmap::metric(), setMask(), and QX11PlatformPixmap::transformed().