+ void AddFrame(const FrameProp &f) { frames.push_back(f); }
+
+protected:
+ virtual int NumFrames() const { return frames.size(); };
+ virtual int Col(int frame) const { return frames[frame].col; }
+ virtual int Row(int frame) const { return frames[frame].row; }
+ virtual geometry::Vector<int> Offset(int frame) const { return frames[frame].disposition; }
+
+private: