krita
kis_adjustment_layer.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef KIS_ADJUSTMENT_LAYER_H_
00019 #define KIS_ADJUSTMENT_LAYER_H_
00020
00021 #include <qobject.h>
00022 #include "kis_types.h"
00023 #include "kis_layer_visitor.h"
00024 #include "kis_composite_op.h"
00025 #include <koffice_export.h>
00026
00027 class KNamedCommand;
00028 class QPainter;
00029 class KisUndoAdapter;
00030 class KisGroupLayer;
00031 class KisFilterConfiguration;
00032
00038 class KRITACORE_EXPORT KisAdjustmentLayer : public KisLayer, public KisLayerSupportsIndirectPainting
00039 {
00040 Q_OBJECT
00041
00042 public:
00047 KisAdjustmentLayer(KisImageSP img, const QString &name, KisFilterConfiguration * kfc, KisSelectionSP selection);
00048 KisAdjustmentLayer(const KisAdjustmentLayer& rhs);
00049 virtual ~KisAdjustmentLayer();
00050
00052 virtual KisLayerSP clone() const;
00053
00054 public:
00055
00056 KisFilterConfiguration * filter();
00057 void setFilter(KisFilterConfiguration * filterConfig);
00058
00059 KisSelectionSP selection();
00060
00062 void setSelection(KisSelectionSP selection);
00063
00064 virtual void paintSelection(QImage &img, Q_INT32 x, Q_INT32 y, Q_INT32 w, Q_INT32 h);
00065 virtual void paintSelection(QImage &img, const QRect& scaledImageRect, const QSize& scaledImageSize, const QSize& imageSize);
00066 public:
00067
00068 virtual Q_INT32 x() const;
00069 virtual void setX(Q_INT32);
00070
00071 virtual Q_INT32 y() const;
00072 virtual void setY(Q_INT32);
00073
00075 virtual QRect extent() const;
00076
00078 virtual QRect exactBounds() const;
00079
00080 virtual bool accept(KisLayerVisitor &);
00081
00082 virtual void resetCache();
00083 virtual KisPaintDeviceSP cachedPaintDevice() { return m_cachedPaintDev; }
00084
00085 bool showSelection() const { return m_showSelection; }
00086 void setSelection(bool b) { m_showSelection = b; }
00087
00088 virtual QImage createThumbnail(Q_INT32 w, Q_INT32 h);
00089
00090
00091 virtual KisLayer* layer() { return this; }
00092 private:
00093 bool m_showSelection;
00094 KisFilterConfiguration * m_filterConfig;
00095 KisSelectionSP m_selection;
00096 KisPaintDeviceSP m_cachedPaintDev;
00097 private slots:
00098 void slotSelectionChanged(KisImageSP image);
00099 };
00100
00101 #endif // KIS_ADJUSTMENT_LAYER_H_
00102
|