KCanvasFilterQuartz.h [plain text]
#if SVG_SUPPORT
#import "KCanvasFilters.h"
#if __OBJC__
@class CIFilter;
@class CIImage;
#else
class CIFilter;
class CIImage;
#endif
namespace WebCore {
class KRenderingDevice;
class KCanvasFilterQuartz : public KCanvasFilter {
public:
KCanvasFilterQuartz();
virtual ~KCanvasFilterQuartz();
virtual void prepareFilter(const FloatRect& bbox);
virtual void applyFilter(const FloatRect& bbox);
CIImage *imageForName(const DeprecatedString &name) const;
void setImageForName(CIImage *image, const DeprecatedString &name);
void setOutputImage(const KCanvasFilterEffect *filterEffect, CIImage *output);
CIImage *inputImage(const KCanvasFilterEffect *filterEffect);
private:
NSArray *getCIFilterStack(CIImage *inputImage);
CIContext *m_filterCIContext;
CGLayerRef m_filterCGLayer;
NSMutableDictionary *m_imagesByName;
};
class KCanvasFEBlendQuartz : public KCanvasFEBlend {
public:
virtual CIFilter *getCIFilter(KCanvasFilterQuartz *quartzFilter) const;
};
class KCanvasFEColorMatrixQuartz : public KCanvasFEColorMatrix {
public:
virtual CIFilter *getCIFilter(KCanvasFilterQuartz *quartzFilter) const;
};
class KCanvasFEComponentTransferQuartz : public KCanvasFEComponentTransfer {
public:
virtual CIFilter *getCIFilter(KCanvasFilterQuartz *quartzFilter) const;
private:
CIFilter *getFunctionFilter(KCChannelSelectorType channel, CIImage *inputImage) const;
};
class KCanvasFEConvolveMatrixQuartz : public KCanvasFEConvolveMatrix {
public:
virtual CIFilter *getCIFilter(KCanvasFilterQuartz *quartzFilter) const;
};
class KCanvasFECompositeQuartz : public KCanvasFEComposite {
public:
virtual CIFilter *getCIFilter(KCanvasFilterQuartz *quartzFilter) const;
};
class KCanvasFEDiffuseLightingQuartz : public KCanvasFEDiffuseLighting {
public:
virtual CIFilter *getCIFilter(KCanvasFilterQuartz *quartzFilter) const;
};
class KCanvasFEFloodQuartz : public KCanvasFEFlood {
public:
virtual CIFilter *getCIFilter(KCanvasFilterQuartz *quartzFilter) const;
};
class KCanvasFEGaussianBlurQuartz : public KCanvasFEGaussianBlur {
public:
virtual CIFilter *getCIFilter(KCanvasFilterQuartz *quartzFilter) const;
};
class KCanvasFEImageQuartz : public KCanvasFEImage {
public:
virtual CIFilter *getCIFilter(KCanvasFilterQuartz *quartzFilter) const;
};
class KCanvasFEDisplacementMapQuartz : public KCanvasFEDisplacementMap {
public:
virtual CIFilter *getCIFilter(KCanvasFilterQuartz *quartzFilter) const;
};
class KCanvasFEMergeQuartz : public KCanvasFEMerge {
public:
virtual CIFilter *getCIFilter(KCanvasFilterQuartz *quartzFilter) const;
};
class KCanvasFEOffsetQuartz : public KCanvasFEOffset {
public:
virtual CIFilter *getCIFilter(KCanvasFilterQuartz *quartzFilter) const;
};
class KCanvasFESpecularLightingQuartz : public KCanvasFESpecularLighting {
public:
virtual CIFilter *getCIFilter(KCanvasFilterQuartz *quartzFilter) const;
};
class KCanvasFETileQuartz : public KCanvasFETile {
public:
virtual CIFilter *getCIFilter(KCanvasFilterQuartz *quartzFilter) const;
};
}
#endif // SVG_SUPPORT