cocos2d-x  3.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
CCPlatformMacros.h File Reference

Macros

#define CREATE_FUNC(__TYPE__)
 define some platform specific macros More...
 
#define NODE_FUNC(__TYPE__)
 define a node function for a specific type, such as Layer More...
 
#define CC_ENABLE_CACHE_TEXTURE_DATA   1
 Enable it if you want to cache the texture data. More...
 
#define CC_REBIND_INDICES_BUFFER   1
 
#define NS_CC_BEGIN
 
#define NS_CC_END
 
#define USING_NS_CC
 
#define NS_CC
 
#define CC_PROPERTY_READONLY(varType, varName, funName)
 CC_PROPERTY_READONLY is used to declare a protected variable. More...
 
#define CC_PROPERTY_READONLY_PASS_BY_REF(varType, varName, funName)
 
#define CC_PROPERTY(varType, varName, funName)
 CC_PROPERTY is used to declare a protected variable. More...
 
#define CC_PROPERTY_PASS_BY_REF(varType, varName, funName)
 
#define CC_SYNTHESIZE_READONLY(varType, varName, funName)
 CC_SYNTHESIZE_READONLY is used to declare a protected variable. More...
 
#define CC_SYNTHESIZE_READONLY_PASS_BY_REF(varType, varName, funName)
 
#define CC_SYNTHESIZE(varType, varName, funName)
 CC_SYNTHESIZE is used to declare a protected variable. More...
 
#define CC_SYNTHESIZE_PASS_BY_REF(varType, varName, funName)
 
#define CC_SYNTHESIZE_RETAIN(varType, varName, funName)
 
#define CC_SAFE_DELETE(p)   do { delete (p); (p) = nullptr; } while(0)
 
#define CC_SAFE_DELETE_ARRAY(p)   do { if(p) { delete[] (p); (p) = nullptr; } } while(0)
 
#define CC_SAFE_FREE(p)   do { if(p) { free(p); (p) = nullptr; } } while(0)
 
#define CC_SAFE_RELEASE(p)   do { if(p) { (p)->release(); } } while(0)
 
#define CC_SAFE_RELEASE_NULL(p)   do { if(p) { (p)->release(); (p) = nullptr; } } while(0)
 
#define CC_SAFE_RETAIN(p)   do { if(p) { (p)->retain(); } } while(0)
 
#define CC_BREAK_IF(cond)   if(cond) break
 
#define __CCLOGWITHFUNCTION(s,...)   log("%s : %s",__FUNCTION__, StringUtils::format(s, ##__VA_ARGS__).c_str())
 
#define CCLOG(...)   do {} while (0)
 
#define CCLOGINFO(...)   do {} while (0)
 
#define CCLOGERROR(...)   do {} while (0)
 
#define CCLOGWARN(...)   do {} while (0)
 
#define LUALOG(...)
 
#define CC_DISALLOW_COPY_AND_ASSIGN(TypeName)
 
#define CC_DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName)
 
#define CC_DEPRECATED_ATTRIBUTE
 
#define CC_FORMAT_PRINTF(formatPos, argPos)
 
#define CC_FORMAT_PRINTF_SIZE_T   "%08zX"
 
#define CC_UNUSED
 
#define CC_REQUIRES_NULL_TERMINATION
 

Macro Definition Documentation

#define __CCLOGWITHFUNCTION (   s,
  ... 
)    log("%s : %s",__FUNCTION__, StringUtils::format(s, ##__VA_ARGS__).c_str())
#define CC_BREAK_IF (   cond)    if(cond) break
#define CC_DEPRECATED_ATTRIBUTE
#define CC_DISALLOW_COPY_AND_ASSIGN (   TypeName)
Value:
TypeName(const TypeName &); \
TypeName &operator =(const TypeName &);
#define CC_DISALLOW_IMPLICIT_CONSTRUCTORS (   TypeName)
Value:
TypeName(); \
#define CC_DISALLOW_COPY_AND_ASSIGN(TypeName)
Definition: CCPlatformMacros.h:248
#define CC_ENABLE_CACHE_TEXTURE_DATA   1

Enable it if you want to cache the texture data.

Not enabling for Emscripten any more – doesn't seem necessary and don't want to be different from other platforms unless there's a good reason.

It's new in cocos2d-x since v0.99.5

#define CC_FORMAT_PRINTF (   formatPos,
  argPos 
)
#define CC_FORMAT_PRINTF_SIZE_T   "%08zX"
#define CC_PROPERTY (   varType,
  varName,
  funName 
)
Value:
protected: varType varName;\
public: virtual varType get##funName(void);\
public: virtual void set##funName(varType var);

CC_PROPERTY is used to declare a protected variable.

We can use getter to read the variable, and use the setter to change the variable.

Parameters
varTypethe type of variable.
varNamevariable name.
funName"get + funName" will be the name of the getter. "set + funName" will be the name of the setter.
Warning
The getter and setter are public virtual functions, you should rewrite them first. The variables and methods declared after CC_PROPERTY are all public. If you need protected or private, please declare.
#define CC_PROPERTY_PASS_BY_REF (   varType,
  varName,
  funName 
)
Value:
protected: varType varName;\
public: virtual const varType& get##funName(void) const;\
public: virtual void set##funName(const varType& var);
#define CC_PROPERTY_READONLY (   varType,
  varName,
  funName 
)
Value:
protected: varType varName;\
public: virtual varType get##funName(void) const;

CC_PROPERTY_READONLY is used to declare a protected variable.

We can use getter to read the variable.

Parameters
varTypethe type of variable.
varNamevariable name.
funName"get + funName" will be the name of the getter.
Warning
The getter is a public virtual function, you should rewrite it first. The variables and methods declared after CC_PROPERTY_READONLY are all public. If you need protected or private, please declare.
#define CC_PROPERTY_READONLY_PASS_BY_REF (   varType,
  varName,
  funName 
)
Value:
protected: varType varName;\
public: virtual const varType& get##funName(void) const;
#define CC_REBIND_INDICES_BUFFER   1
#define CC_REQUIRES_NULL_TERMINATION
#define CC_SAFE_DELETE (   p)    do { delete (p); (p) = nullptr; } while(0)
#define CC_SAFE_DELETE_ARRAY (   p)    do { if(p) { delete[] (p); (p) = nullptr; } } while(0)
#define CC_SAFE_FREE (   p)    do { if(p) { free(p); (p) = nullptr; } } while(0)
#define CC_SAFE_RELEASE (   p)    do { if(p) { (p)->release(); } } while(0)
#define CC_SAFE_RELEASE_NULL (   p)    do { if(p) { (p)->release(); (p) = nullptr; } } while(0)
#define CC_SAFE_RETAIN (   p)    do { if(p) { (p)->retain(); } } while(0)
#define CC_SYNTHESIZE (   varType,
  varName,
  funName 
)
Value:
protected: varType varName;\
public: virtual varType get##funName(void) const { return varName; }\
public: virtual void set##funName(varType var){ varName = var; }

CC_SYNTHESIZE is used to declare a protected variable.

We can use getter to read the variable, and use the setter to change the variable.

Parameters
varTypethe type of variable.
varNamevariable name.
funName"get + funName" will be the name of the getter. "set + funName" will be the name of the setter.
Warning
The getter and setter are public inline functions. The variables and methods declared after CC_SYNTHESIZE are all public. If you need protected or private, please declare.
#define CC_SYNTHESIZE_PASS_BY_REF (   varType,
  varName,
  funName 
)
Value:
protected: varType varName;\
public: virtual const varType& get##funName(void) const { return varName; }\
public: virtual void set##funName(const varType& var){ varName = var; }
#define CC_SYNTHESIZE_READONLY (   varType,
  varName,
  funName 
)
Value:
protected: varType varName;\
public: virtual varType get##funName(void) const { return varName; }

CC_SYNTHESIZE_READONLY is used to declare a protected variable.

We can use getter to read the variable.

Parameters
varTypethe type of variable.
varNamevariable name.
funName"get + funName" will be the name of the getter.
Warning
The getter is a public inline function. The variables and methods declared after CC_SYNTHESIZE_READONLY are all public. If you need protected or private, please declare.
#define CC_SYNTHESIZE_READONLY_PASS_BY_REF (   varType,
  varName,
  funName 
)
Value:
protected: varType varName;\
public: virtual const varType& get##funName(void) const { return varName; }
#define CC_SYNTHESIZE_RETAIN (   varType,
  varName,
  funName 
)
Value:
private: varType varName; \
public: virtual varType get##funName(void) const { return varName; } \
public: virtual void set##funName(varType var) \
{ \
if (varName != var) \
{ \
CC_SAFE_RELEASE(varName); \
varName = var; \
} \
}
#define CC_SAFE_RELEASE(p)
Definition: CCPlatformMacros.h:205
#define CC_SAFE_RETAIN(p)
Definition: CCPlatformMacros.h:207
#define CC_UNUSED
#define CCLOG (   ...)    do {} while (0)
#define CCLOGERROR (   ...)    do {} while (0)
#define CCLOGINFO (   ...)    do {} while (0)
#define CCLOGWARN (   ...)    do {} while (0)
#define CREATE_FUNC (   __TYPE__)
Value:
static __TYPE__* create() \
{ \
__TYPE__ *pRet = new __TYPE__(); \
if (pRet && pRet->init()) \
{ \
pRet->autorelease(); \
return pRet; \
} \
else \
{ \
delete pRet; \
pRet = NULL; \
return NULL; \
} \
}
#define NULL
Definition: CCPlatformDefine-android.h:61

define some platform specific macros

define a create function for a specific type, such as Layer

Parameters
__TYPE__class type to add create(), such as Layer
#define LUALOG (   ...)
#define NODE_FUNC (   __TYPE__)
Value:
CC_DEPRECATED_ATTRIBUTE static __TYPE__* node() \
{ \
__TYPE__ *pRet = new __TYPE__(); \
if (pRet && pRet->init()) \
{ \
pRet->autorelease(); \
return pRet; \
} \
else \
{ \
delete pRet; \
pRet = NULL; \
return NULL; \
} \
}
#define NULL
Definition: CCPlatformDefine-android.h:61
#define CC_DEPRECATED_ATTRIBUTE
Definition: CCPlatformMacros.h:271

define a node function for a specific type, such as Layer

Parameters
__TYPE__class type to add node(), such as Layer
Deprecated:
This interface will be deprecated sooner or later.
#define NS_CC
#define NS_CC_BEGIN
#define NS_CC_END
#define USING_NS_CC