diff options
Diffstat (limited to 'framework/src/kubeimage.cpp')
-rw-r--r-- | framework/src/kubeimage.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/framework/src/kubeimage.cpp b/framework/src/kubeimage.cpp new file mode 100644 index 00000000..4fec7f3d --- /dev/null +++ b/framework/src/kubeimage.cpp | |||
@@ -0,0 +1,24 @@ | |||
1 | #include "kubeimage.h" | ||
2 | |||
3 | #include <QQuickWindow> | ||
4 | #include <QSGTexture> | ||
5 | #include <QSGSimpleTextureNode> | ||
6 | |||
7 | KubeImage::KubeImage(QQuickItem *parent) | ||
8 | :QQuickItem(parent) | ||
9 | { | ||
10 | setFlag(QQuickItem::ItemHasContents); | ||
11 | } | ||
12 | |||
13 | QSGNode *KubeImage::updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *updatePaintNodeData) | ||
14 | { | ||
15 | QSGSimpleTextureNode *node = static_cast<QSGSimpleTextureNode *>(oldNode); | ||
16 | if (!node) { | ||
17 | node = new QSGSimpleTextureNode(); | ||
18 | auto img = QImage::fromData(mImageData); | ||
19 | QSGTexture *texture = window()->createTextureFromImage(img); | ||
20 | node->setTexture(texture); | ||
21 | } | ||
22 | node->setRect(boundingRect()); | ||
23 | return node; | ||
24 | } | ||