krita
kis_paint_layer.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef KIS_PAINT_LAYER_H_
00019 #define KIS_PAINT_LAYER_H_
00020
00021 #include "kis_types.h"
00022 #include "kis_layer.h"
00023 #include "kis_paint_device.h"
00024 #include "kis_colorspace.h"
00028 class KisPaintLayer : public KisLayer {
00029 typedef KisLayer super;
00030
00031 Q_OBJECT
00032
00033 public:
00034 KisPaintLayer(KisImage *img, const QString& name, Q_UINT8 opacity, KisPaintDeviceSP dev);
00035 KisPaintLayer(KisImage *img, const QString& name, Q_UINT8 opacity);
00036 KisPaintLayer(KisImage *img, const QString& name, Q_UINT8 opacity, KisColorSpace * colorSpace);
00037 KisPaintLayer(const KisPaintLayer& rhs);
00038 virtual ~KisPaintLayer();
00039
00040 virtual KisLayerSP clone() const;
00041 public:
00042
00043
00044 virtual void activate() {};
00045
00046
00047 virtual void deactivate() {};
00048
00049 virtual Q_INT32 x() const;
00050 virtual void setX(Q_INT32 x);
00051
00052 virtual Q_INT32 y() const;
00053 virtual void setY(Q_INT32 y);
00054
00055 virtual QRect extent() const;
00056 virtual QRect exactBounds() const;
00057
00058 virtual void paintSelection(QImage &img, Q_INT32 x, Q_INT32 y, Q_INT32 w, Q_INT32 h);
00059 virtual void paintSelection(QImage &img, const QRect& scaledImageRect, const QSize& scaledImageSize, const QSize& imageSize);
00060
00061 virtual void paintMaskInactiveLayers(QImage &img, Q_INT32 x, Q_INT32 y, Q_INT32 w, Q_INT32 h);
00062
00063 virtual QImage createThumbnail(Q_INT32 w, Q_INT32 h);
00064
00065 virtual bool accept(KisLayerVisitor &v)
00066 {
00067
00068
00069 return v.visit(this);
00070 };
00071
00072
00074 inline KisPaintDeviceSP paintDevice() const { return m_paintdev; };
00075
00076 private:
00077 KisPaintDeviceSP m_paintdev;
00078 };
00079
00080 #endif // KIS_PAINT_LAYER_H_
00081
|