cocos2d-x  3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
CCPlatformMacros.h File Reference
#include "ccConfig.h"
#include "CCPlatformConfig.h"
#include "CCPlatformDefine.h"

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   0
 Enable it if you want to cache the texture data. More...
 
#define CC_REBIND_INDICES_BUFFER   0
#define NS_CC_BEGIN
#define NS_CC_END
#define USING_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())
var __CCLOGWITHFUNCTION (   var,
  ... 
)    log("%s : %s",__FUNCTION__, StringUtils::format(s, ##__VA_ARGS__).c_str())
local __CCLOGWITHFUNCTION (   local,
  ... 
)    log("%s : %s",__FUNCTION__, StringUtils::format(s, ##__VA_ARGS__).c_str())
#define CC_BREAK_IF (   cond)    if(cond) break
#define CC_DEPRECATED_ATTRIBUTE
var CC_DEPRECATED_ATTRIBUTE
local 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(); \
CC_DISALLOW_COPY_AND_ASSIGN(TypeName)
var
CC_DISALLOW_IMPLICIT_CONSTRUCTORS
(   var)
Value:
TypeName(); \
CC_DISALLOW_COPY_AND_ASSIGN(TypeName)
local
CC_DISALLOW_IMPLICIT_CONSTRUCTORS
(   local)
Value:
TypeName(); \
CC_DISALLOW_COPY_AND_ASSIGN(TypeName)
#define
CC_ENABLE_CACHE_TEXTURE_DATA   0

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

var CC_ENABLE_CACHE_TEXTURE_DATA   0

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

local CC_ENABLE_CACHE_TEXTURE_DATA   0

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 
)
var CC_FORMAT_PRINTF (   var,
  var 
)
local CC_FORMAT_PRINTF (   local,
  local 
)
#define CC_FORMAT_PRINTF_SIZE_T   "%08zX"
var CC_FORMAT_PRINTF_SIZE_T   "%08zX"
local 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.
var CC_PROPERTY (   var,
  var,
  var 
)
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.
local CC_PROPERTY (   local,
  local,
  local 
)
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);
var CC_PROPERTY_PASS_BY_REF (   var,
  var,
  var 
)
Value:
protected: varType varName;\
public: virtual const varType& get##funName(void) const;\
public: virtual void set##funName(const varType& var);
local CC_PROPERTY_PASS_BY_REF (   local,
  local,
  local 
)
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.
var CC_PROPERTY_READONLY (   var,
  var,
  var 
)
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;
var
CC_PROPERTY_READONLY_PASS_BY_REF
(   var,
  var,
  var 
)
Value:
protected: varType varName;\
public: virtual const varType& get##funName(void) const;
local
CC_PROPERTY_READONLY_PASS_BY_REF
(   local,
  local,
  local 
)
Value:
protected: varType varName;\
public: virtual const varType& get##funName(void) const;
#define CC_REBIND_INDICES_BUFFER   0
var CC_REBIND_INDICES_BUFFER   0
local CC_REBIND_INDICES_BUFFER   0
#define
CC_REQUIRES_NULL_TERMINATION
var CC_REQUIRES_NULL_TERMINATION
local CC_REQUIRES_NULL_TERMINATION
#define CC_SAFE_DELETE (   p)    do { delete (p); (p) = nullptr; } while(0)
var CC_SAFE_DELETE (   var)    do { delete (p); (p) = nullptr; } while(0)
local CC_SAFE_DELETE (   local)    do { delete (p); (p) = nullptr; } while(0)
#define CC_SAFE_DELETE_ARRAY (   p)    do { if(p) { delete[] (p); (p) = nullptr; } } while(0)
var CC_SAFE_DELETE_ARRAY (   var)    do { if(p) { delete[] (p); (p) = nullptr; } } while(0)
local CC_SAFE_DELETE_ARRAY (   local)    do { if(p) { delete[] (p); (p) = nullptr; } } while(0)
#define CC_SAFE_FREE (   p)    do { if(p) { free(p); (p) = nullptr; } } while(0)
var CC_SAFE_FREE (   var)    do { if(p) { free(p); (p) = nullptr; } } while(0)
#define CC_SAFE_RELEASE (   p)    do { if(p) { (p)->release(); } } while(0)
var CC_SAFE_RELEASE (   var)    do { if(p) { (p)->release(); } } while(0)
#define CC_SAFE_RELEASE_NULL (   p)    do { if(p) { (p)->release(); (p) = nullptr; } } while(0)
var CC_SAFE_RELEASE_NULL (   var)    do { if(p) { (p)->release(); (p) = nullptr; } } while(0)
local CC_SAFE_RELEASE_NULL (   local)    do { if(p) { (p)->release(); (p) = nullptr; } } while(0)
#define CC_SAFE_RETAIN (   p)    do { if(p) { (p)->retain(); } } while(0)
var CC_SAFE_RETAIN (   var)    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.
var CC_SYNTHESIZE (   var,
  var,
  var 
)
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; }
var CC_SYNTHESIZE_PASS_BY_REF (   var,
  var,
  var 
)
Value:
protected: varType varName;\
public: virtual const varType& get##funName(void) const { return varName; }\
public: virtual void set##funName(const varType& var){ varName = var; }
local CC_SYNTHESIZE_PASS_BY_REF (   local,
  local,
  local 
)
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.
var CC_SYNTHESIZE_READONLY (   var,
  var,
  var 
)
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.
local CC_SYNTHESIZE_READONLY (   local,
  local,
  local 
)
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; }
var
CC_SYNTHESIZE_READONLY_PASS_BY_REF
(   var,
  var,
  var 
)
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_RETAIN(var); \
CC_SAFE_RELEASE(varName); \
varName = var; \
} \
}
var CC_SYNTHESIZE_RETAIN (   var,
  var,
  var 
)
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_RETAIN(var); \
CC_SAFE_RELEASE(varName); \
varName = var; \
} \
}
local CC_SYNTHESIZE_RETAIN (   local,
  local,
  local 
)
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_RETAIN(var); \
CC_SAFE_RELEASE(varName); \
varName = var; \
} \
}
#define CC_UNUSED
var CC_UNUSED
local CC_UNUSED
#define CCLOG (   ...)    do {} while (0)
#define CCLOGERROR (   ...)    do {} while (0)
var CCLOGERROR (   ...)    do {} while (0)
#define CCLOGINFO (   ...)    do {} while (0)
var CCLOGINFO (   ...)    do {} while (0)
local CCLOGINFO (   ...)    do {} while (0)
#define CCLOGWARN (   ...)    do {} while (0)
var CCLOGWARN (   ...)    do {} while (0)
local 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 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
var CREATE_FUNC (   var)
Value:
static __TYPE__* create() \
{ \
__TYPE__ *pRet = new __TYPE__(); \
if (pRet && pRet->init()) \
{ \
pRet->autorelease(); \
return pRet; \
} \
else \
{ \
delete pRet; \
pRet = NULL; \
return NULL; \
} \
}

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 (   ...)
var 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 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_BEGIN
var NS_CC_BEGIN
local NS_CC_BEGIN
#define NS_CC_END
#define USING_NS_CC
var USING_NS_CC
local USING_NS_CC