40 co(co), interpolation(interpolation), handle_type(handle_type) {
96 catch (
const std::exception& e)
99 throw InvalidJSON(
"JSON is invalid (missing keys or invalid data types)");
106 if (!root[
"co"].isNull())
108 if (!root[
"handle_left"].isNull())
110 if (!root[
"handle_right"].isNull())
112 if (!root[
"interpolation"].isNull())
114 if (!root[
"handle_type"].isNull())
void Initialize_LeftHandle(float x, float y)
Set the left handle to a percent of the primary coordinate (0 to 1)
A Cartesian coordinate (X, Y) used in the Keyframe animation system.
void SetJsonValue(const Json::Value root)
Load Json::Value into this object.
Bezier curves are quadratic curves, which create a smooth curve.
InterpolationType interpolation
This is the interpolation mode.
Header file for Point class.
Coordinate handle_right
This is the right handle coordinate (in percentages from 0 to 1)
void Initialize_RightHandle(float x, float y)
Set the right handle to a percent of the primary coordinate (0 to 1)
Coordinate handle_left
This is the left handle coordinate (in percentages from 0 to 1)
A Point is the basic building block of a key-frame curve.
const Json::Value stringToJson(const std::string value)
HandleType handle_type
This is the handle mode.
Json::Value JsonValue() const
Generate Json::Value for this object.
Header file for all Exception classes.
std::string Json() const
Generate JSON string of this object.
Json::Value JsonValue() const
Generate Json::Value for this object.
HandleType
When BEZIER interpolation is used, the point's left and right handles are used to influence the direc...
Point()
Default constructor (defaults to 1,0)
Automatically adjust the handles to achieve the smoothest curve.
InterpolationType
This controls how a Keyframe uses this point to interpolate between two points.
This namespace is the default namespace for all code in the openshot library.
void SetJsonValue(const Json::Value root)
Load Json::Value into this object.
Coordinate co
This is the primary coordinate.
Exception for invalid JSON.
void SetJson(const std::string value)
Load JSON string into this object.
void Initialize_Handles()
Constant curves jump from their previous position to a new one (with no interpolation).