summaryrefslogtreecommitdiffstats
path: root/src/gui/image/qpixmap.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/image/qpixmap.h')
-rw-r--r--src/gui/image/qpixmap.h106
1 files changed, 22 insertions, 84 deletions
diff --git a/src/gui/image/qpixmap.h b/src/gui/image/qpixmap.h
index 2e383d623b..084e5d5d33 100644
--- a/src/gui/image/qpixmap.h
+++ b/src/gui/image/qpixmap.h
@@ -52,11 +52,6 @@
QT_BEGIN_HEADER
-#if defined(Q_OS_SYMBIAN)
-class CFbsBitmap;
-class RSgImage;
-#endif
-
QT_BEGIN_NAMESPACE
QT_MODULE(Gui)
@@ -109,24 +104,19 @@ public:
QBitmap mask() const;
void setMask(const QBitmap &);
- QPixmap alphaChannel() const;
- void setAlphaChannel(const QPixmap &);
-
bool hasAlpha() const;
bool hasAlphaChannel() const;
#ifndef QT_NO_IMAGE_HEURISTIC_MASK
QBitmap createHeuristicMask(bool clipTight = true) const;
#endif
- QBitmap createMaskFromColor(const QColor &maskColor) const; // ### Qt 5: remove
- QBitmap createMaskFromColor(const QColor &maskColor, Qt::MaskMode mode) const;
+ QBitmap createMaskFromColor(const QColor &maskColor, Qt::MaskMode mode = Qt::MaskInColor) const;
static QPixmap grabWindow(WId, int x=0, int y=0, int w=-1, int h=-1);
static QPixmap grabWidget(QPaintDevice *widget, const QRect &rect);
static inline QPixmap grabWidget(QPaintDevice *widget, int x=0, int y=0, int w=-1, int h=-1)
{ return grabWidget(widget, QRect(x, y, w, h)); }
-
inline QPixmap scaled(int w, int h, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio,
Qt::TransformationMode mode = Qt::FastTransformation) const
{ return scaled(QSize(w, h), aspectMode, mode); }
@@ -151,32 +141,6 @@ public:
bool convertFromImage(const QImage &img, Qt::ImageConversionFlags flags = Qt::AutoColor);
-#if defined(Q_WS_WIN)
- enum HBitmapFormat {
- NoAlpha,
- PremultipliedAlpha,
- Alpha
- };
-
- HBITMAP toWinHBITMAP(HBitmapFormat format = NoAlpha) const;
- HICON toWinHICON() const;
-
- static QPixmap fromWinHBITMAP(HBITMAP hbitmap, HBitmapFormat format = NoAlpha);
- static QPixmap fromWinHICON(HICON hicon);
-#endif
-
-#if defined(Q_WS_MAC)
- CGImageRef toMacCGImageRef() const;
- static QPixmap fromMacCGImageRef(CGImageRef image);
-#endif
-
-#if defined(Q_OS_SYMBIAN)
- CFbsBitmap *toSymbianCFbsBitmap() const;
- static QPixmap fromSymbianCFbsBitmap(CFbsBitmap *bitmap);
- RSgImage* toSymbianRSgImage() const;
- static QPixmap fromSymbianRSgImage(RSgImage *sgImage);
-#endif
-
inline QPixmap copy(int x, int y, int width, int height) const;
QPixmap copy(const QRect &rect = QRect()) const;
@@ -191,36 +155,15 @@ public:
bool isQBitmap() const;
-#if defined(Q_WS_QWS)
- const uchar *qwsBits() const;
- int qwsBytesPerLine() const;
- QRgb *clut() const;
-#ifdef QT_DEPRECATED
- QT_DEPRECATED int numCols() const;
-#endif
- int colorCount() const;
-#elif defined(Q_WS_MAC)
- Qt::HANDLE macQDHandle() const;
- Qt::HANDLE macQDAlphaHandle() const;
- Qt::HANDLE macCGHandle() const;
-#elif defined(Q_WS_X11)
- enum ShareMode { ImplicitlyShared, ExplicitlyShared };
-
- static QPixmap fromX11Pixmap(Qt::HANDLE pixmap, ShareMode mode = ImplicitlyShared);
- static int x11SetDefaultScreen(int screen);
- void x11SetScreen(int screen);
- const QX11Info &x11Info() const;
- Qt::HANDLE x11PictureHandle() const;
-#endif
-
-#if defined(Q_WS_X11) || defined(Q_WS_QWS)
- Qt::HANDLE handle() const;
-#endif
-
QPaintEngine *paintEngine() const;
inline bool operator!() const { return isNull(); }
+#if QT_DEPRECATED_SINCE(5, 0)
+ QT_DEPRECATED inline QPixmap alphaChannel() const;
+ QT_DEPRECATED inline void setAlphaChannel(const QPixmap &);
+#endif
+
protected:
int metric(PaintDeviceMetric) const;
@@ -229,41 +172,20 @@ private:
bool doImageIO(QImageWriter *io, int quality) const;
- // ### Qt5: remove the following three lines
- enum Type { PixmapType, BitmapType }; // must match QPixmapData::PixelType
- QPixmap(const QSize &s, Type);
- void init(int, int, Type = PixmapType);
-
QPixmap(const QSize &s, int type);
void init(int, int, int);
void deref();
-#if defined(Q_WS_WIN)
- void initAlphaPixmap(uchar *bytes, int length, struct tagBITMAPINFO *bmi);
-#endif
Q_DUMMY_COMPARISON_OPERATOR(QPixmap)
-#ifdef Q_WS_MAC
- friend CGContextRef qt_mac_cg_context(const QPaintDevice*);
- friend CGImageRef qt_mac_create_imagemask(const QPixmap&, const QRectF&);
- friend IconRef qt_mac_create_iconref(const QPixmap&);
- friend quint32 *qt_mac_pixmap_get_base(const QPixmap*);
- friend int qt_mac_pixmap_get_bytes_per_line(const QPixmap*);
-#endif
friend class QPixmapData;
- friend class QX11PixmapData;
- friend class QMacPixmapData;
- friend class QS60PixmapData;
friend class QBitmap;
friend class QPaintDevice;
friend class QPainter;
friend class QGLWidget;
- friend class QX11PaintEngine;
- friend class QCoreGraphicsPaintEngine;
friend class QWidgetPrivate;
friend class QRasterBuffer;
#if !defined(QT_NO_DATASTREAM)
friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QPixmap &);
#endif
- friend Q_GUI_EXPORT qint64 qt_pixmap_id(const QPixmap &pixmap);
public:
QPixmapData* pixmapData() const;
@@ -291,6 +213,22 @@ inline bool QPixmap::loadFromData(const QByteArray &buf, const char *format,
return loadFromData(reinterpret_cast<const uchar *>(buf.constData()), buf.size(), format, flags);
}
+#if QT_DEPRECATED_SINCE(5, 0)
+inline QPixmap QPixmap::alphaChannel() const
+{
+ return toImage().alphaChannel();
+}
+
+inline void QPixmap::setAlphaChannel(const QPixmap &p)
+{
+ detach();
+ QImage image = data->toImage();
+ image.setAlphaChannel(p.toImage());
+ data->fromImage(image);
+
+}
+#endif
+
/*****************************************************************************
QPixmap stream functions
*****************************************************************************/