CCTouchHandler
#ifndef __TOUCH_DISPATCHER_CCTOUCH_HANDLER_H__
#define __TOUCH_DISPATCHER_CCTOUCH_HANDLER_H__
#include "CCTouchDelegateProtocol.h"
#include "CCTouchDispatcher.h"
#include "cocoa/CCObject.h"
#include "cocoa/CCSet.h"
NS_CC_BEGIN
/**
* @addtogroup input
* @{
*/
/**
CCTouchHandler
Object than contains the delegate and priority of the event handler.
*/
class CC_DLL CCTouchHandler : public CCObject
{
public:
virtual ~CCTouchHandler(void);
/** delegate */
CCTouchDelegate* getDelegate();
void setDelegate(CCTouchDelegate *pDelegate);
/** priority */
int getPriority(void);
void setPriority(int nPriority);
/** enabled selectors */
int getEnabledSelectors(void);
void setEnalbedSelectors(int nValue);
/** initializes a TouchHandler with a delegate and a priority */
virtual bool initWithDelegate(CCTouchDelegate *pDelegate, int nPriority);
public:
/** allocates a TouchHandler with a delegate and a priority */
static CCTouchHandler* handlerWithDelegate(CCTouchDelegate *pDelegate, int nPriority);
protected:
CCTouchDelegate *m_pDelegate;
int m_nPriority;
int m_nEnabledSelectors;
};
/** CCStandardTouchHandler
It forwards each event to the delegate.
*/
class CC_DLL CCStandardTouchHandler : public CCTouchHandler
{
public:
/** initializes a TouchHandler with a delegate and a priority */
virtual bool initWithDelegate(CCTouchDelegate *pDelegate, int nPriority);
public:
/** allocates a TouchHandler with a delegate and a priority */
static CCStandardTouchHandler* handlerWithDelegate(CCTouchDelegate *pDelegate, int nPriority);
};
/**
CCTargetedTouchHandler
Object than contains the claimed touches and if it swallows touches.
Used internally by TouchDispatcher
*/
class CC_DLL CCTargetedTouchHandler : public CCTouchHandler
{
public:
~CCTargetedTouchHandler(void);
/** whether or not the touches are swallowed */
bool isSwallowsTouches(void);
void setSwallowsTouches(bool bSwallowsTouches);
/** MutableSet that contains the claimed touches */
CCSet* getClaimedTouches(void);
/** initializes a TargetedTouchHandler with a delegate, a priority and whether or not it swallows touches or not */
bool initWithDelegate(CCTouchDelegate *pDelegate, int nPriority, bool bSwallow);
public:
/** allocates a TargetedTouchHandler with a delegate, a priority and whether or not it swallows touches or not */
static CCTargetedTouchHandler* handlerWithDelegate(CCTouchDelegate *pDelegate, int nPriority, bool bSwallow);
protected:
bool m_bSwallowsTouches;
CCSet *m_pClaimedTouches;
};
// end of input group
/// @}
NS_CC_END
#endif // __TOUCH_DISPATCHER_CCTOUCH_HANDLER_H__
浙公网安备 33010602011771号