typedef enum {
    /// An horizontal orientation where the Left is nearer
    kOrientationLeftOver = 0,
    /// An horizontal orientation where the Right is nearer
    kOrientationRightOver = 1,
    /// A vertical orientation where the Up is nearer
    kOrientationUpOver = 0,
    /// A vertical orientation where the Bottom is nearer
    kOrientationDownOver = 1,
} tOrientation;

class CCTransitionSceneOriented
{
    static CCTransitionSceneOriented* transitionWithDuration(ccTime t, CCScene* scene, tOrientation o);
};

class CCTransitionRotoZoom
{
    static CCTransitionRotoZoom* transitionWithDuration(ccTime t, CCScene* scene);
};

class CCTransitionJumpZoom
{
    static CCTransitionJumpZoom* transitionWithDuration(ccTime t, CCScene* scene);
};

class CCTransitionMoveInL
{
    static CCTransitionMoveInL* transitionWithDuration(ccTime t, CCScene* scene);
};

class CCTransitionMoveInR
{
    static CCTransitionMoveInR* transitionWithDuration(ccTime t, CCScene* scene);
};

class CCTransitionMoveInT
{
    static CCTransitionMoveInT* transitionWithDuration(ccTime t, CCScene* scene);
};

class CCTransitionMoveInB
{
    static CCTransitionMoveInB* transitionWithDuration(ccTime t, CCScene* scene);
};

class CCTransitionSlideInL
{
    static CCTransitionSlideInL* transitionWithDuration(ccTime t, CCScene* scene);
};

class CCTransitionSlideInR
{
    static CCTransitionSlideInR* transitionWithDuration(ccTime t, CCScene* scene);
};

class CCTransitionSlideInB
{
    static CCTransitionSlideInB* transitionWithDuration(ccTime t, CCScene* scene);
};

class CCTransitionSlideInT
{
    static CCTransitionSlideInT* transitionWithDuration(ccTime t, CCScene* scene);
};

class CCTransitionShrinkGrow
{
    static	CCTransitionShrinkGrow* transitionWithDuration(ccTime t, CCScene* scene);
};

class CCTransitionFlipX
{
    static CCTransitionFlipX* transitionWithDuration(ccTime t, CCScene* s, tOrientation o = kOrientationRightOver);
};

class CCTransitionFlipY
{
    static CCTransitionFlipY* transitionWithDuration(ccTime t, CCScene* s, tOrientation o = kOrientationUpOver);
};

class CCTransitionFlipAngular
{
    static CCTransitionFlipAngular* transitionWithDuration(ccTime t, CCScene* s, tOrientation o = kOrientationRightOver);
};

class CCTransitionZoomFlipX
{
    static CCTransitionZoomFlipX* transitionWithDuration(ccTime t, CCScene* s, tOrientation o = kOrientationRightOver);
};

class CCTransitionZoomFlipY
{
    static CCTransitionZoomFlipY* transitionWithDuration(ccTime t, CCScene* s, tOrientation o = kOrientationUpOver);
};

class CCTransitionZoomFlipAngular
{
    static CCTransitionZoomFlipAngular* transitionWithDuration(ccTime t, CCScene* s, tOrientation o = kOrientationRightOver);
};

class CCTransitionFade
{
    static CCTransitionFade* transitionWithDuration(ccTime duration,CCScene* scene, ccColor3B color = ccBLACK);
};

class CCTransitionCrossFade
{
    static CCTransitionCrossFade* transitionWithDuration(ccTime t, CCScene* scene);
};

class CCTransitionTurnOffTiles
{
    static CCTransitionTurnOffTiles* transitionWithDuration(ccTime t, CCScene* scene);
};

class CCTransitionSplitCols
{
    static CCTransitionSplitCols* transitionWithDuration(ccTime t, CCScene* scene);
};

class CCTransitionSplitRows
{
    static CCTransitionSplitRows* transitionWithDuration(ccTime t, CCScene* scene);
};

class CCTransitionFadeTR
{
    static CCTransitionFadeTR* transitionWithDuration(ccTime t, CCScene* scene);
};

class CCTransitionFadeBL
{
    static CCTransitionFadeBL* transitionWithDuration(ccTime t, CCScene* scene);
};

class CCTransitionFadeUp
{
    static CCTransitionFadeUp* transitionWithDuration(ccTime t, CCScene* scene);
};

class CCTransitionFadeDown
{
    static  CCTransitionFadeDown* transitionWithDuration(ccTime t, CCScene* scene);
};