#ifndef __CCCONTROL_SATURATION_PICKER_H__
#define __CCCONTROL_SATURATION_PICKER_H__
#include "CCControl.h"
#include "CCInvocation.h"
NS_CC_EXT_BEGIN
/**
* @addtogroup GUI
* @{
* @addtogroup control_extension
* @{
*/
class CCControlSaturationBrightnessPicker : public CCControl
{
/** Contains the receiver°Øs current saturation value. */
CC_SYNTHESIZE_READONLY(float, m_saturation, Saturation);
/** Contains the receiver°Øs current brightness value. */
CC_SYNTHESIZE_READONLY(float, m_brightness, Brightness);
//not sure if these need to be there actually. I suppose someone might want to access the sprite?
CC_SYNTHESIZE_READONLY(CCSprite*, m_background, Background);
CC_SYNTHESIZE_READONLY(CCSprite*, m_overlay, Overlay);
CC_SYNTHESIZE_READONLY(CCSprite*, m_shadow, Shadow);
CC_SYNTHESIZE_READONLY(CCSprite*, m_slider, Slider);
CC_SYNTHESIZE_READONLY(CCPoint, m_startPos, StartPos);
protected:
int boxPos;
int boxSize;
public:
CCControlSaturationBrightnessPicker();
virtual ~CCControlSaturationBrightnessPicker();
virtual bool initWithTargetAndPos(CCNode* target, CCPoint pos);
static CCControlSaturationBrightnessPicker* create(CCNode* target, CCPoint pos);
virtual void setEnabled(bool enabled);
virtual void updateWithHSV(HSV hsv);
virtual void updateDraggerWithHSV(HSV hsv);
protected:
void updateSliderPosition(CCPoint location);
bool checkSliderPosition(CCPoint location);
virtual bool ccTouchBegan(CCTouch* touch, CCEvent* pEvent);
virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);
};
// end of GUI group
/// @}
/// @}
NS_CC_EXT_END
#endif