33 static constexpr char json[] = R
"({
47 "o": { "a": 0, "k": 50 }
70 void onMarker(
const char name[],
float t0,
float t1)
override {
71 fMarkers.push_back(std::make_tuple(
name, t0, t1));
74 std::vector<std::tuple<std::string, float, float>> fMarkers;
78 auto observer = sk_make_sp<TestMarkerObserver>();
103 : fSingleFrameAsset(std::move(single_asset))
104 , fMultiFrameAsset (std::move( multi_asset)) {}
109 const char id[])
const override {
110 return strcmp(
id,
"single_frame")
121 bool deferred_image_loading) {
122 static constexpr char json[] = R
"({
131 "id": "single_frame",
132 "p" : "single_frame.png",
139 "p" : "multi_frame.png",
148 "refId": "single_frame",
156 "refId": "multi_frame",
167 const auto flags = deferred_image_loading
173 std::move( multi_asset)))
183 explicit TestAsset(
bool multi_frame) : fMultiFrame(multi_frame) {}
185 const std::vector<float>& requestedFrames()
const {
return fRequestedFrames; }
191 fRequestedFrames.push_back(t);
196 const bool fMultiFrame;
198 std::vector<float> fRequestedFrames;
202 auto single_asset = sk_make_sp<TestAsset>(
false),
203 multi_asset = sk_make_sp<TestAsset>(
true);
207 auto animation = make_animation(single_asset, multi_asset,
false);
213 animation->seekFrameTime(1);
218 animation->seekFrameTime(2);
225 auto single_asset = sk_make_sp<TestAsset>(
false),
226 multi_asset = sk_make_sp<TestAsset>(
true);
229 auto animation = make_animation(single_asset, multi_asset,
true);
234 animation->seekFrameTime(1);
240 animation->seekFrameTime(2);