File indexing completed on 2024-04-28 15:39:41

0001 // SPDX-FileCopyrightText: 2014-2022 Jesper K. Pedersen <blackie@kde.org>
0002 //
0003 // SPDX-License-Identifier: GPL-2.0-or-later
0004 
0005 #ifndef MYIMAGE_H
0006 #define MYIMAGE_H
0007 
0008 #include <QImage>
0009 #include <QQuickPaintedItem>
0010 
0011 namespace RemoteControl
0012 {
0013 
0014 class MyImage : public QQuickPaintedItem
0015 {
0016     Q_OBJECT
0017     Q_PROPERTY(QImage image READ image WRITE setImage NOTIFY imageChanged)
0018     Q_PROPERTY(int imageWidth READ imageWidth NOTIFY imageWidthChanged)
0019     Q_PROPERTY(int imageHeight READ imageHeight NOTIFY imageHeightChanged)
0020 
0021 public:
0022     explicit MyImage(QQuickItem *parent = 0);
0023     void paint(QPainter *painter) override;
0024     QImage image() const;
0025 
0026     int imageWidth() const;
0027     int imageHeight() const;
0028 
0029 public Q_SLOTS:
0030     void setImage(const QImage &image);
0031 
0032 Q_SIGNALS:
0033     void imageChanged();
0034 
0035     void imageWidthChanged();
0036     void imageHeightChanged();
0037 
0038 private:
0039     QImage m_image;
0040 };
0041 
0042 }
0043 #endif // MYIMAGE_H