DrawKit
Vector and illustration framework for Mac OS X
Instance Methods | List of all members
DKRastGroup Class Reference

A rendergroup is a single renderer which contains a list of other renderers. More...

Inheritance diagram for DKRastGroup:
Inheritance graph
[legend]

Instance Methods

(void) - addRenderer:
 
(BOOL- containsRendererOfClass:
 
(NSUInteger- countOfRenderList
 
(NSUInteger- indexOfRenderer:
 
(void) - insertObject:inRenderListAtIndex:
 
(void) - insertRenderer:atIndex:
 
(BOOL- isValid
 
(void) - moveRendererAtIndex:toIndex:
 
(id- objectInRenderListAtIndex:
 
(void) - observableWasAdded:
 
(void) - observableWillBeRemoved:
 
(void) - removeAllRenderers
 
(void) - removeObjectFromRenderListAtIndex:
 
(void) - removeRenderer:
 
(void) - removeRendererAtIndex:
 
(void) - removeRenderersOfClass:inSubgroups:
 
(DKRasterizer *) - rendererAtIndex:
 
(NSArray *) - renderersOfClass:
 
(DKRasterizer *) - rendererWithName:
 
(NSArray *) - renderList
 
(DKRastGroup *) - root
 
(void) - setRenderList:
 
- Instance Methods inherited from DKRasterizer
(DKClippingOption) - clipping
 Whether the rasterizer's effect is clipped to the path or not, and if so, which side. More...
 
(DKRastGroup *) - container
 Returns the immediate container of this object, if owned by a group. More...
 
(BOOL- copyToPasteboard:
 
(BOOL- enabled
 
(NSString *) - label
 
(NSString *) - name
 
(NSBezierPath *) - renderingPathForObject:
 Returns the path to render given the object doing the rendering. More...
 
(void) - setClipping:
 
(void) - setClippingWithoutNotifying:
 
(void) - setContainer:
 Sets the immediate container of this object. More...
 
(void) - setEnabled:
 
(void) - setName:
 
(NSString *) - styleScript
 
- Instance Methods inherited from GCObservableObject
(NSString *) - actionNameForKeyPath:
 
(NSString *) - actionNameForKeyPath:changeKind:
 
(NSArray *) - oldArrayValueForKeyPath:
 
(void) - registerActionNames
 
(void) - sendInitialValuesForAllPropertiesToObserver:context:
 
(void) - setActionName:forKeyPath:
 
(BOOL- setUpKVOForObserver:
 
(void) - setUpObservables:forObserver:
 
(BOOL- tearDownKVOForObserver:
 
(void) - tearDownObservables:forObserver:
 
- Instance Methods inherited from NSObject
(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
 
- Instance Methods inherited from <NSObject>
(NSString *) - description
 
(NSUInteger- hash
 
(BOOL- isEqual:
 
- Instance Methods inherited from <NSKeyValueBindingCreation>
(void) - bind:toObject:withKeyPath:options:
 
(NSArray *) - exposedBindings
 
(NSDictionary *) - infoForBinding:
 
(NSArray *) - optionDescriptionsForBinding:
 
(void) - unbind:
 
(Class- valueClassForBinding:
 
- Instance Methods inherited from <DKRasterizer>
(NSSize) - extraSpaceNeeded
 
(BOOL- isFill
 
(void) - render:
 
(void) - renderPath:
 
- Instance Methods inherited from <NSCoding>
(void) - encodeWithCoder:
 
(id- initWithCoder:
 
- Instance Methods inherited from <NSCopying>
(id- copyWithZone:
 

Additional Inherited Members

- Class Methods inherited from DKRasterizer
(DKRasterizer *) + rasterizerFromPasteboard:
 
- Class Methods inherited from GCObservableObject
(NSString *) + actionNameForKeyPath:objClass:
 
(NSArray *) + observableKeyPaths
 
(void) + registerActionName:forKeyPath:objClass:
 
- Class Methods inherited from NSObject
(id+ alloc
 
(Class+ class
 
(void) + initialize
 
(void) + load
 
(id+ new
 
- Class Methods inherited from <NSKeyValueBindingCreation>
(void) + exposeBinding:
 

Detailed Description

A rendergroup is a single renderer which contains a list of other renderers.

A rendergroup is a single renderer which contains a list of other renderers. Each renderer is applied to the object in list order.

Because the group is itself a renderer, it can be added to other groups, etc to form complex trees of rendering behaviour.

A group saves and restores the graphics state around all of its calls, so can also be used to "bracket" sets of rendering operations together.

The rendering group is the basis for the more application-useful drawing style object.

Because DKRasterizer inherits from GCObservableObject, the group object supports a KVO-based approach for observing its components. Whenever a component is added or removed from a group, the root object (typically a style) is informed through the observableWasAdded: observableWillBeRemoved: methods. If the root object is indeed interested in observing the object, it should call its setUpKVOForObserver and tearDownKVOForObserver methods. Groups propagate these messages down the tree as well, so the root object is given the opportunity to observe any component anywhere in the tree. Additionally, groups themselves are observed for changes to their lists, so the root object is able to track changes to the group structure as well.

Method Documentation

- (void) addRenderer: (DKRasterizer *)  renderer
- (BOOL) containsRendererOfClass: (Class cl
- (NSUInteger) countOfRenderList
- (NSUInteger) indexOfRenderer: (DKRasterizer *)  renderer
- (void) insertObject: (id obj
inRenderListAtIndex: (NSUInteger index 
- (void) insertRenderer: (DKRasterizer *)  renderer
atIndex: (NSUInteger index 
- (BOOL) isValid

Implements DKRasterizer.

- (void) moveRendererAtIndex: (NSUInteger src
toIndex: (NSUInteger dest 
- (id) objectInRenderListAtIndex: (NSUInteger indx
- (void) observableWasAdded: (GCObservableObject *)  observable
- (void) observableWillBeRemoved: (GCObservableObject *)  observable
- (void) removeAllRenderers
- (void) removeObjectFromRenderListAtIndex: (NSUInteger indx
- (void) removeRenderer: (DKRasterizer *)  renderer
- (void) removeRendererAtIndex: (NSUInteger index
- (void) removeRenderersOfClass: (Class cl
inSubgroups: (BOOL subs 
- (DKRasterizer*) rendererAtIndex: (NSUInteger index
- (NSArray*) renderersOfClass: (Class cl
- (DKRasterizer*) rendererWithName: (NSString *)  name
- (NSArray*) renderList
- (DKRastGroup*) root
- (void) setRenderList: (NSArray *)  list