Changeset 45103 in webkit


Ignore:
Timestamp:
Jun 24, 2009 2:10:18 PM (15 years ago)
Author:
eric@webkit.org
Message:

2009-06-24 Nicolas Weber <thakis@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=26685
Accomodate for backwards-incompatible skia api changes.

  • platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::clearRect): (WebCore::GraphicsContext::setCompositeOperation):
  • platform/graphics/skia/ImageBufferSkia.cpp: (WebCore::ImageBuffer::ImageBuffer):
  • platform/graphics/skia/ImageSkia.cpp: (WebCore::paintSkBitmap): (WebCore::Image::drawPattern):
  • platform/graphics/skia/PlatformContextSkia.cpp: (PlatformContextSkia::State::State): (PlatformContextSkia::setupPaintCommon): (PlatformContextSkia::setXfermodeMode): (PlatformContextSkia::applyClipFromImage):
  • platform/graphics/skia/PlatformContextSkia.h:
  • platform/graphics/skia/SkiaUtils.cpp: (WebCore::): (WebCore::WebCoreCompositeToSkiaComposite):
  • platform/graphics/skia/SkiaUtils.h:
Location:
trunk/WebCore
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r45100 r45103  
     12009-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
    1272009-06-24  Jan Michael Alonzo  <jmalonzo@webkit.org>
    228
  • trunk/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp

    r44041 r45103  
    332332    SkPaint paint;
    333333    platformContext()->setupPaintForFilling(&paint);
    334     paint.setPorterDuffXfermode(SkPorterDuff::kClear_Mode);
     334    paint.setXfermodeMode(SkXfermode::kClear_Mode);
    335335    platformContext()->canvas()->drawRect(r, paint);
    336336}
     
    859859    if (paintingDisabled())
    860860        return;
    861     platformContext()->setPorterDuffMode(WebCoreCompositeToSkiaComposite(op));
     861    platformContext()->setXfermodeMode(WebCoreCompositeToSkiaComposite(op));
    862862}
    863863
  • trunk/WebCore/platform/graphics/skia/ImageBufferSkia.cpp

    r42590 r45103  
    7272    // required, but the canvas is currently filled with the magic transparency
    7373    // color. Can we have another way to manage this?
    74     m_data.m_canvas.drawARGB(0, 0, 0, 0, SkPorterDuff::kClear_Mode);
     74    m_data.m_canvas.drawARGB(0, 0, 0, 0, SkXfermode::kClear_Mode);
    7575    success = true;
    7676}
  • trunk/WebCore/platform/graphics/skia/ImageSkia.cpp

    r44537 r45103  
    221221}
    222222
    223 static void paintSkBitmap(PlatformContextSkia* platformContext, const NativeImageSkia& bitmap, const SkIRect& srcRect, const SkRect& destRect, const SkPorterDuff::Mode& compOp)
     223static void paintSkBitmap(PlatformContextSkia* platformContext, const NativeImageSkia& bitmap, const SkIRect& srcRect, const SkRect& destRect, const SkXfermode::Mode& compOp)
    224224{
    225225    SkPaint paint;
    226     paint.setPorterDuffXfermode(compOp);
     226    paint.setXfermodeMode(compOp);
    227227    paint.setFilterBitmap(true);
    228228    int alpha = roundf(platformContext->getAlpha() * 256);
     
    380380    SkPaint paint;
    381381    paint.setShader(shader)->unref();
    382     paint.setPorterDuffXfermode(WebCoreCompositeToSkiaComposite(compositeOp));
     382    paint.setXfermodeMode(WebCoreCompositeToSkiaComposite(compositeOp));
    383383    paint.setFilterBitmap(resampling == RESAMPLE_LINEAR);
    384384
  • trunk/WebCore/platform/graphics/skia/PlatformContextSkia.cpp

    r44576 r45103  
    5858    // Common shader state.
    5959    float m_alpha;
    60     SkPorterDuff::Mode m_porterDuffMode;
     60    SkXfermode::Mode m_xferMode;
    6161    SkShader* m_gradient;
    6262    SkShader* m_pattern;
     
    9999PlatformContextSkia::State::State()
    100100    : m_alpha(1)
    101     , m_porterDuffMode(SkPorterDuff::kSrcOver_Mode)
     101    , m_xferMode(SkXfermode::kSrcOver_Mode)
    102102    , m_gradient(0)
    103103    , m_pattern(0)
     
    119119PlatformContextSkia::State::State(const State& other)
    120120    : m_alpha(other.m_alpha)
    121     , m_porterDuffMode(other.m_porterDuffMode)
     121    , m_xferMode(other.m_xferMode)
    122122    , m_gradient(other.m_gradient)
    123123    , m_pattern(other.m_pattern)
     
    300300
    301301    paint->setAntiAlias(m_state->m_useAntialiasing);
    302     paint->setPorterDuffXfermode(m_state->m_porterDuffMode);
     302    paint->setXfermodeMode(m_state->m_xferMode);
    303303    paint->setLooper(m_state->m_looper);
    304304
     
    383383}
    384384
    385 void PlatformContextSkia::setPorterDuffMode(SkPorterDuff::Mode pdm)
    386 {
    387     m_state->m_porterDuffMode = pdm;
     385void PlatformContextSkia::setXfermodeMode(SkXfermode::Mode pdm)
     386{
     387    m_state->m_xferMode = pdm;
    388388}
    389389
     
    527527    // only look at the alpha when compositing. I'm not 100% sure this is what WebKit expects for image clipping.
    528528    SkPaint paint;
    529     paint.setPorterDuffXfermode(SkPorterDuff::kDstIn_Mode);
     529    paint.setXfermodeMode(SkXfermode::kDstIn_Mode);
    530530    m_canvas->drawBitmap(imageBuffer, SkFloatToScalar(rect.x()), SkFloatToScalar(rect.y()), &paint);
    531531}
  • trunk/WebCore/platform/graphics/skia/PlatformContextSkia.h

    r44537 r45103  
    116116    void setLineJoin(SkPaint::Join);
    117117    void setFillRule(SkPath::FillType);
    118     void setPorterDuffMode(SkPorterDuff::Mode);
     118    void setXfermodeMode(SkXfermode::Mode);
    119119    void setFillColor(SkColor);
    120120    void setStrokeStyle(WebCore::StrokeStyle);
  • trunk/WebCore/platform/graphics/skia/SkiaUtils.cpp

    r44667 r45103  
    4242namespace WebCore {
    4343
    44 static const struct CompositOpToPorterDuffMode {
     44static const struct CompositOpToXfermodeMode {
    4545    uint8_t mCompositOp;
    46     uint8_t mPorterDuffMode;
    47 } gMapCompositOpsToPorterDuffModes[] = {
    48     { CompositeClear,           SkPorterDuff::kClear_Mode },
    49     { CompositeCopy,            SkPorterDuff::kSrc_Mode },
    50     { CompositeSourceOver,      SkPorterDuff::kSrcOver_Mode },
    51     { CompositeSourceIn,        SkPorterDuff::kSrcIn_Mode },
    52     { CompositeSourceOut,       SkPorterDuff::kSrcOut_Mode },
    53     { CompositeSourceAtop,      SkPorterDuff::kSrcATop_Mode },
    54     { CompositeDestinationOver, SkPorterDuff::kDstOver_Mode },
    55     { CompositeDestinationIn,   SkPorterDuff::kDstIn_Mode },
    56     { CompositeDestinationOut,  SkPorterDuff::kDstOut_Mode },
    57     { CompositeDestinationAtop, SkPorterDuff::kDstATop_Mode },
    58     { CompositeXOR,             SkPorterDuff::kXor_Mode },
    59     { CompositePlusDarker,      SkPorterDuff::kDarken_Mode },
    60     { CompositeHighlight,       SkPorterDuff::kSrcOver_Mode },  // TODO
    61     { CompositePlusLighter,     SkPorterDuff::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 }
    6262};
    6363
    64 SkPorterDuff::Mode WebCoreCompositeToSkiaComposite(CompositeOperator op)
     64SkXfermode::Mode WebCoreCompositeToSkiaComposite(CompositeOperator op)
    6565{
    66     const CompositOpToPorterDuffMode* table = gMapCompositOpsToPorterDuffModes;
     66    const CompositOpToXfermodeMode* table = gMapCompositOpsToXfermodeModes;
    6767   
    68     for (unsigned i = 0; i < SK_ARRAY_COUNT(gMapCompositOpsToPorterDuffModes); i++) {
     68    for (unsigned i = 0; i < SK_ARRAY_COUNT(gMapCompositOpsToXfermodeModes); i++) {
    6969        if (table[i].mCompositOp == op)
    70             return (SkPorterDuff::Mode)table[i].mPorterDuffMode;
     70            return (SkXfermode::Mode)table[i].m_xfermodeMode;
    7171    }
    7272
    7373    SkDEBUGF(("GraphicsContext::setCompositeOperation uknown CompositeOperator %d\n", op));
    74     return SkPorterDuff::kSrcOver_Mode; // fall-back
     74    return SkXfermode::kSrcOver_Mode; // fall-back
    7575}
    7676
  • trunk/WebCore/platform/graphics/skia/SkiaUtils.h

    r39713 r45103  
    3737#include "GraphicsContext.h"
    3838#include "SkPath.h"
    39 #include "SkPorterDuff.h"
     39#include "SkXfermode.h"
    4040
    4141class SkCanvas;
     
    4444namespace WebCore {
    4545
    46 SkPorterDuff::Mode WebCoreCompositeToSkiaComposite(CompositeOperator);
     46SkXfermode::Mode WebCoreCompositeToSkiaComposite(CompositeOperator);
    4747
    4848// move this guy into SkColor.h
Note: See TracChangeset for help on using the changeset viewer.