21 #ifndef GNASH_SPRITE_DEFINITION_H
22 #define GNASH_SPRITE_DEFINITION_H
24 #include <boost/intrusive_ptr.hpp>
25 #include <boost/cstdint.hpp>
125 virtual void add_font(
int , boost::intrusive_ptr<Font> )
128 log_swferror(
_(
"add_font tag appears in sprite tags"));
145 virtual void addBitmap(
int , boost::intrusive_ptr<CachedBitmap> )
148 log_swferror(
_(
"add_bitmap_SWF::DefinitionTag appears in sprite tags"));
170 _loadingSoundStream =
id;
176 return _loadingSoundStream;
179 virtual boost::uint16_t
exportID(
const std::string& symbol)
const {
180 return m_movie_def.
exportID(symbol);
213 m_playlist[m_loading_frame].push_back(c);
224 typedef std::map<size_t, PlayList> PlayListMap;
227 PlayListMap m_playlist;
230 typedef std::map<std::string, size_t, StringNoCaseLessThan> NamedFrameMap;
231 NamedFrameMap _namedFrames;
233 size_t m_frame_count;
236 size_t m_loading_frame;
239 virtual void add_frame_name(
const std::string&
name);
242 bool get_labeled_frame(
const std::string& label,
size_t& frame_number)
246 const PlayList* getPlaylist(
size_t frame_number)
const
252 PlayListMap::const_iterator it = m_playlist.find(frame_number);
253 if ( it == m_playlist.end() )
return NULL;
254 else return &(it->second);
257 virtual const std::string& get_url()
const
266 virtual bool ensure_frame_loaded(
size_t framenum)
const
269 while ( m_loading_frame < framenum )
271 log_debug(
_(
"sprite_definition: "
272 "loading of frame %d requested "
273 "(we are at %d/%d)"),
274 framenum, m_loading_frame, m_frame_count);
281 int _loadingSoundStream;