typedef enum { kCCTouchesAllAtOnce, kCCTouchesOneByOne, } ccTouchesMode; class CCLayer : public CCNode { void setTouchEnabled(bool bValue); bool isTouchEnabled() const; void setAccelerometerEnabled(bool bValue); bool isAccelerometerEnabled() const; void setKeypadEnabled(bool bValue); bool isKeypadEnabled() const; virtual void setTouchMode(ccTouchesMode mode); virtual int getTouchMode() const; virtual void setTouchPriority(int priority); virtual int getTouchPriority() const; void registerScriptTouchHandler(LUA_FUNCTION nHandler, bool bIsMultiTouches = false, int nPriority = 0, bool bSwallowsTouches = false); void unregisterScriptTouchHandler(); void registerScriptKeypadHandler(LUA_FUNCTION nHandler); void unregisterScriptKeypadHandler(void); void registerScriptAccelerateHandler(LUA_FUNCTION nHandler); void unregisterScriptAccelerateHandler(void); static CCLayer *create(void); }; class CCLayerRGBA : public CCLayer, public CCRGBAProtocol { static CCLayerRGBA* create(); CCLayerRGBA(); virtual ~CCLayerRGBA(); virtual bool init(); virtual GLubyte getOpacity() const; virtual GLubyte getDisplayedOpacity() const; virtual void setOpacity(GLubyte opacity); virtual void updateDisplayedOpacity(GLubyte parentOpacity); virtual bool isCascadeOpacityEnabled() const; virtual void setCascadeOpacityEnabled(bool cascadeOpacityEnabled); virtual const ccColor3B& getColor() const; virtual const ccColor3B& getDisplayedColor() const; virtual void setColor(const ccColor3B& color); virtual void updateDisplayedColor(const ccColor3B& parentColor); virtual bool isCascadeColorEnabled() const; virtual void setCascadeColorEnabled(bool cascadeColorEnabled); virtual void setOpacityModifyRGB(bool bValue); virtual bool isOpacityModifyRGB() const; }; class CCLayerColor : public CCLayerRGBA { void changeWidth(GLfloat w); void changeHeight(GLfloat h); void changeWidthAndHeight(GLfloat w ,GLfloat h); void setContentSize(const CCSize & var); void setOpacity(GLubyte var); void setColor(ccColor3B Value); void setBlendFunc(ccBlendFunc Value); ccBlendFunc getBlendFunc(void) const; void setOpacityModifyRGB(bool bValue); bool isOpacityModifyRGB(void) const; static CCLayerColor * create(ccColor4B color, GLfloat width, GLfloat height); static CCLayerColor * create(ccColor4B color); }; class CCLayerGradient : public CCLayerColor { void setStartColor(ccColor3B colors); ccColor3B getStartColor() const; void setEndColor(ccColor3B Value); ccColor3B getEndColor(void) const; void setStartOpacity(GLubyte Value); GLubyte getStartOpacity(void); void setEndOpacity(GLubyte Value); GLubyte getEndOpacity(void); void setVector(CCPoint Value); CCPoint getVector(void); void setCompressedInterpolation(bool Value); bool isCompressedInterpolation(void) const; static CCLayerGradient* create(ccColor4B start, ccColor4B end, CCPoint v); static CCLayerGradient* create(ccColor4B start, ccColor4B end); static CCLayerGradient* create(); }; class CCLayerMultiplex : public CCLayer { void addLayer(CCLayer* layer); void switchTo(unsigned int n); void switchToAndReleaseMe(unsigned int n); static CCLayerMultiplex* createWithArray(CCArray* arrayOfLayers); static CCLayerMultiplex * create(); static CCLayerMultiplex * createWithLayer(CCLayer* layer); };