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

Side by Side Diff: src/c/sk_paint.cpp

Issue 2396953002: Revert[8] "replace SkXfermode obj with SkBlendMode enum in paints" (Closed)
Patch Set: add tmp virtual to unroll legacy arithmodes Created 4 years, 2 months 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
« no previous file with comments | « samplecode/SampleXfermodesBlur.cpp ('k') | src/core/SkBitmapDevice.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2015 Google Inc. 2 * Copyright 2015 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "SkBlendMode.h"
8 #include "SkMaskFilter.h" 9 #include "SkMaskFilter.h"
9 #include "SkPaint.h" 10 #include "SkPaint.h"
10 #include "SkShader.h" 11 #include "SkShader.h"
11 12
12 #include "sk_paint.h" 13 #include "sk_paint.h"
13 #include "sk_types_priv.h" 14 #include "sk_types_priv.h"
14 15
15 #define MAKE_FROM_TO_NAME(FROM) g_ ## FROM ## _map 16 #define MAKE_FROM_TO_NAME(FROM) g_ ## FROM ## _map
16 17
17 const struct { 18 const struct {
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 SkPaint::Join skjoin; 126 SkPaint::Join skjoin;
126 if (find_sk(cjoin, &skjoin)) { 127 if (find_sk(cjoin, &skjoin)) {
127 AsPaint(cpaint)->setStrokeJoin(skjoin); 128 AsPaint(cpaint)->setStrokeJoin(skjoin);
128 } else { 129 } else {
129 // unknown cjoin 130 // unknown cjoin
130 } 131 }
131 } 132 }
132 133
133 void sk_paint_set_xfermode_mode(sk_paint_t* paint, sk_xfermode_mode_t mode) { 134 void sk_paint_set_xfermode_mode(sk_paint_t* paint, sk_xfermode_mode_t mode) {
134 SkASSERT(paint); 135 SkASSERT(paint);
135 SkXfermode::Mode skmode; 136 SkBlendMode skmode;
136 switch (mode) { 137 switch (mode) {
137 #define MAP(X, Y) case (X): skmode = (Y); break 138 #define MAP(X, Y) case (X): skmode = (Y); break
138 MAP( CLEAR_SK_XFERMODE_MODE, SkXfermode::kClear_Mode ); 139 MAP( CLEAR_SK_XFERMODE_MODE, SkBlendMode::kClear );
139 MAP( SRC_SK_XFERMODE_MODE, SkXfermode::kSrc_Mode ); 140 MAP( SRC_SK_XFERMODE_MODE, SkBlendMode::kSrc );
140 MAP( DST_SK_XFERMODE_MODE, SkXfermode::kDst_Mode ); 141 MAP( DST_SK_XFERMODE_MODE, SkBlendMode::kDst );
141 MAP( SRCOVER_SK_XFERMODE_MODE, SkXfermode::kSrcOver_Mode ); 142 MAP( SRCOVER_SK_XFERMODE_MODE, SkBlendMode::kSrcOver );
142 MAP( DSTOVER_SK_XFERMODE_MODE, SkXfermode::kDstOver_Mode ); 143 MAP( DSTOVER_SK_XFERMODE_MODE, SkBlendMode::kDstOver );
143 MAP( SRCIN_SK_XFERMODE_MODE, SkXfermode::kSrcIn_Mode ); 144 MAP( SRCIN_SK_XFERMODE_MODE, SkBlendMode::kSrcIn );
144 MAP( DSTIN_SK_XFERMODE_MODE, SkXfermode::kDstIn_Mode ); 145 MAP( DSTIN_SK_XFERMODE_MODE, SkBlendMode::kDstIn );
145 MAP( SRCOUT_SK_XFERMODE_MODE, SkXfermode::kSrcOut_Mode ); 146 MAP( SRCOUT_SK_XFERMODE_MODE, SkBlendMode::kSrcOut );
146 MAP( DSTOUT_SK_XFERMODE_MODE, SkXfermode::kDstOut_Mode ); 147 MAP( DSTOUT_SK_XFERMODE_MODE, SkBlendMode::kDstOut );
147 MAP( SRCATOP_SK_XFERMODE_MODE, SkXfermode::kSrcATop_Mode ); 148 MAP( SRCATOP_SK_XFERMODE_MODE, SkBlendMode::kSrcATop );
148 MAP( DSTATOP_SK_XFERMODE_MODE, SkXfermode::kDstATop_Mode ); 149 MAP( DSTATOP_SK_XFERMODE_MODE, SkBlendMode::kDstATop );
149 MAP( XOR_SK_XFERMODE_MODE, SkXfermode::kXor_Mode ); 150 MAP( XOR_SK_XFERMODE_MODE, SkBlendMode::kXor );
150 MAP( PLUS_SK_XFERMODE_MODE, SkXfermode::kPlus_Mode ); 151 MAP( PLUS_SK_XFERMODE_MODE, SkBlendMode::kPlus );
151 MAP( MODULATE_SK_XFERMODE_MODE, SkXfermode::kModulate_Mode ); 152 MAP( MODULATE_SK_XFERMODE_MODE, SkBlendMode::kModulate );
152 MAP( SCREEN_SK_XFERMODE_MODE, SkXfermode::kScreen_Mode ); 153 MAP( SCREEN_SK_XFERMODE_MODE, SkBlendMode::kScreen );
153 MAP( OVERLAY_SK_XFERMODE_MODE, SkXfermode::kOverlay_Mode ); 154 MAP( OVERLAY_SK_XFERMODE_MODE, SkBlendMode::kOverlay );
154 MAP( DARKEN_SK_XFERMODE_MODE, SkXfermode::kDarken_Mode ); 155 MAP( DARKEN_SK_XFERMODE_MODE, SkBlendMode::kDarken );
155 MAP( LIGHTEN_SK_XFERMODE_MODE, SkXfermode::kLighten_Mode ); 156 MAP( LIGHTEN_SK_XFERMODE_MODE, SkBlendMode::kLighten );
156 MAP( COLORDODGE_SK_XFERMODE_MODE, SkXfermode::kColorDodge_Mode ); 157 MAP( COLORDODGE_SK_XFERMODE_MODE, SkBlendMode::kColorDodge );
157 MAP( COLORBURN_SK_XFERMODE_MODE, SkXfermode::kColorBurn_Mode ); 158 MAP( COLORBURN_SK_XFERMODE_MODE, SkBlendMode::kColorBurn );
158 MAP( HARDLIGHT_SK_XFERMODE_MODE, SkXfermode::kHardLight_Mode ); 159 MAP( HARDLIGHT_SK_XFERMODE_MODE, SkBlendMode::kHardLight );
159 MAP( SOFTLIGHT_SK_XFERMODE_MODE, SkXfermode::kSoftLight_Mode ); 160 MAP( SOFTLIGHT_SK_XFERMODE_MODE, SkBlendMode::kSoftLight );
160 MAP( DIFFERENCE_SK_XFERMODE_MODE, SkXfermode::kDifference_Mode ); 161 MAP( DIFFERENCE_SK_XFERMODE_MODE, SkBlendMode::kDifference );
161 MAP( EXCLUSION_SK_XFERMODE_MODE, SkXfermode::kExclusion_Mode ); 162 MAP( EXCLUSION_SK_XFERMODE_MODE, SkBlendMode::kExclusion );
162 MAP( MULTIPLY_SK_XFERMODE_MODE, SkXfermode::kMultiply_Mode ); 163 MAP( MULTIPLY_SK_XFERMODE_MODE, SkBlendMode::kMultiply );
163 MAP( HUE_SK_XFERMODE_MODE, SkXfermode::kHue_Mode ); 164 MAP( HUE_SK_XFERMODE_MODE, SkBlendMode::kHue );
164 MAP( SATURATION_SK_XFERMODE_MODE, SkXfermode::kSaturation_Mode ); 165 MAP( SATURATION_SK_XFERMODE_MODE, SkBlendMode::kSaturation );
165 MAP( COLOR_SK_XFERMODE_MODE, SkXfermode::kColor_Mode ); 166 MAP( COLOR_SK_XFERMODE_MODE, SkBlendMode::kColor );
166 MAP( LUMINOSITY_SK_XFERMODE_MODE, SkXfermode::kLuminosity_Mode ); 167 MAP( LUMINOSITY_SK_XFERMODE_MODE, SkBlendMode::kLuminosity );
167 #undef MAP 168 #undef MAP
168 default: 169 default:
169 return; 170 return;
170 } 171 }
171 AsPaint(paint)->setXfermodeMode(skmode); 172 AsPaint(paint)->setBlendMode(skmode);
172 } 173 }
OLDNEW
« no previous file with comments | « samplecode/SampleXfermodesBlur.cpp ('k') | src/core/SkBitmapDevice.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698