Change-Id: I91d40790a2e3b54d8fe51ce78a4fb9358b505235
this->model_->updateTrimStartValue(this->filter()->value(rlottie::Property::TrimStart, frameNo));
}
if (this->hasFilter(rlottie::Property::TrimEnd)) {
- this->model_->updateTrimEndValue(this->filter()->point(rlottie::Property::TrimEnd, frameNo));
+ this->model_->updateTrimEndValue(this->filter()->point(rlottie::Property::TrimEnd, frameNo), frameNo);
}
model::Trim::Segment segment = this->model()->segment(frameNo);
return segment;
mStart.value() = start;
}
- void updateTrimEndValue(VPointF pos)
+ void updateTrimEndValue(VPointF pos, int frameNo)
{
for (auto &keyFrame : mEnd.animation().frames_) {
- keyFrame.value_.start_ = pos.x();
- keyFrame.value_.end_ = pos.y();
+ if (frameNo >= keyFrame.start_ && frameNo < keyFrame.end_ && pos.x() >=0 && pos.y() >= 0)
+ {
+ keyFrame.value_.start_ = pos.x();
+ keyFrame.value_.end_ = pos.y();
+ }
}
}