Lines Matching refs:sksg

15 #include "modules/sksg/include/SkSGClipEffect.h"
16 #include "modules/sksg/include/SkSGDraw.h"
17 #include "modules/sksg/include/SkSGGroup.h"
18 #include "modules/sksg/include/SkSGMaskEffect.h"
19 #include "modules/sksg/include/SkSGMerge.h"
20 #include "modules/sksg/include/SkSGPaint.h"
21 #include "modules/sksg/include/SkSGPath.h"
22 #include "modules/sksg/include/SkSGRect.h"
23 #include "modules/sksg/include/SkSGRenderEffect.h"
24 #include "modules/sksg/include/SkSGRenderNode.h"
25 #include "modules/sksg/include/SkSGTransform.h"
34 sksg::Merge::Mode fMergeMode; // used when clipping
40 { SkBlendMode::kSrcOver , sksg::Merge::Mode::kUnion , false };
42 { SkBlendMode::kSrcIn , sksg::Merge::Mode::kIntersect , false };
44 { SkBlendMode::kDstOut , sksg::Merge::Mode::kDifference, true };
46 { SkBlendMode::kXor , sksg::Merge::Mode::kXOR , false };
62 : fMaskPaint(sksg::Color::Make(SK_ColorBLACK))
74 fMaskFilter = sksg::BlurImageFilter::Make();
84 sk_sp<sksg::RenderNode> makeMask(sk_sp<sksg::Path> mask_path) const {
85 sk_sp<sksg::RenderNode> mask = sksg::Draw::Make(std::move(mask_path), fMaskPaint);
88 mask = sksg::ImageFilterEffect::Make(std::move(mask), fMaskFilter);
91 mask = sksg::LayerEffect::Make(std::move(mask), fBlendMode);
124 const sk_sp<sksg::PaintNode> fMaskPaint;
126 sk_sp<sksg::BlurImageFilter> fMaskFilter; // optional "feather"
132 sk_sp<sksg::RenderNode> AttachMask(const skjson::ArrayValue* jmask,
134 sk_sp<sksg::RenderNode> childNode) {
138 sk_sp<sksg::Path> mask_path; // for clipping and masking
140 sksg::Merge::Mode merge_mode; // for clipping
182 mask_merge_mode = sksg::Merge::Mode::kMerge;
205 sk_sp<sksg::GeometryNode> clip_node;
212 std::vector<sksg::Merge::Rec> merge_recs;
218 clip_node = sksg::Merge::Make(std::move(merge_recs));
221 return sksg::ClipEffect::Make(std::move(childNode), std::move(clip_node), true);
225 sk_sp<sksg::RenderNode> maskNode;
231 std::vector<sk_sp<sksg::RenderNode>> masks;
237 maskNode = sksg::Group::Make(std::move(masks));
240 return sksg::MaskEffect::Make(std::move(childNode), std::move(maskNode));
246 sk_sp<sksg::RenderNode> layer,
279 const sk_sp<sksg::RenderNode> fLayerNode;
329 sk_sp<sksg::Transform> LayerBuilder::buildTransform(const AnimationBuilder& abuilder,
339 sk_sp<sksg::Transform> LayerBuilder::getTransform(const AnimationBuilder& abuilder,
357 sk_sp<sksg::Transform> LayerBuilder::getParentTransform(const AnimationBuilder& abuilder,
377 sk_sp<sksg::Transform> LayerBuilder::doAttachTransform(const AnimationBuilder& abuilder,
395 sksg::Transform::MakeInverse(std::move(parent_transform)),
410 sk_sp<sksg::RenderNode> LayerBuilder::buildRenderTree(const AnimationBuilder& abuilder,
416 sk_sp<sksg::RenderNode> (AnimationBuilder::*)(const skjson::ObjectValue&,
462 sk_sp<sksg::RenderNode> layer;
472 layer = sksg::ClipEffect::Make(std::move(layer),
473 sksg::Rect::Make(SkRect::MakeWH(w, h)),
486 layer = sksg::TransformEffect::Make(std::move(layer), fLayerTransform);
497 layer = sksg::TransformEffect::Make(std::move(layer), std::move(fLayerTransform));
552 static constexpr sksg::MaskEffect::Mode gMatteModes[] = {
553 sksg::MaskEffect::Mode::kAlphaNormal, // tt: 1
554 sksg::MaskEffect::Mode::kAlphaInvert, // tt: 2
555 sksg::MaskEffect::Mode::kLumaNormal, // tt: 3
556 sksg::MaskEffect::Mode::kLumaInvert, // tt: 4
561 layer = sksg::MaskEffect::Make(std::move(layer),