OLD | NEW |
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 #ifndef GrCustomXfermode_DEFINED | 8 #ifndef GrCustomXfermode_DEFINED |
9 #define GrCustomXfermode_DEFINED | 9 #define GrCustomXfermode_DEFINED |
10 | 10 |
11 #include "SkXfermode.h" | 11 #include "SkXfermode.h" |
12 | 12 |
13 class GrFragmentProcessor; | 13 class GrFragmentProcessor; |
14 class GrTexture; | 14 class GrTexture; |
15 | 15 |
16 /** | 16 /** |
17 * Custom Xfer modes are used for blending when the blend mode cannot be represe
nted using blend | 17 * Custom Xfer modes are used for blending when the blend mode cannot be represe
nted using blend |
18 * coefficients. It is assumed that all blending is done within the processors'
emit code. For each | 18 * coefficients. It is assumed that all blending is done within the processors'
emit code. For each |
19 * blend mode there should be a matching fragment processor (used when blending
with a background | 19 * blend mode there should be a matching fragment processor (used when blending
with a background |
20 * texture) and xfer processor. | 20 * texture) and xfer processor. |
21 */ | 21 */ |
22 namespace GrCustomXfermode { | 22 namespace GrCustomXfermode { |
23 bool IsSupportedMode(SkXfermode::Mode mode); | 23 bool IsSupportedMode(SkXfermode::Mode mode); |
24 | 24 |
25 GrFragmentProcessor* CreateFP(SkXfermode::Mode mode, GrTexture* background); | 25 GrFragmentProcessor* CreateFP(SkXfermode::Mode mode, GrTexture* background); |
| 26 |
| 27 GrXPFactory* CreateXPFactory(SkXfermode::Mode mode); |
26 }; | 28 }; |
27 | 29 |
28 #endif | 30 #endif |
OLD | NEW |