qmlFrontend/previewimageprovider.cpp
branchqmlfrontend
changeset 10424 4be6cd55f1cf
parent 10420 02c573d19224
child 10426 727a154cf784
--- a/qmlFrontend/previewimageprovider.cpp	Fri Sep 26 00:56:36 2014 +0400
+++ b/qmlFrontend/previewimageprovider.cpp	Sat Sep 27 12:49:08 2014 +0400
@@ -16,7 +16,24 @@
     return m_px;
 }
 
-void PreviewImageProvider::setPixmap(const QPixmap & px)
+void PreviewImageProvider::setPixmap(const QByteArray &px)
 {
-    m_px = px;
+    if(px.size() == 128 * 256)
+    {
+        QVector<QRgb> colorTable;
+        colorTable.resize(256);
+        for(int i = 0; i < 256; ++i)
+            colorTable[i] = qRgba(255, 255, 0, i);
+
+        const quint8 *buf = (const quint8*) px.constData();
+        QImage im(buf, 256, 128, QImage::Format_Indexed8);
+        im.setColorTable(colorTable);
+
+        m_px = QPixmap::fromImage(im, Qt::ColorOnly);
+        //QPixmap pxres(px.size());
+        //QPainter p(&pxres);
+
+        //p.fillRect(pxres.rect(), linearGrad);
+        //p.drawPixmap(0, 0, px);
+    }
 }