mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-12-12 03:02:30 +00: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*);
|
||
|
|
static int32_t GetObjectType(void);
|
||
|
|
|
||
|
|
// Member variables
|
||
|
|
CSimpleFrame* m_parent = NULL; // TODO verify type
|
||
|
|
|
||
|
|
// Virtual member functions
|
||
|
|
virtual bool IsA(int32_t);
|
||
|
|
virtual CScriptObject* GetScriptObjectParent(void);
|
||
|
|
virtual bool IsA(const char*);
|
||
|
|
virtual const char* GetObjectTypeName(void);
|
||
|
|
virtual bool IsDragging(void);
|
||
|
|
virtual void PreOnAnimUpdate(void) {};
|
||
|
|
virtual void OnLayerUpdate(float);
|
||
|
|
virtual void NotifyAnimBegin(CSimpleAnimGroup*);
|
||
|
|
virtual void NotifyAnimEnd(CSimpleAnimGroup*);
|
||
|
|
virtual void StopAnimating(void);
|
||
|
|
virtual void AnimActivated(CSimpleAnimGroup*, int32_t, int32_t) {};
|
||
|
|
virtual void AnimDeactivated(CSimpleAnimGroup*, 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*, CStatus*);
|
||
|
|
virtual CLayoutFrame* GetLayoutParent(void);
|
||
|
|
virtual CLayoutFrame* GetLayoutFrameByName(const char*);
|
||
|
|
|
||
|
|
// Member functions
|
||
|
|
void LoadXML_Animations(XMLNode*, CStatus*);
|
||
|
|
bool ProtectedFunctionsAllowed(void);
|
||
|
|
};
|
||
|
|
|
||
|
|
#endif
|