cocos2d-iphone  2.1
Improved Cocos2D API Reference (iOS version) for developers
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Defines
CCTouchDispatcher Class Reference

#import <CCTouchDispatcher.h>

+ Inheritance diagram for CCTouchDispatcher:
+ Collaboration diagram for CCTouchDispatcher:

List of all members.

Public Member Functions

(void) - addStandardDelegate:priority:
(void) - addTargetedDelegate:priority:swallowsTouches:
(void) - removeDelegate:
(void) - removeAllDelegates
(void) - setPriority:forDelegate:
(NSComparisonResult) - sortByPriority

Static Public Member Functions


Protected Attributes

NSMutableArray * targetedHandlers
NSMutableArray * standardHandlers
BOOL locked
BOOL toAdd
BOOL toRemove
NSMutableArray * handlersToAdd
NSMutableArray * handlersToRemove
BOOL toQuit
struct ccTouchHandlerHelperData handlerHelperData [kCCTouchMax]


BOOL dispatchEvents

Detailed Description

CCTouchDispatcher. Object that handles all the touch events. The dispatcher dispatches events to the registered TouchHandlers. There are 2 different type of touch handlers:

  • Standard Touch Handlers
  • Targeted Touch Handlers

The Standard Touch Handlers work like the CocoaTouch touch handler: a set of touches is passed to the delegate. On the other hand, the Targeted Touch Handlers only receive 1 touch at the time, and they can "swallow" touches (avoid the propagation of the event).

Firstly, the dispatcher sends the received touches to the targeted touches. These touches can be swallowed by the Targeted Touch Handlers. If there are still remaining touches, then the remaining touches will be sent to the Standard Touch Handlers.


Member Function Documentation

- (void) addStandardDelegate: (id< CCTouchAllAtOnceDelegate >)  delegate
priority: (int)  priority 

Adds a standard touch delegate to the dispatcher's list. See StandardTouchDelegate description. IMPORTANT: The delegate will be retained.

- (void) addTargetedDelegate: (id< CCTouchOneByOneDelegate >)  delegate
priority: (int)  priority
swallowsTouches: (BOOL)  swallowsTouches 

Adds a targeted touch delegate to the dispatcher's list. See TargetedTouchDelegate description. IMPORTANT: The delegate will be retained.

Removes all touch delegates, releasing all the delegates

- (void) removeDelegate: (id)  delegate

Removes a touch delegate. The delegate will be released

- (void) setPriority: (int)  priority
forDelegate: (id)  delegate 

Changes the priority of a previously added delegate. The lower the number, the higher the priority

Property Documentation

- (BOOL) dispatchEvents [read, write, assign]

Whether or not the events are going to be dispatched. Default: YES

The documentation for this class was generated from the following file: