Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into Bridge

This commit is contained in:
samuele3hu 2013-09-14 19:53:08 +08:00
commit 85ca0136f0
265 changed files with 5591 additions and 1638 deletions

View File

@ -56,6 +56,10 @@ public:
@brief Get the shared Engine object,it will new one when first time be called
*/
static SimpleAudioEngine* getInstance();
/**
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE static SimpleAudioEngine* sharedEngine() { return SimpleAudioEngine::getInstance(); }
/**
@ -73,6 +77,8 @@ public:
/**
@brief Preload background music
@param pszFilePath The path of the background music file.
* @js preloadMusic
* @lua preloadMusic
*/
virtual void preloadBackgroundMusic(const char* pszFilePath);
@ -80,39 +86,53 @@ public:
@brief Play background music
@param pszFilePath The path of the background music file,or the FileName of T_SoundResInfo
@param bLoop Whether the background music loop or not
* @js playMusic
* @lua playMusic
*/
virtual void playBackgroundMusic(const char* pszFilePath, bool bLoop = false);
/**
@brief Stop playing background music
@param bReleaseData If release the background music data or not.As default value is false
* @js stopMusic
* @lua stopMusic
*/
virtual void stopBackgroundMusic(bool bReleaseData = false);
/**
@brief Pause playing background music
* @js pauseMusic
* @lua pauseMusic
*/
virtual void pauseBackgroundMusic();
/**
@brief Resume playing background music
* @js resumeMusic
* @lua resumeMusic
*/
virtual void resumeBackgroundMusic();
/**
@brief Rewind playing background music
* @js rewindMusic
* @lua rewindMusic
*/
virtual void rewindBackgroundMusic();
/**
@brief Indicates whether any background music can be played or not.
@return <i>true</i> if background music can be played, otherwise <i>false</i>.
* @js willPlayMusic
* @lua willPlayMusic
*/
virtual bool willPlayBackgroundMusic();
/**
@brief Indicates whether the background music is playing
@return <i>true</i> if the background music is playing, otherwise <i>false</i>
* @js isMusicPlaying
* @lua isMusicPlaying
*/
virtual bool isBackgroundMusicPlaying();
@ -122,12 +142,16 @@ public:
/**
@brief The volume of the background music within the range of 0.0 as the minimum and 1.0 as the maximum.
* @js getMusicVolume
* @lua getMusicVolume
*/
virtual float getBackgroundMusicVolume();
/**
@brief Set the volume of background music
@param volume must be within the range of 0.0 as the minimum and 1.0 as the maximum.
* @js setMusicVolume
* @lua setMusicVolume
*/
virtual void setBackgroundMusicVolume(float volume);

View File

@ -92,7 +92,7 @@ float Camera::getZEye(void)
return FLT_EPSILON;
}
void Camera::setEyeXYZ(float fEyeX, float fEyeY, float fEyeZ)
void Camera::setEye(float fEyeX, float fEyeY, float fEyeZ)
{
_eyeX = fEyeX;
_eyeY = fEyeY;
@ -101,7 +101,7 @@ void Camera::setEyeXYZ(float fEyeX, float fEyeY, float fEyeZ)
_dirty = true;
}
void Camera::setCenterXYZ(float fCenterX, float fCenterY, float fCenterZ)
void Camera::setCenter(float fCenterX, float fCenterY, float fCenterZ)
{
_centerX = fCenterX;
_centerY = fCenterY;
@ -110,7 +110,7 @@ void Camera::setCenterXYZ(float fCenterX, float fCenterY, float fCenterZ)
_dirty = true;
}
void Camera::setUpXYZ(float fUpX, float fUpY, float fUpZ)
void Camera::setUp(float fUpX, float fUpY, float fUpZ)
{
_upX = fUpX;
_upY = fUpY;
@ -119,21 +119,21 @@ void Camera::setUpXYZ(float fUpX, float fUpY, float fUpZ)
_dirty = true;
}
void Camera::getEyeXYZ(float *pEyeX, float *pEyeY, float *pEyeZ) const
void Camera::getEye(float *pEyeX, float *pEyeY, float *pEyeZ) const
{
*pEyeX = _eyeX;
*pEyeY = _eyeY;
*pEyeZ = _eyeZ;
}
void Camera::getCenterXYZ(float *pCenterX, float *pCenterY, float *pCenterZ) const
void Camera::getCenter(float *pCenterX, float *pCenterY, float *pCenterZ) const
{
*pCenterX = _centerX;
*pCenterY = _centerY;
*pCenterZ = _centerZ;
}
void Camera::getUpXYZ(float *pUpX, float *pUpY, float *pUpZ) const
void Camera::getUp(float *pUpX, float *pUpY, float *pUpZ) const
{
*pUpX = _upX;
*pUpY = _upY;

View File

@ -68,12 +68,21 @@ class CC_DLL Camera : public Object
public:
/** returns the Z eye */
static float getZEye();
/**
* @js ctor
*/
Camera(void);
/**
* @js NA
* @lua NA
*/
~Camera(void);
void init(void);
/**
* @js NA
* @lua NA
*/
const char* description(void) const;
/** sets the dirty value */
@ -86,18 +95,68 @@ public:
/** Sets the camera using gluLookAt using its eye, center and up_vector */
void locate(void);
/** sets the eye values in points */
void setEyeXYZ(float fEyeX, float fEyeY, float fEyeZ);
void setEye(float fEyeX, float fEyeY, float fEyeZ);
/**
@deprecated. Use setEye() instead
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE void setEyeXYZ(float fEyeX, float fEyeY, float fEyeZ){ setEye(fEyeX, fEyeY, fEyeZ);}
/** sets the center values in points */
void setCenterXYZ(float fCenterX, float fCenterY, float fCenterZ);
void setCenter(float fCenterX, float fCenterY, float fCenterZ);
/**
@deprecated. Use setCenter() instead
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE void setCenterXYZ(float fCenterX, float fCenterY, float fCenterZ){ setCenter(fCenterX,fCenterY,fCenterZ);}
/** sets the up values */
void setUpXYZ(float fUpX, float fUpY, float fUpZ);
void setUp(float fUpX, float fUpY, float fUpZ);
/**
@deprecated. Use setUp() instead
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE void setUpXYZ(float fUpX, float fUpY, float fUpZ){ setUp(fUpX,fUpY,fUpZ); }
/** get the eye vector values in points */
void getEyeXYZ(float *pEyeX, float *pEyeY, float *pEyeZ) const;
/** get the center vector values int points */
void getCenterXYZ(float *pCenterX, float *pCenterY, float *pCenterZ) const;
/** get the up vector values */
void getUpXYZ(float *pUpX, float *pUpY, float *pUpZ) const;
/** get the eye vector values in points
* @code
* when this function bound to js or lua,the input params are changed
* in js: var getEye()
* in lua:local getEye()
* @endcode
*/
void getEye(float *pEyeX, float *pEyeY, float *pEyeZ) const;
/**
@deprecated. Use getEye() instead
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE void getEyeXYZ(float *pEyeX, float *pEyeY, float *pEyeZ) const { getEye(pEyeX, pEyeY, pEyeZ); }
/** get the center vector values int points
* when this function bound to js or lua,the input params are changed
* in js: var getCenter()
* in lua:local getCenter()
*/
void getCenter(float *pCenterX, float *pCenterY, float *pCenterZ) const;
/**
@deprecated. Use getCenter() instead
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE void getCenterXYZ(float *pCenterX, float *pCenterY, float *pCenterZ) const{ getCenter(pCenterX,pCenterY,pCenterZ); }
/** get the up vector values
* when this function bound to js or lua,the input params are changed
* in js: var getUp()
* in lua:local getUp()
*/
void getUp(float *pUpX, float *pUpY, float *pUpZ) const;
/**
@deprecated. Use getUp() instead
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE void getUpXYZ(float *pUpX, float *pUpY, float *pUpZ) const{ getUp(pUpX, pUpY, pUpZ); }
protected:
float _eyeX;

View File

@ -60,7 +60,10 @@ public:
CC_DEPRECATED_ATTRIBUTE static void purgeConfiguration();
public:
/**
* @js NA
* @lua NA
*/
virtual ~Configuration();
/** OpenGL Max texture size. */

View File

@ -104,8 +104,14 @@ public:
/** @deprecated Use getInstance() instead */
CC_DEPRECATED_ATTRIBUTE static Director* sharedDirector() { return Director::getInstance(); }
/**
* @js ctor
*/
Director(void);
/**
* @js NA
* @lua NA
*/
virtual ~Director(void);
virtual bool init(void);
@ -127,7 +133,10 @@ public:
/** seconds per frame */
inline float getSecondsPerFrame() { return _secondsPerFrame; }
/** Get the EGLView, where everything is rendered */
/** Get the EGLView, where everything is rendered
* @js NA
* @lua NA
*/
inline EGLView* getOpenGLView() { return _openGLView; }
void setOpenGLView(EGLView *pobOpenGLView);
@ -142,6 +151,8 @@ public:
/** Sets an OpenGL projection
@since v0.8.2
* @js NA
* @lua NA
*/
inline Projection getProjection() { return _projection; }
void setProjection(Projection projection);
@ -169,8 +180,14 @@ public:
/** Director delegate. It shall implemente the DirectorDelegate protocol
@since v0.99.5
* @js NA
* @lua NA
*/
DirectorDelegate* getDelegate() const;
/**
* @js NA
* @lua NA
*/
void setDelegate(DirectorDelegate* delegate);
// window size
@ -250,6 +267,7 @@ public:
/** Ends the execution, releases the running scene.
It doesn't remove the OpenGL view from its parent. You have to do it manually.
* @lua endToLua
*/
void end();
@ -336,38 +354,52 @@ public:
/** Gets the TouchDispatcher associated with this director
@since v2.0
* @js NA
* @lua NA
*/
TouchDispatcher* getTouchDispatcher() const;
/** Sets the TouchDispatcher associated with this director
@since v2.0
* @js NA
* @lua NA
*/
void setTouchDispatcher(TouchDispatcher* touchDispatcher);
/** Gets the KeyboardDispatcher associated with this director
@note Supported on Mac and Linux only now.
@since v3.0
* @js NA
* @lua NA
*/
KeyboardDispatcher* getKeyboardDispatcher() const;
/** Sets the KeyboardDispatcher associated with this director
@note Supported on Mac and Linux only now.
@since v3.0
* @js NA
* @lua NA
*/
void setKeyboardDispatcher(KeyboardDispatcher* keyboardDispatcher);
/** Gets the KeypadDispatcher associated with this director
@since v2.0
* @js NA
* @lua NA
*/
KeypadDispatcher* getKeypadDispatcher() const;
/** Sets the KeypadDispatcher associated with this director
@since v2.0
* @js NA
* @lua NA
*/
void setKeypadDispatcher(KeypadDispatcher* keypadDispatcher);
/** Gets Accelerometer associated with this director
@since v2.0
*@js NA
*@lua NA
*/
Accelerometer* getAccelerometer() const;

View File

@ -50,7 +50,10 @@ public:
static Timer* create(Object *target, SEL_SCHEDULE selector);
/** Allocates a timer with a target, a selector and an interval in seconds. */
static Timer* create(Object *target, SEL_SCHEDULE selector, float seconds);
/** Allocates a timer with a script callback function and an interval in seconds. */
/** Allocates a timer with a script callback function and an interval in seconds.
* @js NA
* @lua NA
*/
static Timer* createWithScriptHandler(int nHandler, float seconds);
CC_DEPRECATED_ATTRIBUTE static Timer* timerWithTarget(Object *target, SEL_SCHEDULE selector) { return Timer::create(target, selector); }
@ -70,7 +73,10 @@ public:
float getInterval() const;
/** set interval in seconds */
void setInterval(float interval);
/**
* @js NA
* @lua NA
*/
SEL_SCHEDULE getSelector() const;
/** triggers the timer */
@ -120,8 +126,14 @@ public:
// Minimum priority level for user scheduling.
static const int PRIORITY_NON_SYSTEM_MIN;
/**
* @js ctor
*/
Scheduler();
/**
* @js NA
* @lua NA
*/
~Scheduler(void);
inline float getTimeScale(void) { return _timeScale; }
@ -136,6 +148,8 @@ public:
/** 'update' the scheduler.
You should NEVER call this method, unless you know what you are doing.
* @js NA
* @lua NA
*/
void update(float dt);
@ -220,6 +234,8 @@ public:
/** Returns whether or not the target is paused
@since v1.0.0
* In js: var isTargetPaused(var jsObject)
* @lua NA
*/
bool isTargetPaused(Object *target);

View File

@ -46,11 +46,19 @@ class CC_DLL Action : public Object, public Clonable
public:
/// Default tag used for all the actions
static const int INVALID_TAG = -1;
/**
* @js ctor
*/
Action(void);
/**
* @js NA
* @lua NA
*/
virtual ~Action(void);
/**
* @js NA
* @lua NA
*/
const char* description() const;
/** returns a clone of action */
@ -123,9 +131,16 @@ protected:
class CC_DLL FiniteTimeAction : public Action
{
public:
/**
* @js ctor
*/
FiniteTimeAction()
: _duration(0)
{}
/**
* @js NA
* @lua NA
*/
virtual ~FiniteTimeAction(){}
//! get duration in seconds of the action
inline float getDuration(void) const { return _duration; }
@ -157,8 +172,14 @@ class CC_DLL Speed : public Action
public:
/** create the action */
static Speed* create(ActionInterval* pAction, float fSpeed);
/**
* @js ctor
*/
Speed();
/**
* @js NA
* @lua NA
*/
virtual ~Speed(void);
inline float getSpeed(void) const { return _speed; }
@ -209,7 +230,9 @@ public:
* with no boundary.
*/
static Follow* create(Node *followedNode, const Rect& rect = Rect::ZERO);
/**
* @js ctor
*/
Follow()
: _followedNode(NULL)
, _boundarySet(false)
@ -220,6 +243,10 @@ public:
, _bottomBoundary(0.0)
, _worldRect(Rect::ZERO)
{}
/**
* @js NA
* @lua NA
*/
virtual ~Follow(void);
inline bool isBoundarySet(void) const { return _boundarySet; }

View File

@ -44,6 +44,9 @@ class Camera;
class CC_DLL ActionCamera : public ActionInterval //<NSCopying>
{
public:
/**
* @js ctor
*/
ActionCamera()
:_centerXOrig(0)
,_centerYOrig(0)
@ -55,6 +58,10 @@ public:
,_upYOrig(0)
,_upZOrig(0)
{}
/**
* @js NA
* @lua NA
*/
virtual ~ActionCamera(){}
// Overrides
@ -86,7 +93,9 @@ class CC_DLL OrbitCamera : public ActionCamera //<NSCopying>
public:
/** creates a OrbitCamera action with radius, delta-radius, z, deltaZ, x, deltaX */
static OrbitCamera* create(float t, float radius, float deltaRadius, float angleZ, float deltaAngleZ, float angleX, float deltaAngleX);
/**
* @js ctor
*/
OrbitCamera()
: _radius(0.0)
, _deltaRadius(0.0)
@ -99,6 +108,10 @@ public:
, _radX(0.0)
, _radDeltaX(0.0)
{}
/**
* @js NA
* @lua NA
*/
~OrbitCamera(){}
/** initializes a OrbitCamera action with radius, delta-radius, z, deltaZ, x, deltaX */

View File

@ -58,43 +58,78 @@ class CC_DLL PointArray : public Object, public Clonable
{
public:
/** creates and initializes a Points array with capacity */
/** creates and initializes a Points array with capacity
* @js NA
*/
static PointArray* create(unsigned int capacity);
/**
* @js NA
* @lua NA
*/
virtual ~PointArray();
/**
* @js NA
* @lua NA
*/
PointArray();
/** initializes a Catmull Rom config with a capacity hint */
/** initializes a Catmull Rom config with a capacity hint
* @js NA
*/
bool initWithCapacity(unsigned int capacity);
/** appends a control point */
/** appends a control point
* @js NA
*/
void addControlPoint(Point controlPoint);
/** inserts a controlPoint at index */
/** inserts a controlPoint at index
* @js NA
*/
void insertControlPoint(Point &controlPoint, unsigned int index);
/** replaces an existing controlPoint at index */
/** replaces an existing controlPoint at index
* @js NA
*/
void replaceControlPoint(Point &controlPoint, unsigned int index);
/** get the value of a controlPoint at a given index */
/** get the value of a controlPoint at a given index
* @js NA
*/
Point getControlPointAtIndex(unsigned int index);
/** deletes a control point at a given index */
/** deletes a control point at a given index
* @js NA
*/
void removeControlPointAtIndex(unsigned int index);
/** returns the number of objects of the control point array */
/** returns the number of objects of the control point array
* @js NA
*/
unsigned int count() const;
/** returns a new copy of the array reversed. User is responsible for releasing this copy */
/** returns a new copy of the array reversed. User is responsible for releasing this copy
* @js NA
*/
PointArray* reverse() const;
/** reverse the current control point array inline, without generating a new one */
/** reverse the current control point array inline, without generating a new one
* @js NA
*/
void reverseInline();
/**
* @js NA
* @lua NA
*/
virtual PointArray* clone() const;
/**
* @js NA
*/
const std::vector<Point*>* getControlPoints() const;
/**
* @js NA
*/
void setControlPoints(std::vector<Point*> *controlPoints);
private:
/** Array that contains the control points */
@ -109,10 +144,23 @@ class CC_DLL CardinalSplineTo : public ActionInterval
{
public:
/** creates an action with a Cardinal Spline array of points and tension */
/** creates an action with a Cardinal Spline array of points and tension
* @code
* when this function bound to js or lua,the input params are changed
* in js: var create(var t,var table)
* in lua: lcaol create(local t, local table)
* @endcode
*/
static CardinalSplineTo* create(float duration, PointArray* points, float tension);
/**
* @js NA
* @lua NA
*/
virtual ~CardinalSplineTo();
/**
* @js NA
* @lua NA
*/
CardinalSplineTo();
/** initializes the action with a duration and an array of points */
@ -121,6 +169,10 @@ public:
virtual void updatePosition(Point &newPos);
inline PointArray* getPoints() { return _points; }
/**
* @js NA
* @lua NA
*/
inline void setPoints(PointArray* points)
{
CC_SAFE_RETAIN(points);
@ -151,7 +203,13 @@ class CC_DLL CardinalSplineBy : public CardinalSplineTo
{
public:
/** creates an action with a Cardinal Spline array of points and tension */
/** creates an action with a Cardinal Spline array of points and tension
* @code
* when this function bound to js or lua,the input params are changed
* in js: var create(var t,var table)
* in lua: lcaol create(local t, local table)
* @endcode
*/
static CardinalSplineBy* create(float duration, PointArray* points, float tension);
CardinalSplineBy();
@ -175,7 +233,13 @@ class CC_DLL CatmullRomTo : public CardinalSplineTo
{
public:
/** creates an action with a Cardinal Spline array of points and tension */
/** creates an action with a Cardinal Spline array of points and tension
* @code
* when this function bound to js or lua,the input params are changed
* in js: var create(var dt,var table)
* in lua: lcaol create(local dt, local table)
* @endcode
*/
static CatmullRomTo* create(float dt, PointArray* points);
/** initializes the action with a duration and an array of points */
@ -194,7 +258,13 @@ public:
class CC_DLL CatmullRomBy : public CardinalSplineBy
{
public:
/** creates an action with a Cardinal Spline array of points and tension */
/** creates an action with a Cardinal Spline array of points and tension
* @code
* when this function bound to js or lua,the input params are changed
* in js: var create(var dt,var table)
* in lua: lcaol create(local dt, local table)
* @endcode
*/
static CatmullRomBy* create(float dt, PointArray* points);
/** initializes the action with a duration and an array of points */

View File

@ -44,6 +44,10 @@ class Object;
class CC_DLL ActionEase : public ActionInterval
{
public:
/**
* @js NA
* @lua NA
*/
virtual ~ActionEase(void);
/** initializes the action */
@ -72,6 +76,10 @@ protected:
class CC_DLL EaseRateAction : public ActionEase
{
public:
/**
* @js NA
* @lua NA
*/
virtual ~EaseRateAction(void);
/** Initializes the action with the inner action and the rate parameter */

View File

@ -66,19 +66,34 @@ public:
/** returns the grid */
virtual GridBase* getGrid(void);
/** returns the vertex than belongs to certain position in the grid */
/** returns the vertex than belongs to certain position in the grid
* @js NA
* @lua NA
*/
Vertex3F getVertex(const Point& position) const;
/** @deprecated Use getVertex() instead */
/** @deprecated Use getVertex() instead
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE inline Vertex3F vertex(const Point& position) { return getVertex(position); }
/** returns the non-transformed vertex than belongs to certain position in the grid */
/** returns the non-transformed vertex than belongs to certain position in the grid
* @js NA
* @lua NA
*/
Vertex3F getOriginalVertex(const Point& position) const;
/** @deprecated Use getOriginalVertex() instead */
/** @deprecated Use getOriginalVertex() instead
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE inline Vertex3F originalVertex(const Point& position) { return getOriginalVertex(position); }
/** sets a new vertex to a certain position of the grid */
/** sets a new vertex to a certain position of the grid
* @js NA
* @lua NA
*/
void setVertex(const Point& position, const Vertex3F& vertex);
// Overrides
@ -89,22 +104,40 @@ public:
class CC_DLL TiledGrid3DAction : public GridAction
{
public:
/** creates the action with size and duration */
/** creates the action with size and duration
* @js NA
* @lua NA
*/
static TiledGrid3DAction* create(float duration, const Size& gridSize);
/** returns the tile that belongs to a certain position of the grid */
/** returns the tile that belongs to a certain position of the grid
* @js NA
* @lua NA
*/
Quad3 getTile(const Point& position) const;
/** @deprecated Use getTile() instead */
/** @deprecated Use getTile() instead
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE Quad3 tile(const Point& position) { return getTile(position); }
/** returns the non-transformed tile that belongs to a certain position of the grid */
/** returns the non-transformed tile that belongs to a certain position of the grid
* @js NA
* @lua NA
*/
Quad3 getOriginalTile(const Point& position) const;
/** @deprecated Use getOriginalTile() instead */
/** @deprecated Use getOriginalTile() instead
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE Quad3 originalTile(const Point& position) { return getOriginalTile(position); }
/** sets a new tile to a certain position of the grid */
/** sets a new tile to a certain position of the grid
* @js NA
* @lua NA
*/
void setTile(const Point& position, const Quad3& coords);
/** returns the grid */
@ -120,7 +153,10 @@ class CC_DLL AccelDeccelAmplitude : public ActionInterval
public:
/** creates the action with an inner action that has the amplitude property, and a duration time */
static AccelDeccelAmplitude* create(Action *pAction, float duration);
/**
* @js NA
* @lua NA
*/
virtual ~AccelDeccelAmplitude(void);
/** initializes the action with an inner action that has the amplitude property, and a duration time */
bool initWithAction(Action *pAction, float duration);
@ -150,7 +186,10 @@ class CC_DLL AccelAmplitude : public ActionInterval
public:
/** creates the action with an inner action that has the amplitude property, and a duration time */
static AccelAmplitude* create(Action *pAction, float duration);
/**
* @js NA
* @lua NA
*/
virtual ~AccelAmplitude(void);
/** initializes the action with an inner action that has the amplitude property, and a duration time */
@ -178,7 +217,10 @@ class CC_DLL DeccelAmplitude : public ActionInterval
public:
/** creates the action with an inner action that has the amplitude property, and a duration time */
static DeccelAmplitude* create(Action *pAction, float duration);
/**
* @js NA
* @lua NA
*/
virtual ~DeccelAmplitude();
/** initializes the action with an inner action that has the amplitude property, and a duration time */
bool initWithAction(Action *pAction, float duration);

View File

@ -225,6 +225,9 @@ class CC_DLL CallFunc : public ActionInstant //<NSCopying>
public:
/** creates the action with the callback of type std::function<void()>.
This is the preferred way to create the callback.
* When this funtion bound in js or lua ,the input param will be changed
* In js: var create(var func, var this, var [data]) or var create(var func)
* In lua:local create(local funcID)
*/
static CallFunc * create(const std::function<void()>& func);
@ -232,16 +235,25 @@ public:
typedef void (Object::*SEL_CallFunc)();
@deprecated Use the std::function API instead.
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE static CallFunc * create(Object* pSelectorTarget, SEL_CallFunc selector);
public:
/**
* @js ctor
*/
CallFunc()
: _selectorTarget(NULL)
, _callFunc(NULL)
, _function(nullptr)
{
}
/**
* @js NA
* @lua NA
*/
virtual ~CallFunc();
/** initializes the action with the callback
@ -251,6 +263,8 @@ public:
CC_DEPRECATED_ATTRIBUTE bool initWithTarget(Object* pSelectorTarget);
/** initializes the action with the std::function<void()>
* @js NK
* @lua NK
*/
bool initWithFunction(const std::function<void()>& func);
@ -379,8 +393,14 @@ public:
typedef void (Object::*SEL_CallFuncO)(Object*);
*/
CC_DEPRECATED_ATTRIBUTE static __CCCallFuncO * create(Object* selectorTarget, SEL_CallFuncO selector, Object* object);
/**
* @js ctor
*/
__CCCallFuncO();
/**
* @js NA
* @lua NA
*/
virtual ~__CCCallFuncO();
protected:

View File

@ -93,13 +93,22 @@ class CC_DLL Sequence : public ActionInterval
public:
/** helper constructor to create an array of sequenceable actions */
static Sequence* create(FiniteTimeAction *pAction1, ...) CC_REQUIRES_NULL_TERMINATION;
/** helper constructor to create an array of sequenceable actions given an array */
/** helper constructor to create an array of sequenceable actions given an array
* @code
* When this funtion bound to the js or lua,the input params changed
* in js :var create(var object1,var object2, ...)
* in lua :local create(local object1,local object2, ...)
* @endcode
*/
static Sequence* create(Array *arrayOfActions);
/** helper constructor to create an array of sequence-able actions */
static Sequence* createWithVariableList(FiniteTimeAction *pAction1, va_list args);
/** creates the action */
static Sequence* createWithTwoActions(FiniteTimeAction *pActionOne, FiniteTimeAction *pActionTwo);
/**
* @js NA
* @lua NA
*/
virtual ~Sequence(void);
/** initializes the action */
@ -128,7 +137,10 @@ class CC_DLL Repeat : public ActionInterval
public:
/** creates a Repeat action. Times is an unsigned integer between 1 and pow(2,30) */
static Repeat* create(FiniteTimeAction *pAction, unsigned int times);
/**
* @js NA
* @lua NA
*/
virtual ~Repeat(void);
/** initializes a Repeat action. Times is an unsigned integer between 1 and pow(2,30) */
@ -177,10 +189,16 @@ class CC_DLL RepeatForever : public ActionInterval
public:
/** creates the action */
static RepeatForever* create(ActionInterval *pAction);
/**
* @js ctor
*/
RepeatForever()
: _innerAction(NULL)
{}
/**
* @js NA
* @lua NA
*/
virtual ~RepeatForever();
/** initializes the action */
@ -220,7 +238,13 @@ protected:
class CC_DLL Spawn : public ActionInterval
{
public:
/** helper constructor to create an array of spawned actions */
/** helper constructor to create an array of spawned actions
* @code
* When this funtion bound to the js or lua,the input params changed
* in js :var create(var object1,var object2, ...)
* in lua :local create(local object1,local object2, ...)
* @endcode
*/
static Spawn* create(FiniteTimeAction *pAction1, ...) CC_REQUIRES_NULL_TERMINATION;
/** helper constructor to create an array of spawned actions */
@ -231,7 +255,10 @@ public:
/** creates the Spawn action */
static Spawn* createWithTwoActions(FiniteTimeAction *pAction1, FiniteTimeAction *pAction2);
/**
* @js NA
* @lua NA
*/
virtual ~Spawn(void);
/** initializes the Spawn action with the 2 actions to spawn */
@ -477,7 +504,13 @@ typedef struct _ccBezierConfig {
class CC_DLL BezierBy : public ActionInterval
{
public:
/** creates the action with a duration and a bezier configuration */
/** creates the action with a duration and a bezier configuration
* @code
* when this function bound to js or lua,the input params are changed
* in js: var create(var t,var table)
* in lua: lcaol create(local t, local table)
* @endcode
*/
static BezierBy* create(float t, const ccBezierConfig& c);
/** initializes the action with a duration and a bezier configuration */
@ -503,7 +536,13 @@ protected:
class CC_DLL BezierTo : public BezierBy
{
public:
/** creates the action with a duration and a bezier configuration */
/** creates the action with a duration and a bezier configuration
* @code
* when this function bound to js or lua,the input params are changed
* in js: var create(var t,var table)
* in lua: lcaol create(local t, local table)
* @endcode
*/
static BezierTo* create(float t, const ccBezierConfig& c);
bool initWithDuration(float t, const ccBezierConfig &c);
@ -742,8 +781,14 @@ class CC_DLL ReverseTime : public ActionInterval
public:
/** creates the action */
static ReverseTime* create(FiniteTimeAction *pAction);
/**
* @js NA
* @lua NA
*/
virtual ~ReverseTime(void);
/**
* @js ctor
*/
ReverseTime();
/** initializes the action */
@ -769,8 +814,14 @@ class CC_DLL Animate : public ActionInterval
public:
/** creates the action with an Animation and will restore the original frame when the animation is over */
static Animate* create(Animation *pAnimation);
/**
* @js ctor
*/
Animate();
/**
* @js NA
* @lua NA
*/
virtual ~Animate();
/** initializes the action with an Animation and will restore the original frame when the animation is over */
@ -805,7 +856,14 @@ protected:
class CC_DLL TargetedAction : public ActionInterval
{
public:
/**
* @js ctor
*/
TargetedAction();
/**
* @js NA
* @lua NA
*/
virtual ~TargetedAction();
/** Create an action with the specified action and forced target */

View File

@ -57,7 +57,14 @@ struct _hashElement;
class CC_DLL ActionManager : public Object
{
public:
/**
* @js ctor
*/
ActionManager(void);
/**
* @js NA
* @lua NA
*/
~ActionManager(void);
// actions

View File

@ -82,7 +82,10 @@ class CC_DLL ShuffleTiles : public TiledGrid3DAction
public:
/** creates the action with a random seed, the grid size and the duration */
static ShuffleTiles* create(float duration, const Size& gridSize, unsigned int seed);
/**
* @js NA
* @lua NA
*/
virtual ~ShuffleTiles(void);
/** initializes the action with a random seed, the grid size and the duration */
bool initWithDuration(float duration, const Size& gridSize, unsigned int seed);
@ -176,7 +179,10 @@ public:
static TurnOffTiles* create(float duration, const Size& gridSize);
/** creates the action with a random seed, the grid size and the duration */
static TurnOffTiles* create(float duration, const Size& gridSize, unsigned int seed);
/**
* @js NA
* @lua NA
*/
~TurnOffTiles(void);
/** initializes the action with a random seed, the grid size and the duration */
bool initWithDuration(float duration, const Size& gridSize, unsigned int seed);

View File

@ -37,6 +37,10 @@ NS_CC_BEGIN
class CC_DLL ActionTweenDelegate
{
public:
/**
* @js NA
* @lua NA
*/
virtual ~ActionTweenDelegate() {}
virtual void updateTweenAction(float value, const char* key) = 0;
};

View File

@ -54,7 +54,14 @@ public:
/** creates a AtlasNode with an Atlas file the width and height of each item and the quantity of items to render*/
static AtlasNode * create(const char* tile,unsigned int tileWidth, unsigned int tileHeight,
unsigned int itemsToRender);
/**
* @js ctor
*/
AtlasNode();
/**
* @js NA
* @lua NA
*/
virtual ~AtlasNode();
/** initializes an AtlasNode with an Atlas file the width and height of each item and the quantity of items to render*/
@ -84,7 +91,18 @@ public:
virtual const Color3B& getColor(void) const override;
virtual void setColor(const Color3B& color) override;
virtual void setOpacity(GLubyte opacity) override;
/**
* @code
* When this function bound into js or lua,the parameter will be changed
* In js: var setBlendFunc(var src, var dst)
* @endcode
* @lua NA
*/
virtual void setBlendFunc(const BlendFunc& blendFunc) override;
/**
* @js NA
* @lua NA
*/
virtual const BlendFunc& getBlendFunc() const override;
private :

View File

@ -29,7 +29,14 @@ THE SOFTWARE.
class GLBufferedNode
{
public:
/**
* @js ctor
*/
GLBufferedNode();
/**
* @js NA
* @lua NA
*/
virtual ~GLBufferedNode();
/**

View File

@ -144,11 +144,14 @@ public:
/**
* Default constructor
* @js ctor
*/
Node(void);
/**
* Default destructor
* @js NA
* @lua NA
*/
virtual ~Node(void);
@ -161,6 +164,8 @@ public:
/**
* Gets the description string. It makes debugging easier.
* @return A string terminated with '\0'
* @js NA
* @lua NA
*/
const char* description(void) const;
@ -299,6 +304,9 @@ public:
* @see setPosition(const Point&)
*
* @return The position (x,y) of the node in OpenGL coordinates
* @code
* In js and lua return value is table which contains x,y
* @endcode
*/
virtual const Point& getPosition() const;
/**
@ -322,6 +330,9 @@ public:
* Gets position in a more efficient way, returns two number instead of a Point object
*
* @see setPosition(float, float)
* @code
* In js,out value not return
* @endcode
*/
virtual void getPosition(float* x, float* y) const;
/**
@ -520,9 +531,15 @@ public:
virtual int getOrderOfArrival() const;
/** @deprecated No longer needed */
/** @deprecated No longer needed
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE void setGLServerState(int serverState) { /* ignore */ };
/** @deprecated No longer needed */
/** @deprecated No longer needed
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE int getGLServerState() const { return 0; }
/**
@ -640,6 +657,8 @@ public:
* Removes this node itself from its parent node.
* If the node orphan, then nothing happens.
* @param cleanup true if all actions and callbacks on this node should be removed, false otherwise.
* @js removeFromParent
* @lua removeFromParent
*/
virtual void removeFromParentAndCleanup(bool cleanup);
@ -668,6 +687,8 @@ public:
* Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter.
*
* @param cleanup true if all running actions on all children nodes should be cleanup, false oterwise.
* @js removeAllChildren
* @lua removeAllChildren
*/
virtual void removeAllChildrenWithCleanup(bool cleanup);
@ -697,8 +718,12 @@ public:
* Returns a grid object that is used when applying effects
*
* @return A Grid object that is used when applying effects
* @js NA
*/
virtual GridBase* getGrid() { return _grid; }
/**
* @js NA
*/
virtual const GridBase* getGrid() const { return _grid; }
/**
@ -763,8 +788,14 @@ public:
* You can set everything in UserData pointer, a data block, a structure or an object.
*
* @return A custom user data pointer
* @js NA
* @lua NA
*/
virtual void* getUserData() { return _userData; }
/**
* @js NA
* @lua NA
*/
virtual const void* getUserData() const { return _userData; }
/**
@ -775,6 +806,8 @@ public:
* especially before you change this data pointer, and before this node is autoreleased.
*
* @param userData A custom user data pointer
* @js NA
* @lua NA
*/
virtual void setUserData(void *userData);
@ -784,8 +817,14 @@ public:
* Similar to userData, but instead of holding a void* it holds an object
*
* @return A user assigned Object
* @js NA
* @lua NA
*/
virtual Object* getUserObject() { return _userObject; }
/**
* @js NA
* @lua NA
*/
virtual const Object* getUserObject() const { return _userObject; }
/**
@ -852,6 +891,7 @@ public:
/**
* Schedules for lua script.
* @js NA
*/
void scheduleUpdateWithPriorityLua(int handler, int priority);
@ -866,12 +906,16 @@ public:
* If the Node enters the 'stage' with a transition, this event is called when the transition starts.
* During onEnter you can't access a "sister/brother" node.
* If you override onEnter, you shall call its parent's one, e.g., Node::onEnter().
* @js NA
* @lua NA
*/
virtual void onEnter();
/** Event callback that is invoked when the Node enters in the 'stage'.
* If the Node enters the 'stage' with a transition, this event is called when the transition finishes.
* If you override onEnterTransitionDidFinish, you shall call its parent's one, e.g. Node::onEnterTransitionDidFinish()
* @js NA
* @lua NA
*/
virtual void onEnterTransitionDidFinish();
@ -880,12 +924,16 @@ public:
* If the Node leaves the 'stage' with a transition, this event is called when the transition finishes.
* During onExit you can't access a sibling node.
* If you override onExit, you shall call its parent's one, e.g., Node::onExit().
* @js NA
* @lua NA
*/
virtual void onExit();
/**
* Event callback that is called every time the Node leaves the 'stage'.
* If the Node leaves the 'stage' with a transition, this callback is called when the transition starts.
* @js NA
* @lua NA
*/
virtual void onExitTransitionDidStart();
@ -1029,6 +1077,8 @@ public:
*
* @param selector A function selector
* @return Whether the funcion selector is scheduled.
* @js NA
* @lua NA
*/
bool isScheduled(SEL_SCHEDULE selector);
@ -1038,6 +1088,8 @@ public:
* It will use the order number 0. This method will be called every frame.
* Scheduled methods with a lower order value will be called before the ones that have a higher order value.
* Only one "update" method could be scheduled per node.
* @js NA
* @lua NA
*/
void scheduleUpdate(void);
@ -1047,6 +1099,8 @@ public:
* This selector will be called every frame.
* Scheduled methods with a lower priority will be called before the ones that have a higher value.
* Only one "update" selector could be scheduled per node (You can't have 2 'update' selectors).
* @js NA
* @lua NA
*/
void scheduleUpdateWithPriority(int priority);
@ -1071,6 +1125,7 @@ public:
* @param interval Tick interval in seconds. 0 means tick every frame. If interval = 0, it's recommended to use scheduleUpdate() instead.
* @param repeat The selector will be excuted (repeat + 1) times, you can use kRepeatForever for tick infinitely.
* @param delay The amount of time that the first tick will wait before execution.
* @lua NA
*/
void schedule(SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay);
@ -1080,6 +1135,7 @@ public:
*
* @param selector The SEL_SCHEDULE selector to be scheduled.
* @param interval Callback interval time in seconds. 0 means tick every frame,
* @lua NA
*/
void schedule(SEL_SCHEDULE selector, float interval);
@ -1089,6 +1145,7 @@ public:
*
* @param selector The SEL_SCHEDULE selector to be scheduled.
* @param delay The amount of time that the first tick will wait before execution.
* @lua NA
*/
void scheduleOnce(SEL_SCHEDULE selector, float delay);
@ -1097,6 +1154,7 @@ public:
* @see schedule(SEL_SCHEDULE, float, unsigned int, float)
*
* @param selector A function wrapped as a selector
* @lua NA
*/
void schedule(SEL_SCHEDULE selector);
@ -1105,12 +1163,14 @@ public:
* @see schedule(SEL_SCHEDULE, float, unsigned int, float)
*
* @param selector A function wrapped as a selector
* @lua NA
*/
void unschedule(SEL_SCHEDULE selector);
/**
* Unschedule all scheduled selectors: custom selectors, and the 'update' selector.
* Actions are not affected by this method.
* @lua NA
*/
void unscheduleAllSelectors(void);
@ -1395,7 +1455,14 @@ protected:
class CC_DLL NodeRGBA : public Node, public RGBAProtocol
{
public:
/**
* @js ctor
*/
NodeRGBA();
/**
* @js NA
* @lua NA
*/
virtual ~NodeRGBA();
virtual bool init();

View File

@ -234,45 +234,79 @@ class CC_DLL Array : public Object, public Clonable
{
public:
/** Creates an empty array. Default capacity is 10 */
/** Creates an empty array. Default capacity is 10
* @js NA
* @lua NA
*/
static Array* create();
/** Create an array with objects */
/** Create an array with objects
* @js NA
*/
static Array* create(Object* object, ...) CC_REQUIRES_NULL_TERMINATION;
/** Create an array with one object */
/** Create an array with one object
* @js NA
*/
static Array* createWithObject(Object* object);
/** Create an array with a default capacity */
/** Create an array with a default capacity
* @js NA
*/
static Array* createWithCapacity(int capacity);
/** Create an array with from an existing array */
/** Create an array with from an existing array
* @js NA
*/
static Array* createWithArray(Array* otherArray);
/**
@brief Generate a Array pointer by file
@param pFileName The file name of *.plist file
@return The Array pointer generated from the file
* @js NA
*/
static Array* createWithContentsOfFile(const char* pFileName);
/*
@brief The same meaning as arrayWithContentsOfFile(), but it doesn't call autorelease, so the
invoker should call release().
* @js NA
* @lua NA
*/
static Array* createWithContentsOfFileThreadSafe(const char* pFileName);
/**
* @js NA
* @lua NA
*/
~Array();
/** Initializes an array */
/** Initializes an array
* @js NA
* @lua NA
*/
bool init();
/** Initializes an array with one object */
/** Initializes an array with one object
* @js NA
* @lua NA
*/
bool initWithObject(Object* object);
/** Initializes an array with some objects */
/** Initializes an array with some objects
* @js NA
* @lua NA
*/
bool initWithObjects(Object* object, ...) CC_REQUIRES_NULL_TERMINATION;
/** Initializes an array with capacity */
/** Initializes an array with capacity
* @js NA
* @lua NA
*/
bool initWithCapacity(int capacity);
/** Initializes an array with an existing array */
/** Initializes an array with an existing array
* @js NA
* @lua NA
*/
bool initWithArray(Array* otherArray);
// Querying an Array
/** Returns element count of the array */
/** Returns element count of the array
* @js NA
*/
int count() const
{
#if CC_USE_ARRAY_VECTOR
@ -281,7 +315,9 @@ public:
return data->num;
#endif
}
/** Returns capacity of the array */
/** Returns capacity of the array
* @js NA
*/
int capacity() const
{
#if CC_USE_ARRAY_VECTOR
@ -290,11 +326,20 @@ public:
return data->max;
#endif
}
/** Returns index of a certain object, return UINT_MAX if doesn't contain the object */
/** Returns index of a certain object, return UINT_MAX if doesn't contain the object
* @js NA
* @lua NA
*/
int getIndexOfObject(Object* object) const;
/**
* @js NA
*/
CC_DEPRECATED_ATTRIBUTE int indexOfObject(Object* object) const { return getIndexOfObject(object); }
/** Returns an element with a certain index */
/** Returns an element with a certain index
* @js NA
* @lua NA
*/
Object* getObjectAtIndex(int index)
{
CCASSERT(index>=0 && index < count(), "index out of range in getObjectAtIndex()");
@ -305,7 +350,9 @@ public:
#endif
}
CC_DEPRECATED_ATTRIBUTE Object* objectAtIndex(int index) { return getObjectAtIndex(index); }
/** Returns the last element of the array */
/** Returns the last element of the array
* @js NA
*/
Object* getLastObject()
{
#if CC_USE_ARRAY_VECTOR
@ -317,25 +364,53 @@ public:
return nullptr;
#endif
}
/**
* @js NA
*/
CC_DEPRECATED_ATTRIBUTE Object* lastObject() { return getLastObject(); }
/** Returns a random element */
/** Returns a random element
* @js NA
* @lua NA
*/
Object* getRandomObject();
/**
* @js NA
*/
CC_DEPRECATED_ATTRIBUTE Object* randomObject() { return getRandomObject(); }
/** Returns a Boolean value that indicates whether object is present in array. */
/** Returns a Boolean value that indicates whether object is present in array.
* @js NA
*/
bool containsObject(Object* object) const;
/** @since 1.1 */
/** @since 1.1
* @js NA
*/
bool isEqualToArray(Array* otherArray);
// Adding Objects
/** Add a certain object */
/** Add a certain object
* @js NA
*/
void addObject(Object* object);
/** Add all elements of an existing array */
/**
* @js NA
*/
/** Add all elements of an existing array
* @js NA
*/
void addObjectsFromArray(Array* otherArray);
/** Insert a certain object at a certain index */
/** Insert a certain object at a certain index
* @js NA
*/
void insertObject(Object* object, int index);
/** sets a certain object at a certain index */
/** sets a certain object at a certain index
* @js NA
* @lua NA
*/
void setObject(Object* object, int index);
/** sets a certain object at a certain index without retaining. Use it with caution */
/** sets a certain object at a certain index without retaining. Use it with caution
* @js NA
* @lua NA
*/
void fastSetObject(Object* object, int index)
{
#if CC_USE_ARRAY_VECTOR
@ -345,7 +420,10 @@ public:
data->arr[index] = object;
#endif
}
/**
* @js NA
* @lua NA
*/
void swap( int indexOne, int indexTwo )
{
CCASSERT(indexOne >=0 && indexOne < count() && indexTwo >= 0 && indexTwo < count(), "Invalid indices");
@ -358,38 +436,68 @@ public:
// Removing Objects
/** Remove last object */
/** Remove last object
* @js NA
*/
void removeLastObject(bool releaseObj = true);
/** Remove a certain object */
/** Remove a certain object
* @js NA
*/
void removeObject(Object* object, bool releaseObj = true);
/** Remove an element with a certain index */
/** Remove an element with a certain index
* @js NA
*/
void removeObjectAtIndex(int index, bool releaseObj = true);
/** Remove all elements */
/** Remove all elements
* @js NA
*/
void removeObjectsInArray(Array* otherArray);
/** Remove all objects */
/** Remove all objects
* @js NA
*/
void removeAllObjects();
/** Fast way to remove a certain object */
/** Fast way to remove a certain object
* @js NA
*/
void fastRemoveObject(Object* object);
/** Fast way to remove an element with a certain index */
/** Fast way to remove an element with a certain index
* @js NA
*/
void fastRemoveObjectAtIndex(int index);
// Rearranging Content
/** Swap two elements */
/** Swap two elements
* @js NA
*/
void exchangeObject(Object* object1, Object* object2);
/** Swap two elements with certain indexes */
/** Swap two elements with certain indexes
* @js NA
*/
void exchangeObjectAtIndex(int index1, int index2);
/** Replace object at index with another object. */
/** Replace object at index with another object.
* @js NA
*/
void replaceObjectAtIndex(int index, Object* object, bool releaseObject = true);
/** Revers the array */
/** Revers the array
* @js NA
*/
void reverseObjects();
/* Shrinks the array so the memory footprint corresponds with the number of items */
/* Shrinks the array so the memory footprint corresponds with the number of items
* @js NA
*/
void reduceMemoryFootprint();
/* override functions */
/* override functions
* @js NA
*/
virtual void acceptVisitor(DataVisitor &visitor);
/**
* @js NA
* @lua NA
*/
virtual Array* clone() const;
// ------------------------------------------
@ -398,16 +506,35 @@ public:
#if CC_USE_ARRAY_VECTOR
typedef std::vector<RCPtr<Object>>::iterator iterator;
typedef std::vector<RCPtr<Object>>::const_iterator const_iterator;
/**
* @js NA
* @lua NA
*/
iterator begin() { return data.begin(); }
/**
* @js NA
* @lua NA
*/
iterator end() { return data.end(); }
const_iterator cbegin() { return data.cbegin(); }
/**
* @js NA
* @lua NA
*/
const_iterator cend() { return data.cend(); }
std::vector<RCPtr<Object>> data;
#else
/**
* @js NA
* @lua NA
*/
Object** begin() { return &data->arr[0]; }
/**
* @js NA
* @lua NA
*/
Object** end() { return &data->arr[data->num]; }
ccArray* data;
@ -415,6 +542,10 @@ public:
#endif
//protected:
/**
* @js NA
* @lua NA
*/
Array();
};

View File

@ -47,7 +47,15 @@ class CC_DLL AutoreleasePool : public Object
*/
Array *_managedObjectArray;
public:
/**
* @js NA
* @lua NA
*/
AutoreleasePool();
/**
* @js NA
* @lua NA
*/
~AutoreleasePool();
/**
@ -58,6 +66,8 @@ public:
* for each time it was added.
*
* @param object The object to add to the pool.
* @js NA
* @lua NA
*/
void addObject(Object *object);
@ -65,6 +75,8 @@ public:
* Remove a given object from this pool.
*
* @param object The object to be removed from the pool.
* @js NA
* @lua NA
*/
void removeObject(Object *object);
@ -73,6 +85,8 @@ public:
*
* Object::release() will be called for each time the managed object is
* added to the pool.
* @js NA
* @lua NA
*/
void clear();
};
@ -84,19 +98,38 @@ class CC_DLL PoolManager
AutoreleasePool *getCurReleasePool();
public:
/**
* @js NA
* @lua NA
*/
static PoolManager* sharedPoolManager();
/**
* @js NA
* @lua NA
*/
static void purgePoolManager();
/**
* @js NA
* @lua NA
*/
PoolManager();
/**
* @js NA
* @lua NA
*/
~PoolManager();
/**
* Clear all the AutoreleasePool on the pool stack.
* @js NA
* @lua NA
*/
void finalize();
/**
* Push a new AutoreleasePool to the pool stack.
* @js NA
* @lua NA
*/
void push();
@ -107,6 +140,8 @@ public:
* the stack.
*
* The AutoreleasePool being poped is destructed.
* @js NA
* @lua NA
*/
void pop();
@ -116,6 +151,8 @@ public:
* @param object The object to be removed.
*
* @see AutoreleasePool::removeObject
* @js NA
* @lua NA
*/
void removeObject(Object *object);
@ -125,9 +162,14 @@ public:
* @param object The object to add.
*
* @see AutoreleasePool::addObject
* @js NA
* @lua NA
*/
void addObject(Object *object);
/**
* @js NA
* @lua NA
*/
friend class AutoreleasePool;
};

View File

@ -33,10 +33,25 @@ NS_CC_BEGIN
class CC_DLL Data : public Object
{
public:
/**
* @js NA
* @lua NA
*/
Data(unsigned char *pBytes, const unsigned long nSize);
/**
* @js NA
* @lua NA
*/
Data(Data *pData);
/**
* @js NA
* @lua NA
*/
~Data();
/**
* @js NA
* @lua NA
*/
static Data* create(unsigned char *pBytes, const unsigned long nSize)
{
Data* pRet = new Data(pBytes, nSize);
@ -46,11 +61,21 @@ public:
}
return pRet;
}
/**
* @js NA
* @lua NA
*/
unsigned char* getBytes() const;
/**
* @js NA
* @lua NA
*/
unsigned long getSize() const;
/* override functions */
/** override functions
* @js NA
* @lua NA
*/
virtual void acceptVisitor(DataVisitor &visitor) { visitor.visit(this); }
private:

View File

@ -63,6 +63,10 @@ class Data;
class CC_DLL DataVisitor
{
public:
/**
* @js NA
* @lua NA
*/
virtual ~DataVisitor() {}
/** default method, called from non-overloaded methods and for unrecognized objects */

View File

@ -81,6 +81,8 @@ private:
public:
/**
* The destructor of DictElement.
* @js NA
* @lua NA
*/
~DictElement();
@ -174,20 +176,28 @@ class CC_DLL Dictionary : public Object, public Clonable
public:
/**
* The constructor of Dictionary.
* @js NA
* @lua NA
*/
Dictionary();
/**
* The destructor of Dictionary
* @js NA
* @lua NA
*/
~Dictionary();
/** Initializes the dictionary. It returns true if the initializations was successful. */
/** Initializes the dictionary. It returns true if the initializations was successful.
* @js NA
* @lua NA
*/
bool init();
/**
* Get the count of elements in Dictionary.
*
* @return The count of elements.
* @js NA
*/
unsigned int count();
@ -195,6 +205,7 @@ public:
* Return all keys of elements.
*
* @return The array contains all keys of elements. It's an autorelease object yet.
* @js NA
*/
Array* allKeys();
@ -202,6 +213,7 @@ public:
* Get all keys according to the specified object.
* @warning We use '==' to compare two objects
* @return The array contains all keys for the specified object. It's an autorelease object yet.
* @js NA
*/
Array* allKeysForObject(Object* object);
@ -222,6 +234,7 @@ public:
* }
* @endcode
* @see objectForKey(intptr_t)
* @js NA
*/
Object* objectForKey(const std::string& key);
@ -232,6 +245,7 @@ public:
* @param key The integer key for searching.
* @return The object matches the key.
* @see objectForKey(const std::string&)
* @js NA
*/
Object* objectForKey(intptr_t key);
@ -242,6 +256,7 @@ public:
* @return An instance of String.
* It will return an empty string if the objects aren't String pointer or the key wasn't found.
* @see valueForKey(intptr_t)
* @js NA
*/
const String* valueForKey(const std::string& key);
@ -252,6 +267,7 @@ public:
* @return An instance of String.
* It will return an empty string if the objects aren't String pointer or the key wasn't found.
* @see valueForKey(intptr_t)
* @js NA
*/
const String* valueForKey(intptr_t key);
@ -265,6 +281,7 @@ public:
* @param pObject The Object to be inserted.
* @param key The string key for searching.
* @see setObject(Object*, intptr_t)
* @js NA
*/
void setObject(Object* pObject, const std::string& key);
@ -277,6 +294,7 @@ public:
* @param pObject The Object to be inserted.
* @param key The string key for searching.
* @see setObject(Object*, const std::string&)
* @js NA
*/
void setObject(Object* pObject, intptr_t key);
@ -286,6 +304,7 @@ public:
* @param key The string key for searching.
* @see removeObjectForKey(intptr_t), removeObjectsForKeys(Array*),
* removeObjectForElememt(DictElement*), removeAllObjects().
* @js NA
*/
void removeObjectForKey(const std::string& key);
@ -295,6 +314,7 @@ public:
* @param key The integer key for searching.
* @see removeObjectForKey(const std::string&), removeObjectsForKeys(Array*),
* removeObjectForElememt(DictElement*), removeAllObjects().
* @js NA
*/
void removeObjectForKey(intptr_t key);
@ -304,6 +324,7 @@ public:
* @param pKeyArray The array contains keys to be removed.
* @see removeObjectForKey(const std::string&), removeObjectForKey(intptr_t),
* removeObjectForElememt(DictElement*), removeAllObjects().
* @js NA
*/
void removeObjectsForKeys(Array* pKeyArray);
@ -313,6 +334,8 @@ public:
* @param pElement The element need to be removed.
* @see removeObjectForKey(const std::string&), removeObjectForKey(intptr_t),
* removeObjectsForKeys(Array*), removeAllObjects().
* @js NA
* @lua NA
*/
void removeObjectForElememt(DictElement* pElement);
@ -321,6 +344,7 @@ public:
*
* @see removeObjectForKey(const std::string&), removeObjectForKey(intptr_t),
* removeObjectsForKeys(Array*), removeObjectForElememt(DictElement*).
* @js NA
*/
void removeAllObjects();
@ -329,6 +353,8 @@ public:
*
* @return The random object.
* @see objectForKey(intptr_t), objectForKey(const std::string&)
* @js NA
* @lua NA
*/
Object* randomObject();
@ -336,6 +362,7 @@ public:
* Create a dictionary.
* @return A dictionary which is an autorelease object.
* @see createWithDictionary(Dictionary*), createWithContentsOfFile(const char*), createWithContentsOfFileThreadSafe(const char*).
* @js NA
*/
static Dictionary* create();
@ -345,6 +372,7 @@ public:
* @param srcDict The exist dictionary.
* @return A dictionary which is an autorelease object.
* @see create(), createWithContentsOfFile(const char*), createWithContentsOfFileThreadSafe(const char*).
* @js NA
*/
static Dictionary* createWithDictionary(Dictionary* srcDict);
@ -353,6 +381,7 @@ public:
* @param pFileName The name of the plist file.
* @return A dictionary which is an autorelease object.
* @see create(), createWithDictionary(Dictionary*), createWithContentsOfFileThreadSafe(const char*).
* @js NA
*/
static Dictionary* createWithContentsOfFile(const char *pFileName);
@ -360,6 +389,8 @@ public:
* Write a dictionary to a plist file.
* @param fullPath The full path of the plist file. You can get writeable path by getWritablePath()
* @return true if successed, false if failed
* @js NA
* @lua NA
*/
bool writeToFile(const char *fullPath);
@ -373,11 +404,20 @@ public:
*
* @param pFileName The name of the plist file.
* @return A dictionary which isn't an autorelease object.
* @js NA
* @lua NA
*/
static Dictionary* createWithContentsOfFileThreadSafe(const char *pFileName);
/* override functions */
/* override functions
* @js NA
* @lua NA
*/
virtual void acceptVisitor(DataVisitor &visitor);
/**
* @js NA
* @lua NA
*/
virtual Dictionary* clone() const;
private:

View File

@ -24,6 +24,7 @@ THE SOFTWARE.
#include "CCGeometry.h"
#include "ccMacros.h"
#include <algorithm>
// implementation of Point
NS_CC_BEGIN

View File

@ -60,28 +60,81 @@ public:
float y;
public:
/**
* @js NA
*/
Point();
/**
* @js NA
*/
Point(float x, float y);
/**
* @js NA
* @lua NA
*/
Point(const Point& other);
/**
* @js NA
* @lua NA
*/
explicit Point(const Size& size);
/**
* @js NA
* @lua NA
*/
Point& operator= (const Point& other);
/**
* @js NA
* @lua NA
*/
Point& operator= (const Size& size);
/**
* @js NA
* @lua NA
*/
Point operator+(const Point& right) const;
/**
* @js NA
* @lua NA
*/
Point operator-(const Point& right) const;
/**
* @js NA
* @lua NA
*/
Point operator-() const;
/**
* @js NA
* @lua NA
*/
Point operator*(float a) const;
/**
* @js NA
* @lua NA
*/
Point operator/(float a) const;
/**
* @js NA
* @lua NA
*/
void setPoint(float x, float y);
/**
* @js NA
*/
bool equals(const Point& target) const;
/** @returns if points have fuzzy equality which means equal with some degree of variance.
@since v2.1.4
* @js NA
* @lua NA
*/
bool fuzzyEquals(const Point& target, float variance) const;
/** Calculates distance between point an origin
@return float
@since v2.1.4
* @js NA
* @lua NA
*/
inline float getLength() const {
return sqrtf(x*x + y*y);
@ -90,6 +143,8 @@ public:
/** Calculates the square length of a Point (not calling sqrt() )
@return float
@since v2.1.4
* @js NA
* @lua NA
*/
inline float getLengthSq() const {
return dot(*this); //x*x + y*y;
@ -98,6 +153,8 @@ public:
/** Calculates the square distance between two points (not calling sqrt() )
@return float
@since v2.1.4
* @js NA
* @lua NA
*/
inline float getDistanceSq(const Point& other) const {
return (*this - other).getLengthSq();
@ -106,6 +163,8 @@ public:
/** Calculates the distance between two points
@return float
@since v2.1.4
* @js NA
* @lua NA
*/
inline float getDistance(const Point& other) const {
return (*this - other).getLength();
@ -113,6 +172,8 @@ public:
/** @returns the angle in radians between this vector and the x axis
@since v2.1.4
* @js NA
* @lua NA
*/
inline float getAngle() const {
return atan2f(y, x);
@ -120,12 +181,16 @@ public:
/** @returns the angle in radians between two vector directions
@since v2.1.4
* @js NA
* @lua NA
*/
float getAngle(const Point& other) const;
/** Calculates dot product of two points.
@return float
@since v2.1.4
* @js NA
* @lua NA
*/
inline float dot(const Point& other) const {
return x*other.x + y*other.y;
@ -134,6 +199,8 @@ public:
/** Calculates cross product of two points.
@return float
@since v2.1.4
* @js NA
* @lua NA
*/
inline float cross(const Point& other) const {
return x*other.y - y*other.x;
@ -142,6 +209,8 @@ public:
/** Calculates perpendicular of v, rotated 90 degrees counter-clockwise -- cross(v, perp(v)) >= 0
@return Point
@since v2.1.4
* @js NA
* @lua NA
*/
inline Point getPerp() const {
return Point(-y, x);
@ -150,6 +219,8 @@ public:
/** Calculates midpoint between two points.
@return Point
@since v3.0
* @js NA
* @lua NA
*/
inline Point getMidpoint(const Point& other) const
{
@ -158,6 +229,8 @@ public:
/** Clamp a point between from and to.
@since v3.0
* @js NA
* @lua NA
*/
inline Point getClampPoint(const Point& min_inclusive, const Point& max_inclusive) const
{
@ -170,6 +243,8 @@ public:
* For example: let's try to take the floor of x,y
* p.compOp(floorf);
@since v3.0
* @js NA
* @lua NA
*/
inline Point compOp(std::function<float(float)> function) const
{
@ -179,6 +254,8 @@ public:
/** Calculates perpendicular of v, rotated 90 degrees clockwise -- cross(v, rperp(v)) <= 0
@return Point
@since v2.1.4
* @js NA
* @lua NA
*/
inline Point getRPerp() const {
return Point(y, -x);
@ -187,6 +264,8 @@ public:
/** Calculates the projection of this over other.
@return Point
@since v2.1.4
* @js NA
* @lua NA
*/
inline Point project(const Point& other) const {
return other * (dot(other)/other.dot(other));
@ -196,6 +275,8 @@ public:
@return Point vector with an angle of this.getAngle() + other.getAngle(),
and a length of this.getLength() * other.getLength().
@since v2.1.4
* @js NA
* @lua NA
*/
inline Point rotate(const Point& other) const {
return Point(x*other.x - y*other.y, x*other.y + y*other.x);
@ -205,6 +286,8 @@ public:
@return Point vector with an angle of this.getAngle() - other.getAngle(),
and a length of this.getLength() * other.getLength().
@since v2.1.4
* @js NA
* @lua NA
*/
inline Point unrotate(const Point& other) const {
return Point(x*other.x + y*other.y, y*other.x - x*other.y);
@ -214,6 +297,8 @@ public:
* If the point is 0, it returns (1, 0)
@return Point
@since v2.1.4
* @js NA
* @lua NA
*/
inline Point normalize() const {
float length = getLength();
@ -227,6 +312,8 @@ public:
alpha == 1 ? b
otherwise a value between a..b
@since v2.1.4
* @js NA
* @lua NA
*/
inline Point lerp(const Point& other, float alpha) const {
return *this * (1.f - alpha) + other * alpha;
@ -237,9 +324,15 @@ public:
@param angle is the angle of rotation ccw in radians
@returns the rotated point
@since v2.1.4
* @js NA
* @lua NA
*/
Point rotateByAngle(const Point& pivot, float angle) const;
/**
* @js NA
* @lua NA
*/
static inline Point forAngle(const float a)
{
return Point(cosf(a), sinf(a));
@ -259,42 +352,54 @@ public:
the hit point is C + T * (D - C);
the hit point also is A + S * (B - A);
@since 3.0
* @js NA
* @lua NA
*/
static bool isLineIntersect(const Point& A, const Point& B,
const Point& C, const Point& D,
float *S = nullptr, float *T = nullptr);
/*
/**
returns true if Line A-B overlap with segment C-D
@since v3.0
* @js NA
* @lua NA
*/
static bool isLineOverlap(const Point& A, const Point& B,
const Point& C, const Point& D);
/*
/**
returns true if Line A-B parallel with segment C-D
@since v3.0
* @js NA
* @lua NA
*/
static bool isLineParallel(const Point& A, const Point& B,
const Point& C, const Point& D);
/*
/**
returns true if Segment A-B overlap with segment C-D
@since v3.0
* @js NA
* @lua NA
*/
static bool isSegmentOverlap(const Point& A, const Point& B,
const Point& C, const Point& D,
Point* S = nullptr, Point* E = nullptr);
/*
/**
returns true if Segment A-B intersects with segment C-D
@since v3.0
* @js NA
* @lua NA
*/
static bool isSegmentIntersect(const Point& A, const Point& B, const Point& C, const Point& D);
/*
/**
returns the intersection point of line A-B, C-D
@since v3.0
* @js NA
* @lua NA
*/
static Point getIntersectPoint(const Point& A, const Point& B, const Point& C, const Point& D);
@ -315,17 +420,62 @@ public:
float height;
public:
/**
* @js NA
*/
Size();
/**
* @js NA
*/
Size(float width, float height);
/**
* @js NA
* @lua NA
*/
Size(const Size& other);
/**
* @js NA
* @lua NA
*/
explicit Size(const Point& point);
/**
* @js NA
* @lua NA
*/
Size& operator= (const Size& other);
/**
* @js NA
* @lua NA
*/
Size& operator= (const Point& point);
/**
* @js NA
* @lua NA
*/
Size operator+(const Size& right) const;
/**
* @js NA
* @lua NA
*/
Size operator-(const Size& right) const;
/**
* @js NA
* @lua NA
*/
Size operator*(float a) const;
/**
* @js NA
* @lua NA
*/
Size operator/(float a) const;
/**
* @js NA
* @lua NA
*/
void setSize(float width, float height);
/**
* @js NA
*/
bool equals(const Size& target) const;
static const Size ZERO;
@ -338,20 +488,69 @@ public:
Size size;
public:
/**
* @js NA
*/
Rect();
/**
* @js NA
*/
Rect(float x, float y, float width, float height);
/**
* @js NA
* @lua NA
*/
Rect(const Rect& other);
/**
* @js NA
* @lua NA
*/
Rect& operator= (const Rect& other);
/**
* @js NA
* @lua NA
*/
void setRect(float x, float y, float width, float height);
/**
* @js NA
*/
float getMinX() const; /// return the leftmost x-value of current rect
/**
* @js NA
*/
float getMidX() const; /// return the midpoint x-value of current rect
/**
* @js NA
*/
float getMaxX() const; /// return the rightmost x-value of current rect
/**
* @js NA
*/
float getMinY() const; /// return the bottommost y-value of current rect
/**
* @js NA
*/
float getMidY() const; /// return the midpoint y-value of current rect
/**
* @js NA
*/
float getMaxY() const; /// return the topmost y-value of current rect
/**
* @js NA
*/
bool equals(const Rect& rect) const;
/**
* @js NA
*/
bool containsPoint(const Point& point) const;
/**
* @js NA
*/
bool intersectsRect(const Rect& rect) const;
/**
* @js NA
* @lua NA
*/
Rect unionWithRect(const Rect & rect) const;
static const Rect ZERO;

View File

@ -44,11 +44,16 @@ public:
pRet->autorelease();
return pRet;
}
/**
* @js NA
*/
Integer(int v)
: _value(v) {}
int getValue() const {return _value;}
/**
* @js NA
* @lua NA
*/
virtual ~Integer() {
CCLOGINFO("deallocing ~Integer: %p", this);
}

View File

@ -49,6 +49,10 @@ class CC_DLL Clonable
public:
/** returns a copy of the object */
virtual Clonable* clone() const = 0;
/**
* @js NA
* @lua NA
*/
virtual ~Clonable() {};
/** returns a copy of the object.
@ -79,9 +83,14 @@ public:
* Constructor
*
* The object's reference count is 1 after construction.
* @js NA
*/
Object();
/**
* @js NA
* @lua NA
*/
virtual ~Object();
/**
@ -93,6 +102,7 @@ public:
* destructed.
*
* @see retain, autorelease
* @js NA
*/
inline void release()
{
@ -109,6 +119,7 @@ public:
* This increases the object's reference count.
*
* @see release, autorelease
* @js NA
*/
inline void retain()
{
@ -128,6 +139,8 @@ public:
* @returns The object itself.
*
* @see AutoreleasePool, retain, release
* @js NA
* @lua NA
*/
Object* autorelease();
@ -136,6 +149,7 @@ public:
* reference to the object. That is, whether the reference count is 1.
*
* @returns Whether the object's reference count is 1.
* @js NA
*/
bool isSingleReference() const;
@ -143,6 +157,7 @@ public:
* Returns the object's current reference count.
*
* @returns The object's reference count.
* @js NA
*/
unsigned int retainCount() const;
@ -153,11 +168,19 @@ public:
* @param object The object to be compared to this object.
*
* @returns True if this object and @p object are equal, otherwise false.
* @js NA
* @lua NA
*/
virtual bool isEqual(const Object* object);
/**
* @js NA
* @lua NA
*/
virtual void acceptVisitor(DataVisitor &visitor);
/**
* @js NA
* @lua NA
*/
virtual void update(float dt) {CC_UNUSED_PARAM(dt);};
friend class AutoreleasePool;

View File

@ -40,8 +40,15 @@ typedef std::set<Object *>::iterator SetIterator;
class CC_DLL Set : public Object
{
public:
/**
* @js ctor
*/
Set(void);
Set(const Set &rSetObject);
/**
* @js NA
* @lua NA
*/
virtual ~Set(void);
/**
@ -79,17 +86,24 @@ public:
bool containsObject(Object *pObject);
/**
*@brief Return the iterator that points to the first element.
* @js NA
* @lua NA
*/
SetIterator begin();
/**
*@brief Return the iterator that points to the position after the last element.
* @js NA
* @lua NA
*/
SetIterator end();
/**
*@brief Return the first element if it contains elements, or null if it doesn't contain any element.
*/
Object* anyObject();
/**
* @js NA
* @lua NA
*/
virtual void acceptVisitor(DataVisitor &visitor);
private:

View File

@ -43,58 +43,111 @@ NS_CC_BEGIN
class CC_DLL String : public Object, public Clonable
{
public:
/**
* @js NA
* @lua NA
*/
String();
/**
* @js NA
* @lua NA
*/
String(const char* str);
/**
* @js NA
* @lua NA
*/
String(const std::string& str);
/**
* @js NA
* @lua NA
*/
String(const String& str);
/**
* @js NA
* @lua NA
*/
virtual ~String();
/* override assignment operator */
/* override assignment operator
* @js NA
* @lua NA
*/
String& operator= (const String& other);
/** init a string with format, it's similar with the c function 'sprintf' */
/** init a string with format, it's similar with the c function 'sprintf'
* @js NA
* @lua NA
*/
bool initWithFormat(const char* format, ...) CC_FORMAT_PRINTF(2, 3);
/** convert to int value */
/** convert to int value
* @js NA
*/
int intValue() const;
/** convert to unsigned int value */
/** convert to unsigned int value
* @js NA
*/
unsigned int uintValue() const;
/** convert to float value */
/** convert to float value
* @js NA
*/
float floatValue() const;
/** convert to double value */
/** convert to double value
* @js NA
*/
double doubleValue() const;
/** convert to bool value */
/** convert to bool value
* @js NA
*/
bool boolValue() const;
/** get the C string */
/** get the C string
* @js NA
*/
const char* getCString() const;
/** get the length of string */
/** get the length of string
* @js NA
*/
unsigned int length() const;
/** compare to a c string */
/** compare to a c string
* @js NA
*/
int compare(const char *) const;
/** append additional characters at the end of its current value */
/** append additional characters at the end of its current value
* @js NA
* @lua NA
*/
void append(const std::string& str);
/** append(w/ format) additional characters at the end of its current value */
/** append(w/ format) additional characters at the end of its current value
* @js NA
* @lua NA
*/
void appendWithFormat(const char* format, ...);
/** split a string */
/** split a string
* @js NA
* @lua NA
*/
Array* componentsSeparatedByString(const char *delimiter);
/* override functions */
/* override functions
* @js NA
*/
virtual bool isEqual(const Object* pObject);
/** create a string with std string, you can also pass a c string pointer because the default constructor of std::string can access a c string pointer.
* @return A String pointer which is an autorelease object pointer,
* it means that you needn't do a release operation unless you retain it.
* @js NA
*/
static String* create(const std::string& str);
@ -102,22 +155,32 @@ public:
* if you want to change it, you should modify the kMaxStringLen macro in String.cpp file.
* @return A String pointer which is an autorelease object pointer,
* it means that you needn't do a release operation unless you retain it.
* @js NA
*/
static String* createWithFormat(const char* format, ...) CC_FORMAT_PRINTF(1, 2);
/** create a string with binary data
* @return A String pointer which is an autorelease object pointer,
* it means that you needn't do a release operation unless you retain it.
* @js NA
*/
static String* createWithData(const unsigned char* pData, unsigned long nLen);
/** create a string with a file,
* @return A String pointer which is an autorelease object pointer,
* it means that you needn't do a release operation unless you retain it.
* @js NA
*/
static String* createWithContentsOfFile(const char* filename);
/**
* @js NA
* @lua NA
*/
virtual void acceptVisitor(DataVisitor &visitor);
/**
* @js NA
* @lua NA
*/
virtual String* clone() const;
private:

View File

@ -46,7 +46,14 @@ class CC_DLL DrawNode : public Node
public:
/** creates and initialize a DrawNode node */
static DrawNode* create();
/**
* @js ctor
*/
DrawNode();
/**
* @js NA
* @lua NA
*/
virtual ~DrawNode();
virtual bool init();
@ -57,16 +64,34 @@ public:
/** draw a segment with a radius and color */
void drawSegment(const Point &from, const Point &to, float radius, const Color4F &color);
/** draw a polygon with a fill color and line color */
/** draw a polygon with a fill color and line color
* @code
* When this function bound into js or lua,the parameter will be changed
* In js: var drawPolygon(var Arrayofpoints, var fillColor, var width, var borderColor)
* In lua:local drawPolygon(local pointTable,local tableCount,local fillColor,local width,local borderColor)
* @endcode
*/
void drawPolygon(Point *verts, unsigned int count, const Color4F &fillColor, float borderWidth, const Color4F &borderColor);
/** Clear the geometry in the node's buffer. */
void clear();
/**
* @js NA
* @lua NA
*/
const BlendFunc& getBlendFunc() const;
/**
* @code
* When this function bound into js or lua,the parameter will be changed
* In js: var setBlendFunc(var src, var dst)
* @endcode
* @lua NA
*/
void setBlendFunc(const BlendFunc &blendFunc);
/** listen the event that coming to foreground on Android
* @js NA
* @lua NA
*/
void listenBackToForeground(Object *obj);

View File

@ -42,7 +42,14 @@ class Texture2D;
class Grabber : public Object
{
public:
/**
* @js ctor
*/
Grabber(void);
/**
* @js NA
* @lua NA
*/
~Grabber(void);
void grab(Texture2D *texture);

View File

@ -56,7 +56,10 @@ public:
static GridBase* create(const Size& gridSize, Texture2D *texture, bool flipped);
/** create one Grid */
static GridBase* create(const Size& gridSize);
/**
* @js NA
* @lua NA
*/
virtual ~GridBase(void);
bool initWithSize(const Size& gridSize, Texture2D *texture, bool bFlipped);
@ -115,20 +118,41 @@ public:
static Grid3D* create(const Size& gridSize, Texture2D *texture, bool bFlipped);
/** create one Grid */
static Grid3D* create(const Size& gridSize);
/**
* @js ctor
*/
Grid3D();
/**
* @js NA
* @lua NA
*/
~Grid3D(void);
/** returns the vertex at a given position */
/** returns the vertex at a given position
* @js NA
* @lua NA
*/
Vertex3F getVertex(const Point& pos) const;
/** @deprecated Use getVertex() instead */
/** @deprecated Use getVertex() instead
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE Vertex3F vertex(const Point& pos) const { return getVertex(pos); }
/** returns the original (non-transformed) vertex at a given position */
/** returns the original (non-transformed) vertex at a given position
* @js NA
* @lua NA
*/
Vertex3F getOriginalVertex(const Point& pos) const;
/** @deprecated Use getOriginalVertex() instead */
/** @deprecated Use getOriginalVertex() instead
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE Vertex3F originalVertex(const Point& pos) const { return getOriginalVertex(pos); }
/** sets a new vertex at a given position */
/** sets a new vertex at a given position
* @js NA
* @lua NA
*/
void setVertex(const Point& pos, const Vertex3F& vertex);
// Overrides
@ -157,20 +181,41 @@ public:
static TiledGrid3D* create(const Size& gridSize, Texture2D *texture, bool bFlipped);
/** create one Grid */
static TiledGrid3D* create(const Size& gridSize);
/**
* @js ctor
*/
TiledGrid3D();
/**
* @js NA
* @lua NA
*/
~TiledGrid3D();
/** returns the tile at the given position */
/** returns the tile at the given position
* @js NA
* @lua NA
*/
Quad3 getTile(const Point& pos) const;
/** returns the tile at the given position */
/** returns the tile at the given position
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE Quad3 tile(const Point& pos) const { return getTile(pos); }
/** returns the original tile (untransformed) at the given position */
/** returns the original tile (untransformed) at the given position
* @js NA
* @lua NA
*/
Quad3 getOriginalTile(const Point& pos) const;
/** returns the original tile (untransformed) at the given position */
/** returns the original tile (untransformed) at the given position
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE Quad3 originalTile(const Point& pos) const { return getOriginalTile(pos); }
/** sets a new tile */
/** sets a new tile
* @js NA
* @lua NA
*/
void setTile(const Point& pos, const Quad3& coords);
// Overrides

View File

@ -42,6 +42,8 @@ public:
* Changes the color with R,G,B bytes
*
* @param color Example: Color3B(255,100,0) means R=255, G=100, B=0
* @js NA
* @lua NA
*/
virtual void setColor(const Color3B& color) = 0;
@ -49,6 +51,8 @@ public:
* Returns color that is currently used.
*
* @return The Color3B contains R,G,B bytes.
* @js NA
* @lua NA
*/
virtual const Color3B& getColor() const = 0;
@ -56,6 +60,8 @@ public:
* Returns the displayed color.
*
* @return The Color3B contains R,G,B bytes.
* @js NA
* @lua NA
*/
virtual const Color3B& getDisplayedColor() const = 0;
@ -63,6 +69,8 @@ public:
* Returns the displayed opacity.
*
* @return The opacity of sprite, from 0 ~ 255
* @js NA
* @lua NA
*/
virtual GLubyte getDisplayedOpacity() const = 0;
/**
@ -72,6 +80,8 @@ public:
* 0 indicates fully transparent and 255 is fully opaque.
*
* @return The opacity of sprite, from 0 ~ 255
* @js NA
* @lua NA
*/
virtual GLubyte getOpacity() const = 0;
@ -79,6 +89,8 @@ public:
* Changes the opacity.
*
* @param opacity Goes from 0 to 255, where 255 means fully opaque and 0 means fully transparent.
* @js NA
* @lua NA
*/
virtual void setOpacity(GLubyte opacity) = 0;
@ -91,6 +103,8 @@ public:
*
* @param value If true, then the opacity will be applied as: glColor(R,G,B,opacity);
* If false, then the opacity will be applied as: glColor(opacity, opacity, opacity, opacity);
* @js NA
* @lua NA
*/
virtual void setOpacityModifyRGB(bool value) = 0;
@ -99,28 +113,46 @@ public:
* or glColor(opacity, opacity, opacity, opacity)
*
* @return Returns opacity modify flag.
* @js NA
* @lua NA
*/
virtual bool isOpacityModifyRGB() const = 0;
/**
* whether or not color should be propagated to its children.
* @js NA
* @lua NA
*/
virtual bool isCascadeColorEnabled() const = 0;
/**
* @js NA
* @lua NA
*/
virtual void setCascadeColorEnabled(bool cascadeColorEnabled) = 0;
/**
* recursive method that updates display color
* @js NA
* @lua NA
*/
virtual void updateDisplayedColor(const Color3B& color) = 0;
/**
* whether or not opacity should be propagated to its children.
* @js NA
* @lua NA
*/
virtual bool isCascadeOpacityEnabled() const = 0;
/**
* @js NA
* @lua NA
*/
virtual void setCascadeOpacityEnabled(bool cascadeOpacityEnabled) = 0;
/**
* recursive method that updates the displayed opacity.
* @js NA
* @lua NA
*/
virtual void updateDisplayedOpacity(GLubyte opacity) = 0;
};
@ -138,7 +170,8 @@ public:
*
* @param blendFunc A structure with source and destination factor to specify pixel arithmetic,
* e.g. {GL_ONE, GL_ONE}, {GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA}.
*
* @js NA
* @lua NA
*/
virtual void setBlendFunc(const BlendFunc &blendFunc) = 0;
@ -146,6 +179,8 @@ public:
* Returns the blending function that is currently being used.
*
* @return A BlendFunc structure with source and destination factor which specified pixel arithmetic.
* @js NA
* @lua NA
*/
virtual const BlendFunc &getBlendFunc() const = 0;
};
@ -166,6 +201,8 @@ public:
* Returns the currently used texture
*
* @return The texture that is currenlty being used.
* @js NA
* @lua NA
*/
virtual Texture2D* getTexture() const = 0;
@ -173,6 +210,8 @@ public:
* Sets a new texuture. It will be retained.
*
* @param texture A valid Texture2D object, which will be applied to this sprite object.
* @js NA
* @lua NA
*/
virtual void setTexture(Texture2D *texture) = 0;
};
@ -187,6 +226,8 @@ public:
* Sets a new label using an string
*
* @param label A null terminated string
* @js NA
* @lua NA
*/
virtual void setString(const char *label) = 0;
@ -194,6 +235,8 @@ public:
* Returns the string that is currently being used in this label
*
* @return The string that is currently being used in this label
* @js NA
* @lua NA
*/
virtual const char* getString() const = 0;
};
@ -206,6 +249,8 @@ class CC_DLL DirectorDelegate
public:
/**
* Will be called by Director when the projection is updated, and "custom" projection is used
* @js NA
* @lua NA
*/
virtual void updateProjection() = 0;
};

View File

@ -427,7 +427,10 @@ public:
struct FontDefinition
{
public:
/**
* @js NA
* @lua NA
*/
FontDefinition()
: _fontSize(0)
, _alignment(TextHAlignment::CENTER)

View File

@ -45,7 +45,14 @@ typedef std::function<void(int)> KeyboardDelegate;
class CC_DLL KeyboardDispatcher : public Object
{
public:
/**
* @js ctor
*/
KeyboardDispatcher();
/**
* @js NA
* @lua NA
*/
~KeyboardDispatcher();
/**

View File

@ -38,10 +38,17 @@ NS_CC_BEGIN
class CC_DLL KeypadDelegate
{
public:
// The back key clicked
/** The back key clicked
* @js NA
* @lua NA
*/
virtual void keyBackClicked() {}
// The menu key clicked. only available on wophone & android
/** The menu key clicked. only available on wophone & android
* @js NA
* @lua NA
*/
virtual void keyMenuClicked() {};
};
@ -53,17 +60,34 @@ Object than contains the KeypadDelegate.
class CC_DLL KeypadHandler : public Object
{
public:
/**
* @js NA
* @lua NA
*/
virtual ~KeypadHandler(void);
/** delegate */
/** delegate
* @js NA
* @lua NA
*/
KeypadDelegate* getDelegate();
/**
* @js NA
* @lua NA
*/
void setDelegate(KeypadDelegate *pDelegate);
/** initializes a KeypadHandler with a delegate */
/** initializes a KeypadHandler with a delegate
* @js NA
* @lua NA
*/
virtual bool initWithDelegate(KeypadDelegate *pDelegate);
public:
/** allocates a KeypadHandler with a delegate */
/** allocates a KeypadHandler with a delegate
* @js NA
* @lua NA
*/
static KeypadHandler* handlerWithDelegate(KeypadDelegate *pDelegate);
protected:

View File

@ -49,7 +49,14 @@ struct _ccCArray;
class CC_DLL KeypadDispatcher : public Object
{
public:
/**
* @js ctor
*/
KeypadDispatcher();
/**
* @js NA
* @lua NA
*/
~KeypadDispatcher();
/**

View File

@ -39,7 +39,7 @@ Font::Font() : _usedGlyphs(GlyphCollection::ASCII), _customGlyphs(nullptr)
{
}
const char * Font::getGlyphCollection(GlyphCollection glyphs)
const char * Font::getGlyphCollection(GlyphCollection glyphs) const
{
switch (glyphs)
{
@ -85,7 +85,7 @@ void Font::setCurrentGlyphCollection(GlyphCollection glyphs, const char *customG
}
}
const char * Font::getCurrentGlyphCollection()
const char * Font::getCurrentGlyphCollection() const
{
if (_customGlyphs)
{
@ -107,9 +107,9 @@ Font* Font::createWithFNT(const char* fntFilePath)
return FontFNT::create(fntFilePath);
}
unsigned short int * Font::getUTF16Text(const char *pText, int &outNumLetters)
unsigned short int * Font::getUTF16Text(const char *text, int &outNumLetters) const
{
unsigned short* utf16String = cc_utf8_to_utf16(pText);
unsigned short* utf16String = cc_utf8_to_utf16(text);
if(!utf16String)
return 0;
@ -118,28 +118,28 @@ unsigned short int * Font::getUTF16Text(const char *pText, int &outNumLetters)
return utf16String;
}
int Font::getUTF16TextLenght(unsigned short int *pText)
int Font::getUTF16TextLenght(unsigned short int *text) const
{
return cc_wcslen(pText);
return cc_wcslen(text);
}
unsigned short int * Font::trimUTF16Text(unsigned short int *pText, int newBegin, int newEnd)
unsigned short int * Font::trimUTF16Text(unsigned short int *text, int newBegin, int newEnd) const
{
if ( newBegin<0 || newEnd<=0 )
if ( newBegin < 0 || newEnd <= 0 )
return 0;
if ( newBegin>=newEnd )
if ( newBegin >= newEnd )
return 0;
if (newEnd >= cc_wcslen(pText))
if (newEnd >= cc_wcslen(text))
return 0;
int newLenght = newEnd - newBegin + 2;
unsigned short* trimmedString = new unsigned short[newLenght];
for(int c = 0; c < (newLenght-1); ++c)
for(int c = 0; c < (newLenght - 1); ++c)
{
trimmedString[c] = pText[newBegin + c];
trimmedString[c] = text[newBegin + c];
}
// last char
@ -149,15 +149,9 @@ unsigned short int * Font::trimUTF16Text(unsigned short int *pText, int newBegi
return trimmedString;
}
Rect Font::getRectForChar(unsigned short theChar)
Rect Font::getRectForChar(unsigned short theChar) const
{
Rect temp;
temp.size.width = 0;
temp.size.height = 0;
temp.origin.x = 0;
temp.origin.y = 0;
return temp;
return Rect::ZERO;
}
NS_CC_END

View File

@ -47,25 +47,29 @@ public:
virtual FontAtlas *createFontAtlas() = 0;
virtual Size * getAdvancesForTextUTF16(unsigned short *pText, int &outNumLetters) = 0;
virtual const char * getCurrentGlyphCollection();
virtual Size * getAdvancesForTextUTF16(unsigned short *text, int &outNumLetters) const = 0;
virtual const char * getCurrentGlyphCollection() const;
virtual int getLetterPadding() { return 0; }
virtual unsigned char * getGlyphBitmap(unsigned short theChar, int &outWidth, int &outHeight) { return 0; }
virtual GlyphDef * getGlyphDefintionsForText(const char *pText, int &outNumGlyphs, bool UTF16text = false) { return 0; }
virtual int getFontMaxHeight() { return 0; }
virtual Rect getRectForChar(unsigned short theChar);
virtual int getLetterPadding() const { return 0; }
virtual unsigned char * getGlyphBitmap(unsigned short theChar, int &outWidth, int &outHeight) const { return 0; }
virtual GlyphDef * getGlyphDefintionsForText(const char *text, int &outNumGlyphs, bool UTF16text = false) const { return 0; }
virtual int getFontMaxHeight() const { return 0; }
virtual Rect getRectForChar(unsigned short theChar) const;
virtual int getUTF16TextLenght(unsigned short int *pText);
virtual unsigned short int * getUTF16Text(const char *pText, int &outNumLetters);
virtual unsigned short int * trimUTF16Text(unsigned short int *pText, int newBegin, int newEnd);
virtual int getUTF16TextLenght(unsigned short int *text) const;
virtual unsigned short int * getUTF16Text(const char *text, int &outNumLetters) const;
virtual unsigned short int * trimUTF16Text(unsigned short int *text, int newBegin, int newEnd) const;
protected:
Font();
/**
* @js NA
* @lua NA
*/
virtual ~Font() {}
void setCurrentGlyphCollection(GlyphCollection glyphs, const char *customGlyphs = 0);
const char * getGlyphCollection(GlyphCollection glyphs);
const char * getGlyphCollection(GlyphCollection glyphs) const;
private:

View File

@ -62,7 +62,7 @@ Texture2D & FontAtlas::getTexture(int slot)
return *(_atlasTextures[slot]);
}
float FontAtlas::getCommonLineHeight()
float FontAtlas::getCommonLineHeight() const
{
return _commonLineHeight;
}
@ -72,7 +72,7 @@ void FontAtlas::setCommonLineHeight(float newHeight)
_commonLineHeight = newHeight;
}
Font & FontAtlas::getFont()
Font & FontAtlas::getFont() const
{
return _font;
}

View File

@ -50,19 +50,25 @@ struct FontLetterDefinition
class CC_DLL FontAtlas : public Object
{
public:
/**
* @js ctor
*/
FontAtlas(Font &theFont);
/**
* @js NA
* @lua NA
*/
virtual ~FontAtlas();
void addLetterDefinition(const FontLetterDefinition &letterDefinition);
bool getLetterDefinitionForChar(unsigned short letteCharUTF16, FontLetterDefinition &outDefinition);
void addTexture(Texture2D &texture, int slot);
float getCommonLineHeight();
float getCommonLineHeight() const;
void setCommonLineHeight(float newHeight);
Texture2D & getTexture(int slot);
Font & getFont();
Font & getFont() const;
private:

View File

@ -31,10 +31,10 @@ FontAtlas * FontAtlasFactory::createAtlasFromTTF(const char* fntFilePath, int fo
FontAtlas * FontAtlasFactory::createAtlasFromFNT(const char* fntFilePath)
{
Font *pFont = Font::createWithFNT(fntFilePath);
Font *font = Font::createWithFNT(fntFilePath);
if(pFont)
return pFont->createFontAtlas();
if(font)
return font->createFontAtlas();
else
return nullptr;
}

View File

@ -27,7 +27,7 @@
NS_CC_BEGIN
const int FontDefinitionTTF::_DEFAUL_ATALS_TEXTURE_SIZE = 1024;
const int FontDefinitionTTF::DEFAUL_ATALS_TEXTURE_SIZE = 1024;
FontDefinitionTTF::FontDefinitionTTF():_textImages(0), _commonLineHeight(0)
{
@ -36,18 +36,18 @@ FontDefinitionTTF::FontDefinitionTTF():_textImages(0), _commonLineHeight(0)
FontDefinitionTTF* FontDefinitionTTF::create(Font *font, int textureSize)
{
if (textureSize == 0)
textureSize = _DEFAUL_ATALS_TEXTURE_SIZE;
textureSize = DEFAUL_ATALS_TEXTURE_SIZE;
FontDefinitionTTF *ret = new FontDefinitionTTF;
if(!ret)
if (!ret)
return 0;
const char *pGlyph = font->getCurrentGlyphCollection();
if (!pGlyph)
const char *glyph = font->getCurrentGlyphCollection();
if (!glyph)
return nullptr;
if ( ret->initDefinition(font, pGlyph, textureSize ) )
if (ret->initDefinition(font, glyph, textureSize))
{
return ret;
}
@ -69,34 +69,33 @@ FontDefinitionTTF::~FontDefinitionTTF()
bool FontDefinitionTTF::prepareLetterDefinitions(TextFontPagesDef *pageDefs)
{
// get all the pages
TextFontPagesDef *pPages = pageDefs;
if (!pPages)
TextFontPagesDef *pages = pageDefs;
if (!pages)
return (false);
float maxLineHeight = -1;
// loops all the pages
for (int cPages = 0; cPages<pPages->getNumPages(); ++cPages)
for (int cPages = 0; cPages < pages->getNumPages(); ++cPages)
{
// loops all the lines in this page
for (int cLines = 0; cLines<pPages->getPageAt(cPages)->getNumLines(); ++cLines)
for (int cLines = 0; cLines<pages->getPageAt(cPages)->getNumLines(); ++cLines)
{
float posXUV = 0.0;
float posYUV = pPages->getPageAt(cPages)->getLineAt(cLines)->getY();
float posYUV = pages->getPageAt(cPages)->getLineAt(cLines)->getY();
int charsCounter = 0;
for (int c = 0; c < pPages->getPageAt(cPages)->getLineAt(cLines)->getNumGlyph(); ++c)
for (int c = 0; c < pages->getPageAt(cPages)->getLineAt(cLines)->getNumGlyph(); ++c)
{
// the current glyph
GlyphDef currentGlyph = pPages->getPageAt(cPages)->getLineAt(cLines)->getGlyphAt(c);
GlyphDef currentGlyph = pages->getPageAt(cPages)->getLineAt(cLines)->getGlyphAt(c);
// letter width
float letterWidth = currentGlyph.getRect().size.width;
// letter height
float letterHeight = pPages->getPageAt(cPages)->getLineAt(cLines)->getHeight();
float letterHeight = pages->getPageAt(cPages)->getLineAt(cLines)->getHeight();
// add this letter definition
FontLetterDefinition tempDef;
@ -180,7 +179,7 @@ bool FontDefinitionTTF::initDefinition(cocos2d::Font *font, const char *letters,
return prepareLetterDefinitions(_textImages->getPages());
}
void FontDefinitionTTF::addLetterDefinition(FontLetterDefinition &defToAdd)
void FontDefinitionTTF::addLetterDefinition(const FontLetterDefinition &defToAdd)
{
if (_fontLettersDefinitionUTF16.find(defToAdd.letteCharUTF16) == _fontLettersDefinitionUTF16.end())
{
@ -191,10 +190,10 @@ void FontDefinitionTTF::addLetterDefinition(FontLetterDefinition &defToAdd)
FontAtlas * FontDefinitionTTF::createFontAtlas()
{
int numTextures = 0;
TextFontPagesDef *pPages = _textImages->getPages();
TextFontPagesDef *pages = _textImages->getPages();
if (pPages)
numTextures = pPages->getNumPages();
if (pages)
numTextures = pages->getNumPages();
else
return nullptr;

View File

@ -41,18 +41,24 @@ public:
FontAtlas * createFontAtlas();
private:
/**
* @js ctor
*/
FontDefinitionTTF();
/**
* @js NA
* @lua NA
*/
~FontDefinitionTTF();
bool initDefinition(Font *font, const char *letters, int textureSize);
bool prepareLetterDefinitions(TextFontPagesDef *pageDefs);
void addLetterDefinition(FontLetterDefinition &defToAdd);
void addLetterDefinition(const FontLetterDefinition &defToAdd);
TextImage * _textImages;
std::map<unsigned short, FontLetterDefinition> _fontLettersDefinitionUTF16;
float _commonLineHeight;
static const int _DEFAUL_ATALS_TEXTURE_SIZE;
static const int DEFAUL_ATALS_TEXTURE_SIZE;
};

View File

@ -19,7 +19,7 @@ FontFNT * FontFNT::create(const char* fntFilePath)
// add the texture
Texture2D *tempTexture = TextureCache::getInstance()->addImage(newConf->getAtlasName());
if ( !tempTexture )
if (!tempTexture)
{
delete newConf;
return nullptr;
@ -42,39 +42,39 @@ FontFNT::~FontFNT()
_configuration->release();
}
Size * FontFNT::getAdvancesForTextUTF16(unsigned short *pText, int &outNumLetters)
Size * FontFNT::getAdvancesForTextUTF16(unsigned short *text, int &outNumLetters) const
{
if (!pText)
if (!text)
return 0;
outNumLetters = cc_wcslen(pText);
outNumLetters = cc_wcslen(text);
if (!outNumLetters)
return 0;
Size *pSizes = new Size[outNumLetters];
if (!pSizes)
Size *sizes = new Size[outNumLetters];
if (!sizes)
return 0;
for (int c = 0; c<outNumLetters; ++c)
for (int c = 0; c < outNumLetters; ++c)
{
int advance = 0;
int kerning = 0;
advance = getAdvanceForChar(pText[c]);
advance = getAdvanceForChar(text[c]);
if ( c < (outNumLetters-1) )
kerning = getHorizontalKerningForChars(pText[c], pText[c+1]);
if (c < (outNumLetters-1))
kerning = getHorizontalKerningForChars(text[c], text[c+1]);
pSizes[c].width = (advance + kerning);
sizes[c].width = (advance + kerning);
}
return pSizes;
return sizes;
}
int FontFNT::getAdvanceForChar(unsigned short theChar)
int FontFNT::getAdvanceForChar(unsigned short theChar) const
{
tFontDefHashElement *element = NULL;
tFontDefHashElement *element = nullptr;
// unichar is a short, and an int is needed on HASH_FIND_INT
unsigned int key = theChar;
@ -85,28 +85,28 @@ int FontFNT::getAdvanceForChar(unsigned short theChar)
return element->fontDef.xAdvance;
}
int FontFNT::getHorizontalKerningForChars(unsigned short firstChar, unsigned short secondChar)
int FontFNT::getHorizontalKerningForChars(unsigned short firstChar, unsigned short secondChar) const
{
int ret = 0;
unsigned int key = (firstChar<<16) | (secondChar & 0xffff);
unsigned int key = (firstChar << 16) | (secondChar & 0xffff);
if( _configuration->_kerningDictionary )
if (_configuration->_kerningDictionary)
{
tKerningHashElement *element = NULL;
tKerningHashElement *element = nullptr;
HASH_FIND_INT(_configuration->_kerningDictionary, &key, element);
if(element)
if (element)
ret = element->amount;
}
return ret;
}
Rect FontFNT::getRectForCharInternal(unsigned short theChar)
Rect FontFNT::getRectForCharInternal(unsigned short theChar) const
{
Rect retRect;
ccBMFontDef fontDef;
tFontDefHashElement *element = NULL;
tFontDefHashElement *element = nullptr;
unsigned int key = theChar;
HASH_FIND_INT(_configuration->_fontDefDictionary, &key, element);
@ -119,7 +119,7 @@ Rect FontFNT::getRectForCharInternal(unsigned short theChar)
return retRect;
}
Rect FontFNT::getRectForChar(unsigned short theChar)
Rect FontFNT::getRectForChar(unsigned short theChar) const
{
return getRectForCharInternal(theChar);
}
@ -146,15 +146,15 @@ FontAtlas * FontFNT::createFontAtlas()
ccBMFontDef fontDef;
tFontDefHashElement *current_element, *tmp;
tFontDefHashElement *currentElement, *tmp;
// Purge uniform hash
HASH_ITER(hh, _configuration->_fontDefDictionary, current_element, tmp)
HASH_ITER(hh, _configuration->_fontDefDictionary, currentElement, tmp)
{
FontLetterDefinition tempDefinition;
fontDef = current_element->fontDef;
fontDef = currentElement->fontDef;
Rect tempRect;
tempRect = fontDef.rect;

View File

@ -37,20 +37,24 @@ public:
static FontFNT * create(const char* fntFilePath);
virtual Size* getAdvancesForTextUTF16(unsigned short *pText, int &outNumLetters) override;
virtual Rect getRectForChar(unsigned short theChar) override;
virtual Size* getAdvancesForTextUTF16(unsigned short *text, int &outNumLetters) const override;
virtual Rect getRectForChar(unsigned short theChar) const override;
virtual FontAtlas *createFontAtlas() override;
protected:
FontFNT(CCBMFontConfiguration *theContfig) : _configuration(theContfig) {}
/**
* @js NA
* @lua NA
*/
virtual ~FontFNT();
private:
int getAdvanceForChar(unsigned short theChar);
int getHorizontalKerningForChars(unsigned short firstChar, unsigned short secondChar);
Rect getRectForCharInternal(unsigned short theChar);
int getAdvanceForChar(unsigned short theChar) const;
int getHorizontalKerningForChars(unsigned short firstChar, unsigned short secondChar) const;
Rect getRectForCharInternal(unsigned short theChar) const;
CCBMFontConfiguration * _configuration;

View File

@ -51,7 +51,7 @@ FontFreeType * FontFreeType::create(const std::string &fontName, int fontSize, G
tempFont->setCurrentGlyphCollection(glyphs, customGlyphs);
if( !tempFont->createFontObject(fontName, fontSize))
if (!tempFont->createFontObject(fontName, fontSize))
{
delete tempFont;
return nullptr;
@ -94,11 +94,10 @@ FontFreeType::FontFreeType() : _letterPadding(5)
bool FontFreeType::createFontObject(const std::string &fontName, int fontSize)
{
unsigned char* data = NULL;
int dpi = 72;
int len = 0;
data = FileUtils::getInstance()->getFileData(fontName.c_str(), "rb", (unsigned long *)(&len) );
unsigned char* data = FileUtils::getInstance()->getFileData(fontName.c_str(), "rb", (unsigned long *)(&len));
if (!data)
return false;
@ -107,16 +106,16 @@ bool FontFreeType::createFontObject(const std::string &fontName, int fontSize)
FT_Face face;
// create the face from the data
if ( FT_New_Memory_Face(getFTLibrary(), data, len, 0, &face ) )
if (FT_New_Memory_Face(getFTLibrary(), data, len, 0, &face ))
return false;
//we want to use unicode
if( FT_Select_Charmap(face, FT_ENCODING_UNICODE) )
if (FT_Select_Charmap(face, FT_ENCODING_UNICODE))
return false;
// set the requested font size
int fontSizePoints = (int)(64.f * fontSize);
if( FT_Set_Char_Size(face, fontSizePoints, fontSizePoints, dpi, dpi) )
if (FT_Set_Char_Size(face, fontSizePoints, fontSizePoints, dpi, dpi))
return false;
// store the face globally
@ -137,10 +136,9 @@ FontFreeType::~FontFreeType()
FontAtlas * FontFreeType::createFontAtlas()
{
FontDefinitionTTF *def = 0;
def = FontDefinitionTTF::create(this);
FontDefinitionTTF *def = FontDefinitionTTF::create(this);
if(!def)
if (!def)
return nullptr;
FontAtlas *atlas = def->createFontAtlas();
@ -150,7 +148,7 @@ FontAtlas * FontFreeType::createFontAtlas()
return atlas;
}
bool FontFreeType::getBBOXFotChar(unsigned short theChar, Rect &outRect)
bool FontFreeType::getBBOXFotChar(unsigned short theChar, Rect &outRect) const
{
if (!_fontRef)
return false;
@ -174,17 +172,17 @@ bool FontFreeType::getBBOXFotChar(unsigned short theChar, Rect &outRect)
return true;
}
GlyphDef * FontFreeType::getGlyphDefintionsForText(const char *pText, int &outNumGlyphs, bool UTF16text)
GlyphDef * FontFreeType::getGlyphDefintionsForText(const char *text, int &outNumGlyphs, bool UTF16text) const
{
unsigned short* utf16String = 0;
if (UTF16text)
{
utf16String = (unsigned short*) pText;
utf16String = (unsigned short*) text;
}
else
{
utf16String = cc_utf8_to_utf16(pText);
utf16String = cc_utf8_to_utf16(text);
}
//
@ -196,17 +194,17 @@ GlyphDef * FontFreeType::getGlyphDefintionsForText(const char *pText, int &outNu
return 0;
// allocate the needed Glyphs
GlyphDef *pGlyphs = new GlyphDef[numChar];
assert( pGlyphs != NULL );
if (!pGlyphs)
GlyphDef *glyphs = new GlyphDef[numChar];
assert(glyphs != nullptr);
if (!glyphs)
return 0;
// sore result as CCRect
for (int c=0; c<numChar; ++c)
for (int c = 0; c < numChar; ++c)
{
Rect tempRect;
if( !getBBOXFotChar(utf16String[c], tempRect) )
if (!getBBOXFotChar(utf16String[c], tempRect))
{
log("Warning: Cannot find definition for glyph: %c in font:%s", utf16String[c], _fontName.c_str());
@ -215,20 +213,17 @@ GlyphDef * FontFreeType::getGlyphDefintionsForText(const char *pText, int &outNu
tempRect.size.width = 0;
tempRect.size.height = 0;
pGlyphs[c].setRect(tempRect);
pGlyphs[c].setUTF16Letter(utf16String[c]);
pGlyphs[c].setValid(false);
pGlyphs[c].setPadding(_letterPadding);
glyphs[c].setRect(tempRect);
glyphs[c].setUTF16Letter(utf16String[c]);
glyphs[c].setValid(false);
glyphs[c].setPadding(_letterPadding);
}
else
{
pGlyphs[c].setRect(tempRect);
pGlyphs[c].setUTF16Letter(utf16String[c]);
pGlyphs[c].setPadding(_letterPadding);
pGlyphs[c].setValid(true);
glyphs[c].setRect(tempRect);
glyphs[c].setUTF16Letter(utf16String[c]);
glyphs[c].setPadding(_letterPadding);
glyphs[c].setValid(true);
}
}
@ -239,40 +234,40 @@ GlyphDef * FontFreeType::getGlyphDefintionsForText(const char *pText, int &outNu
delete [] utf16String;
// done
return pGlyphs;
return glyphs;
}
Size * FontFreeType::getAdvancesForTextUTF16(unsigned short *pText, int &outNumLetters)
Size * FontFreeType::getAdvancesForTextUTF16(unsigned short *text, int &outNumLetters) const
{
if (!pText)
if (!text)
return 0;
outNumLetters = cc_wcslen(pText);
outNumLetters = cc_wcslen(text);
if (!outNumLetters)
return 0;
Size *pSizes = new Size[outNumLetters];
if (!pSizes)
Size *sizes = new Size[outNumLetters];
if (!sizes)
return 0;
for (int c = 0; c<outNumLetters; ++c)
for (int c = 0; c < outNumLetters; ++c)
{
int advance = 0;
int kerning = 0;
advance = getAdvanceForChar(pText[c]) - getBearingXForChar(pText[c]);
advance = getAdvanceForChar(text[c]) - getBearingXForChar(text[c]);
if ( c < (outNumLetters-1) )
kerning = getHorizontalKerningForChars(pText[c], pText[c+1]);
if (c < (outNumLetters-1))
kerning = getHorizontalKerningForChars(text[c], text[c+1]);
pSizes[c].width = (advance + kerning);
sizes[c].width = (advance + kerning);
}
return pSizes;
return sizes;
}
int FontFreeType::getAdvanceForChar(unsigned short theChar)
int FontFreeType::getAdvanceForChar(unsigned short theChar) const
{
if (!_fontRef)
return 0;
@ -291,26 +286,26 @@ int FontFreeType::getAdvanceForChar(unsigned short theChar)
return (_fontRef->glyph->advance.x >> 6);
}
int FontFreeType::getBearingXForChar(unsigned short theChar)
int FontFreeType::getBearingXForChar(unsigned short theChar) const
{
if (!_fontRef)
return 0;
// get the ID to the char we need
int glyph_index = FT_Get_Char_Index(_fontRef, theChar);
int glyphIndex = FT_Get_Char_Index(_fontRef, theChar);
if (!glyph_index)
if (!glyphIndex)
return 0;
// load glyph infos
if (FT_Load_Glyph(_fontRef, glyph_index, FT_LOAD_DEFAULT))
if (FT_Load_Glyph(_fontRef, glyphIndex, FT_LOAD_DEFAULT))
return 0;
return (_fontRef->glyph->metrics.horiBearingX >>6);
}
int FontFreeType::getHorizontalKerningForChars(unsigned short firstChar, unsigned short secondChar)
int FontFreeType::getHorizontalKerningForChars(unsigned short firstChar, unsigned short secondChar) const
{
if (!_fontRef)
return 0;
@ -321,43 +316,43 @@ int FontFreeType::getHorizontalKerningForChars(unsigned short firstChar, unsign
return 0;
// get the ID to the char we need
int glyph_index1 = FT_Get_Char_Index(_fontRef, firstChar);
int glyphIndex1 = FT_Get_Char_Index(_fontRef, firstChar);
if (!glyph_index1)
if (!glyphIndex1)
return 0;
// get the ID to the char we need
int glyph_index2 = FT_Get_Char_Index(_fontRef, secondChar);
int glyphIndex2 = FT_Get_Char_Index(_fontRef, secondChar);
if (!glyph_index2)
if (!glyphIndex2)
return 0;
FT_Vector kerning;
if (FT_Get_Kerning( _fontRef, glyph_index1, glyph_index2, FT_KERNING_DEFAULT, &kerning ))
if (FT_Get_Kerning( _fontRef, glyphIndex1, glyphIndex2, FT_KERNING_DEFAULT, &kerning))
return 0;
return ( kerning.x >> 6 );
return (kerning.x >> 6);
}
int FontFreeType::getFontMaxHeight()
int FontFreeType::getFontMaxHeight() const
{
return (_fontRef->size->metrics.height >> 6);
}
unsigned char * FontFreeType::getGlyphBitmap(unsigned short theChar, int &outWidth, int &outHeight)
unsigned char * FontFreeType::getGlyphBitmap(unsigned short theChar, int &outWidth, int &outHeight) const
{
if (!_fontRef)
return 0;
// get the ID to the char we need
int glyph_index = FT_Get_Char_Index(_fontRef, theChar);
int glyphIndex = FT_Get_Char_Index(_fontRef, theChar);
if (!glyph_index)
if (!glyphIndex)
return 0;
// load glyph infos
if (FT_Load_Glyph(_fontRef, glyph_index, FT_LOAD_DEFAULT))
if (FT_Load_Glyph(_fontRef, glyphIndex, FT_LOAD_DEFAULT))
return 0;
if (FT_Render_Glyph( _fontRef->glyph, FT_RENDER_MODE_NORMAL ))
@ -370,7 +365,7 @@ unsigned char * FontFreeType::getGlyphBitmap(unsigned short theChar, int &outW
return _fontRef->glyph->bitmap.buffer;
}
int FontFreeType::getLetterPadding()
int FontFreeType::getLetterPadding() const
{
return _letterPadding;
}

View File

@ -41,11 +41,11 @@ public:
static FontFreeType * create(const std::string &fontName, int fontSize, GlyphCollection glyphs, const char *customGlyphs);
virtual FontAtlas * createFontAtlas() override;
virtual Size * getAdvancesForTextUTF16(unsigned short *pText, int &outNumLetters) override;
virtual GlyphDef * getGlyphDefintionsForText(const char *pText, int &outNumGlyphs, bool UTF16text = false) override;
unsigned char * getGlyphBitmap(unsigned short theChar, int &outWidth, int &outHeight) override;
virtual int getFontMaxHeight() override;
virtual int getLetterPadding() override;
virtual Size * getAdvancesForTextUTF16(unsigned short *text, int &outNumLetters) const override;
virtual GlyphDef * getGlyphDefintionsForText(const char *text, int &outNumGlyphs, bool UTF16text = false) const override;
unsigned char * getGlyphBitmap(unsigned short theChar, int &outWidth, int &outHeight) const override;
virtual int getFontMaxHeight() const override;
virtual int getLetterPadding() const override;
protected:
@ -60,10 +60,10 @@ private:
void shutdownFreeType();
FT_Library getFTLibrary();
bool getBBOXFotChar(unsigned short theChar, Rect &outRect);
int getAdvanceForChar(unsigned short theChar);
int getBearingXForChar(unsigned short theChar);
int getHorizontalKerningForChars(unsigned short firstChar, unsigned short secondChar);
bool getBBOXFotChar(unsigned short theChar, Rect &outRect) const;
int getAdvanceForChar(unsigned short theChar) const;
int getBearingXForChar(unsigned short theChar) const;
int getHorizontalKerningForChars(unsigned short firstChar, unsigned short secondChar) const;
static FT_Library _FTlibrary;
static bool _FTInitialized;

View File

@ -343,7 +343,7 @@ void Label::resetCurrentString()
}
Sprite * Label::createNewSpriteFromLetterDefinition(FontLetterDefinition &theDefinition, Texture2D *theTexture)
Sprite * Label::createNewSpriteFromLetterDefinition(const FontLetterDefinition &theDefinition, Texture2D *theTexture)
{
Rect uvRect;
uvRect.size.height = theDefinition.height;
@ -372,7 +372,7 @@ Sprite * Label::createNewSpriteFromLetterDefinition(FontLetterDefinition &theDef
return tempSprite;
}
Sprite * Label::updateSpriteWithLetterDefinition(Sprite *spriteToUpdate, FontLetterDefinition &theDefinition, Texture2D *theTexture)
Sprite * Label::updateSpriteWithLetterDefinition(Sprite *spriteToUpdate, const FontLetterDefinition &theDefinition, Texture2D *theTexture)
{
if (!spriteToUpdate)
{
@ -454,7 +454,7 @@ Sprite * Label::getSprite()
{
if (_spriteArrayCache->count())
{
Sprite *retSprite = static_cast<Sprite *>( _spriteArrayCache->getLastObject() );
Sprite *retSprite = static_cast<Sprite *>(_spriteArrayCache->getLastObject());
_spriteArrayCache->removeLastObject();
return retSprite;
}
@ -467,7 +467,7 @@ Sprite * Label::getSprite()
///// PROTOCOL STUFF
Sprite * Label::getSpriteChild(int ID)
Sprite * Label::getSpriteChild(int ID) const
{
Object* pObj = NULL;
CCARRAY_FOREACH(_spriteArray, pObj)
@ -481,7 +481,7 @@ Sprite * Label::getSpriteChild(int ID)
return 0;
}
Array* Label::getChildrenLetters()
Array* Label::getChildrenLetters() const
{
return _spriteArray;
}
@ -516,29 +516,29 @@ Sprite * Label::getSpriteForChar(unsigned short int theChar, int spriteIndexHint
return retSprite;
}
float Label::getLetterPosXLeft( Sprite* sp )
float Label::getLetterPosXLeft( Sprite* sp ) const
{
float scaleX = _scaleX;
return sp->getPosition().x * scaleX - (sp->getContentSize().width * scaleX * sp->getAnchorPoint().x);
}
float Label::getLetterPosXRight( Sprite* sp )
float Label::getLetterPosXRight( Sprite* sp ) const
{
float scaleX = _scaleX;
return sp->getPosition().x * scaleX + (sp->getContentSize().width * scaleX * sp->getAnchorPoint().x);
}
int Label::getCommonLineHeight()
int Label::getCommonLineHeight() const
{
return _commonLineHeight;
}
int Label::getKerningForCharsPair(unsigned short first, unsigned short second)
int Label::getKerningForCharsPair(unsigned short first, unsigned short second) const
{
return 0;
}
int Label::getXOffsetForChar(unsigned short c)
int Label::getXOffsetForChar(unsigned short c) const
{
FontLetterDefinition tempDefinition;
bool validDefinition = _fontAtlas->getLetterDefinitionForChar(c, tempDefinition);
@ -548,7 +548,7 @@ int Label::getXOffsetForChar(unsigned short c)
return (tempDefinition.offsetX);
}
int Label::getYOffsetForChar(unsigned short c)
int Label::getYOffsetForChar(unsigned short c) const
{
FontLetterDefinition tempDefinition;
bool validDefinition = _fontAtlas->getLetterDefinitionForChar(c, tempDefinition);
@ -558,7 +558,7 @@ int Label::getYOffsetForChar(unsigned short c)
return (tempDefinition.offsetY);
}
int Label::getAdvanceForChar(unsigned short c, int hintPositionInString)
int Label::getAdvanceForChar(unsigned short c, int hintPositionInString) const
{
if (_advances)
{
@ -576,13 +576,13 @@ int Label::getAdvanceForChar(unsigned short c, int hintPositionInString)
}
}
Rect Label::getRectForChar(unsigned short c)
Rect Label::getRectForChar(unsigned short c) const
{
return _fontAtlas->getFont().getRectForChar(c);
}
// string related stuff
int Label::getStringNumLines()
int Label::getStringNumLines() const
{
int quantityOfLines = 1;
@ -603,17 +603,17 @@ int Label::getStringNumLines()
return quantityOfLines;
}
int Label::getStringLenght()
int Label::getStringLenght() const
{
return _currentUTF8String ? cc_wcslen(_currentUTF8String) : 0;
}
unsigned short Label::getCharAtStringPosition(int position)
unsigned short Label::getCharAtStringPosition(int position) const
{
return _currentUTF8String[position];
}
unsigned short * Label::getUTF8String()
unsigned short * Label::getUTF8String() const
{
return _currentUTF8String;
}
@ -623,23 +623,23 @@ void Label::assignNewUTF8String(unsigned short *newString)
setCurrentString(newString);
}
TextHAlignment Label::getTextAlignment()
TextHAlignment Label::getTextAlignment() const
{
return _alignment;
}
// label related stuff
float Label::getMaxLineWidth()
float Label::getMaxLineWidth() const
{
return _width;
}
bool Label::breakLineWithoutSpace()
bool Label::breakLineWithoutSpace() const
{
return _lineBreakWithoutSpaces;
}
Size Label::getLabelContentSize()
Size Label::getLabelContentSize() const
{
return getContentSize();
}

View File

@ -38,7 +38,6 @@ enum class GlyphCollection {
NEHE,
ASCII,
CUSTOM
};
//fwd
@ -52,75 +51,81 @@ class CC_DLL Label : public SpriteBatchNode, public LabelProtocol, public RGBAPr
public:
// static create
static Label* createWithTTF( const char* label, const char* fontFilePath, int fontSize, int lineSize = 0, TextHAlignment alignment = TextHAlignment::CENTER, GlyphCollection glyphs = GlyphCollection::NEHE, const char *customGlyphs = 0 );
static Label* createWithTTF(const char* label, const char* fontFilePath, int fontSize, int lineSize = 0, TextHAlignment alignment = TextHAlignment::CENTER, GlyphCollection glyphs = GlyphCollection::NEHE, const char *customGlyphs = 0);
static Label* createWithBMFont( const char* label, const char* bmfontFilePath, TextHAlignment alignment = TextHAlignment::CENTER, int lineSize = 0 );
static Label* createWithBMFont(const char* label, const char* bmfontFilePath, TextHAlignment alignment = TextHAlignment::CENTER, int lineSize = 0);
bool setText(const char *stringToRender, float lineWidth, TextHAlignment alignment = TextHAlignment::LEFT, bool lineBreakWithoutSpaces = false);
virtual void setString(const char *stringToRender);
virtual void setString(const char *stringToRender) override;
virtual void setAlignment(TextHAlignment alignment);
virtual void setWidth(float width);
virtual void setLineBreakWithoutSpace(bool breakWithoutSpace);
virtual void setScale(float scale);
virtual void setScaleX(float scaleX);
virtual void setScaleY(float scaleY);
virtual void setScale(float scale) override;
virtual void setScaleX(float scaleX) override;
virtual void setScaleY(float scaleY) override;
// RGBAProtocol
virtual bool isOpacityModifyRGB() const;
virtual void setOpacityModifyRGB(bool isOpacityModifyRGB);
virtual void setOpacity(GLubyte opacity);
virtual void updateDisplayedOpacity(GLubyte parentOpacity);
virtual bool isCascadeOpacityEnabled() const;
virtual void setCascadeOpacityEnabled(bool cascadeOpacityEnabled);
virtual void setColor(const Color3B& color);
virtual void updateDisplayedColor(const Color3B& parentColor);
virtual bool isCascadeColorEnabled() const;
virtual void setCascadeColorEnabled(bool cascadeColorEnabled);
virtual const Color3B& getColor(void) const;
virtual const Color3B& getDisplayedColor() const;
virtual unsigned char getOpacity() const;
virtual unsigned char getDisplayedOpacity() const;
virtual bool isOpacityModifyRGB() const override;
virtual void setOpacityModifyRGB(bool isOpacityModifyRGB) override;
virtual void setOpacity(GLubyte opacity) override;
virtual void updateDisplayedOpacity(GLubyte parentOpacity) override;
virtual bool isCascadeOpacityEnabled() const override;
virtual void setCascadeOpacityEnabled(bool cascadeOpacityEnabled) override;
virtual void setColor(const Color3B& color) override;
virtual void updateDisplayedColor(const Color3B& parentColor) override;
virtual bool isCascadeColorEnabled() const override;
virtual void setCascadeColorEnabled(bool cascadeColorEnabled) override;
virtual const Color3B& getColor(void) const override;
virtual const Color3B& getDisplayedColor() const override;
virtual unsigned char getOpacity() const override;
virtual unsigned char getDisplayedOpacity() const override;
// CCLabelTextFormat protocol implementation
virtual Sprite * getSpriteChild(int ID);
virtual Array * getChildrenLetters();
virtual Sprite * getSpriteForChar(unsigned short int theChar, int spriteIndexHint);
virtual float getLetterPosXLeft( Sprite* sp );
virtual float getLetterPosXRight( Sprite* sp );
virtual Sprite * getSpriteChild(int ID) const override;
virtual Array * getChildrenLetters() const override;
virtual Sprite * getSpriteForChar(unsigned short int theChar, int spriteIndexHint) override;
virtual float getLetterPosXLeft( Sprite* sp ) const override;
virtual float getLetterPosXRight( Sprite* sp ) const override;
// font related stuff
virtual int getCommonLineHeight();
virtual int getKerningForCharsPair(unsigned short first, unsigned short second);
virtual int getXOffsetForChar(unsigned short c);
virtual int getYOffsetForChar(unsigned short c);
virtual int getAdvanceForChar(unsigned short c, int hintPositionInString);
virtual Rect getRectForChar(unsigned short c) ;
virtual int getCommonLineHeight() const override;
virtual int getKerningForCharsPair(unsigned short first, unsigned short second) const override;
virtual int getXOffsetForChar(unsigned short c) const override;
virtual int getYOffsetForChar(unsigned short c) const override;
virtual int getAdvanceForChar(unsigned short c, int hintPositionInString) const override;
virtual Rect getRectForChar(unsigned short c) const override;
// string related stuff
virtual int getStringNumLines();
virtual int getStringLenght();
virtual unsigned short getCharAtStringPosition(int position);
virtual unsigned short * getUTF8String();
virtual void assignNewUTF8String(unsigned short *newString);
virtual TextHAlignment getTextAlignment();
virtual int getStringNumLines() const override;
virtual int getStringLenght() const override;
virtual unsigned short getCharAtStringPosition(int position) const override;
virtual unsigned short * getUTF8String() const override;
virtual void assignNewUTF8String(unsigned short *newString) override;
virtual TextHAlignment getTextAlignment() const override;
// label related stuff
virtual float getMaxLineWidth() ;
virtual bool breakLineWithoutSpace();
virtual Size getLabelContentSize();
virtual void setLabelContentSize(const Size &newSize);
virtual float getMaxLineWidth() const override;
virtual bool breakLineWithoutSpace() const override;
virtual Size getLabelContentSize() const override;
virtual void setLabelContentSize(const Size &newSize) override;
// carloX
const char * getString() const { return "not implemented"; }
private:
Label(FontAtlas *pAtlas, TextHAlignment alignment);
/**
* @js NA
*/
Label(FontAtlas *atlas, TextHAlignment alignment);
/**
* @js NA
* @lua NA
*/
~Label();
static Label* createWithAtlas(FontAtlas *pAtlas, TextHAlignment alignment = TextHAlignment::LEFT, int lineSize = 0);
static Label* createWithAtlas(FontAtlas *atlas, TextHAlignment alignment = TextHAlignment::LEFT, int lineSize = 0);
bool init();
@ -134,8 +139,8 @@ private:
void resetCurrentString();
Sprite * getSprite();
Sprite * createNewSpriteFromLetterDefinition(FontLetterDefinition &theDefinition, Texture2D *theTexture);
Sprite * updateSpriteWithLetterDefinition(Sprite *spriteToUpdate, FontLetterDefinition &theDefinition, Texture2D *theTexture);
Sprite * createNewSpriteFromLetterDefinition(const FontLetterDefinition &theDefinition, Texture2D *theTexture);
Sprite * updateSpriteWithLetterDefinition(Sprite *spriteToUpdate, const FontLetterDefinition &theDefinition, Texture2D *theTexture);
Sprite * getSpriteForLetter(unsigned short int newLetter);
Sprite * updateSpriteForLetter(Sprite *spriteToUpdate, unsigned short int newLetter);

View File

@ -51,9 +51,16 @@ A more flexible class is LabelBMFont. It supports variable width characters and
class CC_DLL LabelAtlas : public AtlasNode, public LabelProtocol
{
public:
/**
* @js ctor
*/
LabelAtlas()
:_string("")
{}
/**
* @js NA
* @lua NA
*/
virtual ~LabelAtlas()
{
_string.clear();

View File

@ -124,8 +124,19 @@ public://@public
// Character Set defines the letters that actually exist in the font
std::set<unsigned int> *_characterSet;
public:
/**
* @js ctor
*/
CCBMFontConfiguration();
/**
* @js NA
* @lua NA
*/
virtual ~CCBMFontConfiguration();
/**
* @js NA
* @lua NA
*/
const char * description() const;
/** allocates a CCBMFontConfiguration with a FNT file */
@ -182,8 +193,14 @@ http://www.angelcode.com/products/bmfont/ (Free, Windows only)
class CC_DLL LabelBMFont : public SpriteBatchNode, public LabelProtocol, public RGBAProtocol
{
public:
/**
* @js ctor
*/
LabelBMFont();
/**
* @js NA
* @lua NA
*/
virtual ~LabelBMFont();
/** Purges the cached data.
Removes from memory the cached configurations and the atlas name dictionary.

View File

@ -57,8 +57,19 @@ NS_CC_BEGIN
class CC_DLL LabelTTF : public Sprite, public LabelProtocol
{
public:
/**
* @js ctor
*/
LabelTTF();
/**
* @js NA
* @lua NA
*/
virtual ~LabelTTF();
/**
* @js NA
* @lua NA
*/
const char* description() const;
/** creates a LabelTTF with a font name and font size in points

View File

@ -32,32 +32,32 @@ class CC_DLL LabelTextFormatProtocol
public:
// sprite related stuff
virtual cocos2d::Sprite *getSpriteChild(int ID) = 0;
virtual cocos2d::Array *getChildrenLetters() = 0;
virtual cocos2d::Sprite *getSpriteChild(int ID) const = 0;
virtual cocos2d::Array *getChildrenLetters() const = 0;
virtual cocos2d::Sprite *getSpriteForChar(unsigned short int theChar, int spriteIndexHint) = 0;
virtual float getLetterPosXLeft( cocos2d::Sprite* sp ) = 0;
virtual float getLetterPosXRight( cocos2d::Sprite* sp ) = 0;
virtual float getLetterPosXLeft(cocos2d::Sprite* sp) const = 0;
virtual float getLetterPosXRight(cocos2d::Sprite* sp) const = 0;
// font related stuff
virtual int getCommonLineHeight() = 0;
virtual int getKerningForCharsPair(unsigned short first, unsigned short second) = 0;
virtual int getXOffsetForChar(unsigned short c) = 0;
virtual int getYOffsetForChar(unsigned short c) = 0;
virtual int getAdvanceForChar(unsigned short c, int hintPositionInString) = 0;
virtual cocos2d::Rect getRectForChar(unsigned short c) = 0;
virtual int getCommonLineHeight() const = 0;
virtual int getKerningForCharsPair(unsigned short first, unsigned short second) const = 0;
virtual int getXOffsetForChar(unsigned short c) const = 0;
virtual int getYOffsetForChar(unsigned short c) const = 0;
virtual int getAdvanceForChar(unsigned short c, int hintPositionInString) const = 0;
virtual cocos2d::Rect getRectForChar(unsigned short c) const = 0;
// string related stuff
virtual int getStringNumLines() = 0;
virtual int getStringLenght() = 0;
virtual unsigned short getCharAtStringPosition(int position) = 0;
virtual unsigned short * getUTF8String() = 0;
virtual int getStringNumLines() const = 0;
virtual int getStringLenght() const = 0;
virtual unsigned short getCharAtStringPosition(int position) const = 0;
virtual unsigned short * getUTF8String() const = 0;
virtual void assignNewUTF8String(unsigned short *newString) = 0;
virtual TextHAlignment getTextAlignment() = 0;
virtual TextHAlignment getTextAlignment() const = 0;
// label related stuff
virtual float getMaxLineWidth() = 0;
virtual bool breakLineWithoutSpace() = 0;
virtual cocos2d::Size getLabelContentSize() = 0;
virtual float getMaxLineWidth() const = 0;
virtual bool breakLineWithoutSpace() const = 0;
virtual cocos2d::Size getLabelContentSize() const = 0;
virtual void setLabelContentSize(const Size &newSize) = 0;
};

View File

@ -49,7 +49,7 @@ bool LabelTextFormatter::multilineText(LabelTextFormatProtocol *theLabel)
unsigned int line = 1, i = 0;
bool start_line = false, start_word = false;
bool isStartOfLine = false, isStartOfWord = false;
float startOfLine = -1, startOfWord = -1;
int skip = 0;
@ -76,16 +76,16 @@ bool LabelTextFormatter::multilineText(LabelTextFormatProtocol *theLabel)
unsigned short character = strWhole[i];
if (!start_word)
if (!isStartOfWord)
{
startOfWord = theLabel->getLetterPosXLeft( characterSprite );
start_word = true;
isStartOfWord = true;
}
if (!start_line)
if (!isStartOfLine)
{
startOfLine = startOfWord;
start_line = true;
isStartOfLine = true;
}
// Newline.
@ -96,12 +96,12 @@ bool LabelTextFormatter::multilineText(LabelTextFormatProtocol *theLabel)
last_word.push_back('\n');
multiline_string.insert(multiline_string.end(), last_word.begin(), last_word.end());
last_word.clear();
start_word = false;
start_line = false;
isStartOfWord = false;
isStartOfLine = false;
startOfWord = -1;
startOfLine = -1;
i+=justSkipped;
line++;
i += justSkipped;
++line;
if (i >= stringLength)
break;
@ -111,12 +111,12 @@ bool LabelTextFormatter::multilineText(LabelTextFormatProtocol *theLabel)
if (!startOfWord)
{
startOfWord = theLabel->getLetterPosXLeft( characterSprite );
start_word = true;
isStartOfWord = true;
}
if (!startOfLine)
{
startOfLine = startOfWord;
start_line = true;
isStartOfLine = true;
}
}
@ -126,14 +126,14 @@ bool LabelTextFormatter::multilineText(LabelTextFormatProtocol *theLabel)
last_word.push_back(character);
multiline_string.insert(multiline_string.end(), last_word.begin(), last_word.end());
last_word.clear();
start_word = false;
isStartOfWord = false;
startOfWord = -1;
i++;
++i;
continue;
}
// Out of bounds.
if ( theLabel->getLetterPosXRight( characterSprite ) - startOfLine > theLabel->getMaxLineWidth() )
if (theLabel->getLetterPosXRight( characterSprite ) - startOfLine > theLabel->getMaxLineWidth())
{
if (!theLabel->breakLineWithoutSpace())
{
@ -148,10 +148,10 @@ bool LabelTextFormatter::multilineText(LabelTextFormatProtocol *theLabel)
if (multiline_string.size() > 0)
multiline_string.push_back('\n');
line++;
start_line = false;
++line;
isStartOfLine = false;
startOfLine = -1;
i++;
++i;
}
else
{
@ -160,11 +160,11 @@ bool LabelTextFormatter::multilineText(LabelTextFormatProtocol *theLabel)
last_word.push_back('\n');
multiline_string.insert(multiline_string.end(), last_word.begin(), last_word.end());
last_word.clear();
start_word = false;
start_line = false;
isStartOfWord = false;
isStartOfLine = false;
startOfWord = -1;
startOfLine = -1;
line++;
++line;
if (i >= stringLength)
break;
@ -172,15 +172,15 @@ bool LabelTextFormatter::multilineText(LabelTextFormatProtocol *theLabel)
if (!startOfWord)
{
startOfWord = theLabel->getLetterPosXLeft( characterSprite );
start_word = true;
isStartOfWord = true;
}
if (!startOfLine)
{
startOfLine = startOfWord;
start_line = true;
isStartOfLine = true;
}
j--;
--j;
}
continue;
@ -189,7 +189,7 @@ bool LabelTextFormatter::multilineText(LabelTextFormatProtocol *theLabel)
{
// Character is normal.
last_word.push_back(character);
i++;
++i;
continue;
}
}
@ -197,15 +197,15 @@ bool LabelTextFormatter::multilineText(LabelTextFormatProtocol *theLabel)
multiline_string.insert(multiline_string.end(), last_word.begin(), last_word.end());
int size = multiline_string.size();
unsigned short* str_new = new unsigned short[size + 1];
unsigned short* strNew = new unsigned short[size + 1];
for (int i = 0; i < size; ++i)
{
str_new[i] = multiline_string[i];
strNew[i] = multiline_string[i];
}
str_new[size] = 0;
theLabel->assignNewUTF8String(str_new);
strNew[size] = 0;
theLabel->assignNewUTF8String(strNew);
return true;
}
@ -220,28 +220,28 @@ bool LabelTextFormatter::alignText(LabelTextFormatProtocol *theLabel)
int i = 0;
int lineNumber = 0;
int str_len = cc_wcslen(theLabel->getUTF8String());
vector<unsigned short> last_line;
for (int ctr = 0; ctr <= str_len; ++ctr)
int strLen = cc_wcslen(theLabel->getUTF8String());
vector<unsigned short> lastLine;
for (int ctr = 0; ctr <= strLen; ++ctr)
{
unsigned short int currentChar = theLabel->getCharAtStringPosition(ctr);
if (currentChar == '\n' || currentChar == 0)
{
float lineWidth = 0.0f;
unsigned int line_length = last_line.size();
unsigned int lineLength = lastLine.size();
// if last line is empty we must just increase lineNumber and work with next line
if (line_length == 0)
if (lineLength == 0)
{
lineNumber++;
continue;
}
int index = i + line_length - 1 + lineNumber;
int index = i + lineLength - 1 + lineNumber;
if (index < 0) continue;
Sprite* lastChar = theLabel->getSpriteChild(index);
if ( lastChar == NULL )
if (lastChar == nullptr)
continue;
lineWidth = lastChar->getPosition().x + lastChar->getContentSize().width / 2.0f;
@ -261,7 +261,7 @@ bool LabelTextFormatter::alignText(LabelTextFormatProtocol *theLabel)
if (shift != 0)
{
for (unsigned j = 0; j < line_length; j++)
for (unsigned j = 0; j < lineLength; ++j)
{
index = i + j + lineNumber;
if (index < 0) continue;
@ -273,14 +273,14 @@ bool LabelTextFormatter::alignText(LabelTextFormatProtocol *theLabel)
}
}
i += line_length;
lineNumber++;
i += lineLength;
++lineNumber;
last_line.clear();
lastLine.clear();
continue;
}
last_line.push_back(currentChar);
lastLine.push_back(currentChar);
}
return true;
@ -311,7 +311,7 @@ bool LabelTextFormatter::createStringSprites(LabelTextFormatProtocol *theLabel)
int commonLineHeight = theLabel->getCommonLineHeight();
totalHeight = commonLineHeight * quantityOfLines;
nextFontPositionY = 0 - ( commonLineHeight - totalHeight );
nextFontPositionY = 0 - (commonLineHeight - totalHeight);
Rect rect;
@ -340,9 +340,9 @@ bool LabelTextFormatter::createStringSprites(LabelTextFormatProtocol *theLabel)
}
// get the sprite to this letter
Sprite *pLetterSprite = theLabel->getSpriteForChar(c, i);
Sprite *letterSprite = theLabel->getSpriteForChar(c, i);
if (!pLetterSprite)
if (!letterSprite)
{
log("WARNING: can't find letter definition in font file for letter: %c", c);
continue;
@ -352,11 +352,11 @@ bool LabelTextFormatter::createStringSprites(LabelTextFormatProtocol *theLabel)
int yOffset = commonLineHeight - charYOffset;
Point fontPos = Point( (float)nextFontPositionX + charXOffset + charRect.size.width * 0.5f + kerningAmount,
(float)nextFontPositionY + yOffset - charRect.size.height * 0.5f );
Point fontPos = Point((float)nextFontPositionX + charXOffset + charRect.size.width * 0.5f + kerningAmount,
(float)nextFontPositionY + yOffset - charRect.size.height * 0.5f);
// set the sprite position
pLetterSprite->setPosition(CC_POINT_PIXELS_TO_POINTS(fontPos));
letterSprite->setPosition(CC_POINT_PIXELS_TO_POINTS(fontPos));
// update kerning
nextFontPositionX += charAdvance + kerningAmount;

View File

@ -81,7 +81,7 @@ bool TextPageDef::generatePageTexture(bool releasePageData)
}
Size imageSize = Size((float)(_width), (float)(_height));
if( (imageSize.width <=0) || (imageSize.height<=0) )
if((imageSize.width <= 0) || (imageSize.height <= 0))
return false;
_pageTexture = new Texture2D();
@ -92,7 +92,7 @@ bool TextPageDef::generatePageTexture(bool releasePageData)
bool textureCreated = _pageTexture->initWithData(_pageData, dataLenght, Texture2D::PixelFormat::RGBA8888, _width, _height, imageSize);
// release the page data if requested
if ( releasePageData && textureCreated )
if (releasePageData && textureCreated)
{
delete [] _pageData;
_pageData = 0;
@ -123,7 +123,7 @@ TextFontPagesDef::TextFontPagesDef()
TextFontPagesDef::~TextFontPagesDef()
{
int numPages = _pages.size();
for( int c = 0; c<numPages; ++c )
for( int c = 0; c < numPages; ++c )
{
if (_pages[c])
delete _pages[c];
@ -143,7 +143,7 @@ TextImage::~TextImage()
_font->release();
}
bool TextImage::initWithString(const char *text, int nWidth, int nHeight, cocos2d::Font* font, bool releaseRAWData)
bool TextImage::initWithString(const char *text, int width, int height, cocos2d::Font* font, bool releaseRAWData)
{
bool textIsUTF16 = false;
@ -157,14 +157,14 @@ bool TextImage::initWithString(const char *text, int nWidth, int nHeight, cocos2
_font = font;
// generate the glyphs for the requested text (glyphs are latter's bounding boxes)
if ( !generateTextGlyphs(text) )
if (!generateTextGlyphs(text))
return false;
Size constrainSize;
unsigned short int *strUTF16 = 0;
int stringNumChars;
if ( textIsUTF16 )
if (textIsUTF16)
{
strUTF16 = (unsigned short int *)text;
stringNumChars = cc_wcslen(strUTF16);
@ -179,11 +179,11 @@ bool TextImage::initWithString(const char *text, int nWidth, int nHeight, cocos2
return false;
// create all the needed pages
if (!createPageDefinitions(strUTF16, nWidth, nHeight, _font->getFontMaxHeight()))
if (!createPageDefinitions(strUTF16, width, height, _font->getFontMaxHeight()))
return false;
// release the original string if needed
if ( !textIsUTF16 )
if (!textIsUTF16)
delete [] strUTF16;
// actually create the needed images
@ -212,7 +212,7 @@ bool TextImage::createPageDefinitions(unsigned short int *inText, int imageWidth
// create the first page (ther is going to be at least one page)
TextPageDef *currentPageDef = new TextPageDef(currentPage, imageWidth, imageHeight);
if ( !currentPageDef )
if (!currentPageDef)
return false;
// add the current page
@ -223,14 +223,14 @@ bool TextImage::createPageDefinitions(unsigned short int *inText, int imageWidth
do {
// choose texture page
if ( ( currentY + lineHeight ) > imageHeight )
if ((currentY + lineHeight) > imageHeight)
{
currentY = 0;
currentPage += 1;
// create a new page and add
currentPageDef = new TextPageDef(currentPage, imageWidth, imageHeight);
if ( !currentPageDef )
if (!currentPageDef)
return false;
_fontPages->addPage(currentPageDef);
@ -251,7 +251,7 @@ bool TextImage::createPageDefinitions(unsigned short int *inText, int imageWidth
// create the new line and add to the current page
TextLineDef *newLine = new TextLineDef(0.0, currentY, newLineSize, lineHeight);
if ( !newLine )
if (!newLine)
return false;
// add all the glyphs to this line
@ -268,7 +268,7 @@ bool TextImage::createPageDefinitions(unsigned short int *inText, int imageWidth
delta = (stringLenght - numFittingChar);
// there is still some leftover, need to work on it
if ( delta )
if (delta)
{
// create the new string
unsigned short int *tempS = _font->trimUTF16Text(strUTF16, numFittingChar, (stringLenght - 1));
@ -286,7 +286,7 @@ bool TextImage::createPageDefinitions(unsigned short int *inText, int imageWidth
// go to next line
currentY += lineHeight;
} while( delta );
} while(delta);
if (needToReleaseText)
delete [] strUTF16;
@ -305,7 +305,7 @@ int TextImage::getNumGlyphsFittingInSize(std::map<unsigned short int, GlyphDef>
// get the string to UTF8
int numChar = cc_wcslen(strUTF8);
for (int c = 0; c<numChar; ++c)
for (int c = 0; c < numChar; ++c)
{
widthWithBBX += (glyphDefs[strUTF8[c]].getRect().size.width + glyphDefs[strUTF8[c]].getPadding());
@ -332,7 +332,7 @@ bool TextImage::addGlyphsToLine(TextLineDef *line, const char *lineText, bool te
if (textIsUTF16)
{
UTF16string = (unsigned short int *) lineText;
UTF16string = (unsigned short int *)lineText;
numLetters = cc_wcslen(UTF16string);
}
else
@ -340,7 +340,7 @@ bool TextImage::addGlyphsToLine(TextLineDef *line, const char *lineText, bool te
UTF16string = _font->getUTF16Text(lineText, numLetters);
}
for (int c=0; c<numLetters; ++c)
for (int c = 0; c < numLetters; ++c)
{
_textGlyphs[UTF16string[c]].setCommonHeight(line->getHeight());
line->addGlyph(_textGlyphs[UTF16string[c]] );
@ -352,24 +352,24 @@ bool TextImage::addGlyphsToLine(TextLineDef *line, const char *lineText, bool te
return true;
}
bool TextImage::generateTextGlyphs(const char * pText)
bool TextImage::generateTextGlyphs(const char * text)
{
if (!_font)
return false;
int numGlyphs = 0;
GlyphDef *pNewGlyphs = _font->getGlyphDefintionsForText(pText, numGlyphs);
GlyphDef *newGlyphs = _font->getGlyphDefintionsForText(text, numGlyphs);
if (!pNewGlyphs)
if (!newGlyphs)
return false;
if (!_textGlyphs.empty())
_textGlyphs.clear();
for (int c=0; c < numGlyphs; ++c)
_textGlyphs[pNewGlyphs[c].getUTF8Letter()] = pNewGlyphs[c];
for (int c = 0; c < numGlyphs; ++c)
_textGlyphs[newGlyphs[c].getUTF8Letter()] = newGlyphs[c];
delete [] pNewGlyphs;
delete [] newGlyphs;
return true;
}
@ -381,13 +381,13 @@ bool TextImage::createImageDataFromPages(TextFontPagesDef *thePages, bool releas
for (int c = 0; c < numPages; ++c)
{
unsigned char *pPageData = 0;
pPageData = preparePageGlyphData(thePages->getPageAt(c));
unsigned char *pageData = 0;
pageData = preparePageGlyphData(thePages->getPageAt(c));
if (pPageData)
if (pageData)
{
// set the page data
thePages->getPageAt(c)->setPageData(pPageData);
thePages->getPageAt(c)->setPageData(pageData);
// crete page texture and relase RAW data
thePages->getPageAt(c)->preparePageTexture(releaseRAWData);
@ -396,7 +396,6 @@ bool TextImage::createImageDataFromPages(TextFontPagesDef *thePages, bool releas
{
return false;
}
}
return true;
@ -432,18 +431,18 @@ unsigned char * TextImage::renderGlyphData(TextPageDef *thePage)
int numLines = thePage->getNumLines();
for (int c = 0; c<numLines; ++c)
for (int c = 0; c < numLines; ++c)
{
TextLineDef *pCurrentLine = thePage->getLineAt(c);
TextLineDef *currentLine = thePage->getLineAt(c);
float origX = _font->getLetterPadding();
float origY = pCurrentLine->getY();
float origY = currentLine->getY();
int numGlyphToRender = pCurrentLine->getNumGlyph();
int numGlyphToRender = currentLine->getNumGlyph();
for (int cglyph = 0; cglyph < numGlyphToRender; ++cglyph)
{
GlyphDef currGlyph = pCurrentLine->getGlyphAt(cglyph);
GlyphDef currGlyph = currentLine->getGlyphAt(cglyph);
renderCharAt(currGlyph.getUTF8Letter(), origX, origY, data, pageWidth);
origX += (currGlyph.getRect().size.width + _font->getLetterPadding());
}
@ -454,9 +453,9 @@ unsigned char * TextImage::renderGlyphData(TextPageDef *thePage)
char outFilename[512];
sprintf(outFilename,"testIMG%d", counter);
++counter;
Image *pImage = new Image;
pImage->initWithRawData(data, (pageWidth * pageWidth * 4), 1024, 1024, 8, false);
pImage->saveToFile(outFilename);
Image *image = new Image;
image->initWithRawData(data, (pageWidth * pageWidth * 4), 1024, 1024, 8, false);
image->saveToFile(outFilename);
#endif
// we are done here
@ -475,7 +474,7 @@ bool TextImage::renderCharAt(unsigned short int charToRender, int posX, int posY
// get the glyph's bitmap
sourceBitmap = _font->getGlyphBitmap(charToRender, sourceWidth, sourceHeight);
if(!sourceBitmap)
if (!sourceBitmap)
return false;
int iX = posX;

View File

@ -43,12 +43,12 @@ class CC_DLL GlyphDef
public:
GlyphDef() : _validGlyph(false) { /*do nothing*/ }
GlyphDef(unsigned short int letterUTF8, Rect &rect) { _gliphRect = rect; _uTF16Letter = letterUTF8; }
GlyphDef(unsigned short int letterUTF8, const Rect &rect) { _gliphRect = rect; _uTF16Letter = letterUTF8; }
void setUTF16Letter(unsigned short int letterUTF8) { _uTF16Letter = letterUTF8; }
void setRect(Rect & theRect) { _gliphRect = theRect; }
void setRect(const Rect & theRect) { _gliphRect = theRect; }
unsigned short int getUTF8Letter() { return _uTF16Letter; }
Rect & getRect() { return _gliphRect; }
const Rect & getRect() const { return _gliphRect; }
void setPadding(float padding) { _padding = padding; }
float getPadding() { return _padding; }
void setCommonHeight(float commonHeight) { _commonHeight = commonHeight; }
@ -77,14 +77,14 @@ public:
TextLineDef(float x, float y, float width, float height);
float getX() { return _x; }
float getY() { return _y; }
float getWidth() { return _width; }
float getHeight() { return _height; }
float getX() const { return _x; }
float getY() const { return _y; }
float getWidth() const { return _width; }
float getHeight() const { return _height; }
void addGlyph(GlyphDef theGlyph) { _glyphs.push_back(theGlyph); }
int getNumGlyph() { return _glyphs.size(); }
GlyphDef & getGlyphAt(int index) { return _glyphs[index]; }
int getNumGlyph() const { return _glyphs.size(); }
const GlyphDef & getGlyphAt(int index) const { return _glyphs[index]; }
private:
@ -104,18 +104,24 @@ private:
class CC_DLL TextPageDef
{
public:
/**
* @js NA
*/
TextPageDef(int pageNum, int width, int height);
/**
* @js NA
* @lua NA
*/
~TextPageDef();
void addLine(TextLineDef *theLine) { _lines.push_back(theLine); }
int getNumLines() { return _lines.size(); }
TextLineDef * getLineAt(int index) { return _lines[index]; }
int getWidth() { return _width; }
int getHeight() { return _height; }
int getPageNumber() { return _pageNum; }
void setPageData(unsigned char *pData) { _pageData = pData; }
unsigned char * getPageData() { return _pageData; }
int getNumLines() const { return _lines.size(); }
TextLineDef * getLineAt(int index) const { return _lines[index]; }
int getWidth() const { return _width; }
int getHeight() const { return _height; }
int getPageNumber() const { return _pageNum; }
void setPageData(unsigned char *data) { _pageData = data; }
const unsigned char * getPageData() const { return _pageData; }
Texture2D *getPageTexture();
void preparePageTexture(bool releaseRAWData = true);
@ -139,13 +145,19 @@ private:
class CC_DLL TextFontPagesDef
{
public:
/**
* @js ctor
*/
TextFontPagesDef();
/**
* @js NA
* @lua NA
*/
~TextFontPagesDef();
void addPage(TextPageDef *newPage) { _pages.push_back(newPage); }
int getNumPages() { return _pages.size(); }
TextPageDef* getPageAt(int index) { return _pages[index]; }
int getNumPages() const { return _pages.size(); }
TextPageDef* getPageAt(int index) const { return _pages[index]; }
private:
@ -159,20 +171,26 @@ private:
class CC_DLL TextImage
{
public:
/**
* @js ctor
*/
TextImage();
/**
* @js NA
* @lua NA
*/
~TextImage();
bool initWithString(const char *text, int nWidth, int nHeight, Font* font, bool releaseRAWData = true);
bool initWithString(const char *text, int width, int height, Font* font, bool releaseRAWData = true);
TextFontPagesDef * getPages() { return _fontPages; }
Font * getFont() { return _font; }
TextFontPagesDef * getPages() const { return _fontPages; }
Font * getFont() const { return _font; }
private:
bool createImageDataFromPages(TextFontPagesDef *thePages, bool releaseRAWData = true);
bool addGlyphsToLine(TextLineDef *line, const char *lineText, bool textIsUTF16 = false);
bool generateTextGlyphs(const char * pText);
bool generateTextGlyphs(const char * text);
int getNumGlyphsFittingInSize(std::map<unsigned short int, GlyphDef> &glyphDefs, unsigned short int *strUTF8, Font *pFont, Size *constrainSize, int &outNewSize);
bool createPageDefinitions(unsigned short int *inText, int imageWidth, int imageHeight, int lineHeight);
unsigned char * preparePageGlyphData(TextPageDef *thePage);

View File

@ -60,7 +60,14 @@ class CC_DLL Layer : public Node, public TouchDelegate, public KeypadDelegate
public:
/** creates a fullscreen black layer */
static Layer *create(void);
/**
* @js ctor
*/
Layer();
/**
* @js NA
* @lua NA
*/
virtual ~Layer();
virtual bool init();
@ -75,7 +82,10 @@ public:
virtual void ccTouchesMoved(Set *touches, Event *event);
virtual void ccTouchesEnded(Set *touches, Event *event);
virtual void ccTouchesCancelled(Set *touches, Event *event);
/**
* @js NA
* @lua NA
*/
virtual void didAccelerate(Acceleration* accelerationValue);
/** If isTouchEnabled, this method is called onEnter. Override it to change the
@ -124,7 +134,15 @@ public:
virtual bool isKeyboardEnabled() const;
virtual void setKeyboardEnabled(bool value);
/**
* @js NA
* @lua NA
*/
virtual void keyPressed(int keyCode) {};
/**
* @js NA
* @lua NA
*/
virtual void keyReleased(int keyCode) {};
virtual bool isKeypadEnabled() const;
@ -135,8 +153,20 @@ public:
//
// Overrides
//
/**
* @js NA
* @lua NA
*/
virtual void onEnter() override;
/**
* @js NA
* @lua NA
*/
virtual void onExit() override;
/**
* @js NA
* @lua NA
*/
virtual void onEnterTransitionDidFinish() override;
protected:
@ -170,8 +200,14 @@ class CC_DLL LayerRGBA : public Layer, public RGBAProtocol
{
public:
CREATE_FUNC(LayerRGBA);
/**
* @js ctor
*/
LayerRGBA();
/**
* @js NA
* @lua NA
*/
virtual ~LayerRGBA();
virtual bool init();
@ -222,14 +258,26 @@ public:
static LayerColor * create(const Color4B& color, GLfloat width, GLfloat height);
/** creates a Layer with color. Width and height are the window size. */
static LayerColor * create(const Color4B& color);
/**
* @js ctor
*/
LayerColor();
/**
* @js NA
* @lua NA
*/
virtual ~LayerColor();
virtual bool init();
/** initializes a Layer with color, width and height in Points */
/** initializes a Layer with color, width and height in Points
* @js init
* @lua init
*/
bool initWithColor(const Color4B& color, GLfloat width, GLfloat height);
/** initializes a Layer with color. Width and height are the window size. */
/** initializes a Layer with color. Width and height are the window size.
* @js init
* @lua init
*/
bool initWithColor(const Color4B& color);
/** change width in Points*/
@ -249,7 +297,18 @@ public:
virtual void setOpacity(GLubyte opacity) override;
virtual void setContentSize(const Size & var) override;
/** BlendFunction. Conforms to BlendProtocol protocol */
/**
* @js NA
* @lua NA
*/
virtual const BlendFunc& getBlendFunc() const override;
/**
*@code
*When this function bound into js or lua,the parameter will be changed
*In js: var setBlendFunc(var src, var dst)
*In lua: local setBlendFunc(local src, local dst)
*@endcode
*/
virtual void setBlendFunc(const BlendFunc& blendFunc) override;
protected:
@ -295,10 +354,16 @@ public:
static LayerGradient* create(const Color4B& start, const Color4B& end, const Point& v);
virtual bool init();
/** Initializes the Layer with a gradient between start and end. */
/** Initializes the Layer with a gradient between start and end.
* @js init
* @lua init
*/
bool initWithColor(const Color4B& start, const Color4B& end);
/** Initializes the Layer with a gradient between start and end in the direction of v. */
/** Initializes the Layer with a gradient between start and end in the direction of v.
* @js init
* @lua init
*/
bool initWithColor(const Color4B& start, const Color4B& end, const Point& v);
/** Whether or not the interpolation will be compressed in order to display all the colors of the gradient both in canonical and non canonical vectors
@ -354,28 +419,49 @@ Features:
class CC_DLL LayerMultiplex : public Layer
{
public:
/** creates and initializes a LayerMultiplex object */
/** creates and initializes a LayerMultiplex object
* @js NA
* @lua NA
*/
static LayerMultiplex* create();
/** creates a LayerMultiplex with an array of layers.
@since v2.1
* @js NA
*/
static LayerMultiplex* createWithArray(Array* arrayOfLayers);
/** creates a LayerMultiplex with one or more layers using a variable argument list. */
/** creates a LayerMultiplex with one or more layers using a variable argument list.
* @code
* When this function bound to lua or js,the input params are changed.
* In js:var create(...)
* In lua:local create(...)
* @endcode
*/
static LayerMultiplex * create(Layer* layer, ... );
/**
* lua script can not init with undetermined number of variables
* so add these functions to be used with lua.
* @js NA
* @lua NA
*/
static LayerMultiplex * createWithLayer(Layer* layer);
/**
* @js ctor
*/
LayerMultiplex();
/**
* @js NA
* @lua NA
*/
virtual ~LayerMultiplex();
virtual bool init();
/** initializes a MultiplexLayer with one or more layers using a variable argument list. */
/** initializes a MultiplexLayer with one or more layers using a variable argument list.
* @js NA
* @lua NA
*/
bool initWithLayers(Layer* layer, va_list params);
/** initializes a MultiplexLayer with an array of layers

View File

@ -53,6 +53,10 @@ public:
static Scene *create(void);
Scene();
/**
* @js NA
* @lua NA
*/
virtual ~Scene();
bool init();

View File

@ -77,8 +77,14 @@ public:
/** creates a base transition with duration and incoming scene */
static TransitionScene * create(float t, Scene *scene);
/**
* @js ctor
*/
TransitionScene();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionScene();
/** initializes a transition with duration and incoming scene */
@ -94,7 +100,15 @@ public:
// Overrides
//
virtual void draw() override;
/**
* @js NA
* @lua NA
*/
virtual void onEnter() override;
/**
* @js NA
* @lua NA
*/
virtual void onExit() override;
virtual void cleanup() override;
@ -120,8 +134,14 @@ class CC_DLL TransitionSceneOriented : public TransitionScene
public:
/** creates a base transition with duration and incoming scene */
static TransitionSceneOriented * create(float t,Scene* scene, Orientation orientation);
/**
* @js ctor
*/
TransitionSceneOriented();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionSceneOriented();
/** initializes a transition with duration and incoming scene */
@ -140,11 +160,19 @@ public:
static TransitionRotoZoom* create(float t, Scene* scene);
TransitionRotoZoom();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionRotoZoom();
//
// Overrides
//
/**
* @js NA
* @lua NA
*/
virtual void onEnter() override;
};
@ -155,13 +183,23 @@ class CC_DLL TransitionJumpZoom : public TransitionScene
{
public:
static TransitionJumpZoom* create(float t, Scene* scene);
/**
* @js ctor
*/
TransitionJumpZoom();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionJumpZoom();
//
// Overrides
//
/**
* @js NA
* @lua NA
*/
virtual void onEnter() override;
};
@ -172,8 +210,14 @@ class CC_DLL TransitionMoveInL : public TransitionScene, public TransitionEaseSc
{
public:
static TransitionMoveInL* create(float t, Scene* scene);
/**
* @js ctor
*/
TransitionMoveInL();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionMoveInL();
/** initializes the scenes */
virtual void initScenes(void);
@ -185,6 +229,10 @@ public:
//
// Overrides
//
/**
* @js NA
* @lua NA
*/
virtual void onEnter() override;
};
@ -195,8 +243,14 @@ class CC_DLL TransitionMoveInR : public TransitionMoveInL
{
public:
static TransitionMoveInR* create(float t, Scene* scene);
/**
* @js ctor
*/
TransitionMoveInR();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionMoveInR();
virtual void initScenes();
};
@ -208,8 +262,14 @@ class CC_DLL TransitionMoveInT : public TransitionMoveInL
{
public:
static TransitionMoveInT* create(float t, Scene* scene);
/**
* @js ctor
*/
TransitionMoveInT();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionMoveInT();
virtual void initScenes();
};
@ -221,8 +281,14 @@ class CC_DLL TransitionMoveInB : public TransitionMoveInL
{
public:
static TransitionMoveInB* create(float t, Scene* scene);
/**
* @js ctor
*/
TransitionMoveInB();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionMoveInB();
virtual void initScenes();
};
@ -234,8 +300,14 @@ class CC_DLL TransitionSlideInL : public TransitionScene, public TransitionEaseS
{
public:
static TransitionSlideInL* create(float t, Scene* scene);
/**
* @js ctor
*/
TransitionSlideInL();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionSlideInL();
virtual ActionInterval* easeActionWithAction(ActionInterval * action);
@ -248,6 +320,10 @@ public:
//
// Overrides
//
/**
* @js NA
* @lua NA
*/
virtual void onEnter() override;
protected:
@ -261,8 +337,14 @@ class CC_DLL TransitionSlideInR : public TransitionSlideInL
{
public:
static TransitionSlideInR* create(float t, Scene* scene);
/**
* @js ctor
*/
TransitionSlideInR();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionSlideInR();
/** initializes the scenes */
@ -281,8 +363,14 @@ class CC_DLL TransitionSlideInB : public TransitionSlideInL
{
public:
static TransitionSlideInB* create(float t, Scene* scene);
/**
* @js ctor
*/
TransitionSlideInB();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionSlideInB();
/** initializes the scenes */
@ -301,8 +389,14 @@ class CC_DLL TransitionSlideInT : public TransitionSlideInL
{
public:
static TransitionSlideInT* create(float t, Scene* scene);
/**
* @js ctor
*/
TransitionSlideInT();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionSlideInT();
/** initializes the scenes */
@ -321,8 +415,14 @@ class CC_DLL TransitionShrinkGrow : public TransitionScene , public TransitionEa
{
public:
static TransitionShrinkGrow* create(float t, Scene* scene);
/**
* @js ctor
*/
TransitionShrinkGrow();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionShrinkGrow();
//
@ -341,13 +441,23 @@ class CC_DLL TransitionFlipX : public TransitionSceneOriented
public:
static TransitionFlipX* create(float t, Scene* s, Orientation o);
static TransitionFlipX* create(float t, Scene* s);
/**
* @js ctor
*/
TransitionFlipX();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionFlipX();
//
// Overrides
//
/**
* @js NA
* @lua NA
*/
virtual void onEnter() override;
};
@ -360,13 +470,23 @@ class CC_DLL TransitionFlipY : public TransitionSceneOriented
public:
static TransitionFlipY* create(float t, Scene* s, Orientation o);
static TransitionFlipY* create(float t, Scene* s);
/**
* @js ctor
*/
TransitionFlipY();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionFlipY();
//
// Overrides
//
/**
* @js NA
* @lua NA
*/
virtual void onEnter() override;
};
@ -379,13 +499,23 @@ class CC_DLL TransitionFlipAngular : public TransitionSceneOriented
public:
static TransitionFlipAngular* create(float t, Scene* s, Orientation o);
static TransitionFlipAngular* create(float t, Scene* s);
/**
* @js ctor
*/
TransitionFlipAngular();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionFlipAngular();
//
// Overrides
//
/**
* @js NA
* @lua NA
*/
virtual void onEnter() override;
};
@ -398,13 +528,23 @@ class CC_DLL TransitionZoomFlipX : public TransitionSceneOriented
public:
static TransitionZoomFlipX* create(float t, Scene* s, Orientation o);
static TransitionZoomFlipX* create(float t, Scene* s);
/**
* @js ctor
*/
TransitionZoomFlipX();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionZoomFlipX();
//
// Overrides
//
/**
* @js NA
* @lua NA
*/
virtual void onEnter() override;
};
@ -417,13 +557,23 @@ class CC_DLL TransitionZoomFlipY : public TransitionSceneOriented
public:
static TransitionZoomFlipY* create(float t, Scene* s, Orientation o);
static TransitionZoomFlipY* create(float t, Scene* s);
/**
* @js ctor
*/
TransitionZoomFlipY();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionZoomFlipY();
//
// Overrides
//
/**
* @js NA
* @lua NA
*/
virtual void onEnter() override;
};
@ -436,13 +586,23 @@ class CC_DLL TransitionZoomFlipAngular : public TransitionSceneOriented
public:
static TransitionZoomFlipAngular* create(float t, Scene* s, Orientation o);
static TransitionZoomFlipAngular* create(float t, Scene* s);
/**
* @js ctor
*/
TransitionZoomFlipAngular();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionZoomFlipAngular();
//
// Overrides
//
/**
* @js NA
* @lua NA
*/
virtual void onEnter() override;
};
@ -457,8 +617,14 @@ public:
*/
static TransitionFade* create(float duration,Scene* scene, const Color3B& color);
static TransitionFade* create(float duration,Scene* scene);
/**
* @js ctor
*/
TransitionFade();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionFade();
/** initializes the transition with a duration and with an RGB color */
@ -468,7 +634,15 @@ public:
// Overrides
//
bool initWithDuration(float t,Scene* scene);
/**
* @js NA
* @lua NA
*/
virtual void onEnter();
/**
* @js NA
* @lua NA
*/
virtual void onExit();
protected:
@ -484,15 +658,29 @@ class CC_DLL TransitionCrossFade : public TransitionScene
{
public :
static TransitionCrossFade* create(float t, Scene* scene);
/**
* @js ctor
*/
TransitionCrossFade();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionCrossFade();
//
// Overrides
//
virtual void draw() override;
/**
* @js NA
* @lua NA
*/
virtual void onEnter() override;
/**
* @js NA
* @lua NA
*/
virtual void onExit() override;
};
@ -504,13 +692,23 @@ class CC_DLL TransitionTurnOffTiles : public TransitionScene ,public TransitionE
{
public :
static TransitionTurnOffTiles* create(float t, Scene* scene);
/**
* @js ctor
*/
TransitionTurnOffTiles();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionTurnOffTiles();
//
// Overrides
//
/**
* @js NA
* @lua NA
*/
virtual void onEnter() override;
virtual ActionInterval * easeActionWithAction(ActionInterval * action) override;
@ -525,8 +723,14 @@ class CC_DLL TransitionSplitCols : public TransitionScene , public TransitionEas
{
public:
static TransitionSplitCols* create(float t, Scene* scene);
/**
* @js ctor
*/
TransitionSplitCols();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionSplitCols();
virtual ActionInterval* action(void);
@ -534,6 +738,10 @@ public:
//
// Overrides
//
/**
* @js NA
* @lua NA
*/
virtual void onEnter() override;
virtual ActionInterval * easeActionWithAction(ActionInterval * action) override;
};
@ -545,8 +753,14 @@ class CC_DLL TransitionSplitRows : public TransitionSplitCols
{
public:
static TransitionSplitRows* create(float t, Scene* scene);
/**
* @js ctor
*/
TransitionSplitRows();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionSplitRows();
//
@ -562,14 +776,24 @@ class CC_DLL TransitionFadeTR : public TransitionScene , public TransitionEaseSc
{
public:
static TransitionFadeTR* create(float t, Scene* scene);
/**
* @js ctor
*/
TransitionFadeTR();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionFadeTR();
virtual ActionInterval* actionWithSize(const Size& size);
//
// Overrides
//
/**
* @js NA
* @lua NA
*/
virtual void onEnter() override;
virtual ActionInterval* easeActionWithAction(ActionInterval * action) override;
@ -584,8 +808,14 @@ class CC_DLL TransitionFadeBL : public TransitionFadeTR
{
public:
static TransitionFadeBL* create(float t, Scene* scene);
/**
* @js ctor
*/
TransitionFadeBL();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionFadeBL();
//
@ -602,8 +832,14 @@ class CC_DLL TransitionFadeUp : public TransitionFadeTR
{
public:
static TransitionFadeUp* create(float t, Scene* scene);
/**
* @js ctor
*/
TransitionFadeUp();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionFadeUp();
//
@ -619,8 +855,14 @@ class CC_DLL TransitionFadeDown : public TransitionFadeTR
{
public:
static TransitionFadeDown* create(float t, Scene* scene);
/**
* @js ctor
*/
TransitionFadeDown();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionFadeDown();
//

View File

@ -55,8 +55,14 @@ public:
* scene is being turned from left over the outgoing scene.
*/
static TransitionPageTurn* create(float t,Scene* scene,bool backwards);
/**
* @js ctor
*/
TransitionPageTurn();
/**
* @js NA
* @lua NA
*/
virtual ~TransitionPageTurn();
/**

View File

@ -76,8 +76,14 @@ public:
/** creates a Menu with MenuItem objects */
static Menu* createWithItems(MenuItem *firstItem, va_list args);
/**
* @js ctor
*/
Menu() : _selectedItem(NULL) {}
/**
* @js NA
* @lua NA
*/
virtual ~Menu(){}
/** initializes an empty Menu */

View File

@ -65,18 +65,30 @@ public:
CC_DEPRECATED_ATTRIBUTE static MenuItem* create(Object *rec, SEL_MenuHandler selector);
/** Creates a MenuItem with a target/selector */
static MenuItem* create(const ccMenuCallback& callback);
/**
* @js ctor
*/
MenuItem()
: _selected(false)
, _enabled(false)
, _callback(nullptr)
, _target(NULL)
{}
/**
* @js NA
* @lua NA
*/
virtual ~MenuItem();
/** Initializes a MenuItem with a target/selector */
/** Initializes a MenuItem with a target/selector
* @js NA
* @lua NA
*/
bool initWithCallback(const ccMenuCallback& callback);
/** Initializes a MenuItem with a target/selector */
/** Initializes a MenuItem with a target/selector
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE bool initWithTarget( Object *rec, SEL_MenuHandler selector);
/** Returns the outside box */
@ -94,9 +106,17 @@ public:
/** returns whether or not the item is selected */
virtual bool isSelected() const;
/** set the callback to the menu item */
/** set the callback to the menu item
* @code
* In js,can contain two params,the second param is jsptr
* @endcode
* @lua NA
*/
void setCallback(const ccMenuCallback& callback);
/** set the target/selector of the menu item*/
/** set the target/selector of the menu item
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE void setTarget(Object *rec, SEL_MenuHandler selector);
protected:
@ -126,11 +146,17 @@ public:
/** creates a MenuItemLabel with a Label. Target and selector will be nil */
static MenuItemLabel* create(Node *label);
/**
* @js ctor
*/
MenuItemLabel()
: _originalScale(0.0)
, _label(NULL)
{}
/**
* @js NA
* @lua NA
*/
virtual ~MenuItemLabel();
/** initializes a MenuItemLabel with a Label, target and selector */
@ -183,8 +209,14 @@ public:
CC_DEPRECATED_ATTRIBUTE static MenuItemAtlasFont* create(const char *value, const char *charMapFile, int itemWidth, int itemHeight, char startCharMap, Object* target, SEL_MenuHandler selector);
/** creates a menu item from a string and atlas. Use it with MenuItemToggle */
static MenuItemAtlasFont* create(const char *value, const char *charMapFile, int itemWidth, int itemHeight, char startCharMap, const ccMenuCallback& callback);
/**
* @js ctor
*/
MenuItemAtlasFont(){}
/**
* @js NA
* @lua NA
*/
virtual ~MenuItemAtlasFont(){}
/** initializes a menu item from a string and atlas with a target/selector */
@ -206,8 +238,14 @@ public:
CC_DEPRECATED_ATTRIBUTE static MenuItemFont * create(const char *value, Object* target, SEL_MenuHandler selector);
/** creates a menu item from a string with a target/selector */
static MenuItemFont * create(const char *value, const ccMenuCallback& callback);
/**
* @js ctor
*/
MenuItemFont() : _fontSize(0), _fontName(""){}
/**
* @js NA
* @lua NA
*/
virtual ~MenuItemFont(){}
/** initializes a menu item from a string with a target/selector */
@ -229,20 +267,26 @@ public:
/** set font size
* c++ can not overload static and non-static member functions with the same parameter types
* so change the name to setFontSizeObj
* @js setFontSize
*/
void setFontSizeObj(unsigned int s);
/** get font size */
/** get font size
* @js getFontSize
*/
unsigned int getFontSizeObj() const;
CC_DEPRECATED_ATTRIBUTE unsigned int fontSizeObj() const { return getFontSizeObj(); };
/** set the font name
* c++ can not overload static and non-static member functions with the same parameter types
* so change the name to setFontNameObj
* @js setFontName
*/
void setFontNameObj(const char* name);
/** returns the name of the Font */
/** returns the name of the Font
* @js getFontNameObj
*/
const char* getFontNameObj() const;
/** deprecated Use getFontNameObj() instead */
@ -352,8 +396,14 @@ public:
CC_DEPRECATED_ATTRIBUTE static MenuItemImage* create(const char *normalImage, const char *selectedImage, const char *disabledImage, Object* target, SEL_MenuHandler selector);
/** creates a menu item with a normal,selected and disabled image with a callable object */
static MenuItemImage* create(const char *normalImage, const char *selectedImage, const char *disabledImage, const ccMenuCallback& callback);
/**
* @js ctor
*/
MenuItemImage(){}
/**
* @js NA
* @lua NA
*/
virtual ~MenuItemImage(){}
bool init();
@ -386,18 +436,33 @@ public:
static MenuItemToggle* create();
/** creates a menu item with a item */
static MenuItemToggle* create(MenuItem *item);
/** creates a menu item from a Array with a target selector */
/** creates a menu item from a Array with a target selector
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE static MenuItemToggle * createWithTarget(Object* target, SEL_MenuHandler selector, Array* menuItems);
/** creates a menu item from a list of items with a target/selector */
/** creates a menu item from a list of items with a target/selector
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE static MenuItemToggle* createWithTarget(Object* target, SEL_MenuHandler selector, MenuItem* item, ...)CC_REQUIRES_NULL_TERMINATION;
/**
* @js ctor
*/
MenuItemToggle()
: _selectedIndex(0)
, _subItems(NULL)
{}
/**
* @js NA
* @lua NA
*/
virtual ~MenuItemToggle();
/** initializes a menu item from a list of items with a target selector */
/** initializes a menu item from a list of items with a target selector
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE bool initWithTarget(Object* target, SEL_MenuHandler selector, MenuItem* item, va_list args);
/** initializes a menu item from a list of items with a callable object */
bool initWithCallback(const ccMenuCallback& callback, MenuItem* item, va_list args);
@ -421,6 +486,8 @@ public:
/** Gets the array that contains the subitems.
You can add/remove items in runtime, and you can replace the array with a new one.
@since v0.7.2
* @js NA
* @lua NA
*/
inline Array* getSubItems() const { return _subItems; };

View File

@ -49,7 +49,10 @@ public:
The stencil node will be retained.
*/
static ClippingNode* create(Node *pStencil);
/**
* @js NA
* @lua NA
*/
virtual ~ClippingNode();
/** Initializes a clipping node without a stencil.
@ -84,9 +87,25 @@ public:
void setInverted(bool bInverted);
// Overrides
/**
* @js NA
* @lua NA
*/
virtual void onEnter() override;
/**
* @js NA
* @lua NA
*/
virtual void onEnterTransitionDidFinish() override;
/**
* @js NA
* @lua NA
*/
virtual void onExitTransitionDidStart() override;
/**
* @js NA
* @lua NA
*/
virtual void onExit() override;
virtual void visit() override;

View File

@ -53,8 +53,14 @@ public:
static MotionStreak* create(float fade, float minSeg, float stroke, const Color3B& color, const char* path);
/** creates and initializes a motion streak with fade in seconds, minimum segments, stroke's width, color, texture */
static MotionStreak* create(float fade, float minSeg, float stroke, const Color3B& color, Texture2D* texture);
/**
* @js ctor
*/
MotionStreak();
/**
* @js NA
* @lua NA
*/
virtual ~MotionStreak();
/** initializes a motion streak with fade in seconds, minimum segments, stroke's width, color and texture filename */
@ -80,11 +86,27 @@ public:
// Overrides
virtual void setPosition(const Point& position) override;
/**
* @js NA
* @lua NA
*/
virtual void draw() override;
/**
* @js NA
* @lua NA
*/
virtual void update(float delta) override;
virtual Texture2D* getTexture() const override;
virtual void setTexture(Texture2D *texture) override;
/**
* @js NA
* @lua NA
*/
virtual void setBlendFunc(const BlendFunc &blendFunc) override;
/**
* @js NA
* @lua NA
*/
virtual const BlendFunc& getBlendFunc() const override;
virtual GLubyte getOpacity() const override;
virtual void setOpacity(GLubyte opacity) override;

View File

@ -62,8 +62,14 @@ public:
/** Creates a progress timer with the sprite as the shape the timer goes through */
static ProgressTimer* create(Sprite* sp);
/**
* @js ctor
*/
ProgressTimer();
/**
* @js NA
* @lua NA
*/
virtual ~ProgressTimer();
/** Initializes a progress timer with the sprite as the shape the timer goes through */
@ -81,6 +87,10 @@ public:
void setPercentage(float fPercentage);
void setSprite(Sprite *pSprite);
void setType(Type type);
/**
* @js setReverseDirection
* @lua setReverseDirection
*/
void setReverseProgress(bool reverse);
inline bool isReverseDirection() { return _reverseDirection; };

View File

@ -58,8 +58,14 @@ public:
/** creates a RenderTexture object with width and height in Points, pixel format is RGBA8888 */
static RenderTexture * create(int w, int h);
/**
* @js ctor
*/
RenderTexture();
/**
* @js NA
* @lua NA
*/
virtual ~RenderTexture();
/** initializes a RenderTexture object with width and height in Points and a pixel format, only RGB and RGBA formats are valid */

View File

@ -72,8 +72,14 @@ public:
/** initializes the particle system with the name of a file on disk (for a list of supported formats look at the Texture2D class), a capacity of particles */
static ParticleBatchNode* create(const char* fileImage, unsigned int capacity = kParticleDefaultCapacity);
/**
* @js ctor
*/
ParticleBatchNode();
/**
* @js NA
* @lua NA
*/
virtual ~ParticleBatchNode();
/** initializes the particle system with Texture2D, a capacity of particles */
@ -107,7 +113,18 @@ public:
virtual void draw(void) override;
virtual Texture2D* getTexture(void) const override;
virtual void setTexture(Texture2D *texture) override;
/**
* @code
* When this function bound into js or lua,the parameter will be changed
* In js: var setBlendFunc(var src, var dst)
* @endcode
* @lua NA
*/
virtual void setBlendFunc(const BlendFunc &blendFunc) override;
/**
* @js NA
* @lua NA
*/
virtual const BlendFunc& getBlendFunc(void) const override;
private:

View File

@ -39,7 +39,14 @@ NS_CC_BEGIN
class CC_DLL ParticleFire : public ParticleSystemQuad
{
public:
/**
* @js ctor
*/
ParticleFire(){}
/**
* @js NA
* @lua NA
*/
virtual ~ParticleFire(){}
bool init(){ return initWithTotalParticles(250); }
virtual bool initWithTotalParticles(unsigned int numberOfParticles);
@ -52,7 +59,14 @@ public:
class CC_DLL ParticleFireworks : public ParticleSystemQuad
{
public:
/**
* @js ctor
*/
ParticleFireworks(){}
/**
* @js NA
* @lua NA
*/
virtual ~ParticleFireworks(){}
bool init(){ return initWithTotalParticles(1500); }
virtual bool initWithTotalParticles(unsigned int numberOfParticles);
@ -65,7 +79,14 @@ public:
class CC_DLL ParticleSun : public ParticleSystemQuad
{
public:
/**
* @js ctor
*/
ParticleSun(){}
/**
* @js NA
* @lua NA
*/
virtual ~ParticleSun(){}
bool init(){ return initWithTotalParticles(350); }
virtual bool initWithTotalParticles(unsigned int numberOfParticles);
@ -78,7 +99,14 @@ public:
class CC_DLL ParticleGalaxy : public ParticleSystemQuad
{
public:
/**
* @js ctor
*/
ParticleGalaxy(){}
/**
* @js NA
* @lua NA
*/
virtual ~ParticleGalaxy(){}
bool init(){ return initWithTotalParticles(200); }
virtual bool initWithTotalParticles(unsigned int numberOfParticles);
@ -91,7 +119,14 @@ public:
class CC_DLL ParticleFlower : public ParticleSystemQuad
{
public:
/**
* @js ctor
*/
ParticleFlower(){}
/**
* @js NA
* @lua NA
*/
virtual ~ParticleFlower(){}
bool init(){ return initWithTotalParticles(250); }
virtual bool initWithTotalParticles(unsigned int numberOfParticles);
@ -104,7 +139,14 @@ public:
class CC_DLL ParticleMeteor : public ParticleSystemQuad
{
public:
/**
* @js ctor
*/
ParticleMeteor(){}
/**
* @js NA
* @lua NA
*/
virtual ~ParticleMeteor(){}
bool init(){ return initWithTotalParticles(150); }
virtual bool initWithTotalParticles(unsigned int numberOfParticles);
@ -117,7 +159,14 @@ public:
class CC_DLL ParticleSpiral : public ParticleSystemQuad
{
public:
/**
* @js ctor
*/
ParticleSpiral(){}
/**
* @js NA
* @lua NA
*/
virtual ~ParticleSpiral(){}
bool init(){ return initWithTotalParticles(500); }
virtual bool initWithTotalParticles(unsigned int numberOfParticles);
@ -130,7 +179,14 @@ public:
class CC_DLL ParticleExplosion : public ParticleSystemQuad
{
public:
/**
* @js ctor
*/
ParticleExplosion(){}
/**
* @js NA
* @lua NA
*/
virtual ~ParticleExplosion(){}
bool init(){ return initWithTotalParticles(700); }
virtual bool initWithTotalParticles(unsigned int numberOfParticles);
@ -143,7 +199,14 @@ public:
class CC_DLL ParticleSmoke : public ParticleSystemQuad
{
public:
/**
* @js ctor
*/
ParticleSmoke(){}
/**
* @js NA
* @lua NA
*/
virtual ~ParticleSmoke(){}
bool init(){ return initWithTotalParticles(200); }
virtual bool initWithTotalParticles(unsigned int numberOfParticles);
@ -156,7 +219,14 @@ public:
class CC_DLL ParticleSnow : public ParticleSystemQuad
{
public:
/**
* @js ctor
*/
ParticleSnow(){}
/**
* @js NA
* @lua NA
*/
virtual ~ParticleSnow(){}
bool init(){ return initWithTotalParticles(700); }
virtual bool initWithTotalParticles(unsigned int numberOfParticles);
@ -169,7 +239,14 @@ public:
class CC_DLL ParticleRain : public ParticleSystemQuad
{
public:
/**
* @js ctor
*/
ParticleRain(){}
/**
* @js NA
* @lua NA
*/
virtual ~ParticleRain(){}
bool init(){ return initWithTotalParticles(1000); }
virtual bool initWithTotalParticles(unsigned int numberOfParticles);

View File

@ -171,8 +171,14 @@ public:
//! create a system with a fixed number of particles
static ParticleSystem* createWithTotalParticles(unsigned int numberOfParticles);
/**
* @js ctor
*/
ParticleSystem();
/**
* @js NA
* @lua NA
*/
virtual ~ParticleSystem();
/** initializes a ParticleSystem*/
@ -374,7 +380,18 @@ public:
virtual void update(float dt) override;
virtual Texture2D* getTexture() const override;
virtual void setTexture(Texture2D *texture) override;
/**
*@code
*When this function bound into js or lua,the parameter will be changed
*In js: var setBlendFunc(var src, var dst)
*In lua: local setBlendFunc(local src, local dst)
*@endcode
*/
virtual void setBlendFunc(const BlendFunc &blendFunc) override;
/**
* @js NA
* @lua NA
*/
virtual const BlendFunc &getBlendFunc() const override;
protected:
virtual void updateBlendFunc();

View File

@ -62,8 +62,14 @@ public:
This plist files can be created manually or with Particle Designer:
*/
static ParticleSystemQuad * create(const char *plistFile);
/**
* @js ctor
*/
ParticleSystemQuad();
/**
* @js NA
* @lua NA
*/
virtual ~ParticleSystemQuad();
/** initializes the indices for the vertices*/
@ -80,20 +86,52 @@ public:
/** Sets a new texture with a rect. The rect is in Points.
@since v0.99.4
* @js NA
* @lua NA
*/
void setTextureWithRect(Texture2D *texture, const Rect& rect);
/** listen the event that coming to foreground on Android
* @js NA
* @lua NA
*/
void listenBackToForeground(Object *obj);
// Overrides
/**
* @js NA
* @lua NA
*/
virtual bool initWithTotalParticles(unsigned int numberOfParticles) override;
/**
* @js NA
* @lua NA
*/
virtual void setTexture(Texture2D* texture) override;
/**
* @js NA
* @lua NA
*/
virtual void updateQuadWithParticle(tParticle* particle, const Point& newPosition) override;
/**
* @js NA
* @lua NA
*/
virtual void postStep() override;
/**
* @js NA
* @lua NA
*/
virtual void draw() override;
/**
* @js NA
* @lua NA
*/
virtual void setBatchNode(ParticleBatchNode* batchNode) override;
/**
* @js NA
* @lua NA
*/
virtual void setTotalParticles(int tp) override;
private:

View File

@ -39,7 +39,10 @@ public:
double z;
double timestamp;
/**
* @js NA
* @lua NA
*/
Acceleration(): x(0), y(0), z(0), timestamp(0) {}
};

View File

@ -28,40 +28,55 @@ public:
OS_TIZEN
};
/**
* @js NA
* @lua NA
*/
virtual ~ApplicationProtocol() {}
/**
@brief Implement Director and Scene init code here.
@return true Initialize success, app continue.
@return false Initialize failed, app terminate.
* @js NA
* @lua NA
*/
virtual bool applicationDidFinishLaunching() = 0;
/**
@brief This function will be called when the application enters background.
* @js NA
* @lua NA
*/
virtual void applicationDidEnterBackground() = 0;
/**
@brief This function will be called when the application enters foreground.
* @js NA
* @lua NA
*/
virtual void applicationWillEnterForeground() = 0;
/**
@brief Callback by Director for limit FPS.
@param interval The time, expressed in seconds, between current frame and next.
* @js NA
* @lua NA
*/
virtual void setAnimationInterval(double interval) = 0;
/**
@brief Get current language config
@return Current language config
* @js NA
* @lua NA
*/
virtual LanguageType getCurrentLanguage() = 0;
/**
@brief Get target platform
* @js NA
* @lua NA
*/
virtual Platform getTargetPlatform() = 0;
};

View File

@ -43,7 +43,14 @@ class Set;
class CC_DLL EGLViewProtocol
{
public:
/**
* @js ctor
*/
EGLViewProtocol();
/**
* @js NA
* @lua NA
*/
virtual ~EGLViewProtocol();
/** Force destroying EGL view, subclass must implement this method. */

View File

@ -64,6 +64,8 @@ public:
/**
* The destructor of FileUtils.
* @js NA
* @lua NA
*/
virtual ~FileUtils();
@ -176,6 +178,8 @@ public:
* @param filename The plist file name.
*
@since v2.1
* @js loadFilenameLookup
* @lua loadFilenameLookup
*/
virtual void loadFilenameLookupDictionaryFromFile(const std::string &filename);
@ -204,6 +208,8 @@ public:
* @param searchResolutionsOrder The source array that contains the search order of the resources.
* @see getSearchResolutionsOrder(void), fullPathForFilename(const char*).
* @since v2.1
* In js:var setSearchResolutionsOrder(var jsval)
* @lua NA
*/
virtual void setSearchResolutionsOrder(const std::vector<std::string>& searchResolutionsOrder);
@ -220,6 +226,7 @@ public:
*
* @see setSearchResolutionsOrder(const std::vector<std::string>&), fullPathForFilename(const char*).
* @since v2.1
* @lua NA
*/
virtual const std::vector<std::string>& getSearchResolutionsOrder();
@ -239,6 +246,8 @@ public:
* @param searchPaths The array contains search paths.
* @see fullPathForFilename(const char*)
* @since v2.1
* In js:var setSearchPaths(var jsval);
* @lua NA
*/
virtual void setSearchPaths(const std::vector<std::string>& searchPaths);
@ -254,6 +263,7 @@ public:
*
* @return The array of search paths.
* @see fullPathForFilename(const char*).
* @lua NA
*/
virtual const std::vector<std::string>& getSearchPaths() const;

View File

@ -56,8 +56,14 @@ class CC_DLL Image : public Object
{
public:
friend class TextureCache;
/**
* @js ctor
*/
Image();
/**
* @js NA
* @lua NA
*/
virtual ~Image();
/** Supported formats for Image */
@ -110,6 +116,8 @@ public:
@param data stream buffer which holds the image data.
@param dataLen data length expressed in (number of) bytes.
@return true if loaded correctly.
* @js NA
* @lua NA
*/
bool initWithImageData(const unsigned char * data, int dataLen);
@ -124,6 +132,8 @@ public:
@param alignMask the test Alignment
@param fontName the name of the font used to draw the text. If nil, use the default system font.
@param size the font size, if 0, use the system default size.
* @js NA
* @lua NA
*/
bool initWithString(
const char * text,

View File

@ -39,8 +39,20 @@ typedef unsigned char CC_XML_CHAR;
class CC_DLL SAXDelegator
{
public:
/**
* @js NA
* @lua NA
*/
virtual void startElement(void *ctx, const char *name, const char **atts) = 0;
/**
* @js NA
* @lua NA
*/
virtual void endElement(void *ctx, const char *name) = 0;
/**
* @js NA
* @lua NA
*/
virtual void textHandler(void *ctx, const char *s, int len) = 0;
};
@ -48,17 +60,50 @@ class CC_DLL SAXParser
{
SAXDelegator* _delegator;
public:
/**
* @js NA
* @lua NA
*/
SAXParser();
/**
* @js NA
* @lua NA
*/
~SAXParser(void);
/**
* @js NA
* @lua NA
*/
bool init(const char *pszEncoding);
/**
* @js NA
* @lua NA
*/
bool parse(const char* pXMLData, unsigned int uDataLength);
/**
* @js NA
* @lua NA
*/
bool parse(const char *pszFile);
/**
* @js NA
* @lua NA
*/
void setDelegator(SAXDelegator* pDelegator);
/**
* @js NA
* @lua NA
*/
static void startElement(void *ctx, const CC_XML_CHAR *name, const CC_XML_CHAR **atts);
/**
* @js NA
* @lua NA
*/
static void endElement(void *ctx, const CC_XML_CHAR *name);
/**
* @js NA
* @lua NA
*/
static void textHandler(void *ctx, const CC_XML_CHAR *name, int len);
};

View File

@ -42,9 +42,20 @@ NS_CC_BEGIN
class CC_DLL Thread
{
public:
/**
* @js NA
* @lua NA
*/
Thread() : _autoReleasePool(nullptr) {}
/**
* @js NA
* @lua NA
*/
~Thread();
/**
* @js NA
* @lua NA
*/
void createAutoreleasePool();
private:

View File

@ -34,7 +34,14 @@ namespace cocos2d {
class Accelerometer
{
public:
/**
* @js ctor
*/
Accelerometer();
/**
* @js NA
* @lua NA
*/
~Accelerometer();
void setDelegate(std::function<void(Acceleration*)> function);

View File

@ -9,7 +9,14 @@ NS_CC_BEGIN
class CC_DLL Application : public ApplicationProtocol
{
public:
/**
* @js ctor
*/
Application();
/**
* @js NA
* @lua NA
*/
virtual ~Application();
/**

View File

@ -33,7 +33,14 @@ NS_CC_BEGIN
class CC_DLL EGLView : public EGLViewProtocol
{
public:
/**
* @js ctor
*/
EGLView();
/**
* @js NA
* @lua NA
*/
virtual ~EGLView();
bool isOpenGLReady();

View File

@ -45,6 +45,10 @@ class CC_DLL FileUtilsAndroid : public FileUtils
friend class FileUtils;
FileUtilsAndroid();
public:
/**
* @js NA
* @lua NA
*/
virtual ~FileUtilsAndroid();
static void setassetmanager(AAssetManager* a);

View File

@ -32,7 +32,14 @@ NS_CC_BEGIN
class Lock
{
public:
/**
* @js ctor
*/
Lock(void);
/**
* @js NA
* @lua NA
*/
~Lock(void);
void lock(void);

View File

@ -16,7 +16,14 @@ namespace cocos2d {
class Accelerometer
{
public:
/**
* @js ctor
*/
Accelerometer(){}
/**
* @js NA
* @lua NA
*/
~Accelerometer(){}
static Accelerometer* sharedAccelerometer() { return NULL; };

View File

@ -11,7 +11,14 @@ class Rect;
class CC_DLL Application : public ApplicationProtocol
{
public:
/**
* @js ctor
*/
Application();
/**
* @js NA
* @lua NA
*/
virtual ~Application();
/**

View File

@ -36,7 +36,14 @@ NS_CC_BEGIN
class CC_DLL EGLView : public EGLViewProtocol
{
public:
/**
* @js ctor
*/
EGLView();
/**
* @js NA
* @lua NA
*/
virtual ~EGLView();
bool isOpenGLReady();

View File

@ -32,7 +32,14 @@ NS_CC_BEGIN
class CC_DLL TextureCacheEmscripten : public TextureCache
{
public:
/**
* @js ctor
*/
TextureCacheEmscripten();
/**
* @js NA
* @lua NA
*/
virtual ~TextureCacheEmscripten();
void addImageAsync(const char *path, Object *target, SEL_CallFuncO selector);

View File

@ -33,7 +33,14 @@ NS_CC_BEGIN
class Accelerometer
{
public:
/**
* @js ctor
*/
Accelerometer();
/**
* @js NA
* @lua NA
*/
~Accelerometer();
void setDelegate(std::function<void(Acceleration*)> function);

View File

@ -35,7 +35,14 @@ class Rect;
class CC_DLL Application : public ApplicationProtocol
{
public:
/**
* @js ctor
*/
Application();
/**
* @js NA
* @lua NA
*/
virtual ~Application();
/**

View File

@ -35,22 +35,53 @@ NS_CC_BEGIN
class CC_DLL EGLView : public EGLViewProtocol
{
public:
/**
* @js NA
* @lua NA
*/
EGLView();
/**
* @js NA
* @lua NA
*/
~EGLView();
/**
* @js NA
* @lua NA
*/
virtual bool isOpenGLReady();
/**
* @js NA
* @lua NA
*/
virtual bool setContentScaleFactor(float contentScaleFactor);
// keep compatible
/**
* @js NA
* @lua NA
*/
virtual void end();
/**
* @js NA
* @lua NA
*/
virtual void swapBuffers();
/**
* @js NA
* @lua NA
*/
virtual void setIMEKeyboardState(bool bOpen);
/** returns the singleton */
/** returns the singleton
* @js NA
*/
static EGLView* getInstance();
/** @deprecated Use getInstance() instead */
/** @deprecated Use getInstance() instead
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE static EGLView* sharedOpenGLView();
};

View File

@ -16,7 +16,14 @@ namespace cocos2d {
class Accelerometer
{
public:
/**
* @js ctor
*/
Accelerometer(){}
/**
* @js NA
* @lua NA
*/
~Accelerometer(){}
static Accelerometer* sharedAccelerometer() { return NULL; };

View File

@ -18,7 +18,14 @@ class Rect;
class Application : public ApplicationProtocol
{
public:
/**
* @js ctor
*/
Application();
/**
* @js NA
* @lua NA
*/
virtual ~Application();
/**

View File

@ -22,7 +22,14 @@ NS_CC_BEGIN
class CC_DLL EGLView : public EGLViewProtocol
{
public:
/**
* @js ctor
*/
EGLView();
/**
* @js NA
* @lua NA
*/
virtual ~EGLView();
/* override functions */

View File

@ -34,6 +34,10 @@ class CC_DLL Accelerometer
{
public:
Accelerometer() {}
/**
* @js NA
* @lua NA
*/
~Accelerometer() {}
void setDelegate(std::function<void(Acceleration*)> function) { CC_UNUSED_PARAM(function); }

View File

@ -34,7 +34,14 @@ NS_CC_BEGIN
class CC_DLL Application : public ApplicationProtocol
{
public:
/**
* @js ctor
*/
Application();
/**
* @js NA
* @lua NA
*/
virtual ~Application();
/**
@ -49,6 +56,8 @@ public:
/**
@brief Run the message loop.
* @js NA
* @lua NA
*/
int run();

View File

@ -34,7 +34,14 @@ NS_CC_BEGIN
class CC_DLL EGLView : public EGLViewProtocol
{
public:
/**
* @js ctor
*/
EGLView();
/**
* @js NA
* @lua NA
*/
virtual ~EGLView();
/* override functions */

View File

@ -33,7 +33,14 @@ namespace cocos2d {
class Accelerometer
{
public:
/**
* @js ctor
*/
Accelerometer(){}
/**
* @js NA
* @lua NA
*/
~Accelerometer(){}
static Accelerometer* sharedAccelerometer() { return NULL; };

View File

@ -34,7 +34,14 @@ class Rect;
class Application : public ApplicationProtocol
{
public:
/**
* @js ctor
*/
Application();
/**
* @js NA
* @lua NA
*/
virtual ~Application();
/**

View File

@ -43,7 +43,14 @@ NS_CC_BEGIN
class EGLView : public EGLViewProtocol
{
public:
/**
* @js ctor
*/
EGLView();
/**
* @js NA
* @lua NA
*/
virtual ~EGLView();
/**

Some files were not shown because too many files have changed in this diff Show More