// // HLayoutObject.h // SteveMaggieCpp // // Created by Katarzyna Kalinowska-Górska on 16.05.2017. // // #ifndef HLayoutObject_h #define HLayoutObject_h #include "json/document.h" #include "ui/CocosGUI.h" #include "cocos2d.h" class HLayoutViewInterface; class HLayoutObject { public: std::string className; std::string objectName; virtual ~HLayoutObject(); virtual void loadPropertiesFromJSON(const rapidjson::Value& jsonValue, HLayoutViewInterface* scene = NULL, const std::string resFolder = "", const std::string altResFolder = "") = 0; virtual void loadCommonPropertiesFromJSON(const rapidjson::Value& jsonValue, HLayoutViewInterface* scene = NULL, const std::string resFolder = "", const std::string altResFolder = ""); virtual void prepareSize(const rapidjson::Value& jsonValue, float& width, float& height); virtual bool isWidget() { return false; }; // for widgets virtual void setOnTouchBeganCallback(std::function callback){}; virtual void setOnTouchEndedCallback(std::function callback){}; virtual void setOnTouchCancelledCallback(std::function callback){}; virtual std::string getObjectName(){ return objectName; }; virtual std::string getClassName(){ return className; }; }; #endif /* HLayoutObject_h */