Changeset 35094 in webkit
- Timestamp:
- Jul 10, 2008 12:12:23 AM (16 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 9 deleted
- 60 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r35089 r35094 1 2008-07-09 Alex Mathews <possessedpenguinbob@gmail.com> 2 3 Reviewed by Oliver Hunt. 4 5 bug 19835: WebKit needs cross-platform filter system 6 <https://bugs.webkit.org/show_bug.cgi?id=19835> 7 8 More class refactoring in preparation for cross-platform filter 9 implementation. 10 11 * WebCore.xcodeproj/project.pbxproj: 12 * rendering/SVGRenderTreeAsText.h: 13 (WebCore::operator<<): 14 * svg/FilterEffect.cpp: 15 (WebCore::FilterEffect::externalRepresentation): 16 * svg/FilterEffect.h: 17 * svg/SVGFEBlendElement.cpp: 18 (WebCore::SVGFEBlendElement::build): 19 * svg/SVGFEBlendElement.h: 20 * svg/SVGFEColorMatrixElement.cpp: 21 (WebCore::SVGFEColorMatrixElement::build): 22 * svg/SVGFEColorMatrixElement.h: 23 * svg/SVGFEComponentTransferElement.cpp: 24 (WebCore::SVGFEComponentTransferElement::build): 25 * svg/SVGFEComponentTransferElement.h: 26 * svg/SVGFECompositeElement.cpp: 27 (WebCore::SVGFECompositeElement::build): 28 * svg/SVGFECompositeElement.h: 29 * svg/SVGFEDiffuseLightingElement.cpp: 30 (WebCore::SVGFEDiffuseLightingElement::filterEffect): 31 (WebCore::SVGFEDiffuseLightingElement::build): 32 (WebCore::SVGFEDiffuseLightingElement::findLights): 33 * svg/SVGFEDiffuseLightingElement.h: 34 * svg/SVGFEDisplacementMapElement.cpp: 35 (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement): 36 (WebCore::SVGFEDisplacementMapElement::stringToChannel): 37 (WebCore::SVGFEDisplacementMapElement::filterEffect): 38 (WebCore::SVGFEDisplacementMapElement::build): 39 * svg/SVGFEDisplacementMapElement.h: 40 * svg/SVGFEFloodElement.cpp: 41 (WebCore::SVGFEFloodElement::filterEffect): 42 (WebCore::SVGFEFloodElement::build): 43 * svg/SVGFEFloodElement.h: 44 (WebCore::SVGFEFloodElement::contextElement): 45 * svg/SVGFEGaussianBlurElement.cpp: 46 (WebCore::SVGFEGaussianBlurElement::filterEffect): 47 (WebCore::SVGFEGaussianBlurElement::build): 48 * svg/SVGFEGaussianBlurElement.h: 49 * svg/SVGFEImageElement.cpp: 50 (WebCore::SVGFEImageElement::filterEffect): 51 (WebCore::SVGFEImageElement::build): 52 * svg/SVGFEImageElement.h: 53 * svg/SVGFEMergeElement.cpp: 54 (WebCore::SVGFEMergeElement::filterEffect): 55 (WebCore::SVGFEMergeElement::build): 56 * svg/SVGFEMergeElement.h: 57 (WebCore::SVGFEMergeElement::contextElement): 58 * svg/SVGFEOffsetElement.cpp: 59 (WebCore::SVGFEOffsetElement::filterEffect): 60 (WebCore::SVGFEOffsetElement::build): 61 * svg/SVGFEOffsetElement.h: 62 * svg/SVGFESpecularLightingElement.cpp: 63 (WebCore::SVGFESpecularLightingElement::filterEffect): 64 (WebCore::SVGFESpecularLightingElement::findLights): 65 (WebCore::SVGFESpecularLightingElement::build): 66 * svg/SVGFESpecularLightingElement.h: 67 * svg/SVGFETileElement.cpp: 68 (WebCore::SVGFETileElement::filterEffect): 69 (WebCore::SVGFETileElement::build): 70 * svg/SVGFETileElement.h: 71 * svg/SVGFETurbulenceElement.cpp: 72 (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement): 73 (WebCore::SVGFETurbulenceElement::parseMappedAttribute): 74 (WebCore::SVGFETurbulenceElement::filterEffect): 75 (WebCore::SVGFETurbulenceElement::build): 76 * svg/SVGFETurbulenceElement.h: 77 * svg/SVGFilterPrimitiveStandardAttributes.h: 78 * svg/graphics/filters/SVGFEConvolveMatrix.cpp: 79 (WebCore::FEConvolveMatrix::FEConvolveMatrix): 80 (WebCore::FEConvolveMatrix::create): 81 (WebCore::FEConvolveMatrix::kernelSize): 82 (WebCore::FEConvolveMatrix::setKernelSize): 83 (WebCore::FEConvolveMatrix::kernel): 84 (WebCore::FEConvolveMatrix::setKernel): 85 (WebCore::FEConvolveMatrix::divisor): 86 (WebCore::FEConvolveMatrix::setDivisor): 87 (WebCore::FEConvolveMatrix::bias): 88 (WebCore::FEConvolveMatrix::setBias): 89 (WebCore::FEConvolveMatrix::targetOffset): 90 (WebCore::FEConvolveMatrix::setTargetOffset): 91 (WebCore::FEConvolveMatrix::edgeMode): 92 (WebCore::FEConvolveMatrix::setEdgeMode): 93 (WebCore::FEConvolveMatrix::kernelUnitLength): 94 (WebCore::FEConvolveMatrix::setKernelUnitLength): 95 (WebCore::FEConvolveMatrix::preserveAlpha): 96 (WebCore::FEConvolveMatrix::setPreserveAlpha): 97 (WebCore::FEConvolveMatrix::apply): 98 (WebCore::FEConvolveMatrix::dump): 99 (WebCore::operator<<): 100 (WebCore::FEConvolveMatrix::externalRepresentation): 101 * svg/graphics/filters/SVGFEConvolveMatrix.h: 102 (WebCore::): 103 * svg/graphics/filters/SVGFEDiffuseLighting.cpp: 104 (WebCore::FEDiffuseLighting::FEDiffuseLighting): 105 (WebCore::FEDiffuseLighting::create): 106 (WebCore::FEDiffuseLighting::~FEDiffuseLighting): 107 (WebCore::FEDiffuseLighting::lightingColor): 108 (WebCore::FEDiffuseLighting::setLightingColor): 109 (WebCore::FEDiffuseLighting::surfaceScale): 110 (WebCore::FEDiffuseLighting::setSurfaceScale): 111 (WebCore::FEDiffuseLighting::diffuseConstant): 112 (WebCore::FEDiffuseLighting::setDiffuseConstant): 113 (WebCore::FEDiffuseLighting::kernelUnitLengthX): 114 (WebCore::FEDiffuseLighting::setKernelUnitLengthX): 115 (WebCore::FEDiffuseLighting::kernelUnitLengthY): 116 (WebCore::FEDiffuseLighting::setKernelUnitLengthY): 117 (WebCore::FEDiffuseLighting::lightSource): 118 (WebCore::FEDiffuseLighting::setLightSource): 119 (WebCore::FEDiffuseLighting::apply): 120 (WebCore::FEDiffuseLighting::dump): 121 (WebCore::FEDiffuseLighting::externalRepresentation): 122 * svg/graphics/filters/SVGFEDiffuseLighting.h: 123 * svg/graphics/filters/SVGFEDisplacementMap.cpp: 124 (WebCore::FEDisplacementMap::FEDisplacementMap): 125 (WebCore::FEDisplacementMap::create): 126 (WebCore::FEDisplacementMap::xChannelSelector): 127 (WebCore::FEDisplacementMap::setXChannelSelector): 128 (WebCore::FEDisplacementMap::yChannelSelector): 129 (WebCore::FEDisplacementMap::setYChannelSelector): 130 (WebCore::FEDisplacementMap::scale): 131 (WebCore::FEDisplacementMap::setScale): 132 (WebCore::FEDisplacementMap::apply): 133 (WebCore::FEDisplacementMap::dump): 134 (WebCore::operator<<): 135 (WebCore::FEDisplacementMap::externalRepresentation): 136 * svg/graphics/filters/SVGFEDisplacementMap.h: 137 (WebCore::): 138 * svg/graphics/filters/SVGFEFlood.cpp: 139 (WebCore::FEFlood::FEFlood): 140 (WebCore::FEFlood::create): 141 (WebCore::FEFlood::floodColor): 142 (WebCore::FEFlood::setFloodColor): 143 (WebCore::FEFlood::floodOpacity): 144 (WebCore::FEFlood::setFloodOpacity): 145 (WebCore::FEFlood::apply): 146 (WebCore::FEFlood::dump): 147 (WebCore::FEFlood::externalRepresentation): 148 * svg/graphics/filters/SVGFEFlood.h: 149 * svg/graphics/filters/SVGFEGaussianBlur.cpp: 150 (WebCore::FEGaussianBlur::FEGaussianBlur): 151 (WebCore::FEGaussianBlur::create): 152 (WebCore::FEGaussianBlur::stdDeviationX): 153 (WebCore::FEGaussianBlur::setStdDeviationX): 154 (WebCore::FEGaussianBlur::stdDeviationY): 155 (WebCore::FEGaussianBlur::setStdDeviationY): 156 (WebCore::FEGaussianBlur::apply): 157 (WebCore::FEGaussianBlur::dump): 158 (WebCore::FEGaussianBlur::externalRepresentation): 159 * svg/graphics/filters/SVGFEGaussianBlur.h: 160 * svg/graphics/filters/SVGFEImage.cpp: 161 (WebCore::FEImage::FEImage): 162 (WebCore::FEImage::create): 163 (WebCore::FEImage::~FEImage): 164 (WebCore::FEImage::cachedImage): 165 (WebCore::FEImage::apply): 166 (WebCore::FEImage::dump): 167 (WebCore::FEImage::externalRepresentation): 168 * svg/graphics/filters/SVGFEImage.h: 169 * svg/graphics/filters/SVGFEMerge.cpp: 170 (WebCore::FEMerge::FEMerge): 171 (WebCore::FEMerge::create): 172 (WebCore::FEMerge::mergeInputs): 173 (WebCore::FEMerge::setMergeInputs): 174 (WebCore::FEMerge::apply): 175 (WebCore::FEMerge::dump): 176 (WebCore::FEMerge::externalRepresentation): 177 * svg/graphics/filters/SVGFEMerge.h: 178 * svg/graphics/filters/SVGFEMorphology.cpp: 179 (WebCore::FEMorphology::FEMorphology): 180 (WebCore::FEMorphology::create): 181 (WebCore::FEMorphology::morphologyOperator): 182 (WebCore::FEMorphology::setMorphologyOperator): 183 (WebCore::FEMorphology::radiusX): 184 (WebCore::FEMorphology::setRadiusX): 185 (WebCore::FEMorphology::radiusY): 186 (WebCore::FEMorphology::setRadiusY): 187 (WebCore::FEMorphology::apply): 188 (WebCore::FEMorphology::dump): 189 (WebCore::operator<<): 190 (WebCore::FEMorphology::externalRepresentation): 191 * svg/graphics/filters/SVGFEMorphology.h: 192 (WebCore::): 193 * svg/graphics/filters/SVGFEOffset.cpp: 194 (WebCore::FEOffset::FEOffset): 195 (WebCore::FEOffset::create): 196 (WebCore::FEOffset::dx): 197 (WebCore::FEOffset::setDx): 198 (WebCore::FEOffset::dy): 199 (WebCore::FEOffset::setDy): 200 (WebCore::FEOffset::apply): 201 (WebCore::FEOffset::dump): 202 (WebCore::FEOffset::externalRepresentation): 203 * svg/graphics/filters/SVGFEOffset.h: 204 * svg/graphics/filters/SVGFESpecularLighting.cpp: 205 (WebCore::FESpecularLighting::FESpecularLighting): 206 (WebCore::FESpecularLighting::create): 207 (WebCore::FESpecularLighting::~FESpecularLighting): 208 (WebCore::FESpecularLighting::lightingColor): 209 (WebCore::FESpecularLighting::setLightingColor): 210 (WebCore::FESpecularLighting::surfaceScale): 211 (WebCore::FESpecularLighting::setSurfaceScale): 212 (WebCore::FESpecularLighting::specularConstant): 213 (WebCore::FESpecularLighting::setSpecularConstant): 214 (WebCore::FESpecularLighting::specularExponent): 215 (WebCore::FESpecularLighting::setSpecularExponent): 216 (WebCore::FESpecularLighting::kernelUnitLengthX): 217 (WebCore::FESpecularLighting::setKernelUnitLengthX): 218 (WebCore::FESpecularLighting::kernelUnitLengthY): 219 (WebCore::FESpecularLighting::setKernelUnitLengthY): 220 (WebCore::FESpecularLighting::lightSource): 221 (WebCore::FESpecularLighting::setLightSource): 222 (WebCore::FESpecularLighting::apply): 223 (WebCore::FESpecularLighting::dump): 224 (WebCore::FESpecularLighting::externalRepresentation): 225 * svg/graphics/filters/SVGFESpecularLighting.h: 226 * svg/graphics/filters/SVGFETile.cpp: 227 (WebCore::FETile::FETile): 228 (WebCore::FETile::create): 229 (WebCore::FETile::apply): 230 (WebCore::FETile::dump): 231 (WebCore::FETile::externalRepresentation): 232 * svg/graphics/filters/SVGFETile.h: 233 * svg/graphics/filters/SVGFETurbulence.cpp: 234 (WebCore::FETurbulence::FETurbulence): 235 (WebCore::FETurbulence::create): 236 (WebCore::FETurbulence::type): 237 (WebCore::FETurbulence::setType): 238 (WebCore::FETurbulence::baseFrequencyY): 239 (WebCore::FETurbulence::setBaseFrequencyY): 240 (WebCore::FETurbulence::baseFrequencyX): 241 (WebCore::FETurbulence::setBaseFrequencyX): 242 (WebCore::FETurbulence::seed): 243 (WebCore::FETurbulence::setSeed): 244 (WebCore::FETurbulence::numOctaves): 245 (WebCore::FETurbulence::setNumOctaves): 246 (WebCore::FETurbulence::stitchTiles): 247 (WebCore::FETurbulence::setStitchTiles): 248 (WebCore::FETurbulence::apply): 249 (WebCore::FETurbulence::dump): 250 (WebCore::operator<<): 251 (WebCore::FETurbulence::externalRepresentation): 252 * svg/graphics/filters/SVGFETurbulence.h: 253 (WebCore::): 254 * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm: 255 * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm: 256 * svg/graphics/filters/cg/SVGFEFloodCg.mm: 257 * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm: 258 * svg/graphics/filters/cg/SVGFEHelpersCg.h: 259 * svg/graphics/filters/cg/SVGFEHelpersCg.mm: 260 (WebCore::getVectorForChannel): 261 * svg/graphics/filters/cg/SVGFEImageCg.mm: 262 * svg/graphics/filters/cg/SVGFEMergeCg.mm: 263 * svg/graphics/filters/cg/SVGFEOffsetCg.mm: 264 * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm: 265 * svg/graphics/filters/cg/SVGFETileCg.mm: 266 1 267 2008-07-09 Mark Rowe <mrowe@apple.com> 2 268 -
trunk/WebCore/WebCore.xcodeproj/project.pbxproj
r35084 r35094 3016 3016 B25599350D00D8BA00BB825C /* SVGResourceFilterCg.mm in Sources */ = {isa = PBXBuildFile; fileRef = B25598990D00D8B800BB825C /* SVGResourceFilterCg.mm */; }; 3017 3017 B25599370D00D8BA00BB825C /* SVGResourceMaskerCg.mm in Sources */ = {isa = PBXBuildFile; fileRef = B255989B0D00D8B800BB825C /* SVGResourceMaskerCg.mm */; }; 3018 B255993C0D00D8BA00BB825C /* SVGFEDiffuseLightingCg.mm in Sources */ = {isa = PBXBuildFile; fileRef = B25598A20D00D8B800BB825C /* SVGFEDiffuseLightingCg.mm */; };3019 B255993D0D00D8BA00BB825C /* SVGFEDisplacementMapCg.mm in Sources */ = {isa = PBXBuildFile; fileRef = B25598A30D00D8B800BB825C /* SVGFEDisplacementMapCg.mm */; };3020 B255993E0D00D8BA00BB825C /* SVGFEFloodCg.mm in Sources */ = {isa = PBXBuildFile; fileRef = B25598A40D00D8B800BB825C /* SVGFEFloodCg.mm */; };3021 B255993F0D00D8BA00BB825C /* SVGFEGaussianBlurCg.mm in Sources */ = {isa = PBXBuildFile; fileRef = B25598A50D00D8B800BB825C /* SVGFEGaussianBlurCg.mm */; };3022 3018 B25599400D00D8BA00BB825C /* SVGFEHelpersCg.h in Headers */ = {isa = PBXBuildFile; fileRef = B25598A60D00D8B800BB825C /* SVGFEHelpersCg.h */; }; 3023 3019 B25599410D00D8BA00BB825C /* SVGFEHelpersCg.mm in Sources */ = {isa = PBXBuildFile; fileRef = B25598A70D00D8B800BB825C /* SVGFEHelpersCg.mm */; }; 3024 B25599420D00D8BA00BB825C /* SVGFEImageCg.mm in Sources */ = {isa = PBXBuildFile; fileRef = B25598A80D00D8B800BB825C /* SVGFEImageCg.mm */; };3025 B25599430D00D8BA00BB825C /* SVGFEMergeCg.mm in Sources */ = {isa = PBXBuildFile; fileRef = B25598A90D00D8B800BB825C /* SVGFEMergeCg.mm */; };3026 B25599440D00D8BA00BB825C /* SVGFEOffsetCg.mm in Sources */ = {isa = PBXBuildFile; fileRef = B25598AA0D00D8B800BB825C /* SVGFEOffsetCg.mm */; };3027 B25599450D00D8BA00BB825C /* SVGFESpecularLightingCg.mm in Sources */ = {isa = PBXBuildFile; fileRef = B25598AB0D00D8B800BB825C /* SVGFESpecularLightingCg.mm */; };3028 B25599460D00D8BA00BB825C /* SVGFETileCg.mm in Sources */ = {isa = PBXBuildFile; fileRef = B25598AC0D00D8B800BB825C /* SVGFETileCg.mm */; };3029 3020 B25599470D00D8BA00BB825C /* SVGFilterEffectCg.mm in Sources */ = {isa = PBXBuildFile; fileRef = B25598AD0D00D8B800BB825C /* SVGFilterEffectCg.mm */; }; 3030 3021 B25599480D00D8BA00BB825C /* WKArithmeticFilter.cikernel in Resources */ = {isa = PBXBuildFile; fileRef = B25598AE0D00D8B900BB825C /* WKArithmeticFilter.cikernel */; }; … … 7370 7361 B25598990D00D8B800BB825C /* SVGResourceFilterCg.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = SVGResourceFilterCg.mm; sourceTree = "<group>"; }; 7371 7362 B255989B0D00D8B800BB825C /* SVGResourceMaskerCg.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = SVGResourceMaskerCg.mm; sourceTree = "<group>"; }; 7372 B25598A20D00D8B800BB825C /* SVGFEDiffuseLightingCg.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = SVGFEDiffuseLightingCg.mm; sourceTree = "<group>"; };7373 B25598A30D00D8B800BB825C /* SVGFEDisplacementMapCg.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = SVGFEDisplacementMapCg.mm; sourceTree = "<group>"; };7374 B25598A40D00D8B800BB825C /* SVGFEFloodCg.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = SVGFEFloodCg.mm; sourceTree = "<group>"; };7375 B25598A50D00D8B800BB825C /* SVGFEGaussianBlurCg.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = SVGFEGaussianBlurCg.mm; sourceTree = "<group>"; };7376 7363 B25598A60D00D8B800BB825C /* SVGFEHelpersCg.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGFEHelpersCg.h; sourceTree = "<group>"; }; 7377 7364 B25598A70D00D8B800BB825C /* SVGFEHelpersCg.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = SVGFEHelpersCg.mm; sourceTree = "<group>"; }; 7378 B25598A80D00D8B800BB825C /* SVGFEImageCg.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = SVGFEImageCg.mm; sourceTree = "<group>"; };7379 B25598A90D00D8B800BB825C /* SVGFEMergeCg.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = SVGFEMergeCg.mm; sourceTree = "<group>"; };7380 B25598AA0D00D8B800BB825C /* SVGFEOffsetCg.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = SVGFEOffsetCg.mm; sourceTree = "<group>"; };7381 B25598AB0D00D8B800BB825C /* SVGFESpecularLightingCg.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = SVGFESpecularLightingCg.mm; sourceTree = "<group>"; };7382 B25598AC0D00D8B800BB825C /* SVGFETileCg.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = SVGFETileCg.mm; sourceTree = "<group>"; };7383 7365 B25598AD0D00D8B800BB825C /* SVGFilterEffectCg.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = SVGFilterEffectCg.mm; sourceTree = "<group>"; }; 7384 7366 B25598AE0D00D8B900BB825C /* WKArithmeticFilter.cikernel */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = WKArithmeticFilter.cikernel; sourceTree = "<group>"; }; … … 11963 11945 isa = PBXGroup; 11964 11946 children = ( 11965 B25598A20D00D8B800BB825C /* SVGFEDiffuseLightingCg.mm */,11966 B25598A30D00D8B800BB825C /* SVGFEDisplacementMapCg.mm */,11967 B25598A40D00D8B800BB825C /* SVGFEFloodCg.mm */,11968 B25598A50D00D8B800BB825C /* SVGFEGaussianBlurCg.mm */,11969 11947 B25598A60D00D8B800BB825C /* SVGFEHelpersCg.h */, 11970 11948 B25598A70D00D8B800BB825C /* SVGFEHelpersCg.mm */, 11971 B25598A80D00D8B800BB825C /* SVGFEImageCg.mm */,11972 B25598A90D00D8B800BB825C /* SVGFEMergeCg.mm */,11973 B25598AA0D00D8B800BB825C /* SVGFEOffsetCg.mm */,11974 B25598AB0D00D8B800BB825C /* SVGFESpecularLightingCg.mm */,11975 B25598AC0D00D8B800BB825C /* SVGFETileCg.mm */,11976 11949 B25598AD0D00D8B800BB825C /* SVGFilterEffectCg.mm */, 11977 11950 B25598AE0D00D8B900BB825C /* WKArithmeticFilter.cikernel */, … … 16592 16565 B255997A0D00D8BA00BB825C /* SVGFEConvolveMatrix.cpp in Sources */, 16593 16566 B255997C0D00D8BA00BB825C /* SVGFEDiffuseLighting.cpp in Sources */, 16594 B255993C0D00D8BA00BB825C /* SVGFEDiffuseLightingCg.mm in Sources */,16595 16567 B22279D30D00BF220071B782 /* SVGFEDiffuseLightingElement.cpp in Sources */, 16596 16568 B255997E0D00D8BA00BB825C /* SVGFEDisplacementMap.cpp in Sources */, 16597 B255993D0D00D8BA00BB825C /* SVGFEDisplacementMapCg.mm in Sources */,16598 16569 B22279D60D00BF220071B782 /* SVGFEDisplacementMapElement.cpp in Sources */, 16599 16570 B22279D90D00BF220071B782 /* SVGFEDistantLightElement.cpp in Sources */, 16600 16571 B25599800D00D8BA00BB825C /* SVGFEFlood.cpp in Sources */, 16601 B255993E0D00D8BA00BB825C /* SVGFEFloodCg.mm in Sources */,16602 16572 B22279DC0D00BF220071B782 /* SVGFEFloodElement.cpp in Sources */, 16603 16573 B22279DF0D00BF220071B782 /* SVGFEFuncAElement.cpp in Sources */, … … 16606 16576 B22279E80D00BF220071B782 /* SVGFEFuncRElement.cpp in Sources */, 16607 16577 B25599820D00D8BA00BB825C /* SVGFEGaussianBlur.cpp in Sources */, 16608 B255993F0D00D8BA00BB825C /* SVGFEGaussianBlurCg.mm in Sources */,16609 16578 B22279EB0D00BF220071B782 /* SVGFEGaussianBlurElement.cpp in Sources */, 16610 16579 B25599410D00D8BA00BB825C /* SVGFEHelpersCg.mm in Sources */, 16611 16580 B25599840D00D8BA00BB825C /* SVGFEImage.cpp in Sources */, 16612 B25599420D00D8BA00BB825C /* SVGFEImageCg.mm in Sources */,16613 16581 B22279EE0D00BF220071B782 /* SVGFEImageElement.cpp in Sources */, 16614 16582 B22279F10D00BF220071B782 /* SVGFELightElement.cpp in Sources */, 16615 16583 B25599860D00D8BA00BB825C /* SVGFEMerge.cpp in Sources */, 16616 B25599430D00D8BA00BB825C /* SVGFEMergeCg.mm in Sources */,16617 16584 B22279F30D00BF220071B782 /* SVGFEMergeElement.cpp in Sources */, 16618 16585 B22279F60D00BF220071B782 /* SVGFEMergeNodeElement.cpp in Sources */, 16619 16586 B25599880D00D8BA00BB825C /* SVGFEMorphology.cpp in Sources */, 16620 16587 B255998A0D00D8BA00BB825C /* SVGFEOffset.cpp in Sources */, 16621 B25599440D00D8BA00BB825C /* SVGFEOffsetCg.mm in Sources */,16622 16588 B22279F90D00BF220071B782 /* SVGFEOffsetElement.cpp in Sources */, 16623 16589 B22279FC0D00BF220071B782 /* SVGFEPointLightElement.cpp in Sources */, 16624 16590 B255998C0D00D8BA00BB825C /* SVGFESpecularLighting.cpp in Sources */, 16625 B25599450D00D8BA00BB825C /* SVGFESpecularLightingCg.mm in Sources */,16626 16591 B22279FF0D00BF220071B782 /* SVGFESpecularLightingElement.cpp in Sources */, 16627 16592 B2227A020D00BF220071B782 /* SVGFESpotLightElement.cpp in Sources */, 16628 B25599460D00D8BA00BB825C /* SVGFETileCg.mm in Sources */,16629 16593 B2227A050D00BF220071B782 /* SVGFETileElement.cpp in Sources */, 16630 16594 B255998F0D00D8BA00BB825C /* SVGFETurbulence.cpp in Sources */, -
trunk/WebCore/rendering/SVGRenderTreeAsText.h
r30243 r35094 98 98 } 99 99 100 template<typename Pointer> 101 TextStream& operator<<(TextStream& ts, Pointer* t) 102 { 103 ts << reinterpret_cast<intptr_t>(t); 104 return ts; 105 } 106 100 107 } // namespace WebCore 101 108 -
trunk/WebCore/svg/FilterEffect.cpp
r34942 r35094 33 33 } 34 34 35 TextStream& FilterEffect::externalRepresentation(TextStream& ts) const 36 { 37 return ts; 38 } 39 35 40 } // namespace WebCore 36 41 -
trunk/WebCore/svg/FilterEffect.h
r34992 r35094 22 22 23 23 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 24 #include "TextStream.h" 25 24 26 #include <wtf/PassRefPtr.h> 25 27 #include <wtf/RefCounted.h> … … 35 37 virtual void dump() = 0; 36 38 39 virtual TextStream& externalRepresentation(TextStream&) const; 37 40 protected: 38 41 FilterEffect(); -
trunk/WebCore/svg/SVGFEBlendElement.cpp
r35035 r35094 77 77 FilterEffect* input1 = builder->getEffectById(in1()); 78 78 FilterEffect* input2 = builder->getEffectById(in2()); 79 79 80 80 if(!input1 || !input2) 81 81 return false; 82 82 83 RefPtr<FilterEffect> addedEffect = FEBlend::create(input1, input2, static_cast<BlendModeType> (mode())); 84 builder->add(result(), addedEffect.release()); 85 83 builder->add(result(), FEBlend::create(input1, input2, static_cast<BlendModeType> (mode()))); 84 86 85 return true; 87 86 } -
trunk/WebCore/svg/SVGFEBlendElement.h
r35035 r35094 25 25 26 26 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 27 #include "FilterBuilder.h"28 27 #include "FEBlend.h" 29 28 #include "SVGFilterPrimitiveStandardAttributes.h" -
trunk/WebCore/svg/SVGFEColorMatrixElement.cpp
r35038 r35094 78 78 { 79 79 FilterEffect* input1 = builder->getEffectById(in1()); 80 80 81 81 if(!input1) 82 82 return false; 83 83 84 84 Vector<float> _values; 85 85 SVGNumberList* numbers = values(); … … 90 90 _values.append(numbers->getItem(i, ec)); 91 91 92 RefPtr<FilterEffect> addedEffect = FEColorMatrix::create(input1, static_cast<ColorMatrixType> (type()), _values); 93 builder->add(result(), addedEffect.release()); 92 builder->add(result(), FEColorMatrix::create(input1, static_cast<ColorMatrixType> (type()), _values)); 94 93 95 94 return true; -
trunk/WebCore/svg/SVGFEColorMatrixElement.h
r35035 r35094 25 25 26 26 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 27 #include "FilterBuilder.h"28 27 #include "FEColorMatrix.h" 29 28 #include "SVGFilterPrimitiveStandardAttributes.h" -
trunk/WebCore/svg/SVGFEComponentTransferElement.cpp
r35035 r35094 87 87 } 88 88 89 RefPtr<FilterEffect> addedEffect = FEComponentTransfer::create(input1, red, green, blue, alpha); 90 builder->add(result(), addedEffect.release()); 89 builder->add(result(), FEComponentTransfer::create(input1, red, green, blue, alpha)); 91 90 92 91 return true; -
trunk/WebCore/svg/SVGFEComponentTransferElement.h
r35035 r35094 25 25 26 26 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 27 #include "FilterBuilder.h"28 27 #include "SVGFilterPrimitiveStandardAttributes.h" 29 28 #include "FEComponentTransfer.h" -
trunk/WebCore/svg/SVGFECompositeElement.cpp
r35035 r35094 102 102 103 103 RefPtr<FilterEffect> addedEffect = FEComposite::create(input1, input2, static_cast<CompositeOperationType> (_operator()), 104 k1(), k2(), k3(), k4());104 k1(), k2(), k3(), k4()); 105 105 builder->add(result(), addedEffect.release()); 106 106 -
trunk/WebCore/svg/SVGFECompositeElement.h
r35035 r35094 25 25 26 26 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 27 #include "FilterBuilder.h"28 27 #include "FEComposite.h" 29 28 #include "SVGFilterPrimitiveStandardAttributes.h" -
trunk/WebCore/svg/SVGFEDiffuseLightingElement.cpp
r35038 r35094 76 76 SVGFilterEffect* SVGFEDiffuseLightingElement::filterEffect(SVGResourceFilter* filter) const 77 77 { 78 if (!m_filterEffect) 79 m_filterEffect = SVGFEDiffuseLighting::create(filter); 78 ASSERT_NOT_REACHED(); 79 return 0; 80 } 80 81 81 m_filterEffect->setIn(in1()); 82 m_filterEffect->setDiffuseConstant(diffuseConstant()); 83 m_filterEffect->setSurfaceScale(surfaceScale()); 84 m_filterEffect->setKernelUnitLengthX(kernelUnitLengthX()); 85 m_filterEffect->setKernelUnitLengthY(kernelUnitLengthY()); 86 87 SVGFEDiffuseLightingElement* nonConstThis = const_cast<SVGFEDiffuseLightingElement*>(this); 88 89 RenderStyle* parentStyle = nonConstThis->styleForRenderer(parent()->renderer()); 90 RenderStyle* filterStyle = nonConstThis->resolveStyle(parentStyle); 82 bool SVGFEDiffuseLightingElement::build(FilterBuilder* builder) 83 { 84 FilterEffect* input1 = builder->getEffectById(in1()); 91 85 92 m_filterEffect->setLightingColor(filterStyle->svgStyle()->lightingColor()); 93 setStandardAttributes(m_filterEffect.get()); 94 86 if(!input1) 87 return false; 88 89 RenderStyle* parentStyle = this->styleForRenderer(parent()->renderer()); 90 RenderStyle* filterStyle = this->resolveStyle(parentStyle); 91 Color color = filterStyle->svgStyle()->lightingColor(); 92 95 93 parentStyle->deref(document()->renderArena()); 96 94 filterStyle->deref(document()->renderArena()); 97 95 98 updateLights(); 99 return m_filterEffect.get(); 96 RefPtr<FilterEffect> addedEffect = FEDiffuseLighting::create(input1, color, surfaceScale(), diffuseConstant(), 97 kernelUnitLengthX(), kernelUnitLengthY(), findLights()); 98 builder->add(result(), addedEffect.release()); 99 100 return true; 100 101 } 101 102 102 void SVGFEDiffuseLightingElement::updateLights() const103 LightSource* SVGFEDiffuseLightingElement::findLights() const 103 104 { 104 if (!m_filterEffect)105 return;106 107 105 LightSource* light = 0; 108 106 for (Node* n = firstChild(); n; n = n->nextSibling()) { … … 116 114 } 117 115 118 m_filterEffect->setLightSource(light);116 return light; 119 117 } 120 118 -
trunk/WebCore/svg/SVGFEDiffuseLightingElement.h
r35035 r35094 24 24 25 25 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 26 #include "SVGFELightElement.h" 26 27 #include "SVGFilterPrimitiveStandardAttributes.h" 27 28 28 29 namespace WebCore { 29 class SVGFEDiffuseLighting;30 class FEDiffuseLighting; 30 31 class SVGColor; 31 32 … … 38 39 virtual void parseMappedAttribute(MappedAttribute*); 39 40 virtual SVGFilterEffect* filterEffect(SVGResourceFilter*) const; 41 bool build(FilterBuilder*); 40 42 41 43 protected: … … 49 51 ANIMATED_PROPERTY_DECLARATIONS(SVGFEDiffuseLightingElement, float, KernelUnitLengthY, kernelUnitLengthY) 50 52 51 mutable RefPtr<SVGFEDiffuseLighting> m_filterEffect;53 LightSource* findLights() const; 52 54 53 void updateLights() const;55 mutable RefPtr<FEDiffuseLighting> m_filterEffect; 54 56 }; 55 57 -
trunk/WebCore/svg/SVGFEDisplacementMapElement.cpp
r35035 r35094 30 30 SVGFEDisplacementMapElement::SVGFEDisplacementMapElement(const QualifiedName& tagName, Document* doc) 31 31 : SVGFilterPrimitiveStandardAttributes(tagName, doc) 32 , m_xChannelSelector( SVG_CHANNEL_A)33 , m_yChannelSelector( SVG_CHANNEL_A)32 , m_xChannelSelector(CHANNEL_A) 33 , m_yChannelSelector(CHANNEL_A) 34 34 , m_scale(0.0f) 35 35 , m_filterEffect(0) … … 47 47 ANIMATED_PROPERTY_DEFINITIONS(SVGFEDisplacementMapElement, float, Scale, scale, SVGNames::scaleAttr) 48 48 49 SVGChannelSelectorType SVGFEDisplacementMapElement::stringToChannel(const String& key)49 ChannelSelectorType SVGFEDisplacementMapElement::stringToChannel(const String& key) 50 50 { 51 51 if (key == "R") 52 return SVG_CHANNEL_R;52 return CHANNEL_R; 53 53 else if (key == "G") 54 return SVG_CHANNEL_G;54 return CHANNEL_G; 55 55 else if (key == "B") 56 return SVG_CHANNEL_B;56 return CHANNEL_B; 57 57 else if (key == "A") 58 return SVG_CHANNEL_A;58 return CHANNEL_A; 59 59 60 return SVG_CHANNEL_UNKNOWN;60 return CHANNEL_UNKNOWN; 61 61 } 62 62 … … 78 78 } 79 79 80 SVGF EDisplacementMap* SVGFEDisplacementMapElement::filterEffect(SVGResourceFilter* filter) const80 SVGFilterEffect* SVGFEDisplacementMapElement::filterEffect(SVGResourceFilter* filter) const 81 81 { 82 if (!m_filterEffect) 83 m_filterEffect = SVGFEDisplacementMap::create(filter); 82 ASSERT_NOT_REACHED(); 83 return 0; 84 } 84 85 85 m_filterEffect->setXChannelSelector((SVGChannelSelectorType) xChannelSelector()); 86 m_filterEffect->setYChannelSelector((SVGChannelSelectorType) yChannelSelector()); 87 m_filterEffect->setIn(in1()); 88 m_filterEffect->setIn2(in2()); 89 m_filterEffect->setScale(scale()); 90 91 setStandardAttributes(m_filterEffect.get()); 92 return m_filterEffect.get(); 86 bool SVGFEDisplacementMapElement::build(FilterBuilder* builder) 87 { 88 FilterEffect* input1 = builder->getEffectById(in1()); 89 FilterEffect* input2 = builder->getEffectById(in2()); 90 91 if(!input1 || !input2) 92 return false; 93 94 95 RefPtr<FilterEffect> addedEffect = FEDisplacementMap::create(input1, input2, static_cast<ChannelSelectorType> (xChannelSelector()), 96 static_cast<ChannelSelectorType> (yChannelSelector()), scale()); 97 builder->add(result(), addedEffect.release()); 98 99 return true; 93 100 } 94 101 -
trunk/WebCore/svg/SVGFEDisplacementMapElement.h
r35035 r35094 32 32 virtual ~SVGFEDisplacementMapElement(); 33 33 34 static SVGChannelSelectorType stringToChannel(const String&);34 static ChannelSelectorType stringToChannel(const String&); 35 35 36 36 virtual void parseMappedAttribute(MappedAttribute*); 37 virtual SVGFEDisplacementMap* filterEffect(SVGResourceFilter*) const; 37 virtual SVGFilterEffect* filterEffect(SVGResourceFilter*) const; 38 bool build(FilterBuilder*); 38 39 39 40 protected: … … 47 48 ANIMATED_PROPERTY_DECLARATIONS(SVGFEDisplacementMapElement, float, Scale, scale) 48 49 49 mutable RefPtr< SVGFEDisplacementMap> m_filterEffect;50 mutable RefPtr<FEDisplacementMap> m_filterEffect; 50 51 }; 51 52 -
trunk/WebCore/svg/SVGFEFloodElement.cpp
r34656 r35094 49 49 } 50 50 51 SVGF EFlood* SVGFEFloodElement::filterEffect(SVGResourceFilter* filter) const51 SVGFilterEffect* SVGFEFloodElement::filterEffect(SVGResourceFilter* filter) const 52 52 { 53 if (!m_filterEffect) 54 m_filterEffect = SVGFEFlood::create(filter); 55 56 setStandardAttributes(m_filterEffect.get()); 53 ASSERT_NOT_REACHED(); 54 return 0; 55 } 57 56 58 SVGFEFloodElement* nonConstThis = const_cast<SVGFEFloodElement*>(this); 57 bool SVGFEFloodElement::build(FilterBuilder* builder) 58 { 59 RenderStyle* parentStyle = this->styleForRenderer(parent()->renderer()); 60 RenderStyle* filterStyle = this->resolveStyle(parentStyle); 59 61 60 RenderStyle* parentStyle = nonConstThis->styleForRenderer(parent()->renderer()); 61 RenderStyle* filterStyle = nonConstThis->resolveStyle(parentStyle); 62 63 m_filterEffect->setFloodColor(filterStyle->svgStyle()->floodColor()); 64 m_filterEffect->setFloodOpacity(filterStyle->svgStyle()->floodOpacity()); 65 62 Color color = filterStyle->svgStyle()->floodColor(); 63 float opacity = filterStyle->svgStyle()->floodOpacity(); 64 66 65 parentStyle->deref(document()->renderArena()); 67 66 filterStyle->deref(document()->renderArena()); 67 68 builder->add(result(), FEFlood::create(color, opacity)); 68 69 69 return m_filterEffect.get();70 return true; 70 71 } 71 72 -
trunk/WebCore/svg/SVGFEFloodElement.h
r34925 r35094 37 37 38 38 virtual void parseMappedAttribute(MappedAttribute*); 39 virtual SVGFEFlood* filterEffect(SVGResourceFilter*) const; 39 virtual SVGFilterEffect* filterEffect(SVGResourceFilter*) const; 40 bool build(FilterBuilder*); 40 41 41 42 protected: … … 43 44 44 45 private: 45 mutable RefPtr< SVGFEFlood> m_filterEffect;46 mutable RefPtr<FEFlood> m_filterEffect; 46 47 }; 47 48 -
trunk/WebCore/svg/SVGFEGaussianBlurElement.cpp
r35035 r35094 67 67 } 68 68 69 SVGF EGaussianBlur* SVGFEGaussianBlurElement::filterEffect(SVGResourceFilter* filter) const69 SVGFilterEffect* SVGFEGaussianBlurElement::filterEffect(SVGResourceFilter* filter) const 70 70 { 71 if (!m_filterEffect) 72 m_filterEffect = SVGFEGaussianBlur::create(filter); 73 74 m_filterEffect->setIn(in1()); 75 m_filterEffect->setStdDeviationX(stdDeviationX()); 76 m_filterEffect->setStdDeviationY(stdDeviationY()); 71 ASSERT_NOT_REACHED(); 72 return 0; 73 } 77 74 78 setStandardAttributes(m_filterEffect.get()); 79 return m_filterEffect.get(); 75 bool SVGFEGaussianBlurElement::build(FilterBuilder* builder) 76 { 77 FilterEffect* input1 = builder->getEffectById(in1()); 78 79 if(!input1) 80 return false; 81 82 builder->add(result(), FEGaussianBlur::create(input1, stdDeviationX(), stdDeviationY())); 83 84 return true; 80 85 } 81 86 -
trunk/WebCore/svg/SVGFEGaussianBlurElement.h
r35035 r35094 40 40 41 41 virtual void parseMappedAttribute(MappedAttribute*); 42 virtual SVGFEGaussianBlur* filterEffect(SVGResourceFilter*) const; 42 virtual SVGFilterEffect* filterEffect(SVGResourceFilter*) const; 43 bool build(FilterBuilder*); 43 44 44 45 protected: … … 50 51 ANIMATED_PROPERTY_DECLARATIONS(SVGFEGaussianBlurElement, float, StdDeviationY, stdDeviationY) 51 52 52 mutable RefPtr< SVGFEGaussianBlur> m_filterEffect;53 mutable RefPtr<FEGaussianBlur> m_filterEffect; 53 54 }; 54 55 -
trunk/WebCore/svg/SVGFEImageElement.cpp
r35038 r35094 90 90 } 91 91 92 SVGF EImage* SVGFEImageElement::filterEffect(SVGResourceFilter* filter) const92 SVGFilterEffect* SVGFEImageElement::filterEffect(SVGResourceFilter* filter) const 93 93 { 94 if (!m_filterEffect) 95 m_filterEffect = SVGFEImage::create(filter); 96 97 // The resource may already be loaded! 98 if (m_cachedImage) 99 m_filterEffect->setCachedImage(m_cachedImage); 94 ASSERT_NOT_REACHED(); 95 return 0; 96 } 100 97 101 setStandardAttributes(m_filterEffect.get()); 102 return m_filterEffect.get(); 98 bool SVGFEImageElement::build(FilterBuilder* builder) 99 { 100 if(!m_cachedImage) 101 return false; 102 103 builder->add(result(), FEImage::create(m_cachedImage)); 104 105 return true; 103 106 } 104 107 -
trunk/WebCore/svg/SVGFEImageElement.h
r35035 r35094 48 48 49 49 virtual void getSubresourceAttributeStrings(Vector<String>&) const; 50 bool build(FilterBuilder*); 50 51 51 52 protected: 52 virtual SVGF EImage* filterEffect(SVGResourceFilter*) const;53 virtual SVGFilterEffect* filterEffect(SVGResourceFilter*) const; 53 54 54 55 protected: … … 62 63 63 64 CachedImage* m_cachedImage; 64 mutable RefPtr< SVGFEImage> m_filterEffect;65 mutable RefPtr<FEImage> m_filterEffect; 65 66 }; 66 67 -
trunk/WebCore/svg/SVGFEMergeElement.cpp
r34656 r35094 41 41 } 42 42 43 SVGF EMerge* SVGFEMergeElement::filterEffect(SVGResourceFilter* filter) const43 SVGFilterEffect* SVGFEMergeElement::filterEffect(SVGResourceFilter* filter) const 44 44 { 45 if (!m_filterEffect) 46 m_filterEffect = SVGFEMerge::create(filter); 47 48 setStandardAttributes(m_filterEffect.get()); 45 ASSERT_NOT_REACHED(); 46 return 0; 47 } 49 48 50 Vector<String> mergeInputs; 49 bool SVGFEMergeElement::build(FilterBuilder* builder) 50 { 51 Vector<FilterEffect*> mergeInputs; 51 52 for (Node* n = firstChild(); n != 0; n = n->nextSibling()) { 52 if (n->hasTagName(SVGNames::feMergeNodeTag)) 53 mergeInputs.append(static_cast<SVGFEMergeNodeElement*>(n)->in1()); 53 if (n->hasTagName(SVGNames::feMergeNodeTag)) { 54 FilterEffect* mergeEffect = builder->getEffectById(static_cast<SVGFEMergeNodeElement*>(n)->in1()); 55 mergeInputs.append(mergeEffect); 56 } 54 57 } 55 58 56 m_filterEffect->setMergeInputs(mergeInputs); 57 return m_filterEffect.get(); 59 if(mergeInputs.isEmpty()) 60 return false; 61 62 builder->add(result(), FEMerge::create(mergeInputs)); 63 64 return true; 58 65 } 59 66 -
trunk/WebCore/svg/SVGFEMergeElement.h
r34925 r35094 36 36 virtual ~SVGFEMergeElement(); 37 37 38 virtual SVGFEMerge* filterEffect(SVGResourceFilter*) const; 38 virtual SVGFilterEffect* filterEffect(SVGResourceFilter*) const; 39 bool build(FilterBuilder*); 39 40 40 41 protected: … … 42 43 43 44 private: 44 mutable RefPtr< SVGFEMerge> m_filterEffect;45 mutable RefPtr<FEMerge> m_filterEffect; 45 46 }; 46 47 -
trunk/WebCore/svg/SVGFEOffsetElement.cpp
r35035 r35094 60 60 } 61 61 62 SVGF EOffset* SVGFEOffsetElement::filterEffect(SVGResourceFilter* filter) const62 SVGFilterEffect* SVGFEOffsetElement::filterEffect(SVGResourceFilter* filter) const 63 63 { 64 if (!m_filterEffect) 65 m_filterEffect = SVGFEOffset::create(filter); 66 67 m_filterEffect->setIn(in1()); 68 m_filterEffect->setDx(dx()); 69 m_filterEffect->setDy(dy()); 64 ASSERT_NOT_REACHED(); 65 return 0; 66 } 70 67 71 setStandardAttributes(m_filterEffect.get()); 72 return m_filterEffect.get(); 68 bool SVGFEOffsetElement::build(FilterBuilder* builder) 69 { 70 FilterEffect* input1 = builder->getEffectById(in1()); 71 72 if(!input1) 73 return false; 74 75 builder->add(result(), FEOffset::create(input1, dx(), dy())); 76 77 return true; 73 78 } 74 79 -
trunk/WebCore/svg/SVGFEOffsetElement.h
r35035 r35094 38 38 39 39 virtual void parseMappedAttribute(MappedAttribute*); 40 virtual SVGFEOffset* filterEffect(SVGResourceFilter*) const; 40 virtual SVGFilterEffect* filterEffect(SVGResourceFilter*) const; 41 bool build(FilterBuilder*); 41 42 42 43 protected: … … 48 49 ANIMATED_PROPERTY_DECLARATIONS(SVGFEOffsetElement, float, Dy, dy) 49 50 50 mutable RefPtr< SVGFEOffset> m_filterEffect;51 mutable RefPtr<FEOffset> m_filterEffect; 51 52 }; 52 53 -
trunk/WebCore/svg/SVGFESpecularLightingElement.cpp
r35058 r35094 77 77 } 78 78 79 SVGF ESpecularLighting* SVGFESpecularLightingElement::filterEffect(SVGResourceFilter* filter) const79 SVGFilterEffect* SVGFESpecularLightingElement::filterEffect(SVGResourceFilter* filter) const 80 80 { 81 if (!m_filterEffect) 82 m_filterEffect = SVGFESpecularLighting::create(filter); 83 84 m_filterEffect->setIn(in1()); 85 m_filterEffect->setSpecularConstant((specularConstant())); 86 m_filterEffect->setSpecularExponent((specularExponent())); 87 m_filterEffect->setSurfaceScale((surfaceScale())); 88 m_filterEffect->setKernelUnitLengthX((kernelUnitLengthX())); 89 m_filterEffect->setKernelUnitLengthY((kernelUnitLengthY())); 90 91 SVGFESpecularLightingElement* nonConstThis = const_cast<SVGFESpecularLightingElement*>(this); 92 93 RenderStyle* parentStyle = nonConstThis->styleForRenderer(parent()->renderer()); 94 RenderStyle* filterStyle = nonConstThis->resolveStyle(parentStyle); 95 96 m_filterEffect->setLightingColor(filterStyle->svgStyle()->lightingColor()); 97 98 parentStyle->deref(document()->renderArena()); 99 filterStyle->deref(document()->renderArena()); 100 101 setStandardAttributes(m_filterEffect.get()); 102 103 updateLights(); 104 return m_filterEffect.get(); 81 ASSERT_NOT_REACHED(); 82 return 0; 105 83 } 106 84 107 void SVGFESpecularLightingElement::updateLights() const85 LightSource* SVGFESpecularLightingElement::findLights() const 108 86 { 109 if (!m_filterEffect) 110 return; 111 112 LightSource* light = 0; 87 LightSource* light = 0; 113 88 for (Node* n = firstChild(); n; n = n->nextSibling()) { 114 if (n->hasTagName(SVGNames::feDistantLightTag) || 89 if (n->hasTagName(SVGNames::feDistantLightTag) || 115 90 n->hasTagName(SVGNames::fePointLightTag) || 116 91 n->hasTagName(SVGNames::feSpotLightTag)) { … … 121 96 } 122 97 123 m_filterEffect->setLightSource(light); 98 return light; 99 } 100 101 bool SVGFESpecularLightingElement::build(FilterBuilder* builder) 102 { 103 FilterEffect* input1 = builder->getEffectById(in1()); 104 105 if(!input1) 106 return false; 107 108 RenderStyle* parentStyle = this->styleForRenderer(parent()->renderer()); 109 RenderStyle* filterStyle = this->resolveStyle(parentStyle); 110 111 Color color = filterStyle->svgStyle()->lightingColor(); 112 113 parentStyle->deref(document()->renderArena()); 114 filterStyle->deref(document()->renderArena()); 115 116 RefPtr<FilterEffect> addedEffect = FESpecularLighting::create(input1, color, surfaceScale(), specularConstant(), 117 specularExponent(), kernelUnitLengthX(), kernelUnitLengthY(), findLights()); 118 builder->add(result(), addedEffect.release()); 119 120 return true; 124 121 } 125 122 -
trunk/WebCore/svg/SVGFESpecularLightingElement.h
r35035 r35094 38 38 39 39 virtual void parseMappedAttribute(MappedAttribute*); 40 virtual SVGFESpecularLighting* filterEffect(SVGResourceFilter*) const; 40 virtual SVGFilterEffect* filterEffect(SVGResourceFilter*) const; 41 bool build(FilterBuilder*); 41 42 42 43 protected: … … 51 52 ANIMATED_PROPERTY_DECLARATIONS(SVGFESpecularLightingElement, float, KernelUnitLengthY, kernelUnitLengthY) 52 53 53 mutable RefPtr< SVGFESpecularLighting> m_filterEffect;54 mutable RefPtr<FESpecularLighting> m_filterEffect; 54 55 55 void updateLights() const;56 LightSource* findLights() const; 56 57 }; 57 58 -
trunk/WebCore/svg/SVGFETileElement.cpp
r35035 r35094 53 53 } 54 54 55 SVGF ETile* SVGFETileElement::filterEffect(SVGResourceFilter* filter) const55 SVGFilterEffect* SVGFETileElement::filterEffect(SVGResourceFilter* filter) const 56 56 { 57 if (!m_filterEffect) 58 m_filterEffect = SVGFETile::create(filter); 57 ASSERT_NOT_REACHED(); 58 return 0; 59 } 59 60 60 m_filterEffect->setIn(in1()); 61 bool SVGFETileElement::build(FilterBuilder* builder) 62 { 63 FilterEffect* input1 = builder->getEffectById(in1()); 61 64 62 setStandardAttributes(m_filterEffect.get()); 63 return m_filterEffect.get(); 65 if(!input1) 66 return false; 67 68 builder->add(result(), FETile::create(input1)); 69 70 return true; 64 71 } 65 72 -
trunk/WebCore/svg/SVGFETileElement.h
r35035 r35094 37 37 38 38 virtual void parseMappedAttribute(MappedAttribute*); 39 virtual SVGFETile* filterEffect(SVGResourceFilter*) const; 39 virtual SVGFilterEffect* filterEffect(SVGResourceFilter*) const; 40 bool build(FilterBuilder*); 40 41 41 42 protected: … … 45 46 ANIMATED_PROPERTY_DECLARATIONS(SVGFETileElement, String, In1, in1) 46 47 47 mutable RefPtr< SVGFETile> m_filterEffect;48 mutable RefPtr<FETile> m_filterEffect; 48 49 }; 49 50 -
trunk/WebCore/svg/SVGFETurbulenceElement.cpp
r35035 r35094 38 38 , m_seed(0.0f) 39 39 , m_stitchTiles(SVG_STITCHTYPE_NOSTITCH) 40 , m_type( SVG_TURBULENCE_TYPE_TURBULENCE)40 , m_type(FETURBULENCE_TYPE_TURBULENCE) 41 41 , m_filterEffect(0) 42 42 { … … 59 59 if (attr->name() == SVGNames::typeAttr) { 60 60 if (value == "fractalNoise") 61 setTypeBaseValue( SVG_TURBULENCE_TYPE_FRACTALNOISE);61 setTypeBaseValue(FETURBULENCE_TYPE_FRACTALNOISE); 62 62 else if (value == "turbulence") 63 setTypeBaseValue( SVG_TURBULENCE_TYPE_TURBULENCE);63 setTypeBaseValue(FETURBULENCE_TYPE_TURBULENCE); 64 64 } else if (attr->name() == SVGNames::stitchTilesAttr) { 65 65 if (value == "stitch") … … 81 81 } 82 82 83 SVGF ETurbulence* SVGFETurbulenceElement::filterEffect(SVGResourceFilter* filter) const83 SVGFilterEffect* SVGFETurbulenceElement::filterEffect(SVGResourceFilter* filter) const 84 84 { 85 86 if (!m_filterEffect) 87 m_filterEffect = SVGFETurbulence::create(filter); 88 89 m_filterEffect->setType((SVGTurbulanceType) type()); 90 m_filterEffect->setBaseFrequencyX(baseFrequencyX()); 91 m_filterEffect->setBaseFrequencyY(baseFrequencyY()); 92 m_filterEffect->setNumOctaves(numOctaves()); 93 m_filterEffect->setSeed(seed()); 94 m_filterEffect->setStitchTiles(stitchTiles() == SVG_STITCHTYPE_STITCH); 85 ASSERT_NOT_REACHED(); 86 return 0; 87 } 95 88 96 setStandardAttributes(m_filterEffect.get()); 97 return m_filterEffect.get(); 89 bool SVGFETurbulenceElement::build(FilterBuilder* builder) 90 { 91 RefPtr<FilterEffect> addedEffect = FETurbulence::create(static_cast<TurbulanceType> (type()), baseFrequencyX(), 92 baseFrequencyY(), numOctaves(), seed(), stitchTiles() == SVG_STITCHTYPE_STITCH); 93 builder->add(result(), addedEffect.release()); 94 95 return true; 98 96 } 99 97 -
trunk/WebCore/svg/SVGFETurbulenceElement.h
r35035 r35094 43 43 44 44 virtual void parseMappedAttribute(MappedAttribute*); 45 virtual SVGFETurbulence* filterEffect(SVGResourceFilter*) const; 45 virtual SVGFilterEffect* filterEffect(SVGResourceFilter*) const; 46 bool build(FilterBuilder*); 46 47 47 48 protected: … … 56 57 ANIMATED_PROPERTY_DECLARATIONS(SVGFETurbulenceElement, int, Type, type) 57 58 58 mutable RefPtr< SVGFETurbulence> m_filterEffect;59 mutable RefPtr<FETurbulence> m_filterEffect; 59 60 }; 60 61 -
trunk/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h
r35035 r35094 25 25 26 26 #if ENABLE(SVG) 27 #include "FilterBuilder.h" 27 28 #include "SVGStyledElement.h" 28 29 -
trunk/WebCore/svg/graphics/filters/SVGFEConvolveMatrix.cpp
r34656 r35094 23 23 24 24 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 25 #include "SVGFEConvolveMatrix.h" 25 26 #include "SVGRenderTreeAsText.h" 26 #include "SVGFEConvolveMatrix.h"27 27 28 28 namespace WebCore { 29 29 30 SVGFEConvolveMatrix::SVGFEConvolveMatrix(SVGResourceFilter* filter) 31 : SVGFilterEffect(filter) 32 , m_kernelSize() 33 , m_divisor(0.0f) 34 , m_bias(0.0f) 35 , m_targetOffset() 36 , m_edgeMode(SVG_EDGEMODE_UNKNOWN) 37 , m_kernelUnitLength() 38 , m_preserveAlpha(false) 30 FEConvolveMatrix::FEConvolveMatrix(FilterEffect* in, FilterEffect* in2, const FloatSize& kernelSize, 31 const float& divisor, const float& bias, const FloatSize& targetOffset, EdgeModeType edgeMode, 32 const FloatPoint& kernelUnitLength, bool preserveAlpha, const Vector<float>& kernelMatrix) 33 : FilterEffect() 34 , m_in(in) 35 , m_in2(in2) 36 , m_kernelSize(kernelSize) 37 , m_divisor(divisor) 38 , m_bias(bias) 39 , m_targetOffset(targetOffset) 40 , m_edgeMode(edgeMode) 41 , m_kernelUnitLength(kernelUnitLength) 42 , m_preserveAlpha(preserveAlpha) 43 , m_kernelMatrix(kernelMatrix) 39 44 { 40 45 } 41 46 42 PassRefPtr<SVGFEConvolveMatrix> SVGFEConvolveMatrix::create(SVGResourceFilter* filter) 47 PassRefPtr<FEConvolveMatrix> FEConvolveMatrix::create(FilterEffect* in, FilterEffect* in2, const FloatSize& kernelSize, 48 const float& divisor, const float& bias, const FloatSize& targetOffset, EdgeModeType edgeMode, 49 const FloatPoint& kernelUnitLength, bool preserveAlpha, const Vector<float>& kernelMatrix) 43 50 { 44 return adoptRef(new SVGFEConvolveMatrix(filter)); 51 return adoptRef(new FEConvolveMatrix(in, in2, kernelSize, divisor, bias, targetOffset, edgeMode, kernelUnitLength, 52 preserveAlpha, kernelMatrix)); 45 53 } 46 54 47 FloatSize SVGFEConvolveMatrix::kernelSize() const 55 56 FloatSize FEConvolveMatrix::kernelSize() const 48 57 { 49 58 return m_kernelSize; 50 59 } 51 60 52 void SVGFEConvolveMatrix::setKernelSize(FloatSize kernelSize)61 void FEConvolveMatrix::setKernelSize(FloatSize kernelSize) 53 62 { 54 63 m_kernelSize = kernelSize; 55 64 } 56 65 57 const Vector<float>& SVGFEConvolveMatrix::kernel() const66 const Vector<float>& FEConvolveMatrix::kernel() const 58 67 { 59 68 return m_kernelMatrix; 60 69 } 61 70 62 void SVGFEConvolveMatrix::setKernel(const Vector<float>& kernel)71 void FEConvolveMatrix::setKernel(const Vector<float>& kernel) 63 72 { 64 73 m_kernelMatrix = kernel; 65 74 } 66 75 67 float SVGFEConvolveMatrix::divisor() const76 float FEConvolveMatrix::divisor() const 68 77 { 69 78 return m_divisor; 70 79 } 71 80 72 void SVGFEConvolveMatrix::setDivisor(float divisor)81 void FEConvolveMatrix::setDivisor(float divisor) 73 82 { 74 83 m_divisor = divisor; 75 84 } 76 85 77 float SVGFEConvolveMatrix::bias() const86 float FEConvolveMatrix::bias() const 78 87 { 79 88 return m_bias; 80 89 } 81 90 82 void SVGFEConvolveMatrix::setBias(float bias)91 void FEConvolveMatrix::setBias(float bias) 83 92 { 84 93 m_bias = bias; 85 94 } 86 95 87 FloatSize SVGFEConvolveMatrix::targetOffset() const96 FloatSize FEConvolveMatrix::targetOffset() const 88 97 { 89 98 return m_targetOffset; 90 99 } 91 100 92 void SVGFEConvolveMatrix::setTargetOffset(FloatSize targetOffset)101 void FEConvolveMatrix::setTargetOffset(FloatSize targetOffset) 93 102 { 94 103 m_targetOffset = targetOffset; 95 104 } 96 105 97 SVGEdgeModeType SVGFEConvolveMatrix::edgeMode() const106 EdgeModeType FEConvolveMatrix::edgeMode() const 98 107 { 99 108 return m_edgeMode; 100 109 } 101 110 102 void SVGFEConvolveMatrix::setEdgeMode(SVGEdgeModeType edgeMode)111 void FEConvolveMatrix::setEdgeMode(EdgeModeType edgeMode) 103 112 { 104 113 m_edgeMode = edgeMode; 105 114 } 106 115 107 FloatPoint SVGFEConvolveMatrix::kernelUnitLength() const116 FloatPoint FEConvolveMatrix::kernelUnitLength() const 108 117 { 109 118 return m_kernelUnitLength; 110 119 } 111 120 112 void SVGFEConvolveMatrix::setKernelUnitLength(FloatPoint kernelUnitLength)121 void FEConvolveMatrix::setKernelUnitLength(FloatPoint kernelUnitLength) 113 122 { 114 123 m_kernelUnitLength = kernelUnitLength; 115 124 } 116 125 117 bool SVGFEConvolveMatrix::preserveAlpha() const126 bool FEConvolveMatrix::preserveAlpha() const 118 127 { 119 128 return m_preserveAlpha; 120 129 } 121 130 122 void SVGFEConvolveMatrix::setPreserveAlpha(bool preserveAlpha)131 void FEConvolveMatrix::setPreserveAlpha(bool preserveAlpha) 123 132 { 124 133 m_preserveAlpha = preserveAlpha; 125 134 } 126 135 127 static TextStream& operator<<(TextStream& ts, SVGEdgeModeType t) 136 void FEConvolveMatrix::apply() 137 { 138 } 139 140 void FEConvolveMatrix::dump() 141 { 142 } 143 144 static TextStream& operator<<(TextStream& ts, EdgeModeType t) 128 145 { 129 146 switch (t) 130 147 { 131 case SVG_EDGEMODE_UNKNOWN:148 case EDGEMODE_UNKNOWN: 132 149 ts << "UNKNOWN";break; 133 case SVG_EDGEMODE_DUPLICATE:150 case EDGEMODE_DUPLICATE: 134 151 ts << "DUPLICATE";break; 135 case SVG_EDGEMODE_WRAP:152 case EDGEMODE_WRAP: 136 153 ts << "WRAP"; break; 137 case SVG_EDGEMODE_NONE:154 case EDGEMODE_NONE: 138 155 ts << "NONE"; break; 139 156 } … … 141 158 } 142 159 143 TextStream& SVGFEConvolveMatrix::externalRepresentation(TextStream& ts) const160 TextStream& FEConvolveMatrix::externalRepresentation(TextStream& ts) const 144 161 { 145 162 ts << "[type=CONVOLVE-MATRIX] "; 146 SVGFilterEffect::externalRepresentation(ts);163 FilterEffect::externalRepresentation(ts); 147 164 ts << " [order " << m_kernelSize << "]" 148 149 150 151 152 153 154 165 << " [kernel matrix=" << m_kernelMatrix << "]" 166 << " [divisor=" << m_divisor << "]" 167 << " [bias=" << m_bias << "]" 168 << " [target " << m_targetOffset << "]" 169 << " [edge mode=" << m_edgeMode << "]" 170 << " [kernel unit length " << m_kernelUnitLength << "]" 171 << " [preserve alpha=" << m_preserveAlpha << "]"; 155 172 return ts; 156 173 } -
trunk/WebCore/svg/graphics/filters/SVGFEConvolveMatrix.h
r34656 r35094 24 24 25 25 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 26 #include "SVGFilterEffect.h" 26 #include "FilterEffect.h" 27 #include "FloatPoint.h" 28 #include "FloatSize.h" 29 30 #include <wtf/Vector.h> 27 31 28 32 namespace WebCore { 29 33 30 enum SVGEdgeModeType {31 SVG_EDGEMODE_UNKNOWN = 0,32 SVG_EDGEMODE_DUPLICATE = 1,33 SVG_EDGEMODE_WRAP = 2,34 SVG_EDGEMODE_NONE = 335 };34 enum EdgeModeType { 35 EDGEMODE_UNKNOWN = 0, 36 EDGEMODE_DUPLICATE = 1, 37 EDGEMODE_WRAP = 2, 38 EDGEMODE_NONE = 3 39 }; 36 40 37 class SVGFEConvolveMatrix : public SVGFilterEffect { 38 public: 39 static PassRefPtr<SVGFEConvolveMatrix> create(SVGResourceFilter*); 41 class FEConvolveMatrix : public FilterEffect { 42 public: 43 static PassRefPtr<FEConvolveMatrix> create(FilterEffect*, FilterEffect*, const FloatSize&, 44 const float&, const float&, const FloatSize&, EdgeModeType, const FloatPoint&, 45 bool, const Vector<float>&); 40 46 41 FloatSize kernelSize() const;42 void setKernelSize(FloatSize);47 FloatSize kernelSize() const; 48 void setKernelSize(FloatSize); 43 49 44 const Vector<float>& kernel() const;45 void setKernel(const Vector<float>&);50 const Vector<float>& kernel() const; 51 void setKernel(const Vector<float>&); 46 52 47 float divisor() const;48 void setDivisor(float);53 float divisor() const; 54 void setDivisor(float); 49 55 50 float bias() const;51 void setBias(float);56 float bias() const; 57 void setBias(float); 52 58 53 FloatSize targetOffset() const;54 void setTargetOffset(FloatSize);59 FloatSize targetOffset() const; 60 void setTargetOffset(FloatSize); 55 61 56 SVGEdgeModeType edgeMode() const;57 void setEdgeMode(SVGEdgeModeType);62 EdgeModeType edgeMode() const; 63 void setEdgeMode(EdgeModeType); 58 64 59 FloatPoint kernelUnitLength() const;60 void setKernelUnitLength(FloatPoint);65 FloatPoint kernelUnitLength() const; 66 void setKernelUnitLength(FloatPoint); 61 67 62 bool preserveAlpha() const;63 void setPreserveAlpha(bool);68 bool preserveAlpha() const; 69 void setPreserveAlpha(bool); 64 70 65 virtual TextStream& externalRepresentation(TextStream&) const; 71 virtual void apply(); 72 virtual void dump(); 73 TextStream& externalRepresentation(TextStream& ts) const; 66 74 67 private: 68 SVGFEConvolveMatrix(SVGResourceFilter*); 75 private: 76 FEConvolveMatrix(FilterEffect*, FilterEffect*, const FloatSize&, const float&, const float&, 77 const FloatSize&, EdgeModeType, const FloatPoint&, bool, const Vector<float>&); 69 78 70 FloatSize m_kernelSize; 71 float m_divisor; 72 float m_bias; 73 FloatSize m_targetOffset; 74 SVGEdgeModeType m_edgeMode; 75 FloatPoint m_kernelUnitLength; 76 bool m_preserveAlpha; 77 Vector<float> m_kernelMatrix; // maybe should be a real matrix? 78 }; 79 RefPtr<FilterEffect> m_in; 80 RefPtr<FilterEffect> m_in2; 81 FloatSize m_kernelSize; 82 float m_divisor; 83 float m_bias; 84 FloatSize m_targetOffset; 85 EdgeModeType m_edgeMode; 86 FloatPoint m_kernelUnitLength; 87 bool m_preserveAlpha; 88 Vector<float> m_kernelMatrix; 89 }; 79 90 80 91 } // namespace WebCore -
trunk/WebCore/svg/graphics/filters/SVGFEDiffuseLighting.cpp
r34912 r35094 25 25 #include "SVGLightSource.h" 26 26 #include "SVGFEDiffuseLighting.h" 27 #include " TextStream.h"27 #include "SVGRenderTreeAsText.h" 28 28 29 29 namespace WebCore { 30 30 31 SVGFEDiffuseLighting::SVGFEDiffuseLighting(SVGResourceFilter* filter) 32 : SVGFilterEffect(filter) 33 , m_lightingColor() 34 , m_surfaceScale(0.0f) 35 , m_diffuseConstant(0.0f) 36 , m_kernelUnitLengthX(0.0f) 37 , m_kernelUnitLengthY(0.0f) 38 , m_lightSource(0) 31 FEDiffuseLighting::FEDiffuseLighting(FilterEffect* in , const Color& lightingColor, const float& surfaceScale, 32 const float& diffuseConstant, const float& kernelUnitLengthX, const float& kernelUnitLengthY, LightSource* lightSource) 33 : FilterEffect() 34 , m_in(in) 35 , m_lightingColor(lightingColor) 36 , m_surfaceScale(surfaceScale) 37 , m_diffuseConstant(diffuseConstant) 38 , m_kernelUnitLengthX(kernelUnitLengthX) 39 , m_kernelUnitLengthY(kernelUnitLengthY) 40 , m_lightSource(lightSource) 39 41 { 40 42 } 41 43 42 PassRefPtr<SVGFEDiffuseLighting> SVGFEDiffuseLighting::create(SVGResourceFilter* filter) 44 PassRefPtr<FEDiffuseLighting> FEDiffuseLighting::create(FilterEffect* in , const Color& lightingColor, 45 const float& surfaceScale, const float& diffuseConstant, const float& kernelUnitLengthX, 46 const float& kernelUnitLengthY, LightSource* lightSource) 43 47 { 44 return adoptRef(new SVGFEDiffuseLighting(filter));48 return adoptRef(new FEDiffuseLighting(in, lightingColor, surfaceScale, diffuseConstant, kernelUnitLengthX, kernelUnitLengthY, lightSource)); 45 49 } 46 50 47 SVGFEDiffuseLighting::~SVGFEDiffuseLighting()51 FEDiffuseLighting::~FEDiffuseLighting() 48 52 { 49 53 } 50 54 51 Color SVGFEDiffuseLighting::lightingColor() const55 Color FEDiffuseLighting::lightingColor() const 52 56 { 53 57 return m_lightingColor; 54 58 } 55 59 56 void SVGFEDiffuseLighting::setLightingColor(const Color& lightingColor)60 void FEDiffuseLighting::setLightingColor(const Color& lightingColor) 57 61 { 58 62 m_lightingColor = lightingColor; 59 63 } 60 64 61 float SVGFEDiffuseLighting::surfaceScale() const65 float FEDiffuseLighting::surfaceScale() const 62 66 { 63 67 return m_surfaceScale; 64 68 } 65 69 66 void SVGFEDiffuseLighting::setSurfaceScale(float surfaceScale)70 void FEDiffuseLighting::setSurfaceScale(float surfaceScale) 67 71 { 68 72 m_surfaceScale = surfaceScale; 69 73 } 70 74 71 float SVGFEDiffuseLighting::diffuseConstant() const75 float FEDiffuseLighting::diffuseConstant() const 72 76 { 73 77 return m_diffuseConstant; 74 78 } 75 79 76 void SVGFEDiffuseLighting::setDiffuseConstant(float diffuseConstant)80 void FEDiffuseLighting::setDiffuseConstant(float diffuseConstant) 77 81 { 78 82 m_diffuseConstant = diffuseConstant; 79 83 } 80 84 81 float SVGFEDiffuseLighting::kernelUnitLengthX() const85 float FEDiffuseLighting::kernelUnitLengthX() const 82 86 { 83 87 return m_kernelUnitLengthX; 84 88 } 85 89 86 void SVGFEDiffuseLighting::setKernelUnitLengthX(float kernelUnitLengthX)90 void FEDiffuseLighting::setKernelUnitLengthX(float kernelUnitLengthX) 87 91 { 88 92 m_kernelUnitLengthX = kernelUnitLengthX; 89 93 } 90 94 91 float SVGFEDiffuseLighting::kernelUnitLengthY() const95 float FEDiffuseLighting::kernelUnitLengthY() const 92 96 { 93 97 return m_kernelUnitLengthY; 94 98 } 95 99 96 void SVGFEDiffuseLighting::setKernelUnitLengthY(float kernelUnitLengthY)100 void FEDiffuseLighting::setKernelUnitLengthY(float kernelUnitLengthY) 97 101 { 98 102 m_kernelUnitLengthY = kernelUnitLengthY; 99 103 } 100 104 101 const LightSource* SVGFEDiffuseLighting::lightSource() const105 const LightSource* FEDiffuseLighting::lightSource() const 102 106 { 103 107 return m_lightSource.get(); 104 108 } 105 109 106 void SVGFEDiffuseLighting::setLightSource(LightSource* lightSource)110 void FEDiffuseLighting::setLightSource(LightSource* lightSource) 107 111 { 108 112 m_lightSource = lightSource; 109 113 } 110 114 111 TextStream& SVGFEDiffuseLighting::externalRepresentation(TextStream& ts) const 115 void FEDiffuseLighting::apply() 116 { 117 } 118 119 void FEDiffuseLighting::dump() 120 { 121 } 122 123 TextStream& FEDiffuseLighting::externalRepresentation(TextStream& ts) const 112 124 { 113 125 ts << "[type=DIFFUSE-LIGHTING] "; 114 SVGFilterEffect::externalRepresentation(ts);126 FilterEffect::externalRepresentation(ts); 115 127 ts << " [surface scale=" << m_surfaceScale << "]" 116 128 << " [diffuse constant=" << m_diffuseConstant << "]" -
trunk/WebCore/svg/graphics/filters/SVGFEDiffuseLighting.h
r34912 r35094 25 25 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 26 26 #include "Color.h" 27 #include " SVGFilterEffect.h"27 #include "FilterEffect.h" 28 28 29 29 namespace WebCore { 30 30 31 class LightSource;31 class LightSource; 32 32 33 class SVGFEDiffuseLighting : public SVGFilterEffect { 34 public: 35 static PassRefPtr<SVGFEDiffuseLighting> create(SVGResourceFilter*); 36 virtual ~SVGFEDiffuseLighting(); 33 class FEDiffuseLighting : public FilterEffect { 34 public: 35 static PassRefPtr<FEDiffuseLighting> create(FilterEffect*, const Color&, const float&, const float&, 36 const float&, const float&, LightSource*); 37 virtual ~FEDiffuseLighting(); 37 38 38 Color lightingColor() const;39 void setLightingColor(const Color&);39 Color lightingColor() const; 40 void setLightingColor(const Color&); 40 41 41 float surfaceScale() const;42 void setSurfaceScale(float);42 float surfaceScale() const; 43 void setSurfaceScale(float); 43 44 44 float diffuseConstant() const;45 void setDiffuseConstant(float);45 float diffuseConstant() const; 46 void setDiffuseConstant(float); 46 47 47 float kernelUnitLengthX() const;48 void setKernelUnitLengthX(float);48 float kernelUnitLengthX() const; 49 void setKernelUnitLengthX(float); 49 50 50 float kernelUnitLengthY() const;51 void setKernelUnitLengthY(float);51 float kernelUnitLengthY() const; 52 void setKernelUnitLengthY(float); 52 53 53 const LightSource* lightSource() const;54 void setLightSource(LightSource*);54 const LightSource* lightSource() const; 55 void setLightSource(LightSource*); 55 56 56 virtual TextStream& externalRepresentation(TextStream&) const; 57 virtual void apply(); 58 virtual void dump(); 59 TextStream& externalRepresentation(TextStream& ts) const; 60 61 private: 62 FEDiffuseLighting(FilterEffect*, const Color&, const float&, const float&, 63 const float&, const float&, LightSource*); 57 64 58 #if PLATFORM(CI) 59 virtual CIFilter* getCIFilter(const FloatRect& bbox) const; 60 #endif 61 62 private: 63 SVGFEDiffuseLighting(SVGResourceFilter*); 64 65 Color m_lightingColor; 66 float m_surfaceScale; 67 float m_diffuseConstant; 68 float m_kernelUnitLengthX; 69 float m_kernelUnitLengthY; 70 RefPtr<LightSource> m_lightSource; 71 }; 65 RefPtr<FilterEffect> m_in; 66 Color m_lightingColor; 67 float m_surfaceScale; 68 float m_diffuseConstant; 69 float m_kernelUnitLengthX; 70 float m_kernelUnitLengthY; 71 RefPtr<LightSource> m_lightSource; 72 }; 72 73 73 74 } // namespace WebCore -
trunk/WebCore/svg/graphics/filters/SVGFEDisplacementMap.cpp
r34656 r35094 23 23 24 24 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 25 #include "SVGFEDisplacementMap.h" 25 26 #include "SVGRenderTreeAsText.h" 26 #include "SVGFEDisplacementMap.h"27 27 28 28 namespace WebCore { 29 29 30 SVGFEDisplacementMap::SVGFEDisplacementMap(SVGResourceFilter* filter) 31 : SVGFilterEffect(filter) 32 , m_xChannelSelector(SVG_CHANNEL_UNKNOWN) 33 , m_yChannelSelector(SVG_CHANNEL_UNKNOWN) 34 , m_scale(0) 30 FEDisplacementMap::FEDisplacementMap(FilterEffect* in, FilterEffect* in2, ChannelSelectorType xChannelSelector, 31 ChannelSelectorType yChannelSelector, const float& scale) 32 : FilterEffect() 33 , m_in(in) 34 , m_in2(in2) 35 , m_xChannelSelector(xChannelSelector) 36 , m_yChannelSelector(yChannelSelector) 37 , m_scale(scale) 35 38 { 36 39 } 37 40 38 PassRefPtr<SVGFEDisplacementMap> SVGFEDisplacementMap::create(SVGResourceFilter* filter) 41 PassRefPtr<FEDisplacementMap> FEDisplacementMap::create(FilterEffect* in, FilterEffect* in2, 42 ChannelSelectorType xChannelSelector, ChannelSelectorType yChannelSelector, const float& scale) 39 43 { 40 return adoptRef(new SVGFEDisplacementMap(filter));44 return adoptRef(new FEDisplacementMap(in, in2, xChannelSelector, yChannelSelector, scale)); 41 45 } 42 46 43 String SVGFEDisplacementMap::in2() const 44 { 45 return m_in2; 46 } 47 48 void SVGFEDisplacementMap::setIn2(const String &in2) 49 { 50 m_in2 = in2; 51 } 52 53 SVGChannelSelectorType SVGFEDisplacementMap::xChannelSelector() const 47 ChannelSelectorType FEDisplacementMap::xChannelSelector() const 54 48 { 55 49 return m_xChannelSelector; 56 50 } 57 51 58 void SVGFEDisplacementMap::setXChannelSelector(const SVGChannelSelectorType xChannelSelector)52 void FEDisplacementMap::setXChannelSelector(const ChannelSelectorType xChannelSelector) 59 53 { 60 54 m_xChannelSelector = xChannelSelector; 61 55 } 62 56 63 SVGChannelSelectorType SVGFEDisplacementMap::yChannelSelector() const57 ChannelSelectorType FEDisplacementMap::yChannelSelector() const 64 58 { 65 59 return m_yChannelSelector; 66 60 } 67 61 68 void SVGFEDisplacementMap::setYChannelSelector(const SVGChannelSelectorType yChannelSelector)62 void FEDisplacementMap::setYChannelSelector(const ChannelSelectorType yChannelSelector) 69 63 { 70 64 m_yChannelSelector = yChannelSelector; 71 65 } 72 66 73 float SVGFEDisplacementMap::scale() const67 float FEDisplacementMap::scale() const 74 68 { 75 69 return m_scale; 76 70 } 77 71 78 void SVGFEDisplacementMap::setScale(float scale)72 void FEDisplacementMap::setScale(float scale) 79 73 { 80 74 m_scale = scale; 81 75 } 82 76 83 static TextStream& operator<<(TextStream& ts, SVGChannelSelectorType t) 77 void FEDisplacementMap::apply() 78 { 79 } 80 81 void FEDisplacementMap::dump() 82 { 83 } 84 85 static TextStream& operator<<(TextStream& ts, ChannelSelectorType t) 84 86 { 85 87 switch (t) 86 88 { 87 case SVG_CHANNEL_UNKNOWN:89 case CHANNEL_UNKNOWN: 88 90 ts << "UNKNOWN"; break; 89 case SVG_CHANNEL_R:91 case CHANNEL_R: 90 92 ts << "RED"; break; 91 case SVG_CHANNEL_G:93 case CHANNEL_G: 92 94 ts << "GREEN"; break; 93 case SVG_CHANNEL_B:95 case CHANNEL_B: 94 96 ts << "BLUE"; break; 95 case SVG_CHANNEL_A:97 case CHANNEL_A: 96 98 ts << "ALPHA"; break; 97 99 } … … 99 101 } 100 102 101 TextStream& SVGFEDisplacementMap::externalRepresentation(TextStream& ts) const103 TextStream& FEDisplacementMap::externalRepresentation(TextStream& ts) const 102 104 { 103 105 ts << "[type=DISPLACEMENT-MAP] "; 104 SVGFilterEffect::externalRepresentation(ts); 105 if (!in2().isEmpty()) 106 ts << " [in2=" << in2() << "]"; 107 ts << " [scale=" << m_scale << "]" 106 FilterEffect::externalRepresentation(ts); 107 ts << " [in2=" << m_in2.get() << "]" 108 << " [scale=" << m_scale << "]" 108 109 << " [x channel selector=" << m_xChannelSelector << "]" 109 110 << " [y channel selector=" << m_yChannelSelector << "]"; -
trunk/WebCore/svg/graphics/filters/SVGFEDisplacementMap.h
r34656 r35094 24 24 25 25 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 26 #include "SVGFilterEffect.h" 26 #include "PlatformString.h" 27 #include "FilterEffect.h" 27 28 28 29 namespace WebCore { 29 30 30 enum SVGChannelSelectorType { 31 SVG_CHANNEL_UNKNOWN = 0, 32 SVG_CHANNEL_R = 1, 33 SVG_CHANNEL_G = 2, 34 SVG_CHANNEL_B = 3, 35 SVG_CHANNEL_A = 4 36 }; 31 enum ChannelSelectorType { 32 CHANNEL_UNKNOWN = 0, 33 CHANNEL_R = 1, 34 CHANNEL_G = 2, 35 CHANNEL_B = 3, 36 CHANNEL_A = 4 37 }; 38 39 class FEDisplacementMap : public FilterEffect { 40 public: 41 static PassRefPtr<FEDisplacementMap> create(FilterEffect*, FilterEffect*, ChannelSelectorType, 42 ChannelSelectorType, const float&); 37 43 38 class SVGFEDisplacementMap : public SVGFilterEffect { 39 public: 40 static PassRefPtr<SVGFEDisplacementMap> create(SVGResourceFilter*); 44 ChannelSelectorType xChannelSelector() const; 45 void setXChannelSelector(const ChannelSelectorType); 41 46 42 String in2() const;43 void setIn2(const String&);47 ChannelSelectorType yChannelSelector() const; 48 void setYChannelSelector(const ChannelSelectorType); 44 49 45 SVGChannelSelectorType xChannelSelector() const;46 void setXChannelSelector(const SVGChannelSelectorType);50 float scale() const; 51 void setScale(float scale); 47 52 48 SVGChannelSelectorType yChannelSelector() const; 49 void setYChannelSelector(const SVGChannelSelectorType); 53 virtual void apply(); 54 virtual void dump(); 55 TextStream& externalRepresentation(TextStream& ts) const; 50 56 51 float scale() const; 52 void setScale(float scale); 57 private: 58 FEDisplacementMap(FilterEffect*, FilterEffect*, ChannelSelectorType, 59 ChannelSelectorType, const float&); 53 60 54 virtual TextStream& externalRepresentation(TextStream&) const; 55 56 #if PLATFORM(CI) 57 virtual CIFilter* getCIFilter(const FloatRect& bbox) const; 58 #endif 59 60 private: 61 SVGFEDisplacementMap(SVGResourceFilter*); 62 63 SVGChannelSelectorType m_xChannelSelector; 64 SVGChannelSelectorType m_yChannelSelector; 65 float m_scale; 66 String m_in2; 67 }; 61 RefPtr<FilterEffect> m_in; 62 RefPtr<FilterEffect> m_in2; 63 ChannelSelectorType m_xChannelSelector; 64 ChannelSelectorType m_yChannelSelector; 65 float m_scale; 66 }; 68 67 69 68 } // namespace WebCore -
trunk/WebCore/svg/graphics/filters/SVGFEFlood.cpp
r34656 r35094 23 23 24 24 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 25 #include "SVGFEFlood.h" 25 26 #include "SVGRenderTreeAsText.h" 26 #include "SVGFEFlood.h"27 27 28 28 namespace WebCore { 29 29 30 SVGFEFlood::SVGFEFlood(SVGResourceFilter* filter)31 : SVGFilterEffect(filter)32 , m_floodColor( )33 , m_floodOpacity( 0.0f)30 FEFlood::FEFlood(const Color& floodColor, const float& floodOpacity) 31 : FilterEffect() 32 , m_floodColor(floodColor) 33 , m_floodOpacity(floodOpacity) 34 34 { 35 35 } 36 36 37 PassRefPtr< SVGFEFlood> SVGFEFlood::create(SVGResourceFilter* filter)37 PassRefPtr<FEFlood> FEFlood::create(const Color& floodColor, const float& floodOpacity) 38 38 { 39 return adoptRef(new SVGFEFlood(filter));39 return adoptRef(new FEFlood(floodColor, floodOpacity)); 40 40 } 41 41 42 Color SVGFEFlood::floodColor() const42 Color FEFlood::floodColor() const 43 43 { 44 44 return m_floodColor; 45 45 } 46 46 47 void SVGFEFlood::setFloodColor(const Color& color)47 void FEFlood::setFloodColor(const Color& color) 48 48 { 49 49 m_floodColor = color; 50 50 } 51 51 52 float SVGFEFlood::floodOpacity() const52 float FEFlood::floodOpacity() const 53 53 { 54 54 return m_floodOpacity; 55 55 } 56 56 57 void SVGFEFlood::setFloodOpacity(float floodOpacity)57 void FEFlood::setFloodOpacity(float floodOpacity) 58 58 { 59 59 m_floodOpacity = floodOpacity; 60 60 } 61 61 62 TextStream& SVGFEFlood::externalRepresentation(TextStream& ts) const 62 void FEFlood::apply() 63 { 64 } 65 66 void FEFlood::dump() 67 { 68 } 69 70 TextStream& FEFlood::externalRepresentation(TextStream& ts) const 63 71 { 64 72 ts << "[type=FLOOD] "; 65 SVGFilterEffect::externalRepresentation(ts);73 FilterEffect::externalRepresentation(ts); 66 74 ts << " [color=" << floodColor() << "]" 67 75 << " [opacity=" << floodOpacity() << "]"; -
trunk/WebCore/svg/graphics/filters/SVGFEFlood.h
r34656 r35094 25 25 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 26 26 #include "Color.h" 27 #include " SVGFilterEffect.h"27 #include "FilterEffect.h" 28 28 29 29 namespace WebCore { 30 30 31 class SVGFEFlood : public SVGFilterEffect {32 public:33 static PassRefPtr<SVGFEFlood> create(SVGResourceFilter*);31 class FEFlood : public FilterEffect { 32 public: 33 static PassRefPtr<FEFlood> create(const Color&, const float&); 34 34 35 Color floodColor() const;36 void setFloodColor(const Color &);35 Color floodColor() const; 36 void setFloodColor(const Color &); 37 37 38 float floodOpacity() const;39 void setFloodOpacity(float);38 float floodOpacity() const; 39 void setFloodOpacity(float); 40 40 41 virtual TextStream& externalRepresentation(TextStream&) const; 41 virtual void apply(); 42 virtual void dump(); 43 TextStream& externalRepresentation(TextStream& ts) const; 42 44 43 #if PLATFORM(CI) 44 virtual CIFilter* getCIFilter(const FloatRect& bbox) const; 45 #endif 45 private: 46 FEFlood(const Color&, const float&); 46 47 47 private: 48 SVGFEFlood(SVGResourceFilter*); 49 50 Color m_floodColor; 51 float m_floodOpacity; 52 }; 48 Color m_floodColor; 49 float m_floodOpacity; 50 }; 53 51 54 52 } // namespace WebCore -
trunk/WebCore/svg/graphics/filters/SVGFEGaussianBlur.cpp
r34656 r35094 24 24 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 25 25 #include "SVGFEGaussianBlur.h" 26 #include " TextStream.h"26 #include "SVGRenderTreeAsText.h" 27 27 28 28 namespace WebCore { 29 29 30 SVGFEGaussianBlur::SVGFEGaussianBlur(SVGResourceFilter* filter) 31 : SVGFilterEffect(filter) 32 , m_x(0.0f) 33 , m_y(0.0f) 30 FEGaussianBlur::FEGaussianBlur(FilterEffect* in, const float& x, const float& y) 31 : FilterEffect() 32 , m_in(in) 33 , m_x(x) 34 , m_y(y) 34 35 { 35 36 } 36 37 37 PassRefPtr< SVGFEGaussianBlur> SVGFEGaussianBlur::create(SVGResourceFilter* filter)38 PassRefPtr<FEGaussianBlur> FEGaussianBlur::create(FilterEffect* in, const float& x, const float& y) 38 39 { 39 return adoptRef(new SVGFEGaussianBlur(filter));40 return adoptRef(new FEGaussianBlur(in, x, y)); 40 41 } 41 42 42 float SVGFEGaussianBlur::stdDeviationX() const43 float FEGaussianBlur::stdDeviationX() const 43 44 { 44 45 return m_x; 45 46 } 46 47 47 void SVGFEGaussianBlur::setStdDeviationX(float x)48 void FEGaussianBlur::setStdDeviationX(float x) 48 49 { 49 50 m_x = x; 50 51 } 51 52 52 float SVGFEGaussianBlur::stdDeviationY() const53 float FEGaussianBlur::stdDeviationY() const 53 54 { 54 55 return m_y; 55 56 } 56 57 57 void SVGFEGaussianBlur::setStdDeviationY(float y)58 void FEGaussianBlur::setStdDeviationY(float y) 58 59 { 59 60 m_y = y; 60 61 } 61 62 62 TextStream& SVGFEGaussianBlur::externalRepresentation(TextStream& ts) const 63 void FEGaussianBlur::apply() 64 { 65 } 66 67 void FEGaussianBlur::dump() 68 { 69 } 70 71 TextStream& FEGaussianBlur::externalRepresentation(TextStream& ts) const 63 72 { 64 73 ts << "[type=GAUSSIAN-BLUR] "; 65 SVGFilterEffect::externalRepresentation(ts);74 FilterEffect::externalRepresentation(ts); 66 75 ts << " [std dev. x=" << stdDeviationX() << " y=" << stdDeviationY() << "]"; 67 76 return ts; -
trunk/WebCore/svg/graphics/filters/SVGFEGaussianBlur.h
r34656 r35094 24 24 25 25 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 26 #include " SVGFilterEffect.h"26 #include "FilterEffect.h" 27 27 28 28 namespace WebCore { 29 29 30 class SVGFEGaussianBlur : public SVGFilterEffect {31 public:32 static PassRefPtr<SVGFEGaussianBlur> create(SVGResourceFilter*);30 class FEGaussianBlur : public FilterEffect { 31 public: 32 static PassRefPtr<FEGaussianBlur> create(FilterEffect*, const float&, const float&); 33 33 34 float stdDeviationX() const;35 void setStdDeviationX(float);34 float stdDeviationX() const; 35 void setStdDeviationX(float); 36 36 37 float stdDeviationY() const;38 void setStdDeviationY(float);37 float stdDeviationY() const; 38 void setStdDeviationY(float); 39 39 40 virtual TextStream& externalRepresentation(TextStream&) const; 40 virtual void apply(); 41 virtual void dump(); 42 TextStream& externalRepresentation(TextStream& ts) const; 41 43 42 #if PLATFORM(CI) 43 virtual CIFilter* getCIFilter(const FloatRect& bbox) const; 44 #endif 44 private: 45 FEGaussianBlur(FilterEffect*, const float&, const float&); 45 46 46 private: 47 SVGFEGaussianBlur(SVGResourceFilter*); 48 49 float m_x; 50 float m_y; 51 }; 47 RefPtr<FilterEffect> m_in; 48 float m_x; 49 float m_y; 50 }; 52 51 53 52 } // namespace WebCore -
trunk/WebCore/svg/graphics/filters/SVGFEImage.cpp
r34656 r35094 24 24 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 25 25 #include "SVGFEImage.h" 26 27 #include "SVGResourceFilter.h" 28 #include "TextStream.h" 26 #include "SVGRenderTreeAsText.h" 29 27 30 28 namespace WebCore { 31 29 32 SVGFEImage::SVGFEImage(SVGResourceFilter* filter)33 : SVGFilterEffect(filter)34 , m_cachedImage( 0)30 FEImage::FEImage(CachedImage* cachedImage) 31 : FilterEffect() 32 , m_cachedImage(cachedImage) 35 33 { 36 34 } 37 35 38 PassRefPtr< SVGFEImage> SVGFEImage::create(SVGResourceFilter* filter)36 PassRefPtr<FEImage> FEImage::create(CachedImage* cachedImage) 39 37 { 40 return adoptRef(new SVGFEImage(filter));38 return adoptRef(new FEImage(cachedImage)); 41 39 } 42 40 43 SVGFEImage::~SVGFEImage()41 FEImage::~FEImage() 44 42 { 45 43 if (m_cachedImage) … … 47 45 } 48 46 49 CachedImage* SVGFEImage::cachedImage() const47 CachedImage* FEImage::cachedImage() const 50 48 { 51 49 return m_cachedImage; 52 50 } 53 51 54 void SVGFEImage::setCachedImage(CachedImage* image)52 void FEImage::setCachedImage(CachedImage* image) 55 53 { 56 54 if (m_cachedImage == image) … … 66 64 } 67 65 68 TextStream& SVGFEImage::externalRepresentation(TextStream& ts) const 66 void FEImage::apply() 67 { 68 } 69 70 void FEImage::dump() 71 { 72 } 73 74 TextStream& FEImage::externalRepresentation(TextStream& ts) const 69 75 { 70 76 ts << "[type=IMAGE] "; 71 SVGFilterEffect::externalRepresentation(ts);77 FilterEffect::externalRepresentation(ts); 72 78 // FIXME: should this dump also object returned by SVGFEImage::image() ? 73 79 return ts; 74 75 }76 77 void SVGFEImage::imageChanged(CachedImage*)78 {79 if (SVGResourceFilter* filterResource = filter())80 filterResource->invalidate();81 80 } 82 81 -
trunk/WebCore/svg/graphics/filters/SVGFEImage.h
r34656 r35094 26 26 #include "CachedImage.h" 27 27 #include "CachedResourceClient.h" 28 #include " SVGFilterEffect.h"28 #include "FilterEffect.h" 29 29 30 30 namespace WebCore { 31 31 32 class SVGFEImage : public SVGFilterEffect33 , public CachedResourceClient {34 public:35 static PassRefPtr<SVGFEImage> create(SVGResourceFilter*);36 virtual ~SVGFEImage();32 class FEImage : public FilterEffect 33 , public CachedResourceClient { 34 public: 35 static PassRefPtr<FEImage> create(CachedImage*); 36 virtual ~FEImage(); 37 37 38 // FIXME: We need to support <svg> (RenderObject*) as well as image data.38 // FIXME: We need to support <svg> (RenderObject*) as well as image data. 39 39 40 CachedImage* cachedImage() const; 41 void setCachedImage(CachedImage*); 40 CachedImage* cachedImage() const; 41 void setCachedImage(CachedImage*); 42 43 virtual void apply(); 44 virtual void dump(); 45 TextStream& externalRepresentation(TextStream& ts) const; 46 47 private: 48 FEImage(CachedImage*); 42 49 43 virtual TextStream& externalRepresentation(TextStream&) const; 44 45 #if PLATFORM(CI) 46 virtual CIFilter* getCIFilter(const FloatRect& bbox) const; 47 #endif 48 49 virtual void imageChanged(CachedImage*); 50 51 private: 52 SVGFEImage(SVGResourceFilter*); 53 54 CachedImage* m_cachedImage; 55 }; 50 CachedImage* m_cachedImage; 51 }; 56 52 57 53 } // namespace WebCore -
trunk/WebCore/svg/graphics/filters/SVGFEMerge.cpp
r34656 r35094 24 24 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 25 25 #include "SVGFEMerge.h" 26 #include " TextStream.h"26 #include "SVGRenderTreeAsText.h" 27 27 28 28 namespace WebCore { 29 29 30 SVGFEMerge::SVGFEMerge(SVGResourceFilter* filter) 31 : SVGFilterEffect(filter) 30 FEMerge::FEMerge(const Vector<FilterEffect*>& mergeInputs) 31 : FilterEffect() 32 , m_mergeInputs(mergeInputs) 32 33 { 33 34 } 34 35 35 PassRefPtr< SVGFEMerge> SVGFEMerge::create(SVGResourceFilter* filter)36 PassRefPtr<FEMerge> FEMerge::create(const Vector<FilterEffect*>& mergeInputs) 36 37 { 37 return adoptRef(new SVGFEMerge(filter));38 return adoptRef(new FEMerge(mergeInputs)); 38 39 } 39 40 40 const Vector< String>& SVGFEMerge::mergeInputs() const41 const Vector<FilterEffect*>& FEMerge::mergeInputs() const 41 42 { 42 43 return m_mergeInputs; 43 44 } 44 45 45 void SVGFEMerge::setMergeInputs(const Vector<String>& mergeInputs)46 void FEMerge::setMergeInputs(const Vector<FilterEffect*>& mergeInputs) 46 47 { 47 48 m_mergeInputs = mergeInputs; 48 49 } 49 50 50 TextStream& SVGFEMerge::externalRepresentation(TextStream& ts) const 51 void FEMerge::apply() 52 { 53 } 54 55 void FEMerge::dump() 56 { 57 } 58 59 TextStream& FEMerge::externalRepresentation(TextStream& ts) const 51 60 { 52 61 ts << "[type=MERGE] "; 53 SVGFilterEffect::externalRepresentation(ts);62 FilterEffect::externalRepresentation(ts); 54 63 ts << "[merge inputs=["; 55 64 unsigned x = 0; -
trunk/WebCore/svg/graphics/filters/SVGFEMerge.h
r34656 r35094 24 24 25 25 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 26 #include "SVGFilterEffect.h" 26 #include "FilterEffect.h" 27 28 #include <wtf/Vector.h> 27 29 28 30 namespace WebCore { 29 31 30 class SVGFEMerge : public SVGFilterEffect {31 public:32 static PassRefPtr<SVGFEMerge> create(SVGResourceFilter*);32 class FEMerge : public FilterEffect { 33 public: 34 static PassRefPtr<FEMerge> create(const Vector<FilterEffect*>&); 33 35 34 const Vector<String>& mergeInputs() const; 35 void setMergeInputs(const Vector<String>& mergeInputs); 36 const Vector<FilterEffect*>& mergeInputs() const; 37 void setMergeInputs(const Vector<FilterEffect*>& mergeInputs); 38 39 virtual void apply(); 40 virtual void dump(); 41 TextStream& externalRepresentation(TextStream& ts) const; 36 42 37 virtual TextStream& externalRepresentation(TextStream&) const; 43 private: 44 FEMerge(const Vector<FilterEffect*>&); 38 45 39 #if PLATFORM(CI) 40 virtual CIFilter* getCIFilter(const FloatRect& bbox) const; 41 #endif 42 43 private: 44 SVGFEMerge(SVGResourceFilter*); 45 46 Vector<String> m_mergeInputs; 47 }; 46 Vector<FilterEffect*> m_mergeInputs; 47 }; 48 48 49 49 } // namespace WebCore -
trunk/WebCore/svg/graphics/filters/SVGFEMorphology.cpp
r31451 r35094 24 24 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 25 25 #include "SVGFEMorphology.h" 26 #include " TextStream.h"26 #include "SVGRenderTreeAsText.h" 27 27 28 28 namespace WebCore { 29 29 30 SVGFEMorphology::SVGFEMorphology(SVGResourceFilter* filter) 31 : SVGFilterEffect(filter) 32 , m_operator(SVG_MORPHOLOGY_OPERATOR_UNKNOWN) 33 , m_radiusX(0.0f) 34 , m_radiusY(0.0f) 30 FEMorphology::FEMorphology(FilterEffect* in, MorphologyOperatorType type, const float& radiusX, const float& radiusY) 31 : FilterEffect() 32 , m_in(in) 33 , m_type(type) 34 , m_radiusX(radiusX) 35 , m_radiusY(radiusY) 35 36 { 36 37 } 37 38 38 SVGMorphologyOperatorType SVGFEMorphology::morphologyOperator() const 39 PassRefPtr<FEMorphology> FEMorphology::create(FilterEffect* in, MorphologyOperatorType type, const float& radiusX, const float& radiusY) 39 40 { 40 return m_operator;41 return adoptRef(new FEMorphology(in, type, radiusX, radiusY)); 41 42 } 42 43 43 void SVGFEMorphology::setMorphologyOperator(SVGMorphologyOperatorType _operator) 44 MorphologyOperatorType FEMorphology::morphologyOperator() const 44 45 { 45 m_operator = _operator;46 return m_type; 46 47 } 47 48 48 float SVGFEMorphology::radiusX() const 49 void FEMorphology::setMorphologyOperator(MorphologyOperatorType type) 50 { 51 m_type = type; 52 } 53 54 float FEMorphology::radiusX() const 49 55 { 50 56 return m_radiusX; 51 57 } 52 58 53 void SVGFEMorphology::setRadiusX(float radiusX)59 void FEMorphology::setRadiusX(float radiusX) 54 60 { 55 61 m_radiusX = radiusX; 56 62 } 57 63 58 float SVGFEMorphology::radiusY() const64 float FEMorphology::radiusY() const 59 65 { 60 66 return m_radiusY; 61 67 } 62 68 63 void SVGFEMorphology::setRadiusY(float radiusY)69 void FEMorphology::setRadiusY(float radiusY) 64 70 { 65 71 m_radiusY = radiusY; 66 72 } 67 73 68 static TextStream& operator<<(TextStream& ts, SVGMorphologyOperatorType t) 74 void FEMorphology::apply() 75 { 76 } 77 78 void FEMorphology::dump() 79 { 80 } 81 82 static TextStream& operator<<(TextStream& ts, MorphologyOperatorType t) 69 83 { 70 84 switch (t) 71 85 { 72 case SVG_MORPHOLOGY_OPERATOR_UNKNOWN:86 case FEMORPHOLOGY_OPERATOR_UNKNOWN: 73 87 ts << "UNKNOWN"; break; 74 case SVG_MORPHOLOGY_OPERATOR_ERODE:88 case FEMORPHOLOGY_OPERATOR_ERODE: 75 89 ts << "ERODE"; break; 76 case SVG_MORPHOLOGY_OPERATOR_DIALATE:90 case FEMORPHOLOGY_OPERATOR_DIALATE: 77 91 ts << "DIALATE"; break; 78 92 } … … 80 94 } 81 95 82 TextStream& SVGFEMorphology::externalRepresentation(TextStream& ts) const96 TextStream& FEMorphology::externalRepresentation(TextStream& ts) const 83 97 { 84 ts << "[type=MORPHOLOGY -OPERATOR] ";85 SVGFilterEffect::externalRepresentation(ts);98 ts << "[type=MORPHOLOGY] "; 99 FilterEffect::externalRepresentation(ts); 86 100 ts << " [operator type=" << morphologyOperator() << "]" 87 << " [radius x=" << radiusX() << " y=" << radiusY() << "]"; 101 << " [radius x=" << radiusX() << " y=" << radiusY() << "]"; 88 102 return ts; 89 103 } -
trunk/WebCore/svg/graphics/filters/SVGFEMorphology.h
r29663 r35094 24 24 25 25 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 26 #include " SVGFilterEffect.h"26 #include "FilterEffect.h" 27 27 28 28 namespace WebCore { 29 29 30 enum SVGMorphologyOperatorType {31 SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0,32 SVG_MORPHOLOGY_OPERATOR_ERODE = 1,33 SVG_MORPHOLOGY_OPERATOR_DIALATE = 234 };30 enum MorphologyOperatorType { 31 FEMORPHOLOGY_OPERATOR_UNKNOWN = 0, 32 FEMORPHOLOGY_OPERATOR_ERODE = 1, 33 FEMORPHOLOGY_OPERATOR_DIALATE = 2 34 }; 35 35 36 class SVGFEMorphology : public SVGFilterEffect { 37 public: 38 SVGFEMorphology(SVGResourceFilter*); 36 class FEMorphology : public FilterEffect { 37 public: 38 PassRefPtr<FEMorphology> create(FilterEffect*, MorphologyOperatorType, const float&, const float&); 39 MorphologyOperatorType morphologyOperator() const; 40 void setMorphologyOperator(MorphologyOperatorType); 39 41 40 SVGMorphologyOperatorType morphologyOperator() const;41 void setMorphologyOperator(SVGMorphologyOperatorType);42 float radiusX() const; 43 void setRadiusX(float); 42 44 43 float radiusX() const;44 void setRadiusX(float);45 float radiusY() const; 46 void setRadiusY(float); 45 47 46 float radiusY() const; 47 void setRadiusY(float); 48 virtual void apply(); 49 virtual void dump(); 50 TextStream& externalRepresentation(TextStream& ts) const; 48 51 49 virtual TextStream& externalRepresentation(TextStream&) const; 50 51 private: 52 SVGMorphologyOperatorType m_operator; 53 float m_radiusX; 54 float m_radiusY; 55 }; 52 private: 53 FEMorphology(FilterEffect*, MorphologyOperatorType, const float&, const float&); 54 55 RefPtr<FilterEffect> m_in; 56 MorphologyOperatorType m_type; 57 float m_radiusX; 58 float m_radiusY; 59 }; 56 60 57 61 } // namespace WebCore -
trunk/WebCore/svg/graphics/filters/SVGFEOffset.cpp
r34656 r35094 24 24 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 25 25 #include "SVGFEOffset.h" 26 #include " TextStream.h"26 #include "SVGRenderTreeAsText.h" 27 27 28 28 namespace WebCore { 29 29 30 SVGFEOffset::SVGFEOffset(SVGResourceFilter* filter) 31 : SVGFilterEffect(filter) 32 , m_dx(0.0f) 33 , m_dy(0.0f) 30 FEOffset::FEOffset(FilterEffect* in, const float& dx, const float& dy) 31 : FilterEffect() 32 , m_in(in) 33 , m_dx(dx) 34 , m_dy(dy) 34 35 { 35 36 } 36 37 37 PassRefPtr< SVGFEOffset> SVGFEOffset::create(SVGResourceFilter* filter)38 PassRefPtr<FEOffset> FEOffset::create(FilterEffect* in, const float& dx, const float& dy) 38 39 { 39 return adoptRef(new SVGFEOffset(filter));40 return adoptRef(new FEOffset(in, dx, dy)); 40 41 } 41 42 42 float SVGFEOffset::dx() const43 float FEOffset::dx() const 43 44 { 44 45 return m_dx; 45 46 } 46 47 47 void SVGFEOffset::setDx(float dx)48 void FEOffset::setDx(float dx) 48 49 { 49 50 m_dx = dx; 50 51 } 51 52 52 float SVGFEOffset::dy() const53 float FEOffset::dy() const 53 54 { 54 55 return m_dy; 55 56 } 56 57 57 void SVGFEOffset::setDy(float dy)58 void FEOffset::setDy(float dy) 58 59 { 59 60 m_dy = dy; 60 61 } 61 62 62 TextStream& SVGFEOffset::externalRepresentation(TextStream& ts) const 63 void FEOffset::apply() 63 64 { 64 ts << "[type=OFFSET] "; SVGFilterEffect::externalRepresentation(ts) 65 << " [dx=" << dx() << " dy=" << dy() << "]"; 65 } 66 67 void FEOffset::dump() 68 { 69 } 70 71 TextStream& FEOffset::externalRepresentation(TextStream& ts) const 72 { 73 ts << "[type=OFFSET] "; 74 FilterEffect::externalRepresentation(ts); 75 ts << " [dx=" << dx() << " dy=" << dy() << "]"; 66 76 return ts; 67 77 } -
trunk/WebCore/svg/graphics/filters/SVGFEOffset.h
r34656 r35094 24 24 25 25 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 26 #include " SVGFilterEffect.h"26 #include "FilterEffect.h" 27 27 28 28 namespace WebCore { 29 29 30 class SVGFEOffset : public SVGFilterEffect {31 public:32 static PassRefPtr<SVGFEOffset> create(SVGResourceFilter*);30 class FEOffset : public FilterEffect { 31 public: 32 static PassRefPtr<FEOffset> create(FilterEffect*, const float&, const float&); 33 33 34 float dx() const;35 void setDx(float);34 float dx() const; 35 void setDx(float); 36 36 37 float dy() const;38 void setDy(float);37 float dy() const; 38 void setDy(float); 39 39 40 virtual TextStream& externalRepresentation(TextStream&) const; 40 virtual void apply(); 41 virtual void dump(); 42 TextStream& externalRepresentation(TextStream& ts) const; 41 43 42 #if PLATFORM(CI) 43 virtual CIFilter* getCIFilter(const FloatRect& bbox) const; 44 #endif 44 private: 45 FEOffset(FilterEffect*, const float&, const float&); 45 46 46 private: 47 SVGFEOffset(SVGResourceFilter*); 48 49 float m_dx; 50 float m_dy; 51 }; 47 RefPtr<FilterEffect> m_in; 48 float m_dx; 49 float m_dy; 50 }; 52 51 53 52 } // namespace WebCore -
trunk/WebCore/svg/graphics/filters/SVGFESpecularLighting.cpp
r34912 r35094 24 24 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 25 25 #include "SVGFESpecularLighting.h" 26 #include " TextStream.h"26 #include "SVGRenderTreeAsText.h" 27 27 28 28 namespace WebCore { 29 29 30 SVGFESpecularLighting::SVGFESpecularLighting(SVGResourceFilter* filter) 31 : SVGFilterEffect(filter) 32 , m_lightingColor() 33 , m_surfaceScale(0.0f) 34 , m_specularConstant(0.0f) 35 , m_specularExponent(0.0f) 36 , m_kernelUnitLengthX(0.0f) 37 , m_kernelUnitLengthY(0.0f) 38 , m_lightSource(0) 30 FESpecularLighting::FESpecularLighting(FilterEffect* in, const Color& lightingColor, const float& surfaceScale, 31 const float& specularConstant, const float& specularExponent, const float& kernelUnitLengthX, 32 const float& kernelUnitLengthY, LightSource* lightSource) 33 : FilterEffect() 34 , m_in(in) 35 , m_lightingColor(lightingColor) 36 , m_surfaceScale(surfaceScale) 37 , m_specularConstant(specularConstant) 38 , m_specularExponent(specularExponent) 39 , m_kernelUnitLengthX(kernelUnitLengthX) 40 , m_kernelUnitLengthY(kernelUnitLengthY) 41 , m_lightSource(lightSource) 39 42 { 40 43 } 41 44 42 PassRefPtr<SVGFESpecularLighting> SVGFESpecularLighting::create(SVGResourceFilter* filter) 45 PassRefPtr<FESpecularLighting> FESpecularLighting::create(FilterEffect* in, const Color& lightingColor, 46 const float& surfaceScale, const float& specularConstant, const float& specularExponent, 47 const float& kernelUnitLengthX, const float& kernelUnitLengthY, LightSource* lightSource) 43 48 { 44 return adoptRef(new SVGFESpecularLighting(filter)); 49 return adoptRef(new FESpecularLighting(in, lightingColor, surfaceScale, specularConstant, specularExponent, 50 kernelUnitLengthX, kernelUnitLengthY, lightSource)); 45 51 } 46 52 47 SVGFESpecularLighting::~SVGFESpecularLighting()53 FESpecularLighting::~FESpecularLighting() 48 54 { 49 55 } 50 56 51 Color SVGFESpecularLighting::lightingColor() const57 Color FESpecularLighting::lightingColor() const 52 58 { 53 59 return m_lightingColor; 54 60 } 55 61 56 void SVGFESpecularLighting::setLightingColor(const Color& lightingColor)62 void FESpecularLighting::setLightingColor(const Color& lightingColor) 57 63 { 58 64 m_lightingColor = lightingColor; 59 65 } 60 66 61 float SVGFESpecularLighting::surfaceScale() const67 float FESpecularLighting::surfaceScale() const 62 68 { 63 69 return m_surfaceScale; 64 70 } 65 71 66 void SVGFESpecularLighting::setSurfaceScale(float surfaceScale)72 void FESpecularLighting::setSurfaceScale(float surfaceScale) 67 73 { 68 74 m_surfaceScale = surfaceScale; 69 75 } 70 76 71 float SVGFESpecularLighting::specularConstant() const77 float FESpecularLighting::specularConstant() const 72 78 { 73 79 return m_specularConstant; 74 80 } 75 81 76 void SVGFESpecularLighting::setSpecularConstant(float specularConstant)82 void FESpecularLighting::setSpecularConstant(float specularConstant) 77 83 { 78 84 m_specularConstant = specularConstant; 79 85 } 80 86 81 float SVGFESpecularLighting::specularExponent() const87 float FESpecularLighting::specularExponent() const 82 88 { 83 89 return m_specularExponent; 84 90 } 85 91 86 void SVGFESpecularLighting::setSpecularExponent(float specularExponent)92 void FESpecularLighting::setSpecularExponent(float specularExponent) 87 93 { 88 94 m_specularExponent = specularExponent; 89 95 } 90 96 91 float SVGFESpecularLighting::kernelUnitLengthX() const97 float FESpecularLighting::kernelUnitLengthX() const 92 98 { 93 99 return m_kernelUnitLengthX; 94 100 } 95 101 96 void SVGFESpecularLighting::setKernelUnitLengthX(float kernelUnitLengthX)102 void FESpecularLighting::setKernelUnitLengthX(float kernelUnitLengthX) 97 103 { 98 104 m_kernelUnitLengthX = kernelUnitLengthX; 99 105 } 100 106 101 float SVGFESpecularLighting::kernelUnitLengthY() const107 float FESpecularLighting::kernelUnitLengthY() const 102 108 { 103 109 return m_kernelUnitLengthY; 104 110 } 105 111 106 void SVGFESpecularLighting::setKernelUnitLengthY(float kernelUnitLengthY)112 void FESpecularLighting::setKernelUnitLengthY(float kernelUnitLengthY) 107 113 { 108 114 m_kernelUnitLengthY = kernelUnitLengthY; 109 115 } 110 116 111 const LightSource* SVGFESpecularLighting::lightSource() const117 const LightSource* FESpecularLighting::lightSource() const 112 118 { 113 119 return m_lightSource.get(); 114 120 } 115 121 116 void SVGFESpecularLighting::setLightSource(LightSource* lightSource)122 void FESpecularLighting::setLightSource(LightSource* lightSource) 117 123 { 118 124 m_lightSource = lightSource; 119 125 } 120 126 121 TextStream& SVGFESpecularLighting::externalRepresentation(TextStream& ts) const 127 void FESpecularLighting::apply() 128 { 129 } 130 131 void FESpecularLighting::dump() 132 { 133 } 134 135 TextStream& FESpecularLighting::externalRepresentation(TextStream& ts) const 122 136 { 123 137 ts << "[type=SPECULAR-LIGHTING] "; 124 SVGFilterEffect::externalRepresentation(ts);138 FilterEffect::externalRepresentation(ts); 125 139 ts << " [surface scale=" << m_surfaceScale << "]" 126 140 << " [specual constant=" << m_specularConstant << "]" -
trunk/WebCore/svg/graphics/filters/SVGFESpecularLighting.h
r34912 r35094 26 26 #include "Color.h" 27 27 #include "SVGLightSource.h" 28 #include " SVGFilterEffect.h"28 #include "FilterEffect.h" 29 29 30 30 namespace WebCore { 31 31 32 class SVGFESpecularLighting : public SVGFilterEffect { 33 public: 34 static PassRefPtr<SVGFESpecularLighting> create(SVGResourceFilter*); 35 virtual ~SVGFESpecularLighting(); 32 class FESpecularLighting : public FilterEffect { 33 public: 34 static PassRefPtr<FESpecularLighting> create(FilterEffect*, const Color&, const float&, const float&, 35 const float&, const float&, const float&, LightSource*); 36 virtual ~FESpecularLighting(); 36 37 37 Color lightingColor() const;38 void setLightingColor(const Color&);38 Color lightingColor() const; 39 void setLightingColor(const Color&); 39 40 40 float surfaceScale() const;41 void setSurfaceScale(float);41 float surfaceScale() const; 42 void setSurfaceScale(float); 42 43 43 float specularConstant() const;44 void setSpecularConstant(float);44 float specularConstant() const; 45 void setSpecularConstant(float); 45 46 46 float specularExponent() const;47 void setSpecularExponent(float);47 float specularExponent() const; 48 void setSpecularExponent(float); 48 49 49 float kernelUnitLengthX() const;50 void setKernelUnitLengthX(float);50 float kernelUnitLengthX() const; 51 void setKernelUnitLengthX(float); 51 52 52 float kernelUnitLengthY() const;53 void setKernelUnitLengthY(float);53 float kernelUnitLengthY() const; 54 void setKernelUnitLengthY(float); 54 55 55 const LightSource* lightSource() const;56 void setLightSource(LightSource*);56 const LightSource* lightSource() const; 57 void setLightSource(LightSource*); 57 58 58 virtual TextStream& externalRepresentation(TextStream&) const; 59 virtual void apply(); 60 virtual void dump(); 61 TextStream& externalRepresentation(TextStream& ts) const; 59 62 60 #if PLATFORM(CI) 61 virtual CIFilter* getCIFilter(const FloatRect& bbox) const;62 #endif 63 private: 64 FESpecularLighting(FilterEffect*, const Color&, const float&, const float&, const float&, 65 const float&, const float&, LightSource*); 63 66 64 private: 65 SVGFESpecularLighting(SVGResourceFilter*); 66 67 Color m_lightingColor; 68 float m_surfaceScale; 69 float m_specularConstant; 70 float m_specularExponent; 71 float m_kernelUnitLengthX; 72 float m_kernelUnitLengthY; 73 RefPtr<LightSource> m_lightSource; 74 }; 67 RefPtr<FilterEffect> m_in; 68 Color m_lightingColor; 69 float m_surfaceScale; 70 float m_specularConstant; 71 float m_specularExponent; 72 float m_kernelUnitLengthX; 73 float m_kernelUnitLengthY; 74 RefPtr<LightSource> m_lightSource; 75 }; 75 76 76 77 } // namespace WebCore -
trunk/WebCore/svg/graphics/filters/SVGFETile.cpp
r34656 r35094 22 22 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 23 23 #include "SVGFETile.h" 24 #include "SVGRenderTreeAsText.h" 24 25 25 26 namespace WebCore { 26 27 27 SVGFETile::SVGFETile(SVGResourceFilter* filter) 28 : SVGFilterEffect(filter) 28 FETile::FETile(FilterEffect* in) 29 : FilterEffect() 30 , m_in(in) 29 31 { 30 32 } 31 33 32 PassRefPtr< SVGFETile> SVGFETile::create(SVGResourceFilter* filter)34 PassRefPtr<FETile> FETile::create(FilterEffect* in) 33 35 { 34 return adoptRef(new SVGFETile(filter)); 36 return adoptRef(new FETile(in)); 37 } 38 39 void FETile::apply() 40 { 41 } 42 43 void FETile::dump() 44 { 45 } 46 47 TextStream& FETile::externalRepresentation(TextStream& ts) const 48 { 49 ts << "[type=TILE]"; 50 FilterEffect::externalRepresentation(ts); 51 return ts; 35 52 } 36 53 -
trunk/WebCore/svg/graphics/filters/SVGFETile.h
r34656 r35094 24 24 25 25 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 26 #include " SVGFilterEffect.h"26 #include "FilterEffect.h" 27 27 28 28 namespace WebCore { 29 29 30 class SVGFETile : public SVGFilterEffect {30 class FETile : public FilterEffect { 31 31 public: 32 static PassRefPtr< SVGFETile> create(SVGResourceFilter*);32 static PassRefPtr<FETile> create(FilterEffect*); 33 33 34 #if PLATFORM(CI) 35 virtual CIFilter* getCIFilter(const FloatRect& bbox) const; 36 #endif 34 virtual void apply(); 35 virtual void dump(); 36 TextStream& externalRepresentation(TextStream& ts) const; 37 37 38 private: 38 SVGFETile(SVGResourceFilter*); 39 39 FETile(FilterEffect*); 40 41 RefPtr<FilterEffect> m_in; 40 42 }; 41 43 -
trunk/WebCore/svg/graphics/filters/SVGFETurbulence.cpp
r34656 r35094 24 24 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 25 25 #include "SVGFETurbulence.h" 26 #include " TextStream.h"26 #include "SVGRenderTreeAsText.h" 27 27 28 28 namespace WebCore { 29 29 30 SVGFETurbulence::SVGFETurbulence(SVGResourceFilter* filter) 31 : SVGFilterEffect(filter) 32 , m_baseFrequencyX(0.0f) 33 , m_baseFrequencyY(0.0f) 34 , m_numOctaves(0) 35 , m_seed(0) 36 , m_stitchTiles(false) 37 , m_type(SVG_TURBULENCE_TYPE_UNKNOWN) 30 FETurbulence::FETurbulence(TurbulanceType type, const float& baseFrequencyX, const float& baseFrequencyY, 31 const int& numOctaves, const float& seed, bool stitchTiles) 32 : FilterEffect() 33 , m_type(type) 34 , m_baseFrequencyX(baseFrequencyX) 35 , m_baseFrequencyY(baseFrequencyY) 36 , m_numOctaves(numOctaves) 37 , m_seed(seed) 38 , m_stitchTiles(stitchTiles) 38 39 { 39 40 } 40 41 41 PassRefPtr<SVGFETurbulence> SVGFETurbulence::create(SVGResourceFilter* filter) 42 PassRefPtr<FETurbulence> FETurbulence::create(TurbulanceType type, const float& baseFrequencyX, const float& baseFrequencyY, 43 const int& numOctaves, const float& seed, bool stitchTiles) 42 44 { 43 return adoptRef(new SVGFETurbulence(filter));45 return adoptRef(new FETurbulence(type, baseFrequencyX, baseFrequencyY, numOctaves, seed, stitchTiles)); 44 46 } 45 47 46 SVGTurbulanceType SVGFETurbulence::type() const48 TurbulanceType FETurbulence::type() const 47 49 { 48 50 return m_type; 49 51 } 50 52 51 void SVGFETurbulence::setType(SVGTurbulanceType type)53 void FETurbulence::setType(TurbulanceType type) 52 54 { 53 55 m_type = type; 54 56 } 55 57 56 float SVGFETurbulence::baseFrequencyY() const58 float FETurbulence::baseFrequencyY() const 57 59 { 58 60 return m_baseFrequencyY; 59 61 } 60 62 61 void SVGFETurbulence::setBaseFrequencyY(float baseFrequencyY)63 void FETurbulence::setBaseFrequencyY(float baseFrequencyY) 62 64 { 63 65 m_baseFrequencyY = baseFrequencyY; 64 66 } 65 67 66 float SVGFETurbulence::baseFrequencyX() const68 float FETurbulence::baseFrequencyX() const 67 69 { 68 70 return m_baseFrequencyX; 69 71 } 70 72 71 void SVGFETurbulence::setBaseFrequencyX(float baseFrequencyX)73 void FETurbulence::setBaseFrequencyX(float baseFrequencyX) 72 74 { 73 75 m_baseFrequencyX = baseFrequencyX; 74 76 } 75 77 76 float SVGFETurbulence::seed() const78 float FETurbulence::seed() const 77 79 { 78 80 return m_seed; 79 81 } 80 82 81 void SVGFETurbulence::setSeed(float seed)83 void FETurbulence::setSeed(float seed) 82 84 { 83 85 m_seed = seed; 84 86 } 85 87 86 int SVGFETurbulence::numOctaves() const88 int FETurbulence::numOctaves() const 87 89 { 88 90 return m_numOctaves; 89 91 } 90 92 91 void SVGFETurbulence::setNumOctaves(bool numOctaves)93 void FETurbulence::setNumOctaves(bool numOctaves) 92 94 { 93 95 m_numOctaves = numOctaves; 94 96 } 95 97 96 bool SVGFETurbulence::stitchTiles() const98 bool FETurbulence::stitchTiles() const 97 99 { 98 100 return m_stitchTiles; 99 101 } 100 102 101 void SVGFETurbulence::setStitchTiles(bool stitch)103 void FETurbulence::setStitchTiles(bool stitch) 102 104 { 103 105 m_stitchTiles = stitch; 104 106 } 105 107 106 static TextStream& operator<<(TextStream& ts, SVGTurbulanceType t) 108 void FETurbulence::apply() 109 { 110 } 111 112 void FETurbulence::dump() 113 { 114 } 115 116 static TextStream& operator<<(TextStream& ts, TurbulanceType t) 107 117 { 108 118 switch (t) 109 119 { 110 case SVG_TURBULENCE_TYPE_UNKNOWN:120 case FETURBULENCE_TYPE_UNKNOWN: 111 121 ts << "UNKNOWN"; break; 112 case SVG_TURBULENCE_TYPE_TURBULENCE:122 case FETURBULENCE_TYPE_TURBULENCE: 113 123 ts << "TURBULANCE"; break; 114 case SVG_TURBULENCE_TYPE_FRACTALNOISE:124 case FETURBULENCE_TYPE_FRACTALNOISE: 115 125 ts << "NOISE"; break; 116 126 } … … 118 128 } 119 129 120 TextStream& SVGFETurbulence::externalRepresentation(TextStream& ts) const130 TextStream& FETurbulence::externalRepresentation(TextStream& ts) const 121 131 { 122 132 ts << "[type=TURBULENCE] "; 123 SVGFilterEffect::externalRepresentation(ts);133 FilterEffect::externalRepresentation(ts); 124 134 ts << " [turbulence type=" << type() << "]" 125 135 << " [base frequency x=" << baseFrequencyX() << " y=" << baseFrequencyY() << "]" … … 127 137 << " [num octaves=" << numOctaves() << "]" 128 138 << " [stitch tiles=" << stitchTiles() << "]"; 139 129 140 return ts; 130 131 141 } 132 142 -
trunk/WebCore/svg/graphics/filters/SVGFETurbulence.h
r34656 r35094 24 24 25 25 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 26 #include " SVGFilterEffect.h"26 #include "FilterEffect.h" 27 27 28 28 namespace WebCore { 29 29 30 enum SVGTurbulanceType {31 SVG_TURBULENCE_TYPE_UNKNOWN = 0,32 SVG_TURBULENCE_TYPE_FRACTALNOISE = 1,33 SVG_TURBULENCE_TYPE_TURBULENCE = 234 };30 enum TurbulanceType { 31 FETURBULENCE_TYPE_UNKNOWN = 0, 32 FETURBULENCE_TYPE_FRACTALNOISE = 1, 33 FETURBULENCE_TYPE_TURBULENCE = 2 34 }; 35 35 36 class SVGFETurbulence : public SVGFilterEffect { 37 public: 38 static PassRefPtr<SVGFETurbulence> create(SVGResourceFilter*); 36 class FETurbulence : public FilterEffect { 37 public: 38 static PassRefPtr<FETurbulence> create(TurbulanceType, const float&, const float&, const int&, const float&, 39 bool); 39 40 40 SVGTurbulanceType type() const;41 void setType(SVGTurbulanceType);41 TurbulanceType type() const; 42 void setType(TurbulanceType); 42 43 43 float baseFrequencyY() const;44 void setBaseFrequencyY(float);44 float baseFrequencyY() const; 45 void setBaseFrequencyY(float); 45 46 46 float baseFrequencyX() const;47 void setBaseFrequencyX(float);47 float baseFrequencyX() const; 48 void setBaseFrequencyX(float); 48 49 49 float seed() const;50 void setSeed(float);50 float seed() const; 51 void setSeed(float); 51 52 52 int numOctaves() const;53 void setNumOctaves(bool);53 int numOctaves() const; 54 void setNumOctaves(bool); 54 55 55 bool stitchTiles() const;56 void setStitchTiles(bool);56 bool stitchTiles() const; 57 void setStitchTiles(bool); 57 58 58 virtual TextStream& externalRepresentation(TextStream&) const; 59 virtual void apply(); 60 virtual void dump(); 61 TextStream& externalRepresentation(TextStream& ts) const; 59 62 60 private: 61 SVGFETurbulence(SVGResourceFilter*); 63 private: 64 FETurbulence(TurbulanceType, const float&, const float&, const int&, const float&, 65 bool); 62 66 63 float m_baseFrequencyX;64 float m_baseFrequencyY;65 int m_numOctaves;66 float m_seed;67 bool m_stitchTiles;68 SVGTurbulanceType m_type;69 };67 TurbulanceType m_type; 68 float m_baseFrequencyX; 69 float m_baseFrequencyY; 70 int m_numOctaves; 71 float m_seed; 72 bool m_stitchTiles; 73 }; 70 74 71 75 } // namespace WebCore -
trunk/WebCore/svg/graphics/filters/cg/SVGFEHelpersCg.h
r34912 r35094 34 34 namespace WebCore { 35 35 36 CIVector* getVectorForChannel( SVGChannelSelectorType channel);36 CIVector* getVectorForChannel(ChannelSelectorType channel); 37 37 CIColor* ciColor(const Color& c); 38 38 -
trunk/WebCore/svg/graphics/filters/cg/SVGFEHelpersCg.mm
r34912 r35094 40 40 namespace WebCore { 41 41 42 CIVector* getVectorForChannel( SVGChannelSelectorType channel)42 CIVector* getVectorForChannel(ChannelSelectorType channel) 43 43 { 44 44 switch (channel) { 45 case SVG_CHANNEL_UNKNOWN:45 case CHANNEL_UNKNOWN: 46 46 return nil; 47 case SVG_CHANNEL_R:47 case CHANNEL_R: 48 48 return [CIVector vectorWithX:1.0f Y:0.0f Z:0.0f W:0.0f]; 49 case SVG_CHANNEL_G:49 case CHANNEL_G: 50 50 return [CIVector vectorWithX:0.0f Y:1.0f Z:0.0f W:0.0f]; 51 case SVG_CHANNEL_B:51 case CHANNEL_B: 52 52 return [CIVector vectorWithX:0.0f Y:0.0f Z:1.0f W:0.0f]; 53 case SVG_CHANNEL_A:53 case CHANNEL_A: 54 54 return [CIVector vectorWithX:0.0f Y:0.0f Z:0.0f W:1.0f]; 55 55 default:
Note: See TracChangeset
for help on using the changeset viewer.