diff options
author | Mike Reed <reed@google.com> | 2016-10-03 15:44:23 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2016-10-03 20:02:20 +0000 |
commit | 70cdb396eb5ffbbed128b902532e9292b5ec0e9d (patch) | |
tree | d6a3bc707ac55d6823f7966adfacd88c6f23d903 /gm/xfermodes.cpp | |
parent | afb48b62272e280d766f8e97c9cdd3417961a546 (diff) |
Revert "Revert "replace SkXfermode obj with SkBlendMode enum in paints""
This reverts commit ce02e7175872abde3721df9e5d3ec0ab8384cd8e.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2878
Change-Id: I86875511a13497112827cbaed1dbd7639e9e3d10
Reviewed-on: https://skia-review.googlesource.com/2878
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'gm/xfermodes.cpp')
-rw-r--r-- | gm/xfermodes.cpp | 73 |
1 files changed, 36 insertions, 37 deletions
diff --git a/gm/xfermodes.cpp b/gm/xfermodes.cpp index 8fbbdbec6a..604a767a4f 100644 --- a/gm/xfermodes.cpp +++ b/gm/xfermodes.cpp @@ -34,45 +34,45 @@ enum SrcType { }; const struct { - SkXfermode::Mode fMode; - const char* fLabel; - int fSourceTypeMask; // The source types to use this + SkBlendMode fMode; + const char* fLabel; + int fSourceTypeMask; // The source types to use this // mode with. See draw_mode for // an explanation of each type. // PDF has to play some tricks // to support the base modes, // test those more extensively. } gModes[] = { - { SkXfermode::kClear_Mode, "Clear", kAll_SrcType }, - { SkXfermode::kSrc_Mode, "Src", kAll_SrcType }, - { SkXfermode::kDst_Mode, "Dst", kAll_SrcType }, - { SkXfermode::kSrcOver_Mode, "SrcOver", kAll_SrcType }, - { SkXfermode::kDstOver_Mode, "DstOver", kAll_SrcType }, - { SkXfermode::kSrcIn_Mode, "SrcIn", kAll_SrcType }, - { SkXfermode::kDstIn_Mode, "DstIn", kAll_SrcType }, - { SkXfermode::kSrcOut_Mode, "SrcOut", kAll_SrcType }, - { SkXfermode::kDstOut_Mode, "DstOut", kAll_SrcType }, - { SkXfermode::kSrcATop_Mode, "SrcATop", kAll_SrcType }, - { SkXfermode::kDstATop_Mode, "DstATop", kAll_SrcType }, - - { SkXfermode::kXor_Mode, "Xor", kBasic_SrcType }, - { SkXfermode::kPlus_Mode, "Plus", kBasic_SrcType }, - { SkXfermode::kModulate_Mode, "Modulate", kAll_SrcType }, - { SkXfermode::kScreen_Mode, "Screen", kBasic_SrcType }, - { SkXfermode::kOverlay_Mode, "Overlay", kBasic_SrcType }, - { SkXfermode::kDarken_Mode, "Darken", kBasic_SrcType }, - { SkXfermode::kLighten_Mode, "Lighten", kBasic_SrcType }, - { SkXfermode::kColorDodge_Mode, "ColorDodge", kBasic_SrcType }, - { SkXfermode::kColorBurn_Mode, "ColorBurn", kBasic_SrcType }, - { SkXfermode::kHardLight_Mode, "HardLight", kBasic_SrcType }, - { SkXfermode::kSoftLight_Mode, "SoftLight", kBasic_SrcType }, - { SkXfermode::kDifference_Mode, "Difference", kBasic_SrcType }, - { SkXfermode::kExclusion_Mode, "Exclusion", kBasic_SrcType }, - { SkXfermode::kMultiply_Mode, "Multiply", kAll_SrcType }, - { SkXfermode::kHue_Mode, "Hue", kBasic_SrcType }, - { SkXfermode::kSaturation_Mode, "Saturation", kBasic_SrcType }, - { SkXfermode::kColor_Mode, "Color", kBasic_SrcType }, - { SkXfermode::kLuminosity_Mode, "Luminosity", kBasic_SrcType }, + { SkBlendMode::kClear, "Clear", kAll_SrcType }, + { SkBlendMode::kSrc, "Src", kAll_SrcType }, + { SkBlendMode::kDst, "Dst", kAll_SrcType }, + { SkBlendMode::kSrcOver, "SrcOver", kAll_SrcType }, + { SkBlendMode::kDstOver, "DstOver", kAll_SrcType }, + { SkBlendMode::kSrcIn, "SrcIn", kAll_SrcType }, + { SkBlendMode::kDstIn, "DstIn", kAll_SrcType }, + { SkBlendMode::kSrcOut, "SrcOut", kAll_SrcType }, + { SkBlendMode::kDstOut, "DstOut", kAll_SrcType }, + { SkBlendMode::kSrcATop, "SrcATop", kAll_SrcType }, + { SkBlendMode::kDstATop, "DstATop", kAll_SrcType }, + + { SkBlendMode::kXor, "Xor", kBasic_SrcType }, + { SkBlendMode::kPlus, "Plus", kBasic_SrcType }, + { SkBlendMode::kModulate, "Modulate", kAll_SrcType }, + { SkBlendMode::kScreen, "Screen", kBasic_SrcType }, + { SkBlendMode::kOverlay, "Overlay", kBasic_SrcType }, + { SkBlendMode::kDarken, "Darken", kBasic_SrcType }, + { SkBlendMode::kLighten, "Lighten", kBasic_SrcType }, + { SkBlendMode::kColorDodge, "ColorDodge", kBasic_SrcType }, + { SkBlendMode::kColorBurn, "ColorBurn", kBasic_SrcType }, + { SkBlendMode::kHardLight, "HardLight", kBasic_SrcType }, + { SkBlendMode::kSoftLight, "SoftLight", kBasic_SrcType }, + { SkBlendMode::kDifference, "Difference", kBasic_SrcType }, + { SkBlendMode::kExclusion, "Exclusion", kBasic_SrcType }, + { SkBlendMode::kMultiply, "Multiply", kAll_SrcType }, + { SkBlendMode::kHue, "Hue", kBasic_SrcType }, + { SkBlendMode::kSaturation, "Saturation", kBasic_SrcType }, + { SkBlendMode::kColor, "Color", kBasic_SrcType }, + { SkBlendMode::kLuminosity, "Luminosity", kBasic_SrcType }, }; static void make_bitmaps(int w, int h, SkBitmap* src, SkBitmap* dst, @@ -118,15 +118,14 @@ class XfermodesGM : public skiagm::GM { * uses the implied shape of the drawing command and these modes * demonstrate that. */ - void draw_mode(SkCanvas* canvas, SkXfermode::Mode mode, SrcType srcType, - SkScalar x, SkScalar y) { + void draw_mode(SkCanvas* canvas, SkBlendMode mode, SrcType srcType, SkScalar x, SkScalar y) { SkPaint p; SkMatrix m; bool restoreNeeded = false; m.setTranslate(x, y); canvas->drawBitmap(fSrcB, x, y, &p); - p.setXfermodeMode(mode); + p.setBlendMode(mode); switch (srcType) { case kSmallTransparentImage_SrcType: { m.postScale(SK_ScalarHalf, SK_ScalarHalf, x, y); @@ -141,7 +140,7 @@ class XfermodesGM : public skiagm::GM { SkIntToScalar(H)); canvas->saveLayer(&bounds, &p); restoreNeeded = true; - p.setXfermodeMode(SkXfermode::kSrcOver_Mode); + p.setBlendMode(SkBlendMode::kSrcOver); // Fall through. } case kQuarterClear_SrcType: { |