Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
ShapeLayer.h
Go to the documentation of this file.
1/*
2 * Copyright 2020 Google Inc.
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 SkottieShapeLayer_DEFINED
9#define SkottieShapeLayer_DEFINED
10
14
15#include <vector>
16
17namespace skjson {
18
19class ObjectValue;
20
21} // namespace skjson
22
23namespace sksg {
24
25class GeometryNode;
26class PaintNode;
27class RenderNode;
28
29} // namespace sksg
30
31namespace skottie {
32namespace internal {
33class AnimatablePropertyContainer;
34class AnimationBuilder;
35
36// TODO/TRANSITIONAL: not much state here yet, but will eventually hold ShapeLayer-related stuff.
38public:
41
43 const AnimationBuilder*);
45 const AnimationBuilder*);
47 const AnimationBuilder*);
49 const AnimationBuilder*);
50
52 const AnimationBuilder*);
54 const AnimationBuilder*);
56 const AnimationBuilder*);
58 const AnimationBuilder*);
59
60 static std::vector<sk_sp<sksg::GeometryNode>> AttachMergeGeometryEffect(
62 std::vector<sk_sp<sksg::GeometryNode>>&&);
63 static std::vector<sk_sp<sksg::GeometryNode>> AttachTrimGeometryEffect(
65 const AnimationBuilder*,
66 std::vector<sk_sp<sksg::GeometryNode>>&&);
67 static std::vector<sk_sp<sksg::GeometryNode>> AttachRoundGeometryEffect(
69 std::vector<sk_sp<sksg::GeometryNode>>&&);
70 static std::vector<sk_sp<sksg::GeometryNode>> AttachOffsetGeometryEffect(
72 std::vector<sk_sp<sksg::GeometryNode>>&&);
73 static std::vector<sk_sp<sksg::GeometryNode>> AttachPuckerBloatGeometryEffect(
75 std::vector<sk_sp<sksg::GeometryNode>>&&);
76 static std::vector<sk_sp<sksg::GeometryNode>> AdjustStrokeGeometry(
78 std::vector<sk_sp<sksg::GeometryNode>>&&);
79
80 static std::vector<sk_sp<sksg::RenderNode>> AttachRepeaterDrawEffect(
82 const AnimationBuilder*,
83 std::vector<sk_sp<sksg::RenderNode>>&&);
84
85private:
86 static sk_sp<sksg::PaintNode> AttachFill(const skjson::ObjectValue&,
87 const AnimationBuilder*,
90 static sk_sp<sksg::PaintNode> AttachStroke(const skjson::ObjectValue&,
91 const AnimationBuilder*,
94};
95
96} // namespace internal
97} // namespace skottie
98
99#endif // SkottieShapeLayer_DEFINED
static sk_sp< sksg::GeometryNode > AttachPathGeometry(const skjson::ObjectValue &, const AnimationBuilder *)
static sk_sp< sksg::GeometryNode > AttachPolystarGeometry(const skjson::ObjectValue &, const AnimationBuilder *)
Definition Polystar.cpp:101
static std::vector< sk_sp< sksg::RenderNode > > AttachRepeaterDrawEffect(const skjson::ObjectValue &, const AnimationBuilder *, std::vector< sk_sp< sksg::RenderNode > > &&)
Definition Repeater.cpp:184
static std::vector< sk_sp< sksg::GeometryNode > > AttachOffsetGeometryEffect(const skjson::ObjectValue &, const AnimationBuilder *, std::vector< sk_sp< sksg::GeometryNode > > &&)
static sk_sp< sksg::PaintNode > AttachColorStroke(const skjson::ObjectValue &, const AnimationBuilder *)
static sk_sp< sksg::PaintNode > AttachColorFill(const skjson::ObjectValue &, const AnimationBuilder *)
static std::vector< sk_sp< sksg::GeometryNode > > AdjustStrokeGeometry(const skjson::ObjectValue &, const AnimationBuilder *, std::vector< sk_sp< sksg::GeometryNode > > &&)
static std::vector< sk_sp< sksg::GeometryNode > > AttachRoundGeometryEffect(const skjson::ObjectValue &, const AnimationBuilder *, std::vector< sk_sp< sksg::GeometryNode > > &&)
static sk_sp< sksg::PaintNode > AttachGradientStroke(const skjson::ObjectValue &, const AnimationBuilder *)
Definition Gradient.cpp:230
static sk_sp< sksg::GeometryNode > AttachEllipseGeometry(const skjson::ObjectValue &, const AnimationBuilder *)
Definition Ellipse.cpp:57
static std::vector< sk_sp< sksg::GeometryNode > > AttachMergeGeometryEffect(const skjson::ObjectValue &, const AnimationBuilder *, std::vector< sk_sp< sksg::GeometryNode > > &&)
static sk_sp< sksg::GeometryNode > AttachRRectGeometry(const skjson::ObjectValue &, const AnimationBuilder *)
Definition Rectangle.cpp:59
static sk_sp< sksg::PaintNode > AttachGradientFill(const skjson::ObjectValue &, const AnimationBuilder *)
Definition Gradient.cpp:221
static sk_sp< sksg::Merge > MergeGeometry(std::vector< sk_sp< sksg::GeometryNode > > &&, sksg::Merge::Mode)
static std::vector< sk_sp< sksg::GeometryNode > > AttachPuckerBloatGeometryEffect(const skjson::ObjectValue &, const AnimationBuilder *, std::vector< sk_sp< sksg::GeometryNode > > &&)
static std::vector< sk_sp< sksg::GeometryNode > > AttachTrimGeometryEffect(const skjson::ObjectValue &, const AnimationBuilder *, std::vector< sk_sp< sksg::GeometryNode > > &&)
Definition TrimPaths.cpp:81
Definition Skottie.h:32