blob: 4fec7f3dd5e6b1095eb941460e90e50212698622 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include "kubeimage.h"
#include <QQuickWindow>
#include <QSGTexture>
#include <QSGSimpleTextureNode>
KubeImage::KubeImage(QQuickItem *parent)
:QQuickItem(parent)
{
setFlag(QQuickItem::ItemHasContents);
}
QSGNode *KubeImage::updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *updatePaintNodeData)
{
QSGSimpleTextureNode *node = static_cast<QSGSimpleTextureNode *>(oldNode);
if (!node) {
node = new QSGSimpleTextureNode();
auto img = QImage::fromData(mImageData);
QSGTexture *texture = window()->createTextureFromImage(img);
node->setTexture(texture);
}
node->setRect(boundingRect());
return node;
}
|