Changeset 45103 in webkit
- Timestamp:
- Jun 24, 2009 2:10:18 PM (15 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r45100 r45103 1 2009-06-24 Nicolas Weber <thakis@chromium.org> 2 3 Reviewed by Eric Seidel. 4 5 https://bugs.webkit.org/show_bug.cgi?id=26685 6 Accomodate for backwards-incompatible skia api changes. 7 8 * platform/graphics/skia/GraphicsContextSkia.cpp: 9 (WebCore::GraphicsContext::clearRect): 10 (WebCore::GraphicsContext::setCompositeOperation): 11 * platform/graphics/skia/ImageBufferSkia.cpp: 12 (WebCore::ImageBuffer::ImageBuffer): 13 * platform/graphics/skia/ImageSkia.cpp: 14 (WebCore::paintSkBitmap): 15 (WebCore::Image::drawPattern): 16 * platform/graphics/skia/PlatformContextSkia.cpp: 17 (PlatformContextSkia::State::State): 18 (PlatformContextSkia::setupPaintCommon): 19 (PlatformContextSkia::setXfermodeMode): 20 (PlatformContextSkia::applyClipFromImage): 21 * platform/graphics/skia/PlatformContextSkia.h: 22 * platform/graphics/skia/SkiaUtils.cpp: 23 (WebCore::): 24 (WebCore::WebCoreCompositeToSkiaComposite): 25 * platform/graphics/skia/SkiaUtils.h: 26 1 27 2009-06-24 Jan Michael Alonzo <jmalonzo@webkit.org> 2 28 -
trunk/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp
r44041 r45103 332 332 SkPaint paint; 333 333 platformContext()->setupPaintForFilling(&paint); 334 paint.set PorterDuffXfermode(SkPorterDuff::kClear_Mode);334 paint.setXfermodeMode(SkXfermode::kClear_Mode); 335 335 platformContext()->canvas()->drawRect(r, paint); 336 336 } … … 859 859 if (paintingDisabled()) 860 860 return; 861 platformContext()->set PorterDuffMode(WebCoreCompositeToSkiaComposite(op));861 platformContext()->setXfermodeMode(WebCoreCompositeToSkiaComposite(op)); 862 862 } 863 863 -
trunk/WebCore/platform/graphics/skia/ImageBufferSkia.cpp
r42590 r45103 72 72 // required, but the canvas is currently filled with the magic transparency 73 73 // color. Can we have another way to manage this? 74 m_data.m_canvas.drawARGB(0, 0, 0, 0, Sk PorterDuff::kClear_Mode);74 m_data.m_canvas.drawARGB(0, 0, 0, 0, SkXfermode::kClear_Mode); 75 75 success = true; 76 76 } -
trunk/WebCore/platform/graphics/skia/ImageSkia.cpp
r44537 r45103 221 221 } 222 222 223 static void paintSkBitmap(PlatformContextSkia* platformContext, const NativeImageSkia& bitmap, const SkIRect& srcRect, const SkRect& destRect, const Sk PorterDuff::Mode& compOp)223 static void paintSkBitmap(PlatformContextSkia* platformContext, const NativeImageSkia& bitmap, const SkIRect& srcRect, const SkRect& destRect, const SkXfermode::Mode& compOp) 224 224 { 225 225 SkPaint paint; 226 paint.set PorterDuffXfermode(compOp);226 paint.setXfermodeMode(compOp); 227 227 paint.setFilterBitmap(true); 228 228 int alpha = roundf(platformContext->getAlpha() * 256); … … 380 380 SkPaint paint; 381 381 paint.setShader(shader)->unref(); 382 paint.set PorterDuffXfermode(WebCoreCompositeToSkiaComposite(compositeOp));382 paint.setXfermodeMode(WebCoreCompositeToSkiaComposite(compositeOp)); 383 383 paint.setFilterBitmap(resampling == RESAMPLE_LINEAR); 384 384 -
trunk/WebCore/platform/graphics/skia/PlatformContextSkia.cpp
r44576 r45103 58 58 // Common shader state. 59 59 float m_alpha; 60 Sk PorterDuff::Mode m_porterDuffMode;60 SkXfermode::Mode m_xferMode; 61 61 SkShader* m_gradient; 62 62 SkShader* m_pattern; … … 99 99 PlatformContextSkia::State::State() 100 100 : m_alpha(1) 101 , m_ porterDuffMode(SkPorterDuff::kSrcOver_Mode)101 , m_xferMode(SkXfermode::kSrcOver_Mode) 102 102 , m_gradient(0) 103 103 , m_pattern(0) … … 119 119 PlatformContextSkia::State::State(const State& other) 120 120 : m_alpha(other.m_alpha) 121 , m_ porterDuffMode(other.m_porterDuffMode)121 , m_xferMode(other.m_xferMode) 122 122 , m_gradient(other.m_gradient) 123 123 , m_pattern(other.m_pattern) … … 300 300 301 301 paint->setAntiAlias(m_state->m_useAntialiasing); 302 paint->set PorterDuffXfermode(m_state->m_porterDuffMode);302 paint->setXfermodeMode(m_state->m_xferMode); 303 303 paint->setLooper(m_state->m_looper); 304 304 … … 383 383 } 384 384 385 void PlatformContextSkia::set PorterDuffMode(SkPorterDuff::Mode pdm)386 { 387 m_state->m_ porterDuffMode = pdm;385 void PlatformContextSkia::setXfermodeMode(SkXfermode::Mode pdm) 386 { 387 m_state->m_xferMode = pdm; 388 388 } 389 389 … … 527 527 // only look at the alpha when compositing. I'm not 100% sure this is what WebKit expects for image clipping. 528 528 SkPaint paint; 529 paint.set PorterDuffXfermode(SkPorterDuff::kDstIn_Mode);529 paint.setXfermodeMode(SkXfermode::kDstIn_Mode); 530 530 m_canvas->drawBitmap(imageBuffer, SkFloatToScalar(rect.x()), SkFloatToScalar(rect.y()), &paint); 531 531 } -
trunk/WebCore/platform/graphics/skia/PlatformContextSkia.h
r44537 r45103 116 116 void setLineJoin(SkPaint::Join); 117 117 void setFillRule(SkPath::FillType); 118 void set PorterDuffMode(SkPorterDuff::Mode);118 void setXfermodeMode(SkXfermode::Mode); 119 119 void setFillColor(SkColor); 120 120 void setStrokeStyle(WebCore::StrokeStyle); -
trunk/WebCore/platform/graphics/skia/SkiaUtils.cpp
r44667 r45103 42 42 namespace WebCore { 43 43 44 static const struct CompositOpTo PorterDuffMode {44 static const struct CompositOpToXfermodeMode { 45 45 uint8_t mCompositOp; 46 uint8_t m PorterDuffMode;47 } gMapCompositOpsTo PorterDuffModes[] = {48 { CompositeClear, Sk PorterDuff::kClear_Mode },49 { CompositeCopy, Sk PorterDuff::kSrc_Mode },50 { CompositeSourceOver, Sk PorterDuff::kSrcOver_Mode },51 { CompositeSourceIn, Sk PorterDuff::kSrcIn_Mode },52 { CompositeSourceOut, Sk PorterDuff::kSrcOut_Mode },53 { CompositeSourceAtop, Sk PorterDuff::kSrcATop_Mode },54 { CompositeDestinationOver, Sk PorterDuff::kDstOver_Mode },55 { CompositeDestinationIn, Sk PorterDuff::kDstIn_Mode },56 { CompositeDestinationOut, Sk PorterDuff::kDstOut_Mode },57 { CompositeDestinationAtop, Sk PorterDuff::kDstATop_Mode },58 { CompositeXOR, Sk PorterDuff::kXor_Mode },59 { CompositePlusDarker, Sk PorterDuff::kDarken_Mode },60 { CompositeHighlight, Sk PorterDuff::kSrcOver_Mode }, // TODO61 { CompositePlusLighter, Sk PorterDuff::kAdd_Mode }46 uint8_t m_xfermodeMode; 47 } gMapCompositOpsToXfermodeModes[] = { 48 { CompositeClear, SkXfermode::kClear_Mode }, 49 { CompositeCopy, SkXfermode::kSrc_Mode }, 50 { CompositeSourceOver, SkXfermode::kSrcOver_Mode }, 51 { CompositeSourceIn, SkXfermode::kSrcIn_Mode }, 52 { CompositeSourceOut, SkXfermode::kSrcOut_Mode }, 53 { CompositeSourceAtop, SkXfermode::kSrcATop_Mode }, 54 { CompositeDestinationOver, SkXfermode::kDstOver_Mode }, 55 { CompositeDestinationIn, SkXfermode::kDstIn_Mode }, 56 { CompositeDestinationOut, SkXfermode::kDstOut_Mode }, 57 { CompositeDestinationAtop, SkXfermode::kDstATop_Mode }, 58 { CompositeXOR, SkXfermode::kXor_Mode }, 59 { CompositePlusDarker, SkXfermode::kDarken_Mode }, 60 { CompositeHighlight, SkXfermode::kSrcOver_Mode }, // TODO 61 { CompositePlusLighter, SkXfermode::kPlus_Mode } 62 62 }; 63 63 64 Sk PorterDuff::Mode WebCoreCompositeToSkiaComposite(CompositeOperator op)64 SkXfermode::Mode WebCoreCompositeToSkiaComposite(CompositeOperator op) 65 65 { 66 const CompositOpTo PorterDuffMode* table = gMapCompositOpsToPorterDuffModes;66 const CompositOpToXfermodeMode* table = gMapCompositOpsToXfermodeModes; 67 67 68 for (unsigned i = 0; i < SK_ARRAY_COUNT(gMapCompositOpsTo PorterDuffModes); i++) {68 for (unsigned i = 0; i < SK_ARRAY_COUNT(gMapCompositOpsToXfermodeModes); i++) { 69 69 if (table[i].mCompositOp == op) 70 return (Sk PorterDuff::Mode)table[i].mPorterDuffMode;70 return (SkXfermode::Mode)table[i].m_xfermodeMode; 71 71 } 72 72 73 73 SkDEBUGF(("GraphicsContext::setCompositeOperation uknown CompositeOperator %d\n", op)); 74 return Sk PorterDuff::kSrcOver_Mode; // fall-back74 return SkXfermode::kSrcOver_Mode; // fall-back 75 75 } 76 76 -
trunk/WebCore/platform/graphics/skia/SkiaUtils.h
r39713 r45103 37 37 #include "GraphicsContext.h" 38 38 #include "SkPath.h" 39 #include "Sk PorterDuff.h"39 #include "SkXfermode.h" 40 40 41 41 class SkCanvas; … … 44 44 namespace WebCore { 45 45 46 Sk PorterDuff::Mode WebCoreCompositeToSkiaComposite(CompositeOperator);46 SkXfermode::Mode WebCoreCompositeToSkiaComposite(CompositeOperator); 47 47 48 48 // move this guy into SkColor.h
Note: See TracChangeset
for help on using the changeset viewer.