Gnash  0.8.11dev
MovieClip.h
Go to the documentation of this file.
1 // MovieClip.h: Stateful live Sprite instance, for Gnash.
2 //
3 // Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
4 // Free Software Foundation, Inc
5 //
6 // This program is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License as published by
8 // the Free Software Foundation; either version 3 of the License, or
9 // (at your option) any later version.
10 //
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15 //
16 // You should have received a copy of the GNU General Public License
17 // along with this program; if not, write to the Free Software
18 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 
20 // Stateful live Sprite instance
21 
22 #ifndef GNASH_MOVIECLIP_H
23 #define GNASH_MOVIECLIP_H
24 
25 #ifdef HAVE_CONFIG_H
26 #include "gnashconfig.h"
27 #endif
28 
29 #include <vector>
30 #include <map>
31 #include <string>
32 #include <boost/ptr_container/ptr_list.hpp>
33 #include <boost/intrusive_ptr.hpp>
34 
35 #include "ControlTag.h"
36 #include "movie_definition.h" // for inlines
37 #include "DisplayObjectContainer.h"
38 #include "as_environment.h" // for composition
39 #include "DynamicShape.h" // for composition
40 #include "dsodefs.h" // for DSOEXPORT
41 
42 // Forward declarations
43 namespace gnash {
44  class Movie;
45  class swf_event;
46  class drag_state;
47  class LoadVariablesThread;
48  class GradientRecord;
49  class TextField;
50  class BitmapData_as;
51  class CachedBitmap;
52  class DisplayList;
53  namespace SWF {
54  class PlaceObject2Tag;
55  }
56 }
57 
58 namespace gnash {
59 
61 //
63 //
66 //
72 //
78 //
84 {
85 public:
86 
87  typedef std::vector<TextField*> TextFields;
88 
90  typedef std::map<ObjectURI, TextFields, ObjectURI::LessThan>
92 
93  typedef std::map<std::string, std::string> MovieVariables;
94 
96 
97  enum PlayState
98  {
100  PLAYSTATE_STOP
101  };
102 
104  //
121  MovieClip(as_object* object, const movie_definition* def,
122  Movie* root, DisplayObject* parent);
123 
124  virtual ~MovieClip();
125 
126  // Return the originating SWF
127  virtual Movie* get_root() const;
128 
129  virtual bool trackAsMenu();
130 
132  //
135  void queueEvent(const event_id& id, int lvl);
136 
137  void queueLoad();
138 
140  //
143  virtual MovieClip* getAsRoot();
144 
146  virtual SWFRect getBounds() const;
147 
148  // See dox in DisplayObject.h
149  virtual bool pointInShape(std::int32_t x, std::int32_t y) const;
150 
151  // See dox in DisplayObject.h
152  virtual bool pointInVisibleShape(std::int32_t x, std::int32_t y) const;
153 
158  virtual bool pointInHitableShape(std::int32_t x, std::int32_t y) const;
159 
161  size_t get_current_frame() const
162  {
163  return _currentFrame;
164  }
165 
166  size_t get_frame_count() const
167  {
168  return _def ? _def->get_frame_count() : 1;
169  }
170 
172  //
176  size_t get_loaded_frames() const
177  {
178  return _def ? _def->get_loading_frame() : 1;
179  }
180 
183  size_t get_bytes_total() const
184  {
185  return isDynamic() ? 0 : _def->get_bytes_total();
186  }
187 
190  size_t get_bytes_loaded() const
191  {
192  return isDynamic() ? 0 : _def->get_bytes_loaded();
193  }
194 
195  const SWFRect& get_frame_size() const
196  {
197  static const SWFRect r;
198  return _def ? _def->get_frame_size() : r;
199  }
200 
202  //
206  DSOEXPORT void setPlayState(PlayState s);
207 
208  PlayState getPlayState() const { return _playState; }
209 
210  // delegates to movie_root (possibly wrong)
211  void set_background_color(const rgba& color);
212 
214  //
217  virtual bool mouseEnabled() const;
218 
223  virtual InteractiveObject* topmostMouseEntity(std::int32_t x,
224  std::int32_t y);
225 
226  // see dox in DisplayObject.h
227  const DisplayObject* findDropTarget(std::int32_t x, std::int32_t y,
228  DisplayObject* dragging) const;
229 
230  void setDropTarget(const std::string& tgt) {
231  _droptarget = tgt;
232  }
233 
234  const std::string& getDropTarget() const {
235  return _droptarget;
236  }
237 
239  //
241  virtual void advance();
242 
244  //
248  DSOEXPORT void goto_frame(size_t target_frame_number);
249 
251  //
266  bool get_frame_number(const as_value& frame_spec, size_t& frameno) const;
267 
269  bool goto_labeled_frame(const std::string& label);
270 
272  virtual void display(Renderer& renderer, const Transform& xform);
273 
275  //
278  void draw(Renderer& renderer, const Transform& xform);
279 
280  void omit_display();
281 
283  //
285  void swapDepths(DisplayObject* ch1, int newdepth)
286  {
287  _displayList.swapDepths(ch1, newdepth);
288  }
289 
291  //
293  DisplayObject* getDisplayObjectAtDepth(int depth);
294 
296  DisplayObject* addDisplayListObject(DisplayObject* obj, int depth);
297 
299  //
318  DisplayObject* add_display_object(const SWF::PlaceObject2Tag* tag,
319  DisplayList& dlist);
320 
322  void move_display_object(const SWF::PlaceObject2Tag* tag,
323  DisplayList& dlist);
324 
326  void replace_display_object(const SWF::PlaceObject2Tag* tag,
327  DisplayList& dlist);
328 
330  void remove_display_object(const SWF::PlaceObject2Tag* tag,
331  DisplayList& dlist);
332 
335  //
342  void remove_display_object(int depth, int /*id*/);
343 
344  void unloadMovie();
345 
347  //
350  void attachCharacter(DisplayObject& newch, int depth, as_object* initObject);
351 
353  //
362  //
366  virtual void construct(as_object* initObj = nullptr);
367 
369  //
383  void destroy();
384 
389  {
390  if (!_callingFrameActions) queueAction(*a);
391  else execute_action(*a);
392  }
393 
394 
398  //
408  void execute_init_action_buffer(const action_buffer& a, int cid);
409 
411  void execute_action(const action_buffer& ab);
412 
413  MovieClip* to_movie () { return this; }
414 
416  //
419  {
420  METHOD_NONE = 0,
422  METHOD_POST
423  };
424 
425  // See dox in DisplayObject.h
426  virtual void getLoadedMovie(Movie* newMovie);
427 
431  //
443  void loadVariables(const std::string& urlstr,
444  VariablesMethod sendVarsMethod);
445 
447  //
450  bool getTextFieldVariables(const ObjectURI& uri, as_value& val);
451 
452  // Set TextField variables
453  //
455  bool setTextFieldVariables(const ObjectURI& uri, const as_value& val);
456 
458  //
462  //
466  DisplayObject* getDisplayListObject(const ObjectURI& uri);
467 
469  as_object* pathElement(const ObjectURI& uri);
470 
472  //
474  virtual void call_frame_actions(const as_value& frame_spec);
475 
477  //
494  MovieClip* duplicateMovieClip(const std::string& newname,
495  int newdepth, as_object* init_object = nullptr);
496 
498  virtual void mouseEvent(const event_id& id) {
499  notifyEvent(id);
500  }
501 
503  //
506  void notifyEvent(const event_id& id);
507 
508  // inherited from DisplayObject class, see dox in DisplayObject.h
510  return _environment;
511  }
512 
515  //
518  void set_textfield_variable(const ObjectURI& name, TextField* ch);
519 
520  void add_invalidated_bounds(InvalidatedRanges& ranges, bool force);
521 
522  const DisplayList& getDisplayList() const {
523  return _displayList;
524  }
525 
527  //
531  int getNextHighestDepth() const {
532  return _displayList.getNextHighestDepth();
533  }
534 
536  //
537  // TODO: rename to setStreamingSoundId
538  void setStreamSoundId(int id);
539 
541  //
561  void removeMovieClip();
562 
565  set_invalidated();
566  return _drawable;
567  }
568 
570  //
572  virtual bool handleFocus();
573 
575 
577  DSOEXPORT void setVariables(const MovieVariables& vars);
578 
580  //
582  virtual void visitNonProperties(KeyVisitor& v) const;
583 
586  void cleanupDisplayList();
587 
589  //
593  void queueAction(const action_buffer& buf);
594 
596  //
601  void constructAsScriptObject();
602 
605  bool getLockRoot() const { return _lockroot; }
606 
609  void setLockRoot(bool lr) { _lockroot=lr; }
610 
612  virtual int getDefinitionVersion() const;
613 
614 protected:
615 
617  //
619  virtual bool unloadChildren();
620 
622  //
631  virtual void markOwnResources() const;
632 
633  // Used by BitmapMovie.
634  void placeDisplayObject(DisplayObject* ch, int depth) {
635  _displayList.placeDisplayObject(ch, depth);
636  }
637 
638 private:
639 
641  void processCompletedLoadVariableRequests();
642 
644  void processCompletedLoadVariableRequest(LoadVariablesThread& request);
645 
646 
648  //
657  void executeFrameTags(size_t frame, DisplayList& dlist,
658  int typeflags = SWF::ControlTag::TAG_DLIST |
660 
661  void stopStreamSound();
662 
664  //
666  //
669  bool isEnabled() const;
670 
672  //
676  bool hitTestDrawable(std::int32_t x, std::int32_t y) const;
677 
679  //
701  // http://www.gnashdev.org/wiki/index.php/TimelineControl
708  //
716  void restoreDisplayList(size_t targetFrame);
717 
719  void increment_frame_and_check_for_loop();
720 
722  void cleanup_textfield_variables();
723 
726  const boost::intrusive_ptr<const movie_definition> _def;
727 
729  typedef boost::ptr_list<LoadVariablesThread> LoadVariablesThreads;
730 
732  //
736  LoadVariablesThreads _loadVariableRequests;
737 
739  Movie* _swf;
740 
742  DynamicShape _drawable;
743 
744  PlayState _playState;
745 
747  as_environment _environment;
748 
752  std::unique_ptr<TextFieldIndex> _text_variables;
753 
754  std::string _droptarget;
755 
756  // 0-based index to current frame
757  size_t _currentFrame;
758 
760  int m_sound_stream_id;
761 
762  // true if this sprite reached the last frame and restarted
763  bool _hasLooped;
764 
765  // true if orphaned tags (tags found after last advertised showframe)
766  // have been executed at least once.
767  bool _flushedOrphanedTags;
768 
769  // true is we're calling frame actions
770  bool _callingFrameActions;
771 
772  bool _lockroot;
773 
774  bool _onLoadCalled;
775 };
776 
777 } // end of namespace gnash
778 
779 #endif // GNASH_SPRITE_INSTANCE_H
gnash::geometry::SnappingRanges2d< std::int32_t >
gnash::MovieClip::construct
virtual void construct(as_object *initObj=nullptr)
Handle placement event.
Definition: MovieClip.cpp:1711
sound_handler.h
gnash::SWF::PlaceObject2Tag::hasRatio
bool hasRatio() const
Definition: PlaceObject2Tag.h:120
gnash::MovieClip::getLockRoot
bool getLockRoot() const
Definition: MovieClip.h:605
gnash::MovieClip::get_frame_count
size_t get_frame_count() const
Definition: MovieClip.h:166
gnash::NSV::CLASS_MOVIE_CLIP
@ CLASS_MOVIE_CLIP
Definition: namedStrings.h:227
gnash::MovieClip::getDefinitionVersion
virtual int getDefinitionVersion() const
Return the version of the SWF this MovieClip was parsed from.
Definition: MovieClip.cpp:531
gnash::toNumber
double toNumber(const as_value &v, const VM &vm)
Convert an as_value to a double.
Definition: VM.cpp:451
gnash::sound::sound_handler::stopStreamingSound
virtual void stopStreamingSound(int handle)
Remove scheduled requests to play the specified sound buffer slot.
Definition: sound_handler.cpp:268
gnash::movie_root::dropLevel
void dropLevel(int depth)
Drop level at given depth.
Definition: movie_root.cpp:462
gnash::DisplayObject::set_parent
void set_parent(DisplayObject *parent)
Set the parent of this DisplayObject.
Definition: DisplayObject.h:261
Movie.h
movie_root.h
gnash::MovieClip::get_frame_size
const SWFRect & get_frame_size() const
Definition: MovieClip.h:195
name
std::string name
Definition: LocalConnection_as.cpp:149
ControlTag.h
gnash::MovieClip::~MovieClip
virtual ~MovieClip()
Definition: MovieClip.cpp:525
ExecutableCode.h
gnash::toBool
bool toBool(const as_value &v, const VM &vm)
Convert an as_value to boolean type.
Definition: VM.cpp:445
DynamicShape.h
gnash::DynamicShape::clear
void clear()
Remove all paths and style informations.
Definition: DynamicShape.cpp:39
gnash::log_swferror
void log_swferror(StringType msg, Args... args)
Definition: log.h:325
gnash::isKeyEvent
bool isKeyEvent(const event_id &e)
Check whether an event is a keyboard event.
Definition: event_id.cpp:104
gnash::DisplayObject::BlendMode
BlendMode
Definition: DisplayObject.h:872
gnash::DisplayObject::get_event_handlers
const Events & get_event_handlers() const
Definition: DisplayObject.h:996
gnash::MovieClip::getAsRoot
virtual MovieClip * getAsRoot()
Return the _root ActionScript property of this sprite.
Definition: MovieClip.cpp:2055
gnash::as_object
The base class for all ActionScript objects.
Definition: as_object.h:162
gnash::DynamicShape::finalize
void finalize() const
Always call this function before displaying !
Definition: DynamicShape.cpp:139
gnash::MovieClip::remove_display_object
void remove_display_object(const SWF::PlaceObject2Tag *tag, DisplayList &dlist)
Proxy of DisplayList::removeDisplayObject()
Definition: MovieClip.cpp:1368
gnash::MovieClip::destroy
void destroy()
Mark this sprite as destroyed.
Definition: MovieClip.cpp:2041
gnash::DisplayList::visitAll
void visitAll(V &visitor)
Visit each and all DisplayObject in the list.
Definition: DisplayList.h:373
gnash::DisplayObject::get_event_handler
std::unique_ptr< ExecutableCode > get_event_handler(const event_id &id) const
Get the built-in function handlers code for the given event.
Definition: DisplayObject.cpp:434
gnash::MovieClip::PlayList
movie_definition::PlayList PlayList
Definition: MovieClip.h:95
gnash::DisplayObject::MaskRenderer
Render a dynamic mask for a specified DisplayObject.
Definition: DisplayObject.h:969
gnash::sprite_definition
Holds the immutable data for a sprite, as read from as SWF stream. @ should not derive from movie_def...
Definition: sprite_definition.h:50
gnash::MovieClip::getNextHighestDepth
int getNextHighestDepth() const
Return the next highest available depth.
Definition: MovieClip.h:531
gnash::MovieClip::PlayState
PlayState
Definition: MovieClip.h:98
gnash::MovieClip::METHOD_POST
@ METHOD_POST
Definition: MovieClip.h:422
gnash::toObject
as_object * toObject(const as_value &v, VM &vm)
Convert an as_value to an object.
Definition: VM.cpp:457
gnash::log_action
void log_action(StringType msg, Args... args)
Definition: log.h:307
gnash::arraySize
size_t arraySize(T(&)[N])
Get the size of an array without passing a pointer by mistake.
Definition: GnashAlgorithm.h:58
gnash::movie_root::getRootMovie
Movie & getRootMovie()
Access the originating root movie (not necessarily _level0)
Definition: movie_root.h:303
gnash::SWF::ControlTag::TAG_DLIST
@ TAG_DLIST
Definition: ControlTag.h:51
gnash::string_table
A general use string table.
Definition: string_table.h:42
gnash::DisplayObject::staticDepthOffset
static const int staticDepthOffset
Definition: DisplayObject.h:205
gnash::MovieClip::topmostMouseEntity
virtual InteractiveObject * topmostMouseEntity(std::int32_t x, std::int32_t y)
Return the topmost entity that the given point covers that can receive mouse events....
Definition: MovieClip.cpp:1477
gnash::event_id::LOAD
@ LOAD
Definition: event_id.h:73
dsodefs.h
gnash::SWF::DefinitionTag
Immutable data representing the definition of a movie display element.
Definition: DefinitionTag.h:48
gnash::SWFRect::getRange
geometry::Range2d< std::int32_t > getRange() const
Construct and return a Range2d object.
Definition: SWFRect.h:222
gnash::MovieClip::handleFocus
virtual bool handleFocus()
Set focus to this MovieClip.
Definition: MovieClip.cpp:1396
gnash::log_debug
void log_debug(StringType msg, Args... args)
Definition: log.h:301
gnash::MovieClip::getPlayState
PlayState getPlayState() const
Definition: MovieClip.h:208
gnash::MovieClip::execute_init_action_buffer
void execute_init_action_buffer(const action_buffer &a, int cid)
Execute the given init action buffer, if not done yet for the target DisplayObject id.
Definition: MovieClip.cpp:980
y
std::int32_t y
Definition: BitmapData_as.cpp:435
gnash::key::i
@ i
Definition: GnashKey.h:155
gnash::MovieClip::swapDepths
void swapDepths(DisplayObject *ch1, int newdepth)
Swap depth of the given DisplayObjects in the DisplayList.
Definition: MovieClip.h:285
LOG_ONCE
#define LOG_ONCE(x)
Definition: log.h:49
gnash::rgba
A basic RGBA type.
Definition: RGBA.h:36
gnash::DisplayList::add_invalidated_bounds
void add_invalidated_bounds(InvalidatedRanges &ranges, bool force)
Definition: DisplayList.cpp:619
gnash::as_object::set_prototype
void set_prototype(const as_value &proto)
Set this object's proto member.
Definition: as_object.cpp:518
gnash::SWFMatrix::invert
SWFMatrix & invert()
Invert this SWFMatrix and return the result.
Definition: SWFMatrix.cpp:288
_
#define _(String)
Definition: log.h:44
gnash::TextField::get_text_value
std::string get_text_value() const
Return value of our text.
Definition: TextField.cpp:851
gnash::as_environment
Provides information about timeline context.
Definition: as_environment.h:51
gnash::DisplayObject::isDestroyed
bool isDestroyed() const
Return true if this DisplayObject was destroyed.
Definition: DisplayObject.h:807
gnash::event_id
A class to identify 'static' SWF events (system events).
Definition: event_id.h:53
gnash::MovieClip::queueEvent
void queueEvent(const event_id &id, int lvl)
Queue event in the global action queue.
Definition: MovieClip.cpp:543
gnash::MovieClip::get_loaded_frames
size_t get_loaded_frames() const
Return number of completely loaded frames of this sprite/movie.
Definition: MovieClip.h:176
gnash::SWFRect::expand_to_rect
DSOEXPORT void expand_to_rect(const SWFRect &r)
Makes union of the given and the current SWFRect.
Definition: SWFRect.cpp:56
gnash::as_object::init_member
void init_member(const std::string &name, const as_value &val, int flags=DefaultFlags)
Initialize a member value by string.
Definition: as_object.cpp:669
gnash::VM
The AVM1 virtual machine.
Definition: VM.h:72
gnash::MovieClip::queueLoad
void queueLoad()
Definition: MovieClip.cpp:856
gnash::MovieClip::getDropTarget
const std::string & getDropTarget() const
Definition: MovieClip.h:234
gnash::getCxForm
const SWFCxForm & getCxForm(const DisplayObject &o)
Definition: DisplayObject.h:1125
gnash::MovieClip::display
virtual void display(Renderer &renderer, const Transform &xform)
Render this MovieClip.
Definition: MovieClip.cpp:1205
Transform.h
gnash
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:41
gnash::MovieClip::goto_frame
DSOEXPORT void goto_frame(size_t target_frame_number)
Set the sprite state at the specified frame number.
Definition: MovieClip.cpp:1066
gnash::DisplayObject::setBlendMode
void setBlendMode(BlendMode bm)
Definition: DisplayObject.h:894
ActionExec.h
gnash::SWF::PlaceObject2Tag::getEventHandlers
const EventHandlers & getEventHandlers() const
Definition: PlaceObject2Tag.h:115
gnash::MovieClip::setVariables
DSOEXPORT void setVariables(const MovieVariables &vars)
Set all variables in the given map with their corresponding values.
Definition: MovieClip.cpp:1936
gnash::SWF::DefinitionTag::createDisplayObject
virtual DisplayObject * createDisplayObject(Global_as &gl, DisplayObject *parent) const =0
Create a DisplayObject with the given parent.
gnash::DisplayObject::set_ratio
void set_ratio(std::uint16_t r)
Definition: DisplayObject.h:362
gnash::MovieClip::set_background_color
void set_background_color(const rgba &color)
Definition: MovieClip.cpp:1580
gnash::event_id::ROLL_OVER
@ ROLL_OVER
Definition: event_id.h:65
gnash::getWorldMatrix
SWFMatrix getWorldMatrix(const DisplayObject &d, bool includeRoot=true)
Get concatenated SWFMatrix (all ancestor transforms and our SWFMatrix)
Definition: DisplayObject.h:1131
gnash::movie_root::PRIORITY_DOACTION
@ PRIORITY_DOACTION
Frame actions, load handlers, unload handlers.
Definition: movie_root.h:539
gnash::DisplayObject::getNextUnnamedInstanceName
ObjectURI getNextUnnamedInstanceName()
Used to assign a name to unnamed instances.
Definition: DisplayObject.cpp:134
gnash::Renderer
Base class for render handlers.
Definition: Renderer.h:189
LoadVariablesThread.h
gnash::MovieClip::add_invalidated_bounds
void add_invalidated_bounds(InvalidatedRanges &ranges, bool force)
Add the DisplayObject's invalidated bounds to the given ranges list.
Definition: MovieClip.cpp:1641
gnash::key::m
@ m
Definition: GnashKey.h:159
gnash::DisplayObject::m_old_invalidated_ranges
InvalidatedRanges m_old_invalidated_ranges
Bounds of this DisplayObject instance before first invalidation since last call to clear_invalidated(...
Definition: DisplayObject.h:1029
gnash::DisplayObject::isDynamicMask
bool isDynamicMask() const
Definition: DisplayObject.h:404
gnash::invisible
bool invisible(const SWFCxForm &cx)
Returns true when the SWFCxForm leads to alpha == 0.
Definition: SWFCxForm.h:102
gnash::key::s
@ s
Definition: GnashKey.h:165
gnash::MovieClip::PLAYSTATE_STOP
@ PLAYSTATE_STOP
Definition: MovieClip.h:100
gnash::SWF::PlaceObject2Tag::hasBlendMode
bool hasBlendMode() const
Definition: PlaceObject2Tag.h:135
gnash::DisplayObject::setMatrix
void setMatrix(const SWFMatrix &m, bool updateCache=false)
Set local transform SWFMatrix for this DisplayObject.
Definition: DisplayObject.cpp:395
as_value.h
gnash::SWF::PlaceObject2Tag::hasCxform
bool hasCxform() const
Definition: PlaceObject2Tag.h:121
gnash::DisplayObject::saveOriginalTarget
void saveOriginalTarget()
Definition: DisplayObject.h:991
gnash::SWF::PlaceObject2Tag::getID
std::uint16_t getID() const
Definition: PlaceObject2Tag.h:111
gnash::MovieClip::removeMovieClip
void removeMovieClip()
Remove this sprite from the stage.
Definition: MovieClip.cpp:1948
gnash::key::n
@ n
Definition: GnashKey.h:160
gnash::MovieClip::notifyEvent
void notifyEvent(const event_id &id)
Dispatch event handler(s), if any.
Definition: MovieClip.cpp:717
Global_as.h
gnash::MovieClip::get_bytes_loaded
size_t get_bytes_loaded() const
Definition: MovieClip.h:190
gnash::DynamicShape::pointTestLocal
bool pointTestLocal(std::int32_t x, std::int32_t y, const SWFMatrix &wm) const
Definition: DynamicShape.h:146
gnash::DisplayObject::transform
const Transform & transform() const
Definition: DisplayObject.h:292
gnash::movie_root::PRIORITY_CONSTRUCT
@ PRIORITY_CONSTRUCT
Construct event handlers.
Definition: movie_root.h:537
gnash::DisplayObject::getTarget
std::string DSOEXPORT getTarget() const
Return full path to this object, in dot notation.
Definition: DisplayObject.cpp:621
gnash::ActionExec
Executor of an action_buffer.
Definition: ActionExec.h:119
gnash::MovieClip::pathElement
as_object * pathElement(const ObjectURI &uri)
Overridden to look in DisplayList for a match.
Definition: MovieClip.cpp:809
gnash::DisplayList::placeDisplayObject
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
gnash::getGlobal
Global_as & getGlobal(const as_environment &env)
Definition: as_environment.cpp:651
gnash::movie_root::pushAction
void pushAction(std::unique_ptr< ExecutableCode > code, size_t lvl)
Push an executable code to the ActionQueue.
Definition: movie_root.cpp:1496
gnash::DisplayObject::isDynamic
bool isDynamic() const
Was this DisplayObject dynamically created ?
Definition: DisplayObject.h:592
gnash::MovieClip
A MovieClip is a container for DisplayObjects.
Definition: MovieClip.h:84
gnash::getVM
VM & getVM(const as_environment &env)
Definition: as_environment.h:222
gnash::DisplayObject::set_event_handlers
void set_event_handlers(const Events &copyfrom)
Definition: DisplayObject.cpp:413
gnash::VM::getPlayerVersion
const std::string & getPlayerVersion() const
Get version of the player, in a compatible representation.
Definition: VM.cpp:86
PlaceObject2Tag.h
gnash::MovieClip::loadVariables
void loadVariables(const std::string &urlstr, VariablesMethod sendVarsMethod)
Load url-encoded variables from the given url, optionally sending variables from this timeline too.
Definition: MovieClip.cpp:1867
as_function.h
gnash::movie_definition
Client program's interface to the definition of a movie or sprite.
Definition: movie_definition.h:96
gnash::MovieClip::getDisplayList
const DisplayList & getDisplayList() const
Definition: MovieClip.h:522
gnash::Movie::initializeCharacter
virtual bool initializeCharacter(std::uint16_t)
Attempt to mark a character as initialized.
Definition: Movie.h:103
gnash::MovieClip::pointInHitableShape
virtual bool pointInHitableShape(std::int32_t x, std::int32_t y) const
Definition: MovieClip.cpp:1462
gnash::log_error
void log_error(StringType msg, Args... args)
Definition: log.h:283
gnash::DisplayObject::construct
virtual void construct(as_object *=nullptr)
Callback invoked whenever a DisplayObject is placed on stage.
Definition: DisplayObject.h:763
Matrix_as.h
gnash::swf_event::action
const action_buffer & action() const
Definition: swf_event.h:58
sprite_definition.h
gnash::MovieClip::setPlayState
DSOEXPORT void setPlayState(PlayState s)
Stop or play the sprite.
Definition: MovieClip.cpp:2108
gnash::DynamicShape::display
void display(Renderer &renderer, const Transform &xform) const
Display a DynamicShape object.
Definition: DynamicShape.cpp:49
gnash::DisplayList::removeUnloaded
void removeUnloaded()
Remove all unloaded DisplayObject from the list.
Definition: DisplayList.cpp:917
gnash::InteractiveObject
The base class for interactive objects.
Definition: InteractiveObject.h:45
gnash::MovieClip::graphics
DynamicShape & graphics()
Direct access to the Graphics object for drawing.
Definition: MovieClip.h:564
IF_VERBOSE_MALFORMED_SWF
#define IF_VERBOSE_MALFORMED_SWF(x)
Definition: log.h:404
gnash::SWFRect
Rectangle class, see swf defined rectangle record.
Definition: SWFRect.h:45
gnash::MovieClip::setDropTarget
void setDropTarget(const std::string &tgt)
Definition: MovieClip.h:230
gnash::SWF::PlaceObject2Tag::getRatio
std::uint16_t getRatio() const
Definition: PlaceObject2Tag.h:109
gnash::isButtonEvent
bool isButtonEvent(const event_id &e)
Check whether an event is a button-like event.
Definition: event_id.cpp:118
gnash::DisplayList
A list of on-stage DisplayObjects, ordered by depth.
Definition: DisplayList.h:65
gnash::isFinite
bool isFinite(double d)
Definition: GnashNumeric.h:47
gnash::KeyVisitor
An abstract key visitor.
Definition: PropertyList.h:58
gnash::key::t
@ t
Definition: GnashKey.h:166
color
const VGfloat color[4]
Definition: testr_gtk.cpp:82
gnash::event_id::DRAG_OVER
@ DRAG_OVER
Definition: event_id.h:67
gnash::DisplayList::getDisplayObjectAtDepth
DSOTEXPORT DisplayObject * getDisplayObjectAtDepth(int depth) const
May return NULL.
Definition: DisplayList.cpp:133
gnash::DisplayList::omit_display
void omit_display()
Definition: DisplayList.cpp:609
gnash::MovieClip::findDropTarget
const DisplayObject * findDropTarget(std::int32_t x, std::int32_t y, DisplayObject *dragging) const
Point coordinates in global twips.
Definition: MovieClip.cpp:1513
gnash::key::r
@ r
Definition: GnashKey.h:164
gnash::event_id::ROLL_OUT
@ ROLL_OUT
Definition: event_id.h:66
gnash::SWF::PlaceObject2Tag::hasMatrix
bool hasMatrix() const
Definition: PlaceObject2Tag.h:122
gnash::MovieClip::get_root
virtual Movie * get_root() const
Return the relative root of this DisplayObject.
Definition: MovieClip.cpp:2049
gnash::MovieClip::add_display_object
DisplayObject * add_display_object(const SWF::PlaceObject2Tag *tag, DisplayList &dlist)
Place a DisplayObject or mask to the DisplayList.
Definition: MovieClip.cpp:1233
gnash::StreamProvider
A StreamProvider makes IOChannels available to the core on request.
Definition: StreamProvider.h:50
gnash::event_id::DATA
@ DATA
Definition: event_id.h:81
DisplayObjectContainer.h
gnash::MovieClip::markOwnResources
virtual void markOwnResources() const
Mark sprite-specific reachable resources.
Definition: MovieClip.cpp:2017
gnash::renderer::opengl::for_each
void for_each(C &container, R(T::*pmf)(const A &), const A &arg)
Definition: Renderer_ogl.cpp:690
gnash::event_id::RELEASE
@ RELEASE
Definition: event_id.h:63
gnash::key::a
@ a
Definition: GnashKey.h:147
gnash::geometry::Point2d::x
std::int32_t x
The x coordinate.
Definition: Point2d.h:43
gnash::DisplayObject::get_depth
int get_depth() const
Definition: DisplayObject.h:268
gnash::getRunResources
const RunResources & getRunResources(const as_object &o)
Get the RunResources from an as_object.
Definition: as_object.cpp:1142
gnash::MovieClip::setTextFieldVariables
bool setTextFieldVariables(const ObjectURI &uri, const as_value &val)
TODO: this is also unlikely to be the best way to do it.
Definition: MovieClip.cpp:834
gnash::MovieClip::getDisplayListObject
DisplayObject * getDisplayListObject(const ObjectURI &uri)
Search for a named object on the DisplayList.
Definition: MovieClip.cpp:1617
gnash::as_value::to_string
DSOTEXPORT std::string to_string(int version=7) const
Get a std::string representation for this value.
Definition: as_value.cpp:205
GnashAlgorithm.h
gnash::FunctionArgs
A class to contain transferable arguments for a fn_call.
Definition: fn_call.h:57
gnash::DisplayObject::to_movie
virtual MovieClip * to_movie()
Definition: DisplayObject.h:266
IF_VERBOSE_ASCODING_ERRORS
#define IF_VERBOSE_ASCODING_ERRORS(x)
Definition: log.h:397
gnash::key::code
code
Definition: GnashKey.h:44
gnash::DynamicShape
The DynamicShape class represents a mutable shape.
Definition: DynamicShape.h:45
gnash::SWFMatrix::transform
void transform(geometry::Point2d &p) const
Transform a given point by our SWFMatrix.
Definition: SWFMatrix.cpp:99
gnash::movie_root::set_background_color
void set_background_color(const rgba &color)
Definition: movie_root.cpp:2116
gnash::MovieClip::queueAction
void queueAction(const action_buffer &buf)
Queue the given action buffer.
Definition: MovieClip.cpp:711
gnash::NSV::PROP_ENABLED
@ PROP_ENABLED
Definition: namedStrings.h:74
gnash::DisplayObject::get_clip_depth
int get_clip_depth() const
Definition: DisplayObject.h:375
gnash::movie_definition::PlayList
std::vector< boost::intrusive_ptr< SWF::ControlTag > > PlayList
Definition: movie_definition.h:98
gnash::Property
An abstract property.
Definition: Property.h:277
gnash::MovieClip::setLockRoot
void setLockRoot(bool lr)
Definition: MovieClip.h:609
gnash::DisplayObject::setCxForm
void setCxForm(const SWFCxForm &cx)
Definition: DisplayObject.h:352
gnash::as_object::get_member
virtual bool get_member(const ObjectURI &uri, as_value *val)
Get a property by name if it exists.
Definition: as_object.cpp:378
URL.h
gnash::MovieClip::cleanupDisplayList
void cleanupDisplayList()
Definition: MovieClip.cpp:2010
MovieClip.h
gnash::Property::getValue
DSOTEXPORT as_value getValue(const as_object &this_ptr) const
Get value of this property.
Definition: Property.cpp:98
gnash::as_environment::markReachableResources
void markReachableResources() const
Mark all reachable resources.
Definition: as_environment.cpp:282
gnash::as_object::copyProperties
void copyProperties(const as_object &o)
Copy properties from the given object.
Definition: as_object.cpp:895
gnash::key::p
@ p
Definition: GnashKey.h:162
gnash::MovieClip::trackAsMenu
virtual bool trackAsMenu()
ActionScript property of Buttons and MovieClips altering mouse handling.
Definition: MovieClip.cpp:1538
gnash::SWF::PlaceObject2Tag::getClipDepth
int getClipDepth() const
Definition: PlaceObject2Tag.h:110
gnash::DisplayObject::setDynamic
void setDynamic()
Mark this DisplayObject as dynamically created.
Definition: DisplayObject.h:597
gnash::MovieClip::get_current_frame
size_t get_current_frame() const
Return 0-based index to current frame.
Definition: MovieClip.h:161
gnash::SWF::DisplayListTag::getDepth
int getDepth() const
Return the depth affected by this DisplayList tag.
Definition: DisplayListTag.h:59
gnash::MovieClip::set_textfield_variable
void set_textfield_variable(const ObjectURI &name, TextField *ch)
Set a TextField variable to this timeline.
Definition: MovieClip.cpp:1604
gnash::LoadVariablesThread::getValues
ValuesMap getValues()
Return the name,value map parsed out of the loaded stream.
Definition: LoadVariablesThread.h:83
gnash::MovieClip::placeDisplayObject
void placeDisplayObject(DisplayObject *ch, int depth)
Definition: MovieClip.h:634
gnash::point
geometry::Point2d point
Definition: Point2d.h:143
gnash::MovieClip::to_movie
MovieClip * to_movie()
Definition: MovieClip.h:413
gnash::MovieClip::getLoadedMovie
virtual void getLoadedMovie(Movie *newMovie)
Accept a loaded Movie.
Definition: MovieClip.cpp:1824
gnash::DisplayList::destroy
void destroy()
destroy all DisplayObjects in this DisplayList
Definition: DisplayList.cpp:516
gnash::MovieClip::constructAsScriptObject
void constructAsScriptObject()
Construct this instance as an ActionScript object.
Definition: MovieClip.cpp:1669
gnash::MovieClip::visitNonProperties
virtual void visitNonProperties(KeyVisitor &v) const
Enumerate child DisplayObjects.
Definition: MovieClip.cpp:2003
gnash::MovieClip::unloadMovie
void unloadMovie()
Definition: MovieClip.cpp:850
gnash::LoadVariablesThread
A manager for loadVariable requests.
Definition: LoadVariablesThread.h:49
GnashNumeric.h
gnash::event_id::UNLOAD
@ UNLOAD
Definition: event_id.h:74
gnash::DisplayList::replaceDisplayObject
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
gnash::DisplayObject::set_invalidated
void set_invalidated()
This function marks the DisplayObject as being modified in aspect and keeps track of current invalida...
Definition: DisplayObject.cpp:183
gnash::MovieClip::getDisplayObjectAtDepth
DisplayObject * getDisplayObjectAtDepth(int depth)
Return the DisplayObject at given depth in our DisplayList.
Definition: MovieClip.cpp:537
gnash::DisplayObject::childInvalidated
bool childInvalidated() const
Return whether this DisplayObject has and invalidated child or not.
Definition: DisplayObject.h:662
gnash::DisplayList::getDisplayObjectByName
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
gnash::MovieClip::TextFieldIndex
std::map< ObjectURI, TextFields, ObjectURI::LessThan > TextFieldIndex
A container for textfields, indexed by their variable name.
Definition: MovieClip.h:91
gnash::event_id::PRESS
@ PRESS
Definition: event_id.h:62
gnash::SWFMatrix
Definition: SWFMatrix.h:54
gnash::MovieClip::METHOD_NONE
@ METHOD_NONE
Definition: MovieClip.h:420
gnash::DisplayList::mergeDisplayList
void mergeDisplayList(DisplayList &newList, DisplayObject &o)
Merge the given display list.
Definition: DisplayList.cpp:732
gnash::DisplayList::visitBackward
void visitBackward(V &visitor)
Visit each DisplayObject in the list in reverse depth order (higher depth first).
Definition: DisplayList.h:353
gnash::as_value
ActionScript value type.
Definition: as_value.h:95
gnash::geometry::Point2d
2D Point class
Definition: Point2d.h:39
gnash::Movie
A top-level, standalone Movie that can be loaded and played.
Definition: Movie.h:47
gnash::DisplayObject::unloaded
bool unloaded() const
Return true if this DisplayObject was unloaded from the stage.
Definition: DisplayObject.h:785
VM.h
gnash::SWF::PlaceObject2Tag::getMatrix
const SWFMatrix & getMatrix() const
Definition: PlaceObject2Tag.h:113
gnash::DisplayObject::getMask
DisplayObject * getMask() const
Return the DisplayObject masking this instance (if any)
Definition: DisplayObject.h:410
gnash::MovieClip::VariablesMethod
VariablesMethod
The various methods for sending data in requests.
Definition: MovieClip.h:419
gnash::DisplayObject::set_clip_depth
void set_clip_depth(int d)
See get_clip_depth()
Definition: DisplayObject.h:378
gnash::NSV::PROP_FOCUS_ENABLED
@ PROP_FOCUS_ENABLED
Definition: namedStrings.h:144
gnash::SWF::PlaceObject2Tag
SWF Tag PlaceObject (4) or PlaceObject2 (9)
Definition: PlaceObject2Tag.h:86
gnash::MovieClip::TextFields
std::vector< TextField * > TextFields
Definition: MovieClip.h:87
swf_event.h
gnash::movie_root::replaceLevel
void replaceLevel(unsigned int num, Movie *external_movie)
Replace an existing level with a new movie.
Definition: movie_root.cpp:494
gnash::GlobalCode
Global code (out of any function)
Definition: ExecutableCode.h:63
gnash::DisplayObject::Events
std::map< event_id, BufferList > Events
Definition: DisplayObject.h:900
gnash::DisplayObject::getTargetPath
std::string getTargetPath() const
Return full path to this object, in slash notation.
Definition: DisplayObject.cpp:567
gnash::MovieClip::mouseEnabled
virtual bool mouseEnabled() const
Return true if we have any mouse event handlers.
Definition: MovieClip.cpp:1551
gnash::log_aserror
void log_aserror(StringType msg, Args... args)
Definition: log.h:331
ConstantPool.h
gnash::MovieClip::addDisplayListObject
DisplayObject * addDisplayListObject(DisplayObject *obj, int depth)
Attach a DisplayObject at the specified depth.
Definition: MovieClip.cpp:649
gnash::DisplayObject::hasEventHandler
bool hasEventHandler(const event_id &id) const
Return true if an handler for the given event is defined.
Definition: DisplayObject.cpp:462
log.h
gnash::DisplayObject::clear_invalidated
void clear_invalidated()
Definition: DisplayObject.h:720
gnash::DisplayObject::parent
DisplayObject * parent() const
Return the parent of this DisplayObject, or NULL if the DisplayObject has no parent.
Definition: DisplayObject.h:252
gnash::SWF::PlaceObject2Tag::EventHandlers
boost::ptr_vector< swf_event > EventHandlers
Definition: PlaceObject2Tag.h:90
gnash::geometry::SnappingRanges2d::add
void add(const RangeType &range)
Add a Range to the set, merging when possible and appropriate.
Definition: snappingrange.h:250
IF_VERBOSE_ACTION
#define IF_VERBOSE_ACTION(x)
Definition: log.h:384
gnash::MovieClip::getBounds
virtual SWFRect getBounds() const
Get the composite bounds of all component drawing elements.
Definition: MovieClip.cpp:1976
gnash::DisplayList::display
void display(Renderer &renderer, const Transform &xform)
Display the list's DisplayObjects.
Definition: DisplayList.cpp:541
gnash::movie_root::addLiveChar
void addLiveChar(MovieClip *ch)
Register a newly born advanceable DisplayObject to the list of DisplayObjects to be advanced on next ...
Definition: movie_root.h:580
gnash::MovieClip::PLAYSTATE_PLAY
@ PLAYSTATE_PLAY
Definition: MovieClip.h:99
fn_call.h
gnash::MovieClip::execute_action
void execute_action(const action_buffer &ab)
Execute a single action buffer (DOACTION block)
Definition: MovieClip.cpp:1002
gnash::MovieClip::get_bytes_total
size_t get_bytes_total() const
Definition: MovieClip.h:183
gnash::MovieClip::pointInShape
virtual bool pointInShape(std::int32_t x, std::int32_t y) const
Return true if the given point falls in this DisplayObject's shape.
Definition: MovieClip.cpp:1416
gnash::MovieClip::add_action_buffer
void add_action_buffer(const action_buffer *a)
Definition: MovieClip.h:388
gnash::sound::sound_handler
Sound mixer.
Definition: sound_handler.h:88
gnash::MovieClip::call_frame_actions
virtual void call_frame_actions(const as_value &frame_spec)
Execute the actions for the specified frame.
Definition: MovieClip.cpp:608
url
std::string url
Definition: gnash.cpp:59
as_environment.h
gnash::MovieClip::setStreamSoundId
void setStreamSoundId(int id)
Set the currently playing m_sound_stream_id.
Definition: MovieClip.cpp:2081
gnash::DisplayObject::get_name
const ObjectURI & get_name() const
Definition: DisplayObject.h:432
gnash::getObject
as_object * getObject(const DisplayObject *d)
Return the as_object associated with a DisplayObject if it exists.
Definition: DisplayObject.h:1160
gnash::key::f
@ f
Definition: GnashKey.h:152
TextField.h
gnashconfig.h
gnash::TextField
An instance of a DefineEditTextTag.
Definition: TextField.h:57
gnash::MovieClip::unloadChildren
virtual bool unloadChildren()
Unload all contents in the displaylist and this instance.
Definition: MovieClip.cpp:1789
gnash::movie_root
This class represents the 'Stage' and top-level movie.
Definition: movie_root.h:151
DSOTEXPORT
#define DSOTEXPORT
Definition: dsodefs.h:63
namedStrings.h
gnash::Global_as
The Global object ultimately contains all objects in an ActionScript run.
Definition: Global_as.h:50
gnash::as_object::set_member
virtual bool set_member(const ObjectURI &uri, const as_value &val, bool ifFound=false)
Set a member value.
Definition: as_object.cpp:583
gnash::as_environment::set_target
void set_target(DisplayObject *target)
Set default target for timeline opcodes.
Definition: as_environment.h:68
gnash::getSWFVersion
int getSWFVersion(const as_environment &env)
Definition: as_environment.cpp:657
RunResources.h
test.uri
uri
Definition: test.py:12
gnash::SWFRect::point_test
bool point_test(std::int32_t x, std::int32_t y) const
Return true if the given point is inside this SWFRect.
Definition: SWFRect.h:143
gnash::movie_root::stopStream
void stopStream(int id)
Notify the stage that a sound stream has stopped.
Definition: movie_root.cpp:273
LineStyle.h
gnash::MovieClip::move_display_object
void move_display_object(const SWF::PlaceObject2Tag *tag, DisplayList &dlist)
Proxy of DisplayList::moveDisplayObject()
Definition: MovieClip.cpp:1293
gnash::movie_root::PRIORITY_INIT
@ PRIORITY_INIT
Init actions, Init event handlers.
Definition: movie_root.h:535
gnash::getStringTable
string_table & getStringTable(const as_environment &env)
Definition: as_environment.cpp:639
gnash::MovieClip::pointInVisibleShape
virtual bool pointInVisibleShape(std::int32_t x, std::int32_t y) const
true if the given point falls in this DisplayObject's visible shape
Definition: MovieClip.cpp:1425
gnash::getObjectWithPrototype
as_object * getObjectWithPrototype(Global_as &gl, const ObjectURI &c)
Definition: as_object.cpp:1109
gnash::DisplayObjectContainer
Definition: DisplayObjectContainer.h:43
gnash::MovieClip::MovieClip
MovieClip(as_object *object, const movie_definition *def, Movie *root, DisplayObject *parent)
Construct a MovieClip instance.
Definition: MovieClip.cpp:503
gnash::MovieClip::goto_labeled_frame
bool goto_labeled_frame(const std::string &label)
Look up the labeled frame, and jump to it.
Definition: MovieClip.cpp:1175
gnash::DynamicShape::getBounds
const SWFRect & getBounds() const
Definition: DynamicShape.h:73
gnash::as_value::toDisplayObject
DisplayObject * toDisplayObject(bool skipRebinding=false) const
Return value as a DisplayObject or NULL if this is not possible.
Definition: as_value.cpp:490
gnash::PoolGuard
Definition: ConstantPool.h:35
DSOEXPORT
#define DSOEXPORT
Definition: dsodefs.h:55
gnash::DisplayObject::pointInShape
virtual bool pointInShape(std::int32_t x, std::int32_t y) const =0
Return true if the given point falls in this DisplayObject's shape.
gnash::getURI
ObjectURI getURI(const VM &vm, const std::string &str, bool lowerCaseHint=false)
Definition: VM.h:290
gnash::DisplayObject::set_name
void set_name(const ObjectURI &uri)
Set DisplayObject name, initializing the original target member.
Definition: DisplayObject.h:428
gnash::event_id::INITIALIZE
@ INITIALIZE
Definition: event_id.h:72
gnash::geometry::Point2d::y
std::int32_t y
The y coordinate.
Definition: Point2d.h:46
gnash::StreamProvider::baseURL
const URL & baseURL() const
The base URL that should be used to resolve all relative URLs.
Definition: StreamProvider.h:117
movie_definition.h
gnash::swf_event
For embedding event handlers in place_object_2.
Definition: swf_event.h:41
gnash::RunResources::soundHandler
sound::sound_handler * soundHandler() const
Get a pointer to a sound::sound_handler set by a hosting application.
Definition: RunResources.h:96
gnash::DisplayObject
DisplayObject is the base class for all DisplayList objects.
Definition: DisplayObject.h:169
gnash::action_buffer
A code segment.
Definition: action_buffer.h:50
gnash::NetworkException
Definition: LoadVariablesThread.h:41
gnash::DisplayObject::destroy
virtual void destroy()
Mark this DisplayObject as destroyed.
Definition: DisplayObject.cpp:677
gnash::event_id::CONSTRUCT
@ CONSTRUCT
Definition: event_id.h:82
gnash::DisplayObject::add_event_handler
void add_event_handler(const event_id &id, const action_buffer &code)
Set a built-in function handler for the given event.
Definition: DisplayObject.cpp:428
gnash::MovieClip::duplicateMovieClip
MovieClip * duplicateMovieClip(const std::string &newname, int newdepth, as_object *init_object=nullptr)
Duplicate this sprite in its timeline.
Definition: MovieClip.cpp:661
gnash::DisplayList::moveDisplayObject
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
gnash::as_value::is_sprite
bool is_sprite() const
Return true if this value is a DISPLAYOBJECT.
Definition: as_value.h:224
gnash::DisplayList::removeDisplayObject
void removeDisplayObject(int depth)
Removes the object at the specified depth.
Definition: DisplayList.cpp:331
gnash::MovieClip::get_environment
virtual as_environment & get_environment()
Return a reference to the variable scope of this DisplayObject.
Definition: MovieClip.h:509
gnash::MovieClip::METHOD_GET
@ METHOD_GET
Definition: MovieClip.h:421
gnash::MovieClip::getTextFieldVariables
bool getTextFieldVariables(const ObjectURI &uri, as_value &val)
Get TextField variables.
Definition: MovieClip.cpp:558
gnash::DisplayObject::get_ratio
std::uint16_t get_ratio() const
Definition: DisplayObject.h:360
gnash::SWF::PlaceObject2Tag::getName
const std::string & getName() const
Definition: PlaceObject2Tag.h:112
gnash::caseless
bool caseless(const as_object &o)
Return whether property matching is caseless.
Definition: as_object.h:924
gnash::URL
Uniform Resource Locator.
Definition: URL.h:35
gnash::SWF::PlaceObject2Tag::hasName
bool hasName() const
Definition: PlaceObject2Tag.h:119
gnash::sendEvent
void sendEvent(as_object &o, const as_environment &env, const ObjectURI &name)
Send a system event.
Definition: as_object.cpp:1099
gnash::event_id::RELEASE_OUTSIDE
@ RELEASE_OUTSIDE
Definition: event_id.h:64
gnash::SWF::PlaceObject2Tag::getBlendMode
std::uint8_t getBlendMode() const
Get an associated blend mode.
Definition: PlaceObject2Tag.h:147
gnash::Transform
The Transform class expresses a stage in a cumulative transformation.
Definition: Transform.h:34
gnash::DisplayObjectContainer::_displayList
DisplayList _displayList
Definition: DisplayObjectContainer.h:70
gnash::DisplayObject::pathElement
virtual as_object * pathElement(const ObjectURI &uri)
Definition: DisplayObject.cpp:160
StreamProvider.h
gnash::key::o
@ o
Definition: GnashKey.h:161
gnash::Movie::version
virtual int version() const =0
Get the version of the Movie.
gnash::event_id::ENTER_FRAME
@ ENTER_FRAME
Definition: event_id.h:75
gnash::getMatrix
const SWFMatrix & getMatrix(const DisplayObject &o)
Get local transform SWFMatrix for this DisplayObject.
Definition: DisplayObject.h:1119
gnash::key::SWF
@ SWF
Definition: GnashKey.h:331
gnash::log_unimpl
void log_unimpl(StringType msg, Args... args)
Definition: log.h:289
gnash::MovieClip::advance
virtual void advance()
Advance to the next frame of the MovieClip.
Definition: MovieClip.cpp:869
gnash::movie_root::removeQueuedConstructor
void removeQueuedConstructor(MovieClip *target)
Removes a queued constructor from the execution queue.
Definition: movie_root.cpp:1489
gnash::NSV::PROP_PROTOTYPE
@ PROP_PROTOTYPE
Definition: namedStrings.h:87
gnash::SWF::PlaceObject2Tag::getCxform
const SWFCxForm & getCxform() const
Definition: PlaceObject2Tag.h:114
gnash::as_value::is_object
bool is_object() const
Return true if this value is an object.
Definition: as_value.h:219
gnash::ObjectURI
A URI for describing as_objects.
Definition: ObjectURI.h:45
gnash::DisplayObject::invalidated
bool invalidated() const
Return whether this DisplayObject has been invalidated or not.
Definition: DisplayObject.h:657
gnash::MovieClip::replace_display_object
void replace_display_object(const SWF::PlaceObject2Tag *tag, DisplayList &dlist)
Proxy of DisplayList::replaceDisplayObject()
Definition: MovieClip.cpp:1305
gnash::swf_event::event
const event_id & event() const
Definition: swf_event.h:62
GnashException.h
x
std::int32_t x
Definition: BitmapData_as.cpp:434
gnash::isReferenceable
bool isReferenceable(const DisplayObject &d)
Returns true if the DisplayObject is referenceable in ActionScript.
Definition: DisplayObject.h:1149
gnash::MovieClip::attachCharacter
void attachCharacter(DisplayObject &newch, int depth, as_object *initObject)
Attach the given DisplayObject instance to current display list.
Definition: MovieClip.cpp:1226
gnash::movie_root::runResources
const RunResources & runResources() const
Definition: movie_root.h:788
gnash::MovieClip::MovieVariables
std::map< std::string, std::string > MovieVariables
Definition: MovieClip.h:93
gnash::key::b
@ b
Definition: GnashKey.h:148
test.v
v
Definition: test.py:11
gnash::SWFRect::expand_to_transformed_rect
DSOEXPORT void expand_to_transformed_rect(const SWFMatrix &m, const SWFRect &r)
Definition: SWFRect.cpp:74
gnash::TextField::getTextDefined
bool getTextDefined() const
Return true if text is defined.
Definition: TextField.h:172
InteractiveObject.h
gnash::key::e
@ e
Definition: GnashKey.h:151
gnash::movie_root::getRegisteredClass
as_function * getRegisteredClass(const SWF::DefinitionTag *sprite) const
Get the actionscript class for constructing a MovieClip.
Definition: movie_root.cpp:286
gnash::SWF::ControlTag::TAG_ACTION
@ TAG_ACTION
Definition: ControlTag.h:50
gnash::DisplayObject::stage
movie_root & stage() const
Get the movie_root to which this DisplayObject belongs.
Definition: DisplayObject.h:981
gnash::MovieClip::omit_display
void omit_display()
Definition: MovieClip.cpp:1219
gnash::MovieClip::get_frame_number
bool get_frame_number(const as_value &frame_spec, size_t &frameno) const
Parse frame spec and return a 0-based frame number.
Definition: MovieClip.cpp:577
Range2d.h
gnash::MovieClip::mouseEvent
virtual void mouseEvent(const event_id &id)
Called when a mouse event affects this MovieClip.
Definition: MovieClip.h:498
gnash::getURLEncodedVars
std::string getURLEncodedVars(as_object &o)
Get url-encoded variables.
Definition: as_object.cpp:946
gnash::DisplayList::unload
bool unload()
Definition: DisplayList.cpp:477
gnash::DisplayObject::visible
bool visible() const
Definition: DisplayObject.h:623
gnash::event_id::DRAG_OUT
@ DRAG_OUT
Definition: event_id.h:68
gnash::RunResources::streamProvider
const StreamProvider & streamProvider() const
Get a StreamProvider instance.
Definition: RunResources.h:76
gnash::as_function
ActionScript Function, either builtin or SWF-defined.
Definition: as_function.h:63
gnash::MovieClip::draw
void draw(Renderer &renderer, const Transform &xform)
Draw this MovieClip.
Definition: MovieClip.cpp:1195
gnash::GcResource::setReachable
void setReachable() const
Mark this resource as being reachable.
Definition: GC.h:92