Changeset 34971 in webkit
- Timestamp:
- Jul 2, 2008 10:55:50 PM (16 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 1 deleted
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r34963 r34971 1 2008-07-01 Alex Mathews <possessedpenguinbob@gmail.com> 2 3 Reviewed by Oliver Hunt. 4 5 Renaming of class SVGFEBlend to FEBlend as well as removing 6 a little bit of antiquated code. This includes the removal of 7 SVGFEBlendCg.mm; the feBlend element will now no longer 8 render. 9 10 * WebCore.xcodeproj/project.pbxproj: 11 * svg/FilterBuilder.h: 12 (WebCore::FilterBuilder::add): 13 (WebCore::FilterBuilder::getEffectById): 14 * svg/SVGFEBlendElement.cpp: 15 (WebCore::SVGFEBlendElement::SVGFEBlendElement): 16 (WebCore::SVGFEBlendElement::parseMappedAttribute): 17 (WebCore::SVGFEBlendElement::filterEffect): 18 (WebCore::SVGFEBlendElement::build): 19 * svg/SVGFEBlendElement.h: 20 * svg/SVGFilterPrimitiveStandardAttributes.h: 21 * svg/graphics/filters/SVGFEBlend.cpp: 22 (WebCore::FEBlend::FEBlend): 23 (WebCore::FEBlend::create): 24 (WebCore::FEBlend::in2): 25 (WebCore::FEBlend::setIn2): 26 (WebCore::FEBlend::blendMode): 27 (WebCore::FEBlend::setBlendMode): 28 (WebCore::FEBlend::apply): 29 (WebCore::FEBlend::dump): 30 * svg/graphics/filters/SVGFEBlend.h: 31 (WebCore::): 32 * svg/graphics/filters/cg/SVGFEBlendCg.mm: Removed. 33 1 34 2008-07-02 Beth Dakin <bdakin@apple.com> 2 35 -
trunk/WebCore/WebCore.xcodeproj/project.pbxproj
r34942 r34971 3002 3002 B25599350D00D8BA00BB825C /* SVGResourceFilterCg.mm in Sources */ = {isa = PBXBuildFile; fileRef = B25598990D00D8B800BB825C /* SVGResourceFilterCg.mm */; }; 3003 3003 B25599370D00D8BA00BB825C /* SVGResourceMaskerCg.mm in Sources */ = {isa = PBXBuildFile; fileRef = B255989B0D00D8B800BB825C /* SVGResourceMaskerCg.mm */; }; 3004 B25599380D00D8BA00BB825C /* SVGFEBlendCg.mm in Sources */ = {isa = PBXBuildFile; fileRef = B255989E0D00D8B800BB825C /* SVGFEBlendCg.mm */; };3005 3004 B25599390D00D8BA00BB825C /* SVGFEColorMatrixCg.mm in Sources */ = {isa = PBXBuildFile; fileRef = B255989F0D00D8B800BB825C /* SVGFEColorMatrixCg.mm */; }; 3006 3005 B255993A0D00D8BA00BB825C /* SVGFEComponentTransferCg.mm in Sources */ = {isa = PBXBuildFile; fileRef = B25598A00D00D8B800BB825C /* SVGFEComponentTransferCg.mm */; }; … … 7354 7353 B25598990D00D8B800BB825C /* SVGResourceFilterCg.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = SVGResourceFilterCg.mm; sourceTree = "<group>"; }; 7355 7354 B255989B0D00D8B800BB825C /* SVGResourceMaskerCg.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = SVGResourceMaskerCg.mm; sourceTree = "<group>"; }; 7356 B255989E0D00D8B800BB825C /* SVGFEBlendCg.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = SVGFEBlendCg.mm; sourceTree = "<group>"; };7357 7355 B255989F0D00D8B800BB825C /* SVGFEColorMatrixCg.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = SVGFEColorMatrixCg.mm; sourceTree = "<group>"; }; 7358 7356 B25598A00D00D8B800BB825C /* SVGFEComponentTransferCg.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = SVGFEComponentTransferCg.mm; sourceTree = "<group>"; }; … … 11416 11414 E415F1830D9A1A830033CE97 /* ElementTimeControl.h */, 11417 11415 E415F10C0D9A05870033CE97 /* ElementTimeControl.idl */, 11416 50A5E4710E1AEF3A000A03AE /* Filter.cpp */, 11418 11417 50A5DF730E1A13C9000A03AE /* Filter.h */, 11419 11418 50A5DF740E1A13C9000A03AE /* FilterBuilder.h */, 11419 50A5E4730E1AEF84000A03AE /* FilterEffect.cpp */, 11420 11420 50A5E20F0E1ABAF2000A03AE /* FilterEffect.h */, 11421 11421 B22277CD0D00BF1F0071B782 /* GradientAttributes.h */, … … 11485 11485 B22278160D00BF1F0071B782 /* SVGDefinitionSrcElement.idl */, 11486 11486 B22278170D00BF1F0071B782 /* SVGDefsElement.cpp */, 11487 50A5E4710E1AEF3A000A03AE /* Filter.cpp */,11488 11487 B22278180D00BF1F0071B782 /* SVGDefsElement.h */, 11489 50A5E4730E1AEF84000A03AE /* FilterEffect.cpp */,11490 11488 B22278190D00BF1F0071B782 /* SVGDefsElement.idl */, 11491 11489 B222781A0D00BF1F0071B782 /* SVGDescElement.cpp */, … … 11947 11945 isa = PBXGroup; 11948 11946 children = ( 11949 B255989E0D00D8B800BB825C /* SVGFEBlendCg.mm */,11950 11947 B255989F0D00D8B800BB825C /* SVGFEColorMatrixCg.mm */, 11951 11948 B25598A00D00D8B800BB825C /* SVGFEComponentTransferCg.mm */, … … 16569 16566 B22279C40D00BF220071B782 /* SVGExternalResourcesRequired.cpp in Sources */, 16570 16567 B25599720D00D8BA00BB825C /* SVGFEBlend.cpp in Sources */, 16571 B25599380D00D8BA00BB825C /* SVGFEBlendCg.mm in Sources */,16572 16568 B22279C70D00BF220071B782 /* SVGFEBlendElement.cpp in Sources */, 16573 16569 B25599740D00D8BA00BB825C /* SVGFEColorMatrix.cpp in Sources */, -
trunk/WebCore/svg/FilterBuilder.h
r34942 r34971 35 35 class FilterBuilder : public RefCounted<FilterBuilder> { 36 36 public: 37 void add(const String& id, PassRefPtr<FilterEffect> effect) { m_namedEffects.set(id , effect); }38 FilterEffect* getEffectById(const String& id) const { return m_namedEffects.get(id ).get(); }37 void add(const String& id, PassRefPtr<FilterEffect> effect) { m_namedEffects.set(id.impl(), effect); } 38 FilterEffect* getEffectById(const String& id) const { return m_namedEffects.get(id.impl()).get(); } 39 39 40 40 PassRefPtr<Filter> filter() const { return m_filter; } 41 41 42 42 private: 43 HashMap<String , RefPtr<FilterEffect> > m_namedEffects;43 HashMap<StringImpl*, RefPtr<FilterEffect> > m_namedEffects; 44 44 45 45 RefPtr<Filter> m_filter; -
trunk/WebCore/svg/SVGFEBlendElement.cpp
r34656 r34971 32 32 SVGFEBlendElement::SVGFEBlendElement(const QualifiedName& tagName, Document* doc) 33 33 : SVGFilterPrimitiveStandardAttributes(tagName, doc) 34 , m_mode( SVG_FEBLEND_MODE_NORMAL)34 , m_mode(FEBLEND_MODE_NORMAL) 35 35 , m_filterEffect(0) 36 36 { … … 50 50 if (attr->name() == SVGNames::modeAttr) { 51 51 if (value == "normal") 52 setModeBaseValue( SVG_FEBLEND_MODE_NORMAL);52 setModeBaseValue(FEBLEND_MODE_NORMAL); 53 53 else if (value == "multiply") 54 setModeBaseValue( SVG_FEBLEND_MODE_MULTIPLY);54 setModeBaseValue(FEBLEND_MODE_MULTIPLY); 55 55 else if (value == "screen") 56 setModeBaseValue( SVG_FEBLEND_MODE_SCREEN);56 setModeBaseValue(FEBLEND_MODE_SCREEN); 57 57 else if (value == "darken") 58 setModeBaseValue( SVG_FEBLEND_MODE_DARKEN);58 setModeBaseValue(FEBLEND_MODE_DARKEN); 59 59 else if (value == "lighten") 60 setModeBaseValue( SVG_FEBLEND_MODE_LIGHTEN);60 setModeBaseValue(FEBLEND_MODE_LIGHTEN); 61 61 } else if (attr->name() == SVGNames::inAttr) 62 62 setIn1BaseValue(value); … … 67 67 } 68 68 69 SVGF EBlend* SVGFEBlendElement::filterEffect(SVGResourceFilter* filter) const69 SVGFilterEffect* SVGFEBlendElement::filterEffect(SVGResourceFilter* filter) const 70 70 { 71 if (!m_filterEffect) 72 m_filterEffect = SVGFEBlend::create(filter); 71 ASSERT_NOT_REACHED(); 72 return 0; 73 } 74 75 bool SVGFEBlendElement::build(FilterBuilder* builder) 76 { 77 FilterEffect* input1 = builder->getEffectById(in1()); 78 FilterEffect* input2 = builder->getEffectById(in2()); 73 79 74 m_filterEffect->setBlendMode((SVGBlendModeType) mode()); 75 m_filterEffect->setIn(in1()); 76 m_filterEffect->setIn2(in2()); 77 setStandardAttributes(m_filterEffect.get()); 78 return m_filterEffect.get(); 80 if(!input1 || !input2) 81 return false; 82 83 RefPtr<FilterEffect> addedEffect = FEBlend::create(input1, input2, static_cast<BlendModeType> (mode())); 84 builder->add(result(), addedEffect.release()); 85 86 return true; 79 87 } 80 88 -
trunk/WebCore/svg/SVGFEBlendElement.h
r34925 r34971 25 25 26 26 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 27 #include "FilterBuilder.h" 27 28 #include "SVGFEBlend.h" 28 29 #include "SVGFilterPrimitiveStandardAttributes.h" … … 37 38 38 39 virtual void parseMappedAttribute(MappedAttribute*); 39 virtual SVGFEBlend* filterEffect(SVGResourceFilter*) const; 40 virtual SVGFilterEffect* filterEffect(SVGResourceFilter*) const; 41 bool build(FilterBuilder*); 40 42 41 43 protected: … … 47 49 ANIMATED_PROPERTY_DECLARATIONS(SVGFEBlendElement, int, int, Mode, mode) 48 50 49 mutable RefPtr< SVGFEBlend> m_filterEffect;51 mutable RefPtr<FEBlend> m_filterEffect; 50 52 }; 51 53 -
trunk/WebCore/svg/graphics/filters/SVGFEBlend.cpp
r34656 r34971 28 28 namespace WebCore { 29 29 30 SVGFEBlend::SVGFEBlend(SVGResourceFilter* filter) 31 : SVGFilterEffect(filter) 32 , m_mode(SVG_FEBLEND_MODE_UNKNOWN) 30 FEBlend::FEBlend(FilterEffect* in, FilterEffect* in2, BlendModeType mode) 31 : FilterEffect() 32 , m_in(in) 33 , m_in2(in2) 34 , m_mode(mode) 33 35 { 34 36 } 35 37 36 PassRefPtr< SVGFEBlend> SVGFEBlend::create(SVGResourceFilter* filter)38 PassRefPtr<FEBlend> FEBlend::create(FilterEffect* in, FilterEffect* in2, BlendModeType mode) 37 39 { 38 return adoptRef(new SVGFEBlend(filter));40 return adoptRef(new FEBlend(in, in2, mode)); 39 41 } 40 42 41 String SVGFEBlend::in2() const43 FilterEffect* FEBlend::in2() const 42 44 { 43 return m_in2 ;45 return m_in2.get(); 44 46 } 45 47 46 void SVGFEBlend::setIn2(const String&in2)48 void FEBlend::setIn2(FilterEffect* in2) 47 49 { 48 50 m_in2 = in2; 49 51 } 50 52 51 SVGBlendModeType SVGFEBlend::blendMode() const53 BlendModeType FEBlend::blendMode() const 52 54 { 53 55 return m_mode; 54 56 } 55 57 56 void SVGFEBlend::setBlendMode(SVGBlendModeType mode)58 void FEBlend::setBlendMode(BlendModeType mode) 57 59 { 58 60 m_mode = mode; 59 61 } 60 62 61 static TextStream& operator<<(TextStream& ts, SVGBlendModeType t)63 void FEBlend::apply() 62 64 { 63 switch (t)64 {65 case SVG_FEBLEND_MODE_UNKNOWN:66 ts << "UNKNOWN"; break;67 case SVG_FEBLEND_MODE_NORMAL:68 ts << "NORMAL"; break;69 case SVG_FEBLEND_MODE_MULTIPLY:70 ts << "MULTIPLY"; break;71 case SVG_FEBLEND_MODE_SCREEN:72 ts << "SCREEN"; break;73 case SVG_FEBLEND_MODE_DARKEN:74 ts << "DARKEN"; break;75 case SVG_FEBLEND_MODE_LIGHTEN:76 ts << "LIGHTEN"; break;77 }78 return ts;79 65 } 80 66 81 TextStream& SVGFEBlend::externalRepresentation(TextStream& ts) const 67 void FEBlend::dump() 82 68 { 83 ts << "[type=BLEND] ";84 SVGFilterEffect::externalRepresentation(ts);85 if (!m_in2.isEmpty())86 ts << " [in2=\"" << m_in2 << "\"]";87 ts << " [blend mode=" << m_mode << "]";88 return ts;89 69 } 90 70 -
trunk/WebCore/svg/graphics/filters/SVGFEBlend.h
r34656 r34971 24 24 25 25 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 26 #include "FilterEffect.h" 26 27 #include "SVGFilterEffect.h" 27 28 28 29 namespace WebCore { 29 30 30 enum SVGBlendModeType {31 SVG_FEBLEND_MODE_UNKNOWN = 0,32 SVG_FEBLEND_MODE_NORMAL = 1,33 SVG_FEBLEND_MODE_MULTIPLY = 2,34 SVG_FEBLEND_MODE_SCREEN = 3,35 SVG_FEBLEND_MODE_DARKEN = 4,36 SVG_FEBLEND_MODE_LIGHTEN = 537 };31 enum BlendModeType { 32 FEBLEND_MODE_UNKNOWN = 0, 33 FEBLEND_MODE_NORMAL = 1, 34 FEBLEND_MODE_MULTIPLY = 2, 35 FEBLEND_MODE_SCREEN = 3, 36 FEBLEND_MODE_DARKEN = 4, 37 FEBLEND_MODE_LIGHTEN = 5 38 }; 38 39 39 class SVGFEBlend : public SVGFilterEffect {40 public:41 static PassRefPtr<SVGFEBlend> create(SVGResourceFilter*);42 43 Stringin2() const;44 void setIn2(const String&);40 class FEBlend : public FilterEffect { 41 public: 42 static PassRefPtr<FEBlend> create(FilterEffect*, FilterEffect*, BlendModeType); 43 44 FilterEffect* in2() const; 45 void setIn2(FilterEffect*); 45 46 46 SVGBlendModeType blendMode() const; 47 void setBlendMode(SVGBlendModeType); 47 BlendModeType blendMode() const; 48 void setBlendMode(BlendModeType); 49 50 virtual void apply(); 51 virtual void dump(); 48 52 49 virtual TextStream& externalRepresentation(TextStream&) const; 53 private: 54 FEBlend(FilterEffect*, FilterEffect*, BlendModeType); 50 55 51 #if PLATFORM(CI) 52 virtual CIFilter* getCIFilter(const FloatRect& bbox) const; 53 #endif 54 55 private: 56 SVGFEBlend(SVGResourceFilter*); 57 58 SVGBlendModeType m_mode; 59 String m_in2; 60 }; 56 RefPtr<FilterEffect> m_in; 57 RefPtr<FilterEffect> m_in2; 58 BlendModeType m_mode; 59 }; 61 60 62 61 } // namespace WebCore
Note: See TracChangeset
for help on using the changeset viewer.