DrawKit
Vector and illustration framework for Mac OS X
|
This uses a similar algorithm to DKBSPObjectStorage but instead of indexing the objects it stores them directly by retaining them in additional arrays within the BSP tree. More...
Instance Methods | |
(NSBezierPath *) | - debugStorageDivisions |
(void) | - setTreeDepth: |
(id) | - tree |
![]() | |
(NSString *) | - address |
(DKStyleRegistry *) | - applicationWillReturnStyleRegistry |
(BOOL) | - canBeUsedWithSelectionTool |
(id) | - categoryManager:shouldReplaceObject:withObject: |
(Class) | - classForCoder |
(NSColor *) | - colorValue |
(NSColor *) | - colourValue |
(id) | - copy |
(void) | - dealloc |
(id) | - deepCopy |
(NSDictionary *) | - dimensionValuesForArrowStroke: |
(CGFloat) | - drawing:convertDistanceToExternalCoordinates: |
(NSPoint) | - drawing:convertLocationToExternalCoordinates: |
(void) | - drawing:didDrawRect:inView: |
(void) | - drawing:willDrawRect:inView: |
(NSString *) | - drawing:willReturnAbbreviationForUnit: |
(NSString *) | - drawing:willReturnFormattedCoordinateForDistance: |
(CGFloat) | - drawingWillReturnUnitToPointsConversonFactor: |
(void) | - finalize |
(NSString *) | - hexString |
(void) | - hotspot:didEndTrackingWithEvent:inView: |
(void) | - hotspot:isTrackingWithEvent:inView: |
(void) | - hotspot:willBeginTrackingWithEvent:inView: |
(NSData *) | - imageData |
(NSImage *) | - imageResourceNamed: |
(id) | - init |
(id) | - initWithExpression: |
(id) | - instantiateObjectWithShortName:parameters: |
(BOOL) | - isLiteralValue |
(void) | - layoutManager:willPlaceGlyphAtIndex:atLocation:pathAngle:yOffset: |
(void) | - menuItem:wasAddedForObject:inCategory: |
(BOOL) | - moveObjectTo:position:slope:userInfo: |
(id) | - mutableCopy |
(void) | - oneShotComplete |
(void) | - oneShotHasReached: |
(void) | - oneShotWillBegin |
(void) | - path:elementIndex:type:points:subPathIndex:subPathClosed:contextInfo: |
(id) | - placeLinkFromPoint:toPoint:onPath:linkNumber:userInfo: |
(id) | - placeObjectAtPoint:onPath:position:slope:userInfo: |
(NSPoint) | - point |
(NSPoint) | - pointForTextLayout |
(DKStyle *) | - registry:shouldReplaceStyle:withStyle: |
(NSBezierPath *) | - renderer:willRenderPath: |
(void) | - routeFinder:progressHasReached: |
(void) | - setValue:forNumericParameter: |
(NSString *) | - stringValue |
(CGFloat) | - taperFactorAtDistance:onPath:ofLength: |
(void) | - toolDidPerformUndoableAction: |
(void) | - toolWillPerformUndoableAction: |
(NSURL *) | - url |
![]() | |
(NSString *) | - description |
(NSUInteger) | - hash |
(BOOL) | - isEqual: |
![]() | |
(void) | - bind:toObject:withKeyPath:options: |
(NSArray *) | - exposedBindings |
(NSDictionary *) | - infoForBinding: |
(NSArray *) | - optionDescriptionsForBinding: |
(void) | - unbind: |
(Class) | - valueClassForBinding: |
![]() | |
(BOOL) | - containsObject: |
(NSUInteger) | - countOfObjects |
(NSUInteger) | - indexOfObject: |
(void) | - insertObject:inObjectsAtIndex: |
(void) | - insertObjects:atIndexes: |
(void) | - moveObject:toIndex: |
(void) | - object:didChangeBoundsFrom: |
(void) | - objectDidChangeVisibility: |
(id< DKStorableObject >) | - objectInObjectsAtIndex: |
(NSArray *) | - objects |
(NSArray *) | - objectsAtIndexes: |
(NSArray *) | - objectsContainingPoint: |
(NSArray *) | - objectsIntersectingRect:inView:options: |
(void) | - removeObjectFromObjectsAtIndex: |
(void) | - removeObjectsAtIndexes: |
(void) | - replaceObjectInObjectsAtIndex:withObject: |
(void) | - setCanvasSize: |
(void) | - setObjects: |
![]() | |
(void) | - encodeWithCoder: |
(id) | - initWithCoder: |
Additional Inherited Members | |
![]() | |
(id) | + alloc |
(Class) | + class |
(void) | + initialize |
(void) | + load |
(id) | + new |
![]() | |
(void) | + exposeBinding: |
This uses a similar algorithm to DKBSPObjectStorage but instead of indexing the objects it stores them directly by retaining them in additional arrays within the BSP tree.
This is likely to be faster than the indexing approach though profiling is needed to confirm this.
To facilitate correct z-ordering, each object stores its own Z-position and the objects are sorted on this property when necessary. Objects need to be renumbered when indexes change.
The trade-off here is that drawing speed should be faster but object insertion, deletion and changing of Z-position may be slower.
- (NSBezierPath*) debugStorageDivisions |
Reimplemented from <DKObjectStorage>.
- (void) setTreeDepth: | (NSUInteger) | aDepth |
- (id) tree |