CCControlExtension/CCControlSlider

#ifndef __CCCONTROL_SLIDER_H__

#define __CCCONTROL_SLIDER_H__


#include "CCControl.h"

#include "CCInvocation.h"


NS_CC_EXT_BEGIN


/**

 * @addtogroup GUI

 * @{

 * @addtogroup control_extension

 * @{

 */


class CCControlSlider: public CCControl

{

    //maunally put in the setters

    /** Contains the receiver°Øs current value. */

    CC_SYNTHESIZE_READONLY(float, m_value, Value);

    virtual void setValue(float val);

    /** Contains the minimum value of the receiver. 

    * The default value of this property is 0.0. */

    CC_SYNTHESIZE_READONLY(float, m_minimumValue, MinimumValue);

    virtual void setMinimumValue(float val);

    /** Contains the maximum value of the receiver. 

    * The default value of this property is 1.0. */

    CC_SYNTHESIZE_READONLY(float, m_maximumValue, MaximumValue);

    virtual void setMaximumValue(float val);

    virtual void setEnabled(bool enabled);

    virtual bool isTouchInside(CCTouch * touch);

    CCPoint locationFromTouch(CCTouch* touch);


    CC_SYNTHESIZE(float, m_minimumAllowedValue, MinimumAllowedValue);

    CC_SYNTHESIZE(float, m_maximumAllowedValue, MaximumAllowedValue);


    // maybe this should be read-only

    CC_SYNTHESIZE_RETAIN(CCSprite*, m_thumbSprite, ThumbSprite);

    CC_SYNTHESIZE_RETAIN(CCSprite*, m_progressSprite, ProgressSprite);

    CC_SYNTHESIZE_RETAIN(CCSprite*, m_backgroundSprite, BackgroundSprite);


public:

    CCControlSlider();

    virtual ~CCControlSlider();


    /** 

    * Initializes a slider with a background sprite, a progress bar and a thumb

    * item.

    *

    * @param backgroundSprite  CCSprite, that is used as a background.

    * @param progressSprite    CCSprite, that is used as a progress bar.

    * @param thumbItem         CCSprite, that is used as a thumb.

    */

    virtual bool initWithSprites(CCSprite * backgroundSprite, CCSprite* progressSprite, CCSprite* thumbSprite);


    /** 

    * Creates slider with a background filename, a progress filename and a 

    * thumb image filename.

    */

    static CCControlSlider* create(const char* bgFile, const char* progressFile, const char* thumbFile);


    /** 

    * Creates a slider with a given background sprite and a progress bar and a

    * thumb item.

    *

    * @see initWithBackgroundSprite:progressSprite:thumbMenuItem:

    */

    static CCControlSlider* create(CCSprite * backgroundSprite, CCSprite* pogressSprite, CCSprite* thumbSprite);


    virtual void needsLayout();

protected:

    void sliderBegan(CCPoint location);

    void sliderMoved(CCPoint location);

    void sliderEnded(CCPoint location);


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

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

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


/** Returns the value for the given location. */

    float valueForLocation(CCPoint location);

};


// end of GUI group

/// @}

/// @}


NS_CC_EXT_END


#endif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值