CCControlExtension/CCControlSwitch

#ifndef __CCCONTROLSWITCH_H__

#define __CCCONTROLSWITCH_H__


#include "CCControl.h"



namespace cocos2d { class CCSprite; }

namespace cocos2d { class CCLabelTTF; }


NS_CC_EXT_BEGIN


class CCControlSwitchSprite;


/**

 * @addtogroup GUI

 * @{

 * @addtogroup control_extension

 * @{

 */


/** @class CCControlSwitch Switch control for Cocos2D. */

class CCControlSwitch : public CCControl

{

public:

    CCControlSwitch();

    virtual ~CCControlSwitch();

    /** Initializes a switch with a mask sprite, on/off sprites for on/off states and a thumb sprite. */

    bool initWithMaskSprite(CCSprite *maskSprite, CCSprite * onSprite, CCSprite * offSprite, CCSprite * thumbSprite);


    /** Creates a switch with a mask sprite, on/off sprites for on/off states and a thumb sprite. */

    static CCControlSwitch* create(CCSprite *maskSprite, CCSprite * onSprite, CCSprite * offSprite, CCSprite * thumbSprite);



    /** Initializes a switch with a mask sprite, on/off sprites for on/off states, a thumb sprite and an on/off labels. */

    bool initWithMaskSprite(CCSprite *maskSprite, CCSprite * onSprite, CCSprite * offSprite, CCSprite * thumbSprite, CCLabelTTF* onLabel, CCLabelTTF* offLabel);


    /** Creates a switch with a mask sprite, on/off sprites for on/off states, a thumb sprite and an on/off labels. */

    static CCControlSwitch* create(CCSprite *maskSprite, CCSprite * onSprite, CCSprite * offSprite, CCSprite * thumbSprite, CCLabelTTF* onLabel, CCLabelTTF* offLabel);



    /**

     * Set the state of the switch to On or Off, optionally animating the transition.

     *

     * @param isOn YES if the switch should be turned to the On position; NO if it 

     * should be turned to the Off position. If the switch is already in the 

     * designated position, nothing happens.

     * @param animated YES to animate the "flipping" of the switch; otherwise NO.

     */

    void setOn(bool isOn, bool animated);

    void setOn(bool isOn);

    bool isOn(void) { return m_bOn; }

    bool hasMoved() { return m_bMoved; }

    virtual void setEnabled(bool enabled);


    CCPoint locationFromTouch(CCTouch* touch);

    //events

    virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);

    virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);

    virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);

    virtual void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent);


protected:

    /** Sprite which represents the view. */

    CCControlSwitchSprite* m_pSwitchSprite;

    float m_fInitialTouchXPosition;

    

    bool m_bMoved;

    /** A Boolean value that determines the off/on state of the switch. */

    bool m_bOn;

};


// end of GUI group

/// @}

/// @}


NS_CC_EXT_END


#endif /* __CCCONTROLSWITCH_H__ */


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值