Brian Salomon | 89cb821 | 2017-01-09 10:48:23 -0500 | [diff] [blame] | 1 | /* |
| 2 | * Copyright 2016 Google Inc. |
| 3 | * |
| 4 | * Use of this source code is governed by a BSD-style license that can be |
| 5 | * found in the LICENSE file. |
| 6 | */ |
| 7 | |
| 8 | #ifndef SkArithmeticImageFilter_DEFINED |
| 9 | #define SkArithmeticImageFilter_DEFINED |
| 10 | |
| 11 | #include "SkImageFilter.h" |
| 12 | |
Ethan Nicholas | ce00811 | 2018-08-30 09:19:50 -0400 | [diff] [blame] | 13 | struct ArithmeticFPInputs { |
Ethan Nicholas | 545aa93 | 2018-08-31 11:21:16 -0400 | [diff] [blame] | 14 | ArithmeticFPInputs() { |
| 15 | memset(this, 0, sizeof(*this)); |
| 16 | } |
| 17 | |
Ethan Nicholas | ce00811 | 2018-08-30 09:19:50 -0400 | [diff] [blame] | 18 | float k[4]; |
| 19 | bool enforcePMColor; |
| 20 | }; |
| 21 | |
Brian Salomon | 89cb821 | 2017-01-09 10:48:23 -0500 | [diff] [blame] | 22 | class SK_API SkArithmeticImageFilter { |
| 23 | public: |
| 24 | static sk_sp<SkImageFilter> Make(float k1, float k2, float k3, float k4, bool enforcePMColor, |
| 25 | sk_sp<SkImageFilter> background, |
| 26 | sk_sp<SkImageFilter> foreground, |
| 27 | const SkImageFilter::CropRect* cropRect); |
Brian Salomon | 89cb821 | 2017-01-09 10:48:23 -0500 | [diff] [blame] | 28 | |
Cary Clark | 4dc5a45 | 2018-05-21 11:56:57 -0400 | [diff] [blame] | 29 | static void InitializeFlattenables(); |
Brian Salomon | 89cb821 | 2017-01-09 10:48:23 -0500 | [diff] [blame] | 30 | |
| 31 | private: |
| 32 | SkArithmeticImageFilter(); // can't instantiate |
| 33 | }; |
| 34 | |
| 35 | #endif |