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
|
/*!
@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();
void attach(MyGUI::ILayerNode* _node) override;
void create() override;
void destroy() override;
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) override;
private:
void addTime(float _time);
void deserialization(MyGUI::xml::ElementPtr _node, MyGUI::Version _version) override;
private:
float mFadeDuration{0};
int mFadeType{0};
bool mDestroy{true};
float mAlpha{0};
std::vector<int> mSpeed;
};
}
#endif // FADE_NODE_ANIMATOR_H_
|