A few small changes made to types used
authorMatthew Leibowitz <mattleibow@live.com>
Fri, 18 Nov 2016 03:15:09 +0000 (05:15 +0200)
committerMatthew Leibowitz <mattleibow@live.com>
Fri, 18 Nov 2016 03:15:09 +0000 (05:15 +0200)
include/c/sk_colorfilter.h
include/c/sk_imagefilter.h
include/c/sk_shader.h
include/c/sk_types.h
src/c/sk_canvas.cpp
src/c/sk_colorfilter.cpp
src/c/sk_enums.cpp
src/c/sk_imagefilter.cpp
src/c/sk_paint.cpp
src/c/sk_shader.cpp

index cff35ab..5dcbe14 100644 (file)
@@ -16,7 +16,7 @@
 SK_C_PLUS_PLUS_BEGIN_GUARD
 
 SK_API void sk_colorfilter_unref(sk_colorfilter_t* filter);
-SK_API sk_colorfilter_t* sk_colorfilter_new_mode(sk_color_t c, sk_xfermode_mode_t mode);
+SK_API sk_colorfilter_t* sk_colorfilter_new_mode(sk_color_t c, sk_blendmode_t mode);
 SK_API sk_colorfilter_t* sk_colorfilter_new_lighting(sk_color_t mul, sk_color_t add);
 SK_API sk_colorfilter_t* sk_colorfilter_new_compose(sk_colorfilter_t* outer, sk_colorfilter_t* inner);
 SK_API sk_colorfilter_t* sk_colorfilter_new_color_cube(sk_data_t* cubeData, int cubeDimension);
index 0f719cc..2231270 100644 (file)
@@ -126,7 +126,7 @@ SK_API sk_imagefilter_t* sk_imagefilter_new_matrix_convolution(
 SK_API sk_imagefilter_t* sk_imagefilter_new_merge(
     sk_imagefilter_t* filters[],
     int count,
-    const sk_xfermode_mode_t modes[] /*NULL*/,
+    const sk_blendmode_t modes[] /*NULL*/,
     const sk_imagefilter_croprect_t* cropRect /*NULL*/);
 SK_API sk_imagefilter_t* sk_imagefilter_new_dilate(
     int radiusX, 
index e7d41f2..bb10331 100644 (file)
@@ -189,7 +189,7 @@ SK_API sk_shader_t* sk_shader_new_compose(
 SK_API sk_shader_t* sk_shader_new_compose_with_mode(
     sk_shader_t* shaderA,
     sk_shader_t* shaderB,
-    sk_xfermode_mode_t mode);
+    sk_blendmode_t mode);
 
 SK_C_PLUS_PLUS_END_GUARD
 
index 96856e9..cc6edfa 100644 (file)
@@ -186,39 +186,6 @@ typedef struct sk_surface_t sk_surface_t;
 */
 typedef struct sk_region_t sk_region_t;
 
-
-typedef enum {
-    CLEAR_SK_XFERMODE_MODE,
-    SRC_SK_XFERMODE_MODE,
-    DST_SK_XFERMODE_MODE,
-    SRCOVER_SK_XFERMODE_MODE,
-    DSTOVER_SK_XFERMODE_MODE,
-    SRCIN_SK_XFERMODE_MODE,
-    DSTIN_SK_XFERMODE_MODE,
-    SRCOUT_SK_XFERMODE_MODE,
-    DSTOUT_SK_XFERMODE_MODE,
-    SRCATOP_SK_XFERMODE_MODE,
-    DSTATOP_SK_XFERMODE_MODE,
-    XOR_SK_XFERMODE_MODE,
-    PLUS_SK_XFERMODE_MODE,
-    MODULATE_SK_XFERMODE_MODE,
-    SCREEN_SK_XFERMODE_MODE,
-    OVERLAY_SK_XFERMODE_MODE,
-    DARKEN_SK_XFERMODE_MODE,
-    LIGHTEN_SK_XFERMODE_MODE,
-    COLORDODGE_SK_XFERMODE_MODE,
-    COLORBURN_SK_XFERMODE_MODE,
-    HARDLIGHT_SK_XFERMODE_MODE,
-    SOFTLIGHT_SK_XFERMODE_MODE,
-    DIFFERENCE_SK_XFERMODE_MODE,
-    EXCLUSION_SK_XFERMODE_MODE,
-    MULTIPLY_SK_XFERMODE_MODE,
-    HUE_SK_XFERMODE_MODE,
-    SATURATION_SK_XFERMODE_MODE,
-    COLOR_SK_XFERMODE_MODE,
-    LUMINOSITY_SK_XFERMODE_MODE,
-} sk_xfermode_mode_t;
-
 typedef enum {
     CLEAR_SK_BLENDMODE,
     SRC_SK_BLENDMODE,
@@ -494,6 +461,8 @@ typedef enum {
 typedef struct {
     sk_codec_zero_initialized_t fZeroInitialized;
     sk_irect_t* fSubset;
+    size_t fFrameIndex;
+    bool fHasPriorFrame;
 } sk_codec_options_t;
 
 // The verbs that can be foudn on a path
@@ -590,6 +559,7 @@ typedef enum {
     BGRA_8888_GR_PIXEL_CONFIG,
     SRGBA_8888_GR_PIXEL_CONFIG,
     SBGRA_8888_GR_PIXEL_CONFIG,
+    RGBA_8888_SINT_GR_PIXEL_CONFIG,
     ETC1_GR_PIXEL_CONFIG,
     LATC_GR_PIXEL_CONFIG,
     R11_EAC_GR_PIXEL_CONFIG,
index 1f6e9e1..a107aff 100644 (file)
@@ -11,8 +11,8 @@
 
 #include "sk_types_priv.h"
 
-void sk_canvas_unref(sk_canvas_t* ccanvas) {
-    SkSafeUnref(AsCanvas(ccanvas));
+void sk_canvas_destroy(sk_canvas_t* ccanvas) {
+    delete AsCanvas(ccanvas);
 }
 
 void sk_canvas_clear(sk_canvas_t* ccanvas, sk_color_t color) {
index 5875af9..53b1691 100644 (file)
@@ -19,11 +19,9 @@ void sk_colorfilter_unref(sk_colorfilter_t* filter) {
     SkSafeUnref(AsColorFilter(filter));
 }
 
-sk_colorfilter_t* sk_colorfilter_new_mode(sk_color_t c, sk_xfermode_mode_t cmode) {
+sk_colorfilter_t* sk_colorfilter_new_mode(sk_color_t c, sk_blendmode_t cmode) {
 
-    sk_sp<SkColorFilter> filter = SkColorFilter::MakeModeFilter(
-        c,
-        (SkXfermode::Mode)cmode);
+    sk_sp<SkColorFilter> filter = SkColorFilter::MakeModeFilter(c, (SkBlendMode)cmode);
     return ToColorFilter(filter.release());
 }
 
index ac7342b..103be53 100644 (file)
@@ -107,37 +107,6 @@ static_assert ((int)SkImageEncoder::Type::kWBMP_Type      == (int)WBMP_SK_IMAGE_
 static_assert ((int)SkImageEncoder::Type::kWEBP_Type      == (int)WEBP_SK_IMAGE_ENCODER_TYPE,      ASSERT_MSG(SkImageEncoder::Type, sk_image_encoder_t));
 static_assert ((int)SkImageEncoder::Type::kKTX_Type       == (int)KTX_SK_IMAGE_ENCODER_TYPE,       ASSERT_MSG(SkImageEncoder::Type, sk_image_encoder_t));
 
-// sk_xfermode_mode_t
-static_assert ((int)SkXfermode::Mode::kClear_Mode        == (int)CLEAR_SK_XFERMODE_MODE,        ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kSrc_Mode          == (int)SRC_SK_XFERMODE_MODE,          ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kDst_Mode          == (int)DST_SK_XFERMODE_MODE,          ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kSrcOver_Mode      == (int)SRCOVER_SK_XFERMODE_MODE,      ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kDstOver_Mode      == (int)DSTOVER_SK_XFERMODE_MODE,      ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kSrcIn_Mode        == (int)SRCIN_SK_XFERMODE_MODE,        ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kDstIn_Mode        == (int)DSTIN_SK_XFERMODE_MODE,        ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kSrcOut_Mode       == (int)SRCOUT_SK_XFERMODE_MODE,       ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kDstOut_Mode       == (int)DSTOUT_SK_XFERMODE_MODE,       ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kSrcATop_Mode      == (int)SRCATOP_SK_XFERMODE_MODE,      ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kDstATop_Mode      == (int)DSTATOP_SK_XFERMODE_MODE,      ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kXor_Mode          == (int)XOR_SK_XFERMODE_MODE,          ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kPlus_Mode         == (int)PLUS_SK_XFERMODE_MODE,         ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kModulate_Mode     == (int)MODULATE_SK_XFERMODE_MODE,     ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kScreen_Mode       == (int)SCREEN_SK_XFERMODE_MODE,       ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kOverlay_Mode      == (int)OVERLAY_SK_XFERMODE_MODE,      ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kDarken_Mode       == (int)DARKEN_SK_XFERMODE_MODE,       ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kLighten_Mode      == (int)LIGHTEN_SK_XFERMODE_MODE,      ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kColorDodge_Mode   == (int)COLORDODGE_SK_XFERMODE_MODE,   ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kColorBurn_Mode    == (int)COLORBURN_SK_XFERMODE_MODE,    ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kHardLight_Mode    == (int)HARDLIGHT_SK_XFERMODE_MODE,    ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kSoftLight_Mode    == (int)SOFTLIGHT_SK_XFERMODE_MODE,    ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kDifference_Mode   == (int)DIFFERENCE_SK_XFERMODE_MODE,   ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kExclusion_Mode    == (int)EXCLUSION_SK_XFERMODE_MODE,    ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kMultiply_Mode     == (int)MULTIPLY_SK_XFERMODE_MODE,     ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kHue_Mode          == (int)HUE_SK_XFERMODE_MODE,          ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kSaturation_Mode   == (int)SATURATION_SK_XFERMODE_MODE,   ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kColor_Mode        == (int)COLOR_SK_XFERMODE_MODE,        ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-static_assert ((int)SkXfermode::Mode::kLuminosity_Mode   == (int)LUMINOSITY_SK_XFERMODE_MODE,   ASSERT_MSG(SkXfermode::Mode, sk_xfermode_mode_t));
-
 // sk_blendmode_t
 static_assert ((int)SkBlendMode::kClear        == (int)CLEAR_SK_BLENDMODE,        ASSERT_MSG(SkBlendMode, sk_blendmode_t));
 static_assert ((int)SkBlendMode::kSrc          == (int)SRC_SK_BLENDMODE,          ASSERT_MSG(SkBlendMode, sk_blendmode_t));
@@ -293,22 +262,23 @@ static_assert ((int)GrSurfaceOrigin::kBottomLeft_GrSurfaceOrigin   == (int)BOTTO
 static_assert ((int)GrSurfaceOrigin::kTopLeft_GrSurfaceOrigin      == (int)TOP_LEFT_GR_SURFACE_ORIGIN,      ASSERT_MSG(GrSurfaceOrigin, gr_surfaceorigin_t));
 
 // gr_pixelconfig_t
-static_assert ((int)GrPixelConfig::kUnknown_GrPixelConfig      == (int)UNKNOWN_GR_PIXEL_CONFIG,      ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
-static_assert ((int)GrPixelConfig::kAlpha_8_GrPixelConfig      == (int)ALPHA_8_GR_PIXEL_CONFIG,      ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
-static_assert ((int)GrPixelConfig::kIndex_8_GrPixelConfig      == (int)INDEX_8_GR_PIXEL_CONFIG,      ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
-static_assert ((int)GrPixelConfig::kRGB_565_GrPixelConfig      == (int)RGB_565_GR_PIXEL_CONFIG,      ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
-static_assert ((int)GrPixelConfig::kRGBA_4444_GrPixelConfig    == (int)RGBA_4444_GR_PIXEL_CONFIG,    ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
-static_assert ((int)GrPixelConfig::kRGBA_8888_GrPixelConfig    == (int)RGBA_8888_GR_PIXEL_CONFIG,    ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
-static_assert ((int)GrPixelConfig::kBGRA_8888_GrPixelConfig    == (int)BGRA_8888_GR_PIXEL_CONFIG,    ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
-static_assert ((int)GrPixelConfig::kSRGBA_8888_GrPixelConfig   == (int)SRGBA_8888_GR_PIXEL_CONFIG,   ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
-static_assert ((int)GrPixelConfig::kSBGRA_8888_GrPixelConfig   == (int)SBGRA_8888_GR_PIXEL_CONFIG,   ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
-static_assert ((int)GrPixelConfig::kETC1_GrPixelConfig         == (int)ETC1_GR_PIXEL_CONFIG,         ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
-static_assert ((int)GrPixelConfig::kLATC_GrPixelConfig         == (int)LATC_GR_PIXEL_CONFIG,         ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
-static_assert ((int)GrPixelConfig::kR11_EAC_GrPixelConfig      == (int)R11_EAC_GR_PIXEL_CONFIG,      ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
-static_assert ((int)GrPixelConfig::kASTC_12x12_GrPixelConfig   == (int)ASTC_12X12_GR_PIXEL_CONFIG,   ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
-static_assert ((int)GrPixelConfig::kRGBA_float_GrPixelConfig   == (int)RGBA_FLOAT_GR_PIXEL_CONFIG,   ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
-static_assert ((int)GrPixelConfig::kAlpha_half_GrPixelConfig   == (int)ALPHA_HALF_GR_PIXEL_CONFIG,   ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
-static_assert ((int)GrPixelConfig::kRGBA_half_GrPixelConfig    == (int)RGBA_HALF_GR_PIXEL_CONFIG,    ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
+static_assert ((int)GrPixelConfig::kUnknown_GrPixelConfig          == (int)UNKNOWN_GR_PIXEL_CONFIG,          ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
+static_assert ((int)GrPixelConfig::kIndex_8_GrPixelConfig          == (int)INDEX_8_GR_PIXEL_CONFIG,          ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
+static_assert ((int)GrPixelConfig::kAlpha_8_GrPixelConfig          == (int)ALPHA_8_GR_PIXEL_CONFIG,          ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
+static_assert ((int)GrPixelConfig::kRGB_565_GrPixelConfig          == (int)RGB_565_GR_PIXEL_CONFIG,          ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
+static_assert ((int)GrPixelConfig::kRGBA_4444_GrPixelConfig        == (int)RGBA_4444_GR_PIXEL_CONFIG,        ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
+static_assert ((int)GrPixelConfig::kRGBA_8888_GrPixelConfig        == (int)RGBA_8888_GR_PIXEL_CONFIG,        ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
+static_assert ((int)GrPixelConfig::kBGRA_8888_GrPixelConfig        == (int)BGRA_8888_GR_PIXEL_CONFIG,        ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
+static_assert ((int)GrPixelConfig::kSRGBA_8888_GrPixelConfig       == (int)SRGBA_8888_GR_PIXEL_CONFIG,       ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
+static_assert ((int)GrPixelConfig::kSBGRA_8888_GrPixelConfig       == (int)SBGRA_8888_GR_PIXEL_CONFIG,       ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
+static_assert ((int)GrPixelConfig::kRGBA_8888_sint_GrPixelConfig   == (int)RGBA_8888_SINT_GR_PIXEL_CONFIG,   ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
+static_assert ((int)GrPixelConfig::kETC1_GrPixelConfig             == (int)ETC1_GR_PIXEL_CONFIG,             ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
+static_assert ((int)GrPixelConfig::kLATC_GrPixelConfig             == (int)LATC_GR_PIXEL_CONFIG,             ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
+static_assert ((int)GrPixelConfig::kR11_EAC_GrPixelConfig          == (int)R11_EAC_GR_PIXEL_CONFIG,          ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
+static_assert ((int)GrPixelConfig::kASTC_12x12_GrPixelConfig       == (int)ASTC_12X12_GR_PIXEL_CONFIG,       ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
+static_assert ((int)GrPixelConfig::kRGBA_float_GrPixelConfig       == (int)RGBA_FLOAT_GR_PIXEL_CONFIG,       ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
+static_assert ((int)GrPixelConfig::kAlpha_half_GrPixelConfig       == (int)ALPHA_HALF_GR_PIXEL_CONFIG,       ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
+static_assert ((int)GrPixelConfig::kRGBA_half_GrPixelConfig        == (int)RGBA_HALF_GR_PIXEL_CONFIG,        ASSERT_MSG(GrPixelConfig, gr_pixelconfig_t));
 
 // gr_backendtexture_flags_t
 static_assert ((int)GrBackendTextureFlags::kNone_GrBackendTextureFlag           == (int)NONE_GR_BACKEND_TEXTURE_FLAGS,            ASSERT_MSG(GrBackendTextureFlags, gr_backendtexture_flags_t));
index 26e465c..2bec4de 100644 (file)
@@ -309,7 +309,7 @@ sk_imagefilter_t* sk_imagefilter_new_matrix_convolution(
 sk_imagefilter_t* sk_imagefilter_new_merge(
     sk_imagefilter_t* cfilters[],
     int count,
-    const sk_xfermode_mode_t cmodes[] /*NULL*/,
+    const sk_blendmode_t cmodes[] /*NULL*/,
     const sk_imagefilter_croprect_t* cropRect /*NULL*/) {
 
     sk_sp<SkImageFilter>* filters = new sk_sp<SkImageFilter>[count];
@@ -317,10 +317,10 @@ sk_imagefilter_t* sk_imagefilter_new_merge(
         filters[i] = sk_ref_sp(AsImageFilter(cfilters[i]));
     }
     
-    sk_sp<SkImageFilter> filter = SkMergeImageFilter::Make(
+    sk_sp<SkImageFilter> filter = SkMergeImageFilter::MakeN(
         filters,
         count,
-        (SkXfermode::Mode*)cmodes,
+        (SkBlendMode*)cmodes,
         AsImageFilterCropRect(cropRect));
 
     return ToImageFilter(filter.release());
index 7f7f872..edb54bb 100644 (file)
@@ -127,7 +127,7 @@ sk_colorfilter_t* sk_paint_get_colorfilter(sk_paint_t* cpaint) {
 }
 
 void sk_paint_set_imagefilter(sk_paint_t* cpaint, sk_imagefilter_t* cfilter) {
-    AsPaint(cpaint)->setImageFilter(AsImageFilter(cfilter));
+    AsPaint(cpaint)->setImageFilter(sk_ref_sp(AsImageFilter(cfilter)));
 }
 
 sk_imagefilter_t* sk_paint_get_imagefilter(sk_paint_t* cpaint) {
index 812f8bb..9045d27 100644 (file)
@@ -121,19 +121,19 @@ sk_shader_t* sk_shader_new_compose(
     sk_sp<SkShader> s = SkShader::MakeComposeShader(
         sk_ref_sp(AsShader(shaderA)),
         sk_ref_sp(AsShader(shaderB)),
-        SkXfermode::kSrcOver_Mode);
+        SkBlendMode::kSrcOver);
     return ToShader(s.release());
 }
 
 sk_shader_t* sk_shader_new_compose_with_mode(
     sk_shader_t* shaderA,
     sk_shader_t* shaderB,
-    sk_xfermode_mode_t cmode) {
+    sk_blendmode_t cmode) {
 
     sk_sp<SkShader> s = SkShader::MakeComposeShader(
         sk_ref_sp(AsShader(shaderA)),
         sk_ref_sp(AsShader(shaderB)),
-        (SkXfermode::Mode)cmode);
+        (SkBlendMode)cmode);
     return ToShader(s.release());
 }