1*c8dee2aaSAndroid Build Coastguard Worker /* 2*c8dee2aaSAndroid Build Coastguard Worker * Copyright 2021 Google LLC 3*c8dee2aaSAndroid Build Coastguard Worker * 4*c8dee2aaSAndroid Build Coastguard Worker * Use of this source code is governed by a BSD-style license that can be 5*c8dee2aaSAndroid Build Coastguard Worker * found in the LICENSE file. 6*c8dee2aaSAndroid Build Coastguard Worker */ 7*c8dee2aaSAndroid Build Coastguard Worker 8*c8dee2aaSAndroid Build Coastguard Worker #ifndef SkBlenders_DEFINED 9*c8dee2aaSAndroid Build Coastguard Worker #define SkBlenders_DEFINED 10*c8dee2aaSAndroid Build Coastguard Worker 11*c8dee2aaSAndroid Build Coastguard Worker #include "include/core/SkBlender.h" 12*c8dee2aaSAndroid Build Coastguard Worker 13*c8dee2aaSAndroid Build Coastguard Worker class SK_API SkBlenders { 14*c8dee2aaSAndroid Build Coastguard Worker public: 15*c8dee2aaSAndroid Build Coastguard Worker /** 16*c8dee2aaSAndroid Build Coastguard Worker * Create a blender that implements the following: 17*c8dee2aaSAndroid Build Coastguard Worker * k1 * src * dst + k2 * src + k3 * dst + k4 18*c8dee2aaSAndroid Build Coastguard Worker * @param k1, k2, k3, k4 The four coefficients. 19*c8dee2aaSAndroid Build Coastguard Worker * @param enforcePMColor If true, the RGB channels will be clamped to the calculated alpha. 20*c8dee2aaSAndroid Build Coastguard Worker */ 21*c8dee2aaSAndroid Build Coastguard Worker static sk_sp<SkBlender> Arithmetic(float k1, float k2, float k3, float k4, bool enforcePremul); 22*c8dee2aaSAndroid Build Coastguard Worker 23*c8dee2aaSAndroid Build Coastguard Worker private: 24*c8dee2aaSAndroid Build Coastguard Worker SkBlenders() = delete; 25*c8dee2aaSAndroid Build Coastguard Worker }; 26*c8dee2aaSAndroid Build Coastguard Worker 27*c8dee2aaSAndroid Build Coastguard Worker #endif 28