Changeset 49153 in webkit
- Timestamp:
- Oct 5, 2009 10:58:44 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r49150 r49153 1 2009-10-05 Dirk Schulze <krit@webkit.org> 2 3 Reviewed by Nikolas Zimmermann. 4 5 Test for SVG's SourceAlpha support for Filters. 6 7 * platform/mac/svg/filters/sourceAlpha-expected.checksum: Added. 8 * platform/mac/svg/filters/sourceAlpha-expected.png: Added. 9 * platform/mac/svg/filters/sourceAlpha-expected.txt: Added. 10 * svg/filters/sourceAlpha.svg: Added. 11 1 12 2009-10-05 Simon Fraser <simon.fraser@apple.com> 2 13 -
trunk/WebCore/ChangeLog
r49148 r49153 1 2009-10-05 Dirk Schulze <krit@webkit.org> 2 3 Reviewed by Nikolas Zimmermann. 4 5 SVG Filters do not support source images besides "sourceGraphic" 6 [https://bugs.webkit.org/show_bug.cgi?id=6022] 7 8 Add support for SourceAlpha to SVG filters. 9 10 Test: svg/filters/sourceAlpha.svg 11 12 * platform/graphics/filters/SourceAlpha.cpp: 13 (WebCore::SourceAlpha::calculateEffectRect): 14 (WebCore::SourceAlpha::apply): 15 * platform/graphics/filters/SourceAlpha.h: 16 1 17 2009-10-05 John Abd-El-Malek <jam@chromium.org> 2 18 -
trunk/WebCore/platform/graphics/filters/SourceAlpha.cpp
r44296 r49153 23 23 #include "SourceAlpha.h" 24 24 25 #include "Color.h" 25 26 #include "GraphicsContext.h" 26 27 #include "PlatformString.h" … … 42 43 } 43 44 44 void SourceAlpha::apply(Filter*)45 FloatRect SourceAlpha::calculateEffectRect(Filter* filter) 45 46 { 47 FloatRect clippedSourceRect = filter->sourceImageRect(); 48 if (filter->sourceImageRect().x() < filter->filterRegion().x()) 49 clippedSourceRect.setX(filter->filterRegion().x()); 50 if (filter->sourceImageRect().y() < filter->filterRegion().y()) 51 clippedSourceRect.setY(filter->filterRegion().y()); 52 setSubRegion(clippedSourceRect); 53 return filter->filterRegion(); 54 } 55 56 void SourceAlpha::apply(Filter* filter) 57 { 58 GraphicsContext* filterContext = getEffectContext(); 59 if (!filterContext) 60 return; 61 62 FloatRect imageRect(FloatPoint(), filter->sourceImage()->image()->size()); 63 filterContext->save(); 64 filterContext->clipToImageBuffer(imageRect, filter->sourceImage()); 65 filterContext->fillRect(imageRect, Color::black); 66 filterContext->restore(); 46 67 } 47 68 -
trunk/WebCore/platform/graphics/filters/SourceAlpha.h
r44840 r49153 36 36 37 37 virtual bool isSourceInput() { return true; } 38 virtual FloatRect calculateEffectRect(Filter* filter) { return filter->sourceImageRect(); }38 virtual FloatRect calculateEffectRect(Filter*); 39 39 void apply(Filter*); 40 40 void dump();
Note: See TracChangeset
for help on using the changeset viewer.