René Nyffenegger's collection of things on the web | |
René Nyffenegger on Oracle - Most wanted - Feedback
- Follow @renenyffenegger
|
Button [Ming wrapper class] | ||
The sourceButton.h
#ifndef BUTTON_H #define BUTTON_H #include "ming.h" #include "Shape.h" #include "Text.h" #include "Action.h" #include "Character_.h" /*--------------------------------------------------------- A Button has three visible states: o Up: This is the default state which is displayed when the movie starts and when the mouse is not over the button. o Over This is the state when the mouse IS hovering over the button. o Down This is the state when the mouse is pressed inside the button's Hit Area. Hit Area: The hit area defines (by means of one or more Character_'s) the area over which the mouse must hover to make the mouse go into the Over state. Also, the button only goes to the down state if the Mouse is pressed over the hit area. Examples: ButtonTest.cpp */ class Button : public Character_ { friend class Movie; friend class MovieClip; public: Button(); /* flags can be a or'd combination of SWFBUTTON_UP, SWFBUTTON_DOWN, SWFBUTTON_OVER and SWFBUTTON_HIT */ void Add(Character_ const&, byte flags); /* flags: any ore'd combination of SWFBUTTON_MOUSEOVER SWFBUTTON_MOUSEOUT SWFBUTTON_MOUSEUP SWFBUTTON_MOUSEUPOUTSIDE SWFBUTTON_MOUSEDOWN SWFBUTTON_DRAGOUT SWFBUTTON_DRAGOVER */ void Add(Action const& a, byte flags); private: SWFButton button_; protected: // HACK? virtual SWFBlock_s* swf_block() const; }; #endif Button.cpp
#include "Button.h" #include "TextField.h" Button::Button() { button_ = newSWFButton(); } void Button::Add(Character_ const& c, byte flags) { SWFButton_addShape(button_, reinterpret_cast<SWFCharacter_s*>(c.swf_block()), flags); } void Button::Add(Action const& a, byte flags) { SWFButton_addAction(button_, a.action_, flags); } SWFBlock_s* Button::swf_block() const { return reinterpret_cast<SWFBlock_s*>(button_); } Examples
The following examples demonstrate this class:
|