KHTML
SVGFEConvolveMatrix.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "config.h"
00023
00024 #if ENABLE(SVG) && ENABLE(SVG_FILTERS)
00025 #include "SVGRenderTreeAsText.h"
00026 #include "SVGFEConvolveMatrix.h"
00027
00028 namespace WebCore {
00029
00030 SVGFEConvolveMatrix::SVGFEConvolveMatrix(SVGResourceFilter* filter)
00031 : SVGFilterEffect(filter)
00032 , m_kernelSize()
00033 , m_divisor(0.0f)
00034 , m_bias(0.0f)
00035 , m_targetOffset()
00036 , m_edgeMode(SVG_EDGEMODE_UNKNOWN)
00037 , m_kernelUnitLength()
00038 , m_preserveAlpha(false)
00039 {
00040 }
00041
00042 FloatSize SVGFEConvolveMatrix::kernelSize() const
00043 {
00044 return m_kernelSize;
00045 }
00046
00047 void SVGFEConvolveMatrix::setKernelSize(FloatSize kernelSize)
00048 {
00049 m_kernelSize = kernelSize;
00050 }
00051
00052 const Vector<float>& SVGFEConvolveMatrix::kernel() const
00053 {
00054 return m_kernelMatrix;
00055 }
00056
00057 void SVGFEConvolveMatrix::setKernel(const Vector<float>& kernel)
00058 {
00059 m_kernelMatrix = kernel;
00060 }
00061
00062 float SVGFEConvolveMatrix::divisor() const
00063 {
00064 return m_divisor;
00065 }
00066
00067 void SVGFEConvolveMatrix::setDivisor(float divisor)
00068 {
00069 m_divisor = divisor;
00070 }
00071
00072 float SVGFEConvolveMatrix::bias() const
00073 {
00074 return m_bias;
00075 }
00076
00077 void SVGFEConvolveMatrix::setBias(float bias)
00078 {
00079 m_bias = bias;
00080 }
00081
00082 FloatSize SVGFEConvolveMatrix::targetOffset() const
00083 {
00084 return m_targetOffset;
00085 }
00086
00087 void SVGFEConvolveMatrix::setTargetOffset(FloatSize targetOffset)
00088 {
00089 m_targetOffset = targetOffset;
00090 }
00091
00092 SVGEdgeModeType SVGFEConvolveMatrix::edgeMode() const
00093 {
00094 return m_edgeMode;
00095 }
00096
00097 void SVGFEConvolveMatrix::setEdgeMode(SVGEdgeModeType edgeMode)
00098 {
00099 m_edgeMode = edgeMode;
00100 }
00101
00102 FloatPoint SVGFEConvolveMatrix::kernelUnitLength() const
00103 {
00104 return m_kernelUnitLength;
00105 }
00106
00107 void SVGFEConvolveMatrix::setKernelUnitLength(FloatPoint kernelUnitLength)
00108 {
00109 m_kernelUnitLength = kernelUnitLength;
00110 }
00111
00112 bool SVGFEConvolveMatrix::preserveAlpha() const
00113 {
00114 return m_preserveAlpha;
00115 }
00116
00117 void SVGFEConvolveMatrix::setPreserveAlpha(bool preserveAlpha)
00118 {
00119 m_preserveAlpha = preserveAlpha;
00120 }
00121
00122 static TextStream& operator<<(TextStream& ts, SVGEdgeModeType t)
00123 {
00124 switch (t)
00125 {
00126 case SVG_EDGEMODE_UNKNOWN:
00127 ts << "UNKNOWN";break;
00128 case SVG_EDGEMODE_DUPLICATE:
00129 ts << "DUPLICATE";break;
00130 case SVG_EDGEMODE_WRAP:
00131 ts << "WRAP"; break;
00132 case SVG_EDGEMODE_NONE:
00133 ts << "NONE"; break;
00134 }
00135 return ts;
00136 }
00137
00138 TextStream& SVGFEConvolveMatrix::externalRepresentation(TextStream& ts) const
00139 {
00140 ts << "[type=CONVOLVE-MATRIX] ";
00141 SVGFilterEffect::externalRepresentation(ts);
00142 ts << " [order " << m_kernelSize << "]"
00143 << " [kernel matrix=" << m_kernelMatrix << "]"
00144 << " [divisor=" << m_divisor << "]"
00145 << " [bias=" << m_bias << "]"
00146 << " [target " << m_targetOffset << "]"
00147 << " [edge mode=" << m_edgeMode << "]"
00148 << " [kernel unit length " << m_kernelUnitLength << "]"
00149 << " [preserve alpha=" << m_preserveAlpha << "]";
00150 return ts;
00151 }
00152
00153 };
00154
00155 #endif // ENABLE(SVG) && ENABLE(SVG_FILTERS)