|  | /* | 
|  | * Copyright 2021 Google LLC | 
|  | * | 
|  | * Use of this source code is governed by a BSD-style license that can be | 
|  | * found in the LICENSE file. | 
|  | */ | 
|  |  | 
|  | #ifndef SkBlender_DEFINED | 
|  | #define SkBlender_DEFINED | 
|  |  | 
|  | #include "include/core/SkBlendMode.h" | 
|  | #include "include/core/SkFlattenable.h" | 
|  |  | 
|  | /** | 
|  | * SkBlender represents a custom blend function in the Skia pipeline. When an SkBlender is | 
|  | * present in a paint, the SkBlendMode is ignored. A blender combines a source color (the | 
|  | * result of our paint) and destination color (from the canvas) into a final color. | 
|  | */ | 
|  | class SK_API SkBlender : public SkFlattenable { | 
|  | public: | 
|  | /** | 
|  | * Create a blender that implements the specified BlendMode. | 
|  | */ | 
|  | static sk_sp<SkBlender> Mode(SkBlendMode mode); | 
|  |  | 
|  | private: | 
|  | SkBlender() = default; | 
|  | friend class SkBlenderBase; | 
|  | }; | 
|  |  | 
|  | #endif |