23 #ifndef GNASH_BUTTON_H
24 #define GNASH_BUTTON_H
26 #include <boost/intrusive_ptr.hpp>
59 OVER_DOWN = FLAG_OVER | FLAG_DOWN,
84 virtual bool trackAsMenu();
92 void set_current_state(MouseState new_state);
101 virtual void mouseEvent(
const event_id& event);
104 virtual bool handleFocus();
108 virtual SWFRect getBounds()
const;
111 bool pointInShape(boost::int32_t
x, boost::int32_t
y)
const;
124 virtual void construct(
as_object* init = 0);
128 virtual InfoTree::iterator getMovieInfo(InfoTree& tr,
129 InfoTree::iterator it);
135 virtual bool unloadChildren();
144 void markOwnResources()
const;
155 void getActiveCharacters(DisplayObjects& list,
bool includeUnloaded=
false);
163 void getActiveCharacters(ConstDisplayObjects& list)
const;
174 void get_active_records(ActiveRecords& list, MouseState state);
177 virtual int getDefinitionVersion()
const;
179 MouseState _mouseState;
181 const boost::intrusive_ptr<const SWF::DefineButtonTag> _def;
183 DisplayObjects _stateCharacters;
185 DisplayObjects _hitCharacters;
199 #endif // GNASH_BUTTON_H