void LayerImage::getCels(CelList& cels) const { CelConstIterator it = getCelBegin(); CelConstIterator end = getCelEnd(); for (; it != end; ++it) cels.push_back(*it); }
void LayerImage::addCel(Cel *cel) { CelIterator it = getCelBegin(); CelIterator end = getCelEnd(); for (; it != end; ++it) { if ((*it)->getFrame() > cel->getFrame()) break; } m_cels.insert(it, cel); }
const Cel* LayerImage::getCel(FrameNumber frame) const { CelConstIterator it = getCelBegin(); CelConstIterator end = getCelEnd(); for (; it != end; ++it) { const Cel* cel = *it; if (cel->frame() == frame) return cel; } return NULL; }
int LayerImage::getMemSize() const { int size = sizeof(LayerImage); CelConstIterator it = getCelBegin(); CelConstIterator end = getCelEnd(); for (; it != end; ++it) { const Cel* cel = *it; size += cel->getMemSize(); const Image* image = cel->image(); size += image->getMemSize(); } return size; }
void LayerImage::destroyAllCels() { CelIterator it = getCelBegin(); CelIterator end = getCelEnd(); for (; it != end; ++it) { Cel* cel = *it; Image* image = cel->image(); ASSERT(image != NULL); sprite()->stock()->removeImage(image); delete image; delete cel; } m_cels.clear(); }