Lines Matching refs:frameNo

50     T interpolate(LottieScalarFrame<T>* next, float frameNo)  in interpolate()
52 auto t = (frameNo - no) / (next->no - no); in interpolate()
75 T interpolate(LottieVectorFrame* next, float frameNo) in interpolate()
77 auto t = (frameNo - no) / (next->no - no); in interpolate()
93 float angle(LottieVectorFrame* next, float frameNo) in angle()
100 auto t = (frameNo - no) / (next->no - no); in angle()
128 virtual float frameNo(int32_t key) = 0;
186 uint32_t _bsearch(T* frames, float frameNo) in _bsearch() argument
194 if (frameNo < frame->no) high = mid - 1; in _bsearch()
204 uint32_t _nearest(T* frames, float frameNo) in _nearest() argument
207 auto key = _bsearch(frames, frameNo); in _nearest()
209 …return (fabsf(frames->data[key].no - frameNo) < fabsf(frames->data[key + 1].no - frameNo)) ? key :… in _nearest()
226 float _loop(T* frames, float frameNo, LottieExpression* exp) in _loop() argument
228 …if (frameNo >= exp->loop.in || frameNo < frames->first().no || frameNo < frames->last().no) return… in _loop()
230 frameNo -= frames->first().no; in _loop()
234 … return fmodf(frameNo, frames->last().no - frames->first().no) + (*frames)[exp->loop.key].no; in _loop()
238 auto forward = (static_cast<int>(frameNo / range) % 2) == 0 ? true : false; in _loop()
239 frameNo = fmodf(frameNo, range); in _loop()
240 return (forward ? frameNo : (range - frameNo)) + (*frames)[exp->loop.key].no; in _loop()
243 …return fmodf(frameNo, (*frames)[frames->count - 1 - exp->loop.key].no - frames->first().no) + fram… in _loop()
247 auto forward = (static_cast<int>(frameNo / range) % 2) == 0 ? true : false; in _loop()
248 frameNo = fmodf(frameNo, range); in _loop()
249 return (forward ? frameNo : (range - frameNo)) + frames->first().no; in _loop()
253 return frameNo; in _loop()
282 uint32_t nearest(float frameNo) override in nearest()
284 return _nearest(frames, frameNo); in nearest()
292 float frameNo(int32_t key) override in frameNo() function
314 T operator()(float frameNo) in operator()
317 if (frames->count == 1 || frameNo <= frames->first().no) return frames->first().value; in operator()
318 if (frameNo >= frames->last().no) return frames->last().value; in operator()
320 auto frame = frames->data + _bsearch(frames, frameNo); in operator()
321 if (tvg::equal(frame->no, frameNo)) return frame->value; in operator()
322 return frame->interpolate(frame + 1, frameNo); in operator()
325 T operator()(float frameNo, LottieExpressions* exps) in operator()
329 … if (exp->loop.mode != LottieExpression::LoopMode::None) frameNo = _loop(frames, frameNo, exp); in operator()
330 if (exps->result<LottieGenericProperty<T>>(frameNo, out, exp)) return out; in operator()
332 return operator()(frameNo); in operator()
345 float angle(float frameNo) { return 0; } in angle()
380 uint32_t nearest(float frameNo) override in nearest()
382 return _nearest(frames, frameNo); in nearest()
390 float frameNo(int32_t key) override in frameNo() function
414 …bool operator()(float frameNo, Array<PathCommand>& cmds, Array<Point>& pts, Matrix* transform, con… in operator()
422 else if (frames->count == 1 || frameNo <= frames->first().no) path = &frames->first().value; in operator()
423 else if (frameNo >= frames->last().no) path = &frames->last().value; in operator()
425 frame = frames->data + _bsearch(frames, frameNo); in operator()
426 if (tvg::equal(frame->no, frameNo)) path = &frame->value; in operator()
431 t = (frameNo - frame->no) / ((frame + 1)->no - frame->no); in operator()
490 …bool operator()(float frameNo, Array<PathCommand>& cmds, Array<Point>& pts, Matrix* transform, con… in operator()
493 … if (exp->loop.mode != LottieExpression::LoopMode::None) frameNo = _loop(frames, frameNo, exp); in operator()
494 …if (exps->result<LottiePathSet>(frameNo, cmds, pts, transform, roundness, offsetPath, exp)) return… in operator()
496 return operator()(frameNo, cmds, pts, transform, roundness, offsetPath); in operator()
537 uint32_t nearest(float frameNo) override in nearest()
539 return _nearest(frames, frameNo); in nearest()
547 float frameNo(int32_t key) override in frameNo() function
571 Result operator()(float frameNo, Fill* fill, LottieExpressions* exps) in operator()
574 … if (exp->loop.mode != LottieExpression::LoopMode::None) frameNo = _loop(frames, frameNo, exp); in operator()
575 if (exps->result<LottieColorStop>(frameNo, fill, exp)) return Result::Success; in operator()
580 if (frames->count == 1 || frameNo <= frames->first().no) { in operator()
584 if (frameNo >= frames->last().no) { in operator()
588 auto frame = frames->data + _bsearch(frames, frameNo); in operator()
589 if (tvg::equal(frame->no, frameNo)) return fill->colorStops(frame->value.data, count); in operator()
592 auto t = (frameNo - frame->no) / ((frame + 1)->no - frame->no); in operator()
661 uint32_t nearest(float frameNo) override in nearest()
663 return _nearest(frames, frameNo); in nearest()
671 float frameNo(int32_t key) override in frameNo() function
693 Point operator()(float frameNo) in operator()
696 if (frames->count == 1 || frameNo <= frames->first().no) return frames->first().value; in operator()
697 if (frameNo >= frames->last().no) return frames->last().value; in operator()
699 auto frame = frames->data + _bsearch(frames, frameNo); in operator()
700 if (tvg::equal(frame->no, frameNo)) return frame->value; in operator()
701 return frame->interpolate(frame + 1, frameNo); in operator()
704 Point operator()(float frameNo, LottieExpressions* exps) in operator()
708 … if (exp->loop.mode != LottieExpression::LoopMode::None) frameNo = _loop(frames, frameNo, exp); in operator()
709 if (exps->result<LottiePosition>(frameNo, out, exp)) return out; in operator()
711 return operator()(frameNo); in operator()
714 float angle(float frameNo) in angle()
718 …if (frameNo <= frames->first().no) return frames->first().angle(frames->data + 1, frames->first().… in angle()
719 if (frameNo >= frames->last().no) { in angle()
724 auto frame = frames->data + _bsearch(frames, frameNo); in angle()
725 return frame->angle(frame + 1, frameNo); in angle()
774 uint32_t nearest(float frameNo) override in nearest()
776 return _nearest(frames, frameNo); in nearest()
784 float frameNo(int32_t key) override in frameNo() function
806 TextDocument& operator()(float frameNo) in operator()
809 if (frames->count == 1 || frameNo <= frames->first().no) return frames->first().value; in operator()
810 if (frameNo >= frames->last().no) return frames->last().value; in operator()
812 auto frame = frames->data + _bsearch(frames, frameNo); in operator()