13 #ifndef OPENSHOT_ANIMATED_CURVE_H
14 #define OPENSHOT_ANIMATED_CURVE_H
41 Point Evaluate(int64_t frame_number,
double x_scale=1.0)
const;
43 std::string
Json()
const;
45 void SetJson(
const std::string value);
51 std::vector<AnimatedCurveNode> nodes;
58 const std::vector<AnimatedCurveNode>&
Nodes()
const {
return nodes; }
59 std::vector<AnimatedCurveNode>&
Nodes() {
return nodes; }
62 float Sample(
float input, int64_t frame_number)
const;
63 std::string
Summary(int64_t frame_number)
const;
65 std::string
Json()
const;
67 void SetJson(
const std::string value);
Header file for JSON class.
Header file for the Keyframe class.
Header file for Point class.
void SetJsonValue(const Json::Value &root)
Json::Value JsonValue() const
Point Evaluate(int64_t frame_number, double x_scale=1.0) const
InterpolationType interpolation
void SetJson(const std::string value)
const std::vector< AnimatedCurveNode > & Nodes() const
void SetJsonValue(const Json::Value &root)
void SetJson(const std::string value)
std::vector< AnimatedCurveNode > & Nodes()
float Sample(float input, int64_t frame_number) const
std::string Summary(int64_t frame_number) const
Keyframe BuildCurve(int64_t frame_number, double x_scale=1.0) const
Json::Value JsonValue() const
A Keyframe is a collection of Point instances, which is used to vary a number or property over time.
A Point is the basic building block of a key-frame curve.
This namespace is the default namespace for all code in the openshot library.
HandleType
When BEZIER interpolation is used, the point's left and right handles are used to influence the direc...
InterpolationType
This controls how a Keyframe uses this point to interpolate between two points.
@ LINEAR
Linear curves are angular, straight lines between two points.