File indexing completed on 2024-05-12 16:01:32
0001 /* This file is part of the KDE project 0002 * SPDX-FileCopyrightText: 2006 Boudewijn Rempt <boud@valdyas.org> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #ifndef KIS_IMAGE_MANAGER 0007 #define KIS_IMAGE_MANAGER 0008 0009 #include <QObject> 0010 #include <QPointer> 0011 0012 #include <QUrl> 0013 #include <kritaui_export.h> 0014 0015 class KisViewManager; 0016 class KisFilterStrategy; 0017 class KisActionManager; 0018 class KisView; 0019 0020 class KRITAUI_EXPORT KisImageManager : public QObject 0021 { 0022 0023 Q_OBJECT 0024 0025 public: 0026 0027 0028 KisImageManager(KisViewManager * view); 0029 ~KisImageManager() override {} 0030 0031 void setView(QPointer<KisView>imageView); 0032 void setup(KisActionManager *actionManager); 0033 0034 public Q_SLOTS: 0035 0036 void slotImportLayerFromFile(); 0037 void slotImportLayerAsTransparencyMask(); 0038 void slotImportLayerAsFilterMask(); 0039 void slotImportLayerAsSelectionMask(); 0040 0041 /** 0042 * Import an image as a layer. If there is more than 0043 * one layer in the image, import all of them as separate 0044 * layers. 0045 * 0046 * @param url the url to the image file 0047 * @param layerType the layer type 0048 * @return the number of layers added 0049 */ 0050 qint32 importImage(const QUrl &url, const QString &layerType = "KisPaintLayer"); 0051 0052 void resizeCurrentImage(qint32 w, qint32 h, qint32 xOffset, qint32 yOffset); 0053 void scaleCurrentImage(const QSize &size, qreal xres, qreal yres, KisFilterStrategy *filterStrategy); 0054 0055 void rotateCurrentImage(double radians); 0056 void shearCurrentImage(double angleX, double angleY); 0057 void slotImageProperties(); 0058 void slotImageColor(); 0059 0060 private: 0061 KisViewManager * m_view; 0062 }; 0063 0064 #endif // KIS_IMAGE_MANAGER