8 #ifndef SkSGRenderEffect_DEFINED
9 #define SkSGRenderEffect_DEFINED
201 SkVector fOffset = { 0, 0 },
227 SkVector fSigma = { 0, 0 };
SkBlendMode
Blends are operators that take in two colors (source, destination) and return a new color.
Definition: SkBlendMode.h:38
@ kSrcOver
r = s + (1-sa)*d
Types, consts, functions, and macros for colors.
uint32_t SkColor
32-bit ARGB color value, unpremultiplied.
Definition: SkColor.h:37
constexpr SkColor SK_ColorBLACK
Represents fully opaque black.
Definition: SkColor.h:103
#define SG_ATTRIBUTE(attr_name, attr_type, attr_container)
Definition: SkSGNode.h:99
SkTileMode
Definition: SkTileMode.h:13
@ kDecal
Only draw within the original domain, return transparent-black everywhere else.
SkBlender represents a custom blend function in the Skia pipeline.
Definition: SkBlender.h:19
SkCanvas provides an interface for drawing, and how the drawing is clipped and transformed.
Definition: SkCanvas.h:99
Base class for image filters.
Definition: SkImageFilter.h:35
SkMaskFilter is the base class for object that perform transformations on the mask before drawing it.
Definition: SkMaskFilter.h:27
SkMatrix holds a 3x3 matrix for transforming coordinates.
Definition: SkMatrix.h:53
Definition: SkRefCnt.h:119
Shaders specify the source color(s) for what is being drawn.
Definition: SkShader.h:35
Applies an SkBlender to descendant render nodes.
Definition: SkSGRenderEffect.h:236
const RenderNode * onNodeAt(const SkPoint &) const override
void onRender(SkCanvas *, const RenderContext *) const override
static sk_sp< BlenderEffect > Make(sk_sp< RenderNode > child, sk_sp< SkBlender >=nullptr)
~BlenderEffect() override
SkBlurImageFilter node.
Definition: SkSGRenderEffect.h:212
static sk_sp< BlurImageFilter > Make()
~BlurImageFilter() override
sk_sp< SkImageFilter > onRevalidateFilter() override
Concrete Paint node, wrapping an SkColor.
Definition: SkSGPaint.h:64
SkDropShadowImageFilter node.
Definition: SkSGRenderEffect.h:182
Mode
Definition: SkSGRenderEffect.h:188
~DropShadowImageFilter() override
sk_sp< SkImageFilter > onRevalidateFilter() override
static sk_sp< DropShadowImageFilter > Make()
Base class for nodes which apply some transformation when rendering their descendants.
Definition: SkSGEffectNode.h:21
EffectNode(sk_sp< RenderNode >, uint32_t inval_traits=0)
Wrapper for externally-managed SkImageFilters.
Definition: SkSGRenderEffect.h:161
static sk_sp< ExternalImageFilter > Make()
Definition: SkSGRenderEffect.h:165
~ExternalImageFilter() override
Attaches an ImageFilter (chain) to the render DAG.
Definition: SkSGRenderEffect.h:130
static sk_sp< RenderNode > Make(sk_sp< RenderNode > child, sk_sp< ImageFilter > filter)
SkRect onRevalidate(InvalidationController *, const SkMatrix &) override
const RenderNode * onNodeAt(const SkPoint &) const override
Cropping
Definition: SkSGRenderEffect.h:136
~ImageFilterEffect() override
void onRender(SkCanvas *, const RenderContext *) const override
ImageFilter base class.
Definition: SkSGRenderEffect.h:102
virtual sk_sp< SkImageFilter > onRevalidateFilter()=0
const sk_sp< SkImageFilter > & getFilter() const
Definition: SkSGRenderEffect.h:106
SkRect onRevalidate(InvalidationController *, const SkMatrix &) final
Receiver for invalidation events.
Definition: SkSGInvalidationController.h:25
Definition: SkSGRenderEffect.h:256
static sk_sp< LayerEffect > Make(sk_sp< RenderNode > child, SkBlendMode mode=SkBlendMode::kSrcOver)
Attaches a mask shader to the render DAG.
Definition: SkSGRenderEffect.h:82
void onRender(SkCanvas *, const RenderContext *) const override
static sk_sp< MaskShaderEffect > Make(sk_sp< RenderNode >, sk_sp< SkShader >=nullptr)
Base class for all scene graph nodes.
Definition: SkSGNode.h:32
Node(uint32_t invalTraits)
bool hasInval() const
Definition: SkSGNode.h:59
Base class for nodes which can render to a canvas.
Definition: SkSGRenderNode.h:27
friend class ImageFilterEffect
Definition: SkSGRenderNode.h:123
Attaches a shader to the render DAG.
Definition: SkSGRenderEffect.h:58
SkRect onRevalidate(InvalidationController *, const SkMatrix &) override
void setShader(sk_sp< Shader >)
static sk_sp< ShaderEffect > Make(sk_sp< RenderNode > child, sk_sp< Shader > shader=nullptr)
void onRender(SkCanvas *, const RenderContext *) const override
Shader base class.
Definition: SkSGRenderEffect.h:33
SkRect onRevalidate(InvalidationController *, const SkMatrix &) final
virtual sk_sp< SkShader > onRevalidateShader()=0
const sk_sp< SkShader > & getShader() const
Definition: SkSGRenderEffect.h:37
Definition: SkImageFilters.h:47
SkRect holds four float coordinates describing the upper and lower bounds of a rectangle.
Definition: SkRect.h:582
Definition: SkSGRenderNode.h:53