File indexing completed on 2024-04-28 16:13:35
0001 /* 0002 * This file is part of the KDE project 0003 * 0004 * Copyright (C) 2013 Arjen Hiemstra <ahiemstra@heimr.nl> 0005 * 0006 * This library is free software; you can redistribute it and/or 0007 * modify it under the terms of the GNU Library General Public 0008 * License as published by the Free Software Foundation; either 0009 * version 2 of the License, or (at your option) any later version. 0010 * 0011 * This library is distributed in the hope that it will be useful, 0012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0014 * Library General Public License for more details. 0015 * 0016 * You should have received a copy of the GNU Library General Public License 0017 * along with this library; see the file COPYING.LIB. If not, write to 0018 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 0019 * Boston, MA 02110-1301, USA. 0020 * 0021 */ 0022 0023 #ifndef CALLIGRA_COMPONENTS_IMAGEDATAITEM_H 0024 #define CALLIGRA_COMPONENTS_IMAGEDATAITEM_H 0025 0026 #include <QPixmap> 0027 #include <QQuickItem> 0028 0029 namespace Calligra { 0030 namespace Components { 0031 0032 /** 0033 * \brief This provides a simple item that can be used to render Pixmaps. 0034 * 0035 */ 0036 0037 class ImageDataItem : public QQuickItem 0038 { 0039 Q_OBJECT 0040 0041 /** 0042 * \property data 0043 * \brief The data this item needs to display. 0044 * 0045 * \default null 0046 * \get data() const 0047 * \set setData() 0048 * \notify dataChanged() 0049 */ 0050 Q_PROPERTY(QImage data READ data WRITE setData NOTIFY dataChanged) 0051 0052 public: 0053 explicit ImageDataItem(QQuickItem* parent = 0); 0054 ~ImageDataItem() override; 0055 0056 /** 0057 * Getter for property #data. 0058 */ 0059 QImage data() const; 0060 /** 0061 * Setter for property #data. 0062 */ 0063 void setData(const QImage& newValue); 0064 0065 Q_SIGNALS: 0066 void dataChanged(); 0067 0068 protected: 0069 QSGNode* updatePaintNode(QSGNode* node, QQuickItem::UpdatePaintNodeData*) override; 0070 0071 private: 0072 class Private; 0073 Private* const d; 0074 }; 0075 0076 } // Namespace Components 0077 } // Namespace Calligra 0078 0079 #endif // CALLIGRA_COMPONENTS_PIXMAPITEM_H