enum
{
    kCCMenuStateWaiting,
    kCCMenuStateTrackingTouch
};

enum {
    kCCMenuHandlerPriority = -128
};

class CCMenu : public CCLayerRGBA
{
    void alignItemsVertically();
    void alignItemsVerticallyWithPadding(float padding);
    void alignItemsHorizontally();
    void alignItemsHorizontallyWithPadding(float padding);
    void alignItemsInColumnsWithArray(CCArray* rows);
    void alignItemsInRowsWithArray(CCArray* columns);

    void setHandlerPriority(int newPriority);

    void addChild(CCMenuItem* child, int zOrder = 0, int tag = -1);

    void setOpacity(GLubyte opacity);
    GLubyte getOpacity(void);
    void setColor(Color3B color);
    Color3B getColor(void);

    void setOpacityModifyRGB(bool bValue);
    bool isOpacityModifyRGB(void);

    bool isEnabled();
    void setEnabled(bool value);

    static CCMenu* create();
    static CCMenu* createWithItem(CCMenuItem* item);
    static CCMenu* createWithArray(CCArray* pArrayOfItems);
};