1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
/*!
@file
@author Albert Semenov
@date 08/2008
*/
#ifndef FADE_NODE_ANIMATOR_H_
#define FADE_NODE_ANIMATOR_H_
#include <MyGUI.h>
#include "MyGUI_LayerNodeAnimation.h"
#include "MyGUI_VertexData.h"
#include "MyGUI_RTTLayerNode.h"
#include "Tesselator.h"
namespace demo
{
class FadeNodeAnimator :
public MyGUI::LayerNodeAnimation,
public Tesselator
{
MYGUI_RTTI_DERIVED( FadeNodeAnimator )
public:
FadeNodeAnimator();
virtual void attach(MyGUI::ILayerNode* _node);
virtual void create();
virtual void destroy();
virtual size_t animate(
bool _update,
size_t _quad_count,
MyGUI::VectorQuadData& _data,
float _time,
MyGUI::IVertexBuffer* _buffer,
MyGUI::ITexture* _texture,
const MyGUI::RenderTargetInfo& _info,
const MyGUI::IntCoord& _coord,
bool& _isAnimate
);
private:
void addTime(float _time);
virtual void deserialization(MyGUI::xml::ElementPtr _node, MyGUI::Version _version);
private:
float mFadeDuration;
int mFadeType;
bool mDestroy;
float mAlpha;
std::vector<int> mSpeed;
};
}
#endif // FADE_NODE_ANIMATOR_H_
|