Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(355)

Side by Side Diff: cc/blink/web_blend_mode.h

Issue 2502373003: stop using SkXfermode -- use SkBlendMode instead (Closed)
Patch Set: rebase Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CC_BLINK_WEB_BLEND_MODE_H_ 5 #ifndef CC_BLINK_WEB_BLEND_MODE_H_
6 #define CC_BLINK_WEB_BLEND_MODE_H_ 6 #define CC_BLINK_WEB_BLEND_MODE_H_
7 7
8 #include "third_party/WebKit/public/platform/WebBlendMode.h" 8 #include "third_party/WebKit/public/platform/WebBlendMode.h"
9 #include "third_party/skia/include/core/SkXfermode.h" 9 #include "third_party/skia/include/core/SkBlendMode.h"
10 10
11 namespace cc_blink { 11 namespace cc_blink {
12 12
13 inline SkXfermode::Mode BlendModeToSkia(blink::WebBlendMode blend_mode) { 13 inline SkBlendMode BlendModeToSkia(blink::WebBlendMode blend_mode) {
14 switch (blend_mode) { 14 switch (blend_mode) {
15 case blink::WebBlendModeNormal: 15 case blink::WebBlendModeNormal:
16 return SkXfermode::kSrcOver_Mode; 16 return SkBlendMode::kSrcOver;
17 case blink::WebBlendModeMultiply: 17 case blink::WebBlendModeMultiply:
18 return SkXfermode::kMultiply_Mode; 18 return SkBlendMode::kMultiply;
19 case blink::WebBlendModeScreen: 19 case blink::WebBlendModeScreen:
20 return SkXfermode::kScreen_Mode; 20 return SkBlendMode::kScreen;
21 case blink::WebBlendModeOverlay: 21 case blink::WebBlendModeOverlay:
22 return SkXfermode::kOverlay_Mode; 22 return SkBlendMode::kOverlay;
23 case blink::WebBlendModeDarken: 23 case blink::WebBlendModeDarken:
24 return SkXfermode::kDarken_Mode; 24 return SkBlendMode::kDarken;
25 case blink::WebBlendModeLighten: 25 case blink::WebBlendModeLighten:
26 return SkXfermode::kLighten_Mode; 26 return SkBlendMode::kLighten;
27 case blink::WebBlendModeColorDodge: 27 case blink::WebBlendModeColorDodge:
28 return SkXfermode::kColorDodge_Mode; 28 return SkBlendMode::kColorDodge;
29 case blink::WebBlendModeColorBurn: 29 case blink::WebBlendModeColorBurn:
30 return SkXfermode::kColorBurn_Mode; 30 return SkBlendMode::kColorBurn;
31 case blink::WebBlendModeHardLight: 31 case blink::WebBlendModeHardLight:
32 return SkXfermode::kHardLight_Mode; 32 return SkBlendMode::kHardLight;
33 case blink::WebBlendModeSoftLight: 33 case blink::WebBlendModeSoftLight:
34 return SkXfermode::kSoftLight_Mode; 34 return SkBlendMode::kSoftLight;
35 case blink::WebBlendModeDifference: 35 case blink::WebBlendModeDifference:
36 return SkXfermode::kDifference_Mode; 36 return SkBlendMode::kDifference;
37 case blink::WebBlendModeExclusion: 37 case blink::WebBlendModeExclusion:
38 return SkXfermode::kExclusion_Mode; 38 return SkBlendMode::kExclusion;
39 case blink::WebBlendModeHue: 39 case blink::WebBlendModeHue:
40 return SkXfermode::kHue_Mode; 40 return SkBlendMode::kHue;
41 case blink::WebBlendModeSaturation: 41 case blink::WebBlendModeSaturation:
42 return SkXfermode::kSaturation_Mode; 42 return SkBlendMode::kSaturation;
43 case blink::WebBlendModeColor: 43 case blink::WebBlendModeColor:
44 return SkXfermode::kColor_Mode; 44 return SkBlendMode::kColor;
45 case blink::WebBlendModeLuminosity: 45 case blink::WebBlendModeLuminosity:
46 return SkXfermode::kLuminosity_Mode; 46 return SkBlendMode::kLuminosity;
47 } 47 }
48 return SkXfermode::kSrcOver_Mode; 48 return SkBlendMode::kSrcOver;
49 } 49 }
50 50
51 inline blink::WebBlendMode BlendModeFromSkia(SkXfermode::Mode blend_mode) { 51 inline blink::WebBlendMode BlendModeFromSkia(SkBlendMode blend_mode) {
52 switch (blend_mode) { 52 switch (blend_mode) {
53 case SkXfermode::kSrcOver_Mode: 53 case SkBlendMode::kSrcOver:
54 return blink::WebBlendModeNormal; 54 return blink::WebBlendModeNormal;
55 case SkXfermode::kMultiply_Mode: 55 case SkBlendMode::kMultiply:
56 return blink::WebBlendModeMultiply; 56 return blink::WebBlendModeMultiply;
57 case SkXfermode::kScreen_Mode: 57 case SkBlendMode::kScreen:
58 return blink::WebBlendModeScreen; 58 return blink::WebBlendModeScreen;
59 case SkXfermode::kOverlay_Mode: 59 case SkBlendMode::kOverlay:
60 return blink::WebBlendModeOverlay; 60 return blink::WebBlendModeOverlay;
61 case SkXfermode::kDarken_Mode: 61 case SkBlendMode::kDarken:
62 return blink::WebBlendModeDarken; 62 return blink::WebBlendModeDarken;
63 case SkXfermode::kLighten_Mode: 63 case SkBlendMode::kLighten:
64 return blink::WebBlendModeLighten; 64 return blink::WebBlendModeLighten;
65 case SkXfermode::kColorDodge_Mode: 65 case SkBlendMode::kColorDodge:
66 return blink::WebBlendModeColorDodge; 66 return blink::WebBlendModeColorDodge;
67 case SkXfermode::kColorBurn_Mode: 67 case SkBlendMode::kColorBurn:
68 return blink::WebBlendModeColorBurn; 68 return blink::WebBlendModeColorBurn;
69 case SkXfermode::kHardLight_Mode: 69 case SkBlendMode::kHardLight:
70 return blink::WebBlendModeHardLight; 70 return blink::WebBlendModeHardLight;
71 case SkXfermode::kSoftLight_Mode: 71 case SkBlendMode::kSoftLight:
72 return blink::WebBlendModeSoftLight; 72 return blink::WebBlendModeSoftLight;
73 case SkXfermode::kDifference_Mode: 73 case SkBlendMode::kDifference:
74 return blink::WebBlendModeDifference; 74 return blink::WebBlendModeDifference;
75 case SkXfermode::kExclusion_Mode: 75 case SkBlendMode::kExclusion:
76 return blink::WebBlendModeExclusion; 76 return blink::WebBlendModeExclusion;
77 case SkXfermode::kHue_Mode: 77 case SkBlendMode::kHue:
78 return blink::WebBlendModeHue; 78 return blink::WebBlendModeHue;
79 case SkXfermode::kSaturation_Mode: 79 case SkBlendMode::kSaturation:
80 return blink::WebBlendModeSaturation; 80 return blink::WebBlendModeSaturation;
81 case SkXfermode::kColor_Mode: 81 case SkBlendMode::kColor:
82 return blink::WebBlendModeColor; 82 return blink::WebBlendModeColor;
83 case SkXfermode::kLuminosity_Mode: 83 case SkBlendMode::kLuminosity:
84 return blink::WebBlendModeLuminosity; 84 return blink::WebBlendModeLuminosity;
85 85
86 // these value are SkXfermodes, but no blend modes. 86 // these value are SkBlendModes, but no blend modes.
87 case SkXfermode::kClear_Mode: 87 case SkBlendMode::kClear:
88 case SkXfermode::kSrc_Mode: 88 case SkBlendMode::kSrc:
89 case SkXfermode::kDst_Mode: 89 case SkBlendMode::kDst:
90 case SkXfermode::kDstOver_Mode: 90 case SkBlendMode::kDstOver:
91 case SkXfermode::kSrcIn_Mode: 91 case SkBlendMode::kSrcIn:
92 case SkXfermode::kDstIn_Mode: 92 case SkBlendMode::kDstIn:
93 case SkXfermode::kSrcOut_Mode: 93 case SkBlendMode::kSrcOut:
94 case SkXfermode::kDstOut_Mode: 94 case SkBlendMode::kDstOut:
95 case SkXfermode::kSrcATop_Mode: 95 case SkBlendMode::kSrcATop:
96 case SkXfermode::kDstATop_Mode: 96 case SkBlendMode::kDstATop:
97 case SkXfermode::kXor_Mode: 97 case SkBlendMode::kXor:
98 case SkXfermode::kPlus_Mode: 98 case SkBlendMode::kPlus:
99 case SkXfermode::kModulate_Mode: 99 case SkBlendMode::kModulate:
100 NOTREACHED(); 100 NOTREACHED();
101 } 101 }
102 return blink::WebBlendModeNormal; 102 return blink::WebBlendModeNormal;
103 } 103 }
104 104
105 } // namespace cc_blink 105 } // namespace cc_blink
106 106
107 #endif // CC_BLINK_WEB_BLEND_MODE_H_ 107 #endif // CC_BLINK_WEB_BLEND_MODE_H_
OLDNEW
« no previous file with comments | « cc/blimp/layer_tree_host_unittest_serialization.cc ('k') | cc/blink/web_display_item_list_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698