• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2021 Google LLC
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 SkBlender_DEFINED
9 #define SkBlender_DEFINED
10 
11 #include "include/core/SkBlendMode.h"
12 #include "include/core/SkFlattenable.h"
13 
14 /**
15  * SkBlender represents a custom blend function in the Skia pipeline. When an SkBlender is
16  * present in a paint, the SkBlendMode is ignored. A blender combines a source color (the
17  * result of our paint) and destination color (from the canvas) into a final color.
18  */
19 class SK_API SkBlender : public SkFlattenable {
20 public:
21     /**
22      * Create a blender that implements the specified BlendMode.
23      */
24     static sk_sp<SkBlender> Mode(SkBlendMode mode);
25 
26 private:
27     SkBlender() = default;
28     friend class SkBlenderBase;
29 
30     using INHERITED = SkFlattenable;
31 };
32 
33 #endif
34