// Copyright (c) 2026 - 2026 kio@little-bat.de
// BSD-2-Clause license
// https://opensource.org/licenses/BSD-2-Clause

#pragma once
#pragma once
#include <QImage>
#include <QQuickItem>


class FrameBufferImageItem : public QQuickItem
{
	Q_OBJECT
QML_ELEMENT															   // ->Qt
Q_PROPERTY(QImage image READ image WRITE setImage NOTIFY imageChanged) // ->Ai

	public : FrameBufferImageItem(QQuickItem* parent = nullptr);

	QImage image() const { return m_image; }
	void   setImage(const QImage& image);

signals:
	void imageChanged();

protected:
	// This is where the magic happens: update the Scene Graph texture
	QSGNode* updatePaintNode(QSGNode* oldNode, UpdatePaintNodeData*) override;

private:
	QImage m_image;
	bool   m_imageChanged = false;
	char   _padding[7];
};


/*
































*/
