Changeset 87151 in webkit
- Timestamp:
- May 24, 2011 8:13:17 AM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r87150 r87151 1 2011-05-24 Ryuan Choi <ryuan.choi@samsung.com> 2 3 Reviewed by Andreas Kling. 4 5 [GTK] Implement GraphicsContextCairo::imageInterpolationQuality(). 6 https://bugs.webkit.org/show_bug.cgi?id=60827 7 8 Implement getter/setter of imageInterpolationQuality and logic to change 9 interpolation algorithm when drawing image. 10 Mac and Qt already implemented it. 11 12 * platform/graphics/cairo/GraphicsContextCairo.cpp: 13 (WebCore::GraphicsContext::setImageInterpolationQuality): 14 (WebCore::GraphicsContext::imageInterpolationQuality): 15 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: 16 * platform/graphics/cairo/PlatformContextCairo.cpp: 17 (WebCore::PlatformContextCairo::drawSurfaceToContext): 18 * platform/graphics/cairo/PlatformContextCairo.h: 19 (WebCore::PlatformContextCairo::setImageInterpolationQuality): Added. 20 (WebCore::PlatformContextCairo::imageInterpolationQuality): Added. 21 1 22 2011-05-24 Leandro Gracia Gil <leandrogracia@chromium.org> 2 23 -
trunk/Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp
r85405 r87151 1155 1155 } 1156 1156 1157 void GraphicsContext::setImageInterpolationQuality(InterpolationQuality) 1158 { 1157 void GraphicsContext::setImageInterpolationQuality(InterpolationQuality quality) 1158 { 1159 platformContext()->setImageInterpolationQuality(quality); 1159 1160 } 1160 1161 1161 1162 InterpolationQuality GraphicsContext::imageInterpolationQuality() const 1162 1163 { 1163 return InterpolationDefault;1164 return platformContext()->imageInterpolationQuality(); 1164 1165 } 1165 1166 -
trunk/Source/WebCore/platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h
r83044 r87151 103 103 ContextShadow shadow; 104 104 Vector<ContextShadow> shadowStack; 105 InterpolationQuality imageInterpolationQuality; 105 106 106 107 #if PLATFORM(GTK) -
trunk/Source/WebCore/platform/graphics/cairo/PlatformContextCairo.cpp
r86174 r87151 98 98 // Test using example site at http://www.meyerweb.com/eric/css/edge/complexspiral/demo.html 99 99 RefPtr<cairo_pattern_t> pattern = adoptRef(cairo_pattern_create_for_surface(surface)); 100 101 switch (m_imageInterpolationQuality) { 102 case InterpolationNone: 103 case InterpolationLow: 104 cairo_pattern_set_filter(pattern.get(), CAIRO_FILTER_FAST); 105 break; 106 case InterpolationMedium: 107 case InterpolationHigh: 108 cairo_pattern_set_filter(pattern.get(), CAIRO_FILTER_BILINEAR); 109 break; 110 case InterpolationDefault: 111 cairo_pattern_set_filter(pattern.get(), CAIRO_FILTER_BILINEAR); 112 break; 113 } 100 114 cairo_pattern_set_extend(pattern.get(), CAIRO_EXTEND_PAD); 101 115 -
trunk/Source/WebCore/platform/graphics/cairo/PlatformContextCairo.h
r86174 r87151 28 28 29 29 #include "ContextShadow.h" 30 #include "GraphicsContext.h" 30 31 #include "RefPtrCairo.h" 31 32 … … 69 70 void drawSurfaceToContext(cairo_surface_t*, const FloatRect& destRect, const FloatRect& srcRect, GraphicsContext*); 70 71 72 void setImageInterpolationQuality(InterpolationQuality quality) { m_imageInterpolationQuality = quality; } 73 InterpolationQuality imageInterpolationQuality() const { return m_imageInterpolationQuality; } 74 71 75 private: 72 76 RefPtr<cairo_t> m_cr; 73 77 Vector<ImageMaskInformation> m_maskImageStack; 78 InterpolationQuality m_imageInterpolationQuality; 74 79 }; 75 80
Note: See TracChangeset
for help on using the changeset viewer.