{
public:
LOTCompositionData():LOTData(LOTData::Type::Composition){}
- long frameDuration()const{return mEndFrame - mStartFrame -1;}
- long frameRate()const{return mFrameRate;}
+ long frameDuration() const {return mEndFrame - mStartFrame -1;}
+ float frameRate() const {return mFrameRate;}
long startFrame() const {return mStartFrame;}
long endFrame() const {return mEndFrame;}
- VSize size() const { return mSize;}
+ VSize size() const {return mSize;}
void processRepeaterObjects();
void accept(LOTDataVisitor *visitor) override
{visitor->visit(this); mRootLayer->accept(visitor);}
VSize size() const;
float playTime() const;
float pos();
- float getFrameRate() const { return mFrameRate; }
- long getTotalFrame() const { return mTotalFrame; }
+ float getFrameRate() const;
+ long getTotalFrame() const;
const std::vector<LOTNode *> &renderList(float pos);
bool render(float pos, const LOTBuffer &buffer, bool forceRender);
VSize mSize;
std::atomic<bool> mRenderInProgress;
float mPos = 0.0;
- float mFrameRate;
- long mTotalFrame;
};
+float LOTPlayerPrivate::getFrameRate() const
+{
+ if (!mModel) {
+ vWarning << "Model Data is not existed yet, please setFilePath() first.";
+ return 0.0f;
+ }
+
+ return mModel->frameRate();
+}
+
+long LOTPlayerPrivate::getTotalFrame() const
+{
+ if (!mModel) {
+ vWarning << "Model Data is not existed yet, please setFilePath() first.";
+ return 0.0f;
+ }
+
+ return mModel->frameDuration();
+}
+
void LOTPlayerPrivate::setSize(const VSize &sz)
{
mSize = sz;
if (loader.load(path)) {
mModel = loader.model();
mCompItem = std::make_unique<LOTCompItem>(mModel.get());
- mTotalFrame = mModel->frameDuration();
- mFrameRate = mModel->frameRate();
return true;
}
return false;