mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-10-28 06:46:03 +03:00
53 lines
1.9 KiB
C++
53 lines
1.9 KiB
C++
#ifndef UI_C_SCRIPT_REGION_HPP
|
|
#define UI_C_SCRIPT_REGION_HPP
|
|
|
|
#include "ui/CLayoutFrame.hpp"
|
|
#include "ui/CScriptObject.hpp"
|
|
|
|
class C2Vector;
|
|
class CSimpleAnimGroup;
|
|
class CSimpleFrame;
|
|
class XMLNode;
|
|
struct lua_State;
|
|
|
|
class CScriptRegion : public CScriptObject, public CLayoutFrame {
|
|
public:
|
|
// Static members
|
|
static int32_t s_objectType;
|
|
static const char* s_objectTypeName;
|
|
|
|
// Static functions
|
|
static void RegisterScriptMethods(lua_State* L);
|
|
static int32_t GetObjectType();
|
|
|
|
// Member variables
|
|
CSimpleFrame* m_parent = nullptr; // TODO verify type
|
|
|
|
// Virtual member functions
|
|
virtual bool IsA(int32_t type);
|
|
virtual CScriptObject* GetScriptObjectParent();
|
|
virtual bool IsA(const char* typeName);
|
|
virtual const char* GetObjectTypeName();
|
|
virtual bool IsDragging();
|
|
virtual void PreOnAnimUpdate() {};
|
|
virtual void OnLayerUpdate(float elapsedSec);
|
|
virtual void NotifyAnimBegin(CSimpleAnimGroup* animGroup);
|
|
virtual void NotifyAnimEnd(CSimpleAnimGroup* animGroup);
|
|
virtual void StopAnimating();
|
|
virtual void AnimActivated(CSimpleAnimGroup* animGroup, int32_t, int32_t) {};
|
|
virtual void AnimDeactivated(CSimpleAnimGroup* animGroup, int32_t, int32_t) {};
|
|
virtual void AddAnimTranslation(CScriptRegion*, const C2Vector&) {};
|
|
virtual void AddAnimRotation(CScriptRegion*, FRAMEPOINT, const C2Vector&, float) {};
|
|
virtual void AddAnimScale(CScriptRegion*, FRAMEPOINT, const C2Vector&, const C2Vector&) {};
|
|
virtual void AddAnimAlpha(CScriptRegion*, int16_t) {};
|
|
virtual void LoadXML(XMLNode* node, CStatus* status);
|
|
virtual CLayoutFrame* GetLayoutParent();
|
|
virtual CLayoutFrame* GetLayoutFrameByName(const char* name);
|
|
|
|
// Member functions
|
|
void LoadXML_Animations(XMLNode* node, CStatus* status);
|
|
bool ProtectedFunctionsAllowed();
|
|
};
|
|
|
|
#endif
|