#include "qpaintengine_raster_p.h"
#include "qimage_p.h"
#include "qcorecommon_p.h"
+#include "qguicommon_p.h"
#include "qx11info_x11.h"
#include <ctype.h>
int h = height();
QImage m(w, h, Format_MonoLSB);
QIMAGE_SANITYCHECK_MEMORY(m);
- QVector<QRgb> colortable;
- // same as QColor(Qt::color0).rgba() and qRgba(255, 255, 255, 255)
- colortable.append(4294967295);
- // same as QColor(Qt::color1).rgba() and qRgba(0, 0, 0, 255)
- colortable.append(4278190080);
- m.setColorTable(colortable);
+ m.setColorTable(monoColorTable());
m.fill(0xff);
QRgb background = PIX(0,0);
is_null = (w <= 0 || h <= 0);
if (pixelType() == BitmapType && !image.isNull()) {
- image.setColorCount(2);
- image.setColor(0, QColor(Qt::color0).rgba());
- image.setColor(1, QColor(Qt::color1).rgba());
+ image.setColorTable(monoColorTable());
}
setSerialNumber(image.cacheKey() >> 32);
}
if (d == 1) { // bitmap
- image.setColorCount(2);
- image.setColor(0, qRgb(255,255,255));
- image.setColor(1, qRgb(0,0,0));
+ image.setColorTable(monoColorTable());
} else if (!trucol) { // pixmap with colormap
QSTACKARRAY(uchar, use, 256); // pixel-in-use table
QSTACKARRAY(uchar, pix, 256); // pixel translation table
if (mask.isNull()) // allocation failed
return QBitmap();
- mask.setColorCount(2);
- mask.setColor(0, QColor(Qt::color0).rgba());
- mask.setColor(1, QColor(Qt::color1).rgba());
+ mask.setColorTable(monoColorTable());
const int bpl = mask.bytesPerLine();
uchar *dest = mask.bits();
#include "qvariant.h"
#include "qvector.h"
#include "qdrawhelper_p.h"
+#include "qguicommon_p.h"
#include <zlib.h>
#include <png.h>
if (image.isNull())
return;
}
- image.setColorCount(2);
- image.setColor(1, qRgb(0,0,0));
- image.setColor(0, qRgb(255,255,255));
+ image.setColorTable(monoColorTable());
} else if (bit_depth == 16 && png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
png_set_expand(png_ptr);
png_set_strip_16(png_ptr);
#include "qvariant.h"
#include "qvector.h"
#include "qcorecommon_p.h"
+#include "qguicommon_p.h"
#include <ctype.h>
}
}
- if (nbits == 1) { // bitmap
- outImage->setColorCount(2);
- outImage->setColor(0, qRgb(255,255,255)); // white
- outImage->setColor(1, qRgb(0,0,0)); // black
+ if (nbits == 1) { // black/white bitmap
+ outImage->setColorTable(monoColorTable());
} else if (nbits == 8) { // graymap
outImage->setColorCount(maxc+1);
for (int i=0; i<=maxc; i++)
#include "qplatformdefs.h"
#include "qxbmhandler_p.h"
#include "qcorecommon_p.h"
+#include "qguicommon_p.h"
#ifndef QT_NO_IMAGEFORMAT_XBM
return false;
}
- outImage->setColorCount(2);
- outImage->setColor(0, qRgb(255,255,255)); // white
- outImage->setColor(1, qRgb(0,0,0)); // black
+ outImage->setColorTable(monoColorTable());
int x = 0, y = 0;
uchar *b = outImage->scanLine(0);
QT_BEGIN_NAMESPACE
+inline static QVector<QRgb> monoColorTable()
+{
+ QVector<QRgb> colortable;
+ // same as QColor(Qt::color0).rgba() and qRgba(255, 255, 255, 255)
+ colortable.append(4294967295);
+ // same as QColor(Qt::color1).rgba() and qRgba(0, 0, 0, 255)
+ colortable.append(4278190080);
+ return colortable;
+}
+
inline static QColor mergedColors(const QColor &colorA, const QColor &colorB, int factor = 50)
{
const int maxFactor = 100;