summaryrefslogtreecommitdiffstats
path: root/src/gui/image/qpixmapdata.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/image/qpixmapdata.cpp')
-rw-r--r--src/gui/image/qpixmapdata.cpp90
1 files changed, 0 insertions, 90 deletions
diff --git a/src/gui/image/qpixmapdata.cpp b/src/gui/image/qpixmapdata.cpp
index cf9526a33a..e63e7aae0f 100644
--- a/src/gui/image/qpixmapdata.cpp
+++ b/src/gui/image/qpixmapdata.cpp
@@ -48,9 +48,6 @@
QT_BEGIN_NAMESPACE
-const uchar qt_pixmap_bit_mask[] = { 0x01, 0x02, 0x04, 0x08,
- 0x10, 0x20, 0x40, 0x80 };
-
QPixmapData *QPixmapData::create(int w, int h, PixelType type)
{
QPixmapData *data = QGuiApplicationPrivate::platformIntegration()->createPixmapData(static_cast<QPixmapData::PixelType>(type));
@@ -153,99 +150,12 @@ bool QPixmapData::scroll(int dx, int dy, const QRect &rect)
return false;
}
-void QPixmapData::setMask(const QBitmap &mask)
-{
- if (mask.size().isEmpty()) {
- if (depth() != 1)
- fromImage(toImage().convertToFormat(QImage::Format_RGB32),
- Qt::AutoColor);
- } else {
- QImage image = toImage();
- const int w = image.width();
- const int h = image.height();
-
- switch (image.depth()) {
- case 1: {
- const QImage imageMask = mask.toImage().convertToFormat(image.format());
- for (int y = 0; y < h; ++y) {
- const uchar *mscan = imageMask.scanLine(y);
- uchar *tscan = image.scanLine(y);
- int bytesPerLine = image.bytesPerLine();
- for (int i = 0; i < bytesPerLine; ++i)
- tscan[i] &= mscan[i];
- }
- break;
- }
- default: {
- const QImage imageMask = mask.toImage().convertToFormat(QImage::Format_MonoLSB);
- image = image.convertToFormat(QImage::Format_ARGB32_Premultiplied);
- for (int y = 0; y < h; ++y) {
- const uchar *mscan = imageMask.scanLine(y);
- QRgb *tscan = (QRgb *)image.scanLine(y);
- for (int x = 0; x < w; ++x) {
- if (!(mscan[x>>3] & qt_pixmap_bit_mask[x&7]))
- tscan[x] = 0;
- }
- }
- break;
- }
- }
- fromImage(image, Qt::AutoColor);
- }
-}
-
-QBitmap QPixmapData::mask() const
-{
- if (!hasAlphaChannel())
- return QBitmap();
-
- const QImage img = toImage();
- const QImage image = (img.depth() < 32 ? img.convertToFormat(QImage::Format_ARGB32_Premultiplied) : img);
- const int w = image.width();
- const int h = image.height();
-
- QImage mask(w, h, QImage::Format_MonoLSB);
- if (mask.isNull()) // allocation failed
- return QBitmap();
-
- mask.setColorCount(2);
- mask.setColor(0, QColor(Qt::color0).rgba());
- mask.setColor(1, QColor(Qt::color1).rgba());
-
- const int bpl = mask.bytesPerLine();
-
- for (int y = 0; y < h; ++y) {
- const QRgb *src = reinterpret_cast<const QRgb*>(image.scanLine(y));
- uchar *dest = mask.scanLine(y);
- memset(dest, 0, bpl);
- for (int x = 0; x < w; ++x) {
- if (qAlpha(*src) > 0)
- dest[x >> 3] |= qt_pixmap_bit_mask[x & 7];
- ++src;
- }
- }
-
- return QBitmap::fromImage(mask);
-}
-
QPixmap QPixmapData::transformed(const QTransform &matrix,
Qt::TransformationMode mode) const
{
return QPixmap::fromImage(toImage().transformed(matrix, mode));
}
-void QPixmapData::setAlphaChannel(const QPixmap &alphaChannel)
-{
- QImage image = toImage();
- image.setAlphaChannel(alphaChannel.toImage());
- fromImage(image, Qt::AutoColor);
-}
-
-QPixmap QPixmapData::alphaChannel() const
-{
- return QPixmap::fromImage(toImage().alphaChannel());
-}
-
void QPixmapData::setSerialNumber(int serNo)
{
ser_no = serNo;