26 @
typedef CPTrackingAreaOptions
59 CPTrackingAreaOptions _options;
66 unsigned _implementedOwnerMethods;
71 #pragma mark Initialization 91 [
CPException raise:CPInternalInconsistencyException
reason:"Invalid CPTrackingAreaOptions: must use at least one of [CPTrackingMouseEnteredAndExited | CPTrackingMouseMoved | CPTrackingCursorUpdate]"];
94 [
CPException raise:CPInternalInconsistencyException
reason:"Tracking area options may only specify one of [CPTrackingActiveWhenFirstResponder | CPTrackingActiveInKeyWindow | CPTrackingActiveInActiveApp | CPTrackingActiveAlways]."];
96 if (
self = [super
init])
101 _userInfo = userInfo;
105 if ([_owner respondsToSelector:
@selector(mouseEntered:)])
108 if ([_owner respondsToSelector:
@selector(mouseExited:)])
111 if ([_owner respondsToSelector:
@selector(mouseMoved:)])
114 if ([_owner respondsToSelector:
@selector(cursorUpdate:)])
123 #pragma mark Implementation 125 - (void)_updateWindowRect
127 _windowRect = [_referencingView convertRect:((_options & CPTrackingInVisibleRect) ? [_referencingView visibleRect] : _viewRect) toView:[[_referencingView window] _windowView]];
133 #pragma mark CPCoding 139 if (
self = [super
init])
141 _viewRect = [aCoder decodeObjectForKey:CPTrackingAreaViewRectKey];
142 _options = [aCoder decodeObjectForKey:CPTrackingAreaOptionsKey];
143 _owner = [aCoder decodeObjectForKey:CPTrackingAreaOwnerKey];
144 _userInfo = [aCoder decodeObjectForKey:CPTrackingAreaUserInfoKey];
145 _referencingView = [aCoder decodeObjectForKey:CPTrackingAreaReferencingViewKey];
146 _windowRect = [aCoder decodeObjectForKey:CPTrackingAreaWindowRect];
154 [aCoder encodeObject:_viewRect forKey:CPTrackingAreaViewRectKey];
155 [aCoder encodeObject:_options forKey:CPTrackingAreaOptionsKey];
156 [aCoder encodeObject:_owner forKey:CPTrackingAreaOwnerKey];
157 [aCoder encodeObject:_userInfo forKey:CPTrackingAreaUserInfoKey];
158 [aCoder encodeObject:_referencingView forKey:CPTrackingAreaReferencingViewKey];
159 [aCoder encodeObject:_windowRect forKey:CPTrackingAreaWindowRect];
177 - (CPTrackingAreaOptions)options
203 return _referencingView;
211 _referencingView = aValue;
225 - (unsigned)implementedOwnerMethods
227 return _implementedOwnerMethods;
var CPTrackingAreaWindowRect
Used to implement exception handling (creating & raising).
var CPTrackingAreaReferencingViewKey
CPTrackingOwnerImplementsCursorUpdate
void raise:reason:(CPString aName, [reason] CPString aReason)
CPTrackingActiveInKeyWindow
CPTrackingActiveInActiveApp
A mutable key-value pair collection.
CPTrackingActiveWhenFirstResponder
var CPTrackingAreaViewRectKey
var CPTrackingAreaUserInfoKey
CPTrackingOwnerImplementsMouseMoved
CPTrackingOwnerImplementsMouseExited
Defines methods for use when archiving & restoring (enc/decoding).
CPTrackingAreaOptions CPTrackingMouseEnteredAndExited
var CPTrackingAreaOptionsKey
CPTrackingEnabledDuringMouseDrag
CPTrackingOwnerImplementsMouseEntered
var CPTrackingAreaOwnerKey