- const quint8 *data = (const quint8*)dataArray.data();
- int width = m_size.width();
- int height = m_size.height();
-
- if (width <= 0 || height <= 0)
- return;
-
- int *pixelData = (int*)malloc(sizeof(int) * width * height);
-
- //XXX not sure if this will work when
- // QSysInfo::ByteOrder == QSysInfo::BigEndian
-
- for (int y = 0; y < height; ++y) {
- for (int x = 0; x < width; ++x) {
- int pixel = rgba8_to_argb(data[(y * width + x) * 4 + 0],
- data[(y * width + x) * 4 + 1],
- data[(y * width + x) * 4 + 2],
- data[(y * width + x) * 4 + 3]);
- pixelData[y * width + x] = pixel;
- }
- }
-
- m_image = QImage((uchar*)pixelData,
- width, height,
- QImage::Format_ARGB32).mirrored();
- m_thumb = m_image.scaled(64, 64, Qt::KeepAspectRatio);
- //m_image.save("testoutput.png");
-
- free(pixelData);