2d8b835cad
Like SkColorFilter, SkShader, etc., this has a public-facing component (SkBlender) and a private subclass (SkBlenderBase) which can be obtained via a helper function (as_BB). At present there are no public- facing methods, but the type needs to be exposed to be usable by the outside world. These classes exist for SkRuntimeEffect to subclass. The blender base provides a `program` method with the parameters that blending will use. Change-Id: I75c772fd4108a9c21fbda84201a8b23d3750a0df Bug: skia:12080 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/416916 Auto-Submit: John Stiles <johnstiles@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
32 lines
671 B
C++
32 lines
671 B
C++
/*
|
|
* 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 SkSLProgramKind_DEFINED
|
|
#define SkSLProgramKind_DEFINED
|
|
|
|
#include <cinttypes>
|
|
|
|
namespace SkSL {
|
|
|
|
/**
|
|
* SkSL supports several different program kinds.
|
|
*/
|
|
enum class ProgramKind : int8_t {
|
|
kFragment,
|
|
kVertex,
|
|
kGeometry,
|
|
kFragmentProcessor,
|
|
kRuntimeColorFilter, // Runtime effect only suitable as SkColorFilter
|
|
kRuntimeShader, // " " " " " SkShader
|
|
kRuntimeBlender, // " " " " " SkBlender
|
|
kGeneric,
|
|
};
|
|
|
|
} // namespace SkSL
|
|
|
|
#endif
|