25 #if GNASH_PARANOIA_LEVEL > 1 && !defined(NDEBUG) 41 #ifndef GNASH_PARANOIA_LEVEL 42 # define GNASH_PARANOIA_LEVEL 1 119 bool use_old_matrix);
164 const SWFMatrix* mat, std::uint16_t* ratio);
266 template <
class V>
inline void visitAll(
V& visitor);
267 template <
class V>
inline void visitAll(
V& visitor)
const;
275 return _charsByDepth.size();
280 return _charsByDepth.empty();
298 return _charsByDepth == other._charsByDepth;
302 return _charsByDepth != other._charsByDepth;
305 #if GNASH_PARANOIA_LEVEL > 1 && !defined(NDEBUG) 313 std::set<int> depths;
314 for (const_iterator it = nonRemoved(),
315 itEnd = _charsByDepth.end(); it != itEnd; ++it) {
319 if (!depths.insert(depth).second) {
320 log_debug(
"Depth %d is duplicated in DisplayList %p",
321 depth, (
const void*)
this);
325 if (_charsByDepth.empty())
return;
327 assert(std::adjacent_find(_charsByDepth.begin(), _charsByDepth.end(),
328 DepthGreaterThan()) == _charsByDepth.end());
348 container_type _charsByDepth;
356 itEnd = _charsByDepth.rend(); it != itEnd; ++it) {
357 if (!visitor(*it))
break;
366 itEnd = _charsByDepth.rend(); it != itEnd; ++it) {
367 if (!visitor(*it))
break;
394 #endif // GNASH_DLIST_H void testInvariant() const
Definition: DisplayList.h:331
void add(DisplayObject *ch, bool replace)
Add a DisplayObject in the list, maintaining depth-order.
Definition: DisplayList.cpp:212
DisplayObject is the base class for all DisplayList objects.
Definition: DisplayObject.h:168
DSOTEXPORT void placeDisplayObject(DisplayObject *ch, int depth)
Place a new DisplayObject at the specified depth, replacing any existing DisplayObject at the same de...
Definition: DisplayList.cpp:172
container_type::const_reverse_iterator const_reverse_iterator
Definition: DisplayList.h:73
void visitAll(V &visitor)
Visit each and all DisplayObject in the list.
Definition: DisplayList.h:373
void removeDisplayObject(int depth)
Removes the object at the specified depth.
Definition: DisplayList.cpp:331
Definition: SWFMatrix.h:53
void destroy()
destroy all DisplayObjects in this DisplayList
Definition: DisplayList.cpp:516
uri
Definition: test.py:12
void add_invalidated_bounds(InvalidatedRanges &ranges, bool force)
Definition: DisplayList.cpp:619
container_type::reverse_iterator reverse_iterator
Definition: DisplayList.h:72
bool empty() const
Return true if the list contains no elements.
Definition: DisplayList.h:279
void swapDepths(DisplayObject *ch, int depth)
Change depth of the given DisplayObjects in the list, swapping with any existing DisplayObject at tar...
Definition: DisplayList.cpp:372
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:40
void visitBackward(V &visitor)
Visit each DisplayObject in the list in reverse depth order (higher depth first). ...
Definition: DisplayList.h:353
void removeUnloaded()
Remove all unloaded DisplayObject from the list.
Definition: DisplayList.cpp:917
void omit_display()
Definition: DisplayList.cpp:609
~DisplayList()
Definition: DisplayList.h:76
Definition: GnashKey.h:161
Base class for render handlers.
Definition: Renderer.h:188
DisplayList()
Definition: DisplayList.h:75
A general use string table.
Definition: string_table.h:41
std::list< DisplayObject * > container_type
Definition: DisplayList.h:69
A URI for describing as_objects.
Definition: ObjectURI.h:44
void display(Renderer &renderer, const Transform &xform)
Display the list's DisplayObjects.
Definition: DisplayList.cpp:541
void moveDisplayObject(int depth, const SWFCxForm *color_xform, const SWFMatrix *mat, std::uint16_t *ratio)
Updates the transform properties of the object at the specified depth, unless its get_accept_anim_mov...
Definition: DisplayList.cpp:294
void replaceDisplayObject(DisplayObject *ch, int depth, bool use_old_cxform, bool use_old_matrix)
Replace the old DisplayObject at the specified depth with the given new DisplayObject.
Definition: DisplayList.cpp:230
int getNextHighestDepth() const
Return the next highest available depth.
Definition: DisplayList.cpp:117
Definition: GnashKey.h:134
DSOTEXPORT DisplayObject * getDisplayObjectAtDepth(int depth) const
May return NULL.
Definition: DisplayList.cpp:133
bool unload()
Definition: DisplayList.cpp:477
container_type::const_iterator const_iterator
Definition: DisplayList.h:71
bool operator==(const DisplayList &other) const
Definition: DisplayList.h:297
size_t size() const
Return number of elements in the list.
Definition: DisplayList.h:274
bool operator!=(const DisplayList &other) const
Definition: DisplayList.h:301
bool caseless(const as_object &o)
Return whether property matching is caseless.
Definition: as_object.h:924
#define DSOTEXPORT
Definition: dsodefs.h:63
void log_debug(StringType msg, Args... args)
Definition: log.h:301
DSOTEXPORT DisplayObject * getDisplayObjectByName(string_table &st, const ObjectURI &uri, bool caseless) const
If there are multiples, returns the first match only!
Definition: DisplayList.cpp:155
A list of on-stage DisplayObjects, ordered by depth.
Definition: DisplayList.h:64
void insertDisplayObject(DisplayObject *obj, int index)
Inserts a DisplayObject at the specified index (depth)
Definition: DisplayList.cpp:447
friend std::ostream & operator<<(std::ostream &, const DisplayList &)
Output operator.
Definition: DisplayList.cpp:975
void mergeDisplayList(DisplayList &newList, DisplayObject &o)
Merge the given display list.
Definition: DisplayList.cpp:732
container_type::iterator iterator
Definition: DisplayList.h:70
int get_depth() const
Definition: DisplayObject.h:268