DrawKit
Vector and illustration framework for Mac OS X
|
A CLUSTER is a specialised form of group. More...
Instance Methods | |
(DKDrawableShape *) | - masterObject |
What is the cluster's master object? More... | |
(void) | - setMasterObject: |
Sets the master object for the cluster. More... | |
Instance Methods inherited from DKShapeGroup | |
(DKGroupCacheOption) | - cacheOptions |
(void) | - calcBoundingRectOfObjects: |
Computes the initial overall bounding rect of the constituent objects. More... | |
(BOOL) | - clipContentToPath |
(NSAffineTransform *) | - contentTransform |
Returns a transform used to map the contained objects to the group's size, position and angle. More... | |
(NSPoint) | - convertPointFromContainer: |
Maps a point from the original container's coordinates to the equivalent group point. More... | |
(NSPoint) | - convertPointToContainer: |
Maps a point from the group's coordinates to the equivalent original container point. More... | |
(void) | - drawGroupContent |
(NSSize) | - extraSpaceNeededByObjects: |
Computes the extra space needed for the objects. More... | |
(NSRect) | - groupBoundingRect |
Returns the original untransformed bounds of the grouped objects. More... | |
(NSArray *) | - groupObjects |
Gets the list of objects contained by the group. More... | |
(NSSize) | - groupScaleRatios |
Returns the scale ratios that the group is currently applying to its contents. More... | |
(id) | - initWithObjectsInArray: |
Initialises a group from a list of existing objects. More... | |
(NSAffineTransform *) | - renderingTransform |
Returns a transform which is the accumulation of all the parent objects above this one. More... | |
(void) | - setCacheOptions: |
(void) | - setClipContentToPath: |
(void) | - setGroupObjects: |
Sets up the group state from the original set of objects. More... | |
(void) | - setObjects: |
Sets the current list of objects to the given objects. More... | |
(void) | - setTransformsVisually: |
(IBAction) | - toggleClipToPath: |
High-level call to toggle path clipping. More... | |
(BOOL) | - transformsVisually |
(IBAction) | - ungroupObjects: |
High-level call to ungroup the group. More... | |
(void) | - ungroupToLayer: |
Unpacks the group back into the nominated layer. More... | |
Instance Methods inherited from DKDrawableShape | |
(NSInteger) | - addHotspot: |
(void) | - adjustToFitGrid: |
(void) | - adoptPath: |
(BOOL) | - allowSizeKnobsToRotateShape |
(NSArray *) | - breakApart |
(BOOL) | - canPastePathWithPasteboard: |
(NSPoint) | - convertPointFromRelativeLocation: |
(IBAction) | - convertToPath: |
(DKDistortionTransform *) | - distortionTransform |
(void) | - drawHotspotAtPoint:inState: |
(void) | - drawHotspotsInState: |
(void) | - drawKnob: |
(void) | - flipHorizontally |
(void) | - flipVertically |
(DKHotspot *) | - hotspotForPartCode: |
(NSPoint) | - hotspotPointForPartcode: |
(NSRect) | - hotspotRect: |
(NSArray *) | - hotspots |
(DKHotspot *) | - hotspotUnderMouse: |
(id) | - initWithBezierPath: |
(id) | - initWithBezierPath:rotatedToAngle: |
(id) | - initWithBezierPath:rotatedToAngle:style: |
(id) | - initWithBezierPath:style: |
(id) | - initWithCanonicalBezierPath: |
(id) | - initWithCanonicalBezierPath:style: |
(id) | - initWithOvalInRect: |
(id) | - initWithOvalInRect:style: |
(id) | - initWithRect: |
(id) | - initWithRect:style: |
(NSAffineTransform *) | - inverseTransform |
(NSPoint) | - knobPoint: |
(NSPoint) | - locationIgnoringOffset |
(DKDrawablePath *) | - makePath |
(void) | - moveKnob:toPoint:allowRotate:constrain: |
(NSInteger) | - operationMode |
(IBAction) | - pastePath: |
(NSBezierPath *) | - path |
(NSBezierPath *) | - path:withFinalSize:offsetBy:fromPartcode: |
Transforms a path to the final size and position relative to a partcode. More... | |
(NSBezierPath *) | - pathWithFinalSize:offsetBy:fromPartcode: |
Return a rectangular path offset from a given partcode. More... | |
(NSBezierPath *) | - pathWithRelativePosition:finalSize: |
Return a rectangular path with given relative origin but absolute final size. More... | |
(NSBezierPath *) | - pathWithRelativeRect: |
Return a rectangular path with given size and origin. More... | |
(NSPoint) | - pointForRelativeLocation: |
Convert a point from relative coordinates to absolute coordinates. More... | |
(void) | - removeHotspot: |
(void) | - resetBoundingBox |
(IBAction) | - resetBoundingBox: |
(void) | - resetBoundingBoxAndRotation |
(void) | - reshapePath |
(IBAction) | - rotate: |
(void) | - rotateUsingReferencePoint:constrain: |
(NSPoint) | - rotationKnobPoint |
(void) | - setDistortionTransform: |
(IBAction) | - setDistortMode: |
(void) | - setDragAnchorToPart: |
(void) | - setHotspots: |
(void) | - setOperationMode: |
(void) | - setPath: |
(IBAction) | - toggleHorizontalFlip: |
(IBAction) | - toggleVerticalFlip: |
(NSAffineTransform *) | - transform |
Return a transform that maps the object's stored path to its true location in the drawing. More... | |
(NSBezierPath *) | - transformedPath |
(NSAffineTransform *) | - transformIncludingParent |
(NSString *) | - undoActionNameForPartCode: |
(IBAction) | - unrotate: |
Instance Methods inherited from DKDrawableObject | |
(void) | - addMetadata: |
(void) | - addUserInfo: |
(NSSet *) | - allRegisteredStyles |
(NSSet *) | - allStyles |
(CGFloat) | - angle |
(CGFloat) | - angleInDegrees |
Return the shape's current rotation angle. More... | |
(NSRect) | - apparentBounds |
(void) | - applyTransform: |
Apply the transform to the object. More... | |
(NSRect) | - bounds |
(NSImage *) | - cachedImage |
Returns an image of the object representing its current appearance at 100% scale. More... | |
(NSColor *) | - colourForKey: |
(id< DKDrawableContainer >) | - container |
Returns the immediate parent of this object. More... | |
(NSAffineTransform *) | - containerTransform |
Return the container's transform. More... | |
(CGFloat) | - convertLength: |
(NSPoint) | - convertPointToDrawing: |
(IBAction) | - copyDrawingStyle: |
(void) | - creationTool:willBeginCreationAtPoint: |
(void) | - creationTool:willEndCreationAtPoint: |
(NSView *) | - currentView |
(NSCursor *) | - cursorForPartcode:mouseButtonDown: |
(void) | - detachStyle |
If the object's style is currently sharable, copy it and make it non-sharable. More... | |
(void) | - drawContent |
(void) | - drawContentInRect:fromRect:withStyle: |
(void) | - drawContentWithSelectedState: |
(void) | - drawContentWithStyle: |
(void) | - drawGhostedContent |
(DKDrawing *) | - drawing |
(void) | - drawSelectedState |
(void) | - drawSelectionPath: |
(NSSize) | - extraSpaceNeeded |
(CGFloat) | - floatValueForKey: |
(NSUInteger) | - geometryChecksum |
(void) | - group:willUngroupObjectWithTransform: |
This object is being ungrouped from a group. More... | |
(void) | - groupWillAddObject: |
This object is being added to a group. More... | |
(BOOL) | - hasMetadataForKey: |
(NSInteger) | - hitPart: |
(NSInteger) | - hitSelectedPart:forSnapDetection: |
(NSUInteger) | - indexInContainer |
Returns the index position of this object in its container layer. More... | |
(id) | - initWithStyle: |
Initializes the drawable to have the style given. More... | |
(BOOL) | - intersectsRect: |
(NSInteger) | - intValueForKey: |
(void) | - invalidateRenderingCache |
Discard all cached rendering information. More... | |
(BOOL) | - isBeingHitTested |
Is a hit-test in progress. More... | |
(BOOL) | - isGhosted |
Retuirn whether the object is ghosted rather than with its full style. More... | |
(BOOL) | - isKeyObject |
Is the object currently the layer's key object? More... | |
(BOOL) | - isPendingObject |
Is the object currently a pending object? More... | |
(BOOL) | - isSelected |
(BOOL) | - isTrackingMouse |
(DKKnobType) | - knobTypeForPartCode: |
(DKObjectOwnerLayer *) | - layer |
Returns the layer that this object ultimately belongs to. More... | |
(NSPoint) | - location |
(BOOL) | - locationLocked |
Whether the object's location is locked or not. More... | |
(IBAction) | - lock: |
(BOOL) | - locked |
(IBAction) | - lockLocation: |
(NSRect) | - logicalBounds |
(NSMenu *) | - menu |
Reurn the menu to use as the object's contextual menu. More... | |
(NSMutableDictionary *) | - metadata |
(NSUInteger) | - metadataChecksum |
(void) | - metadataDidChangeKey: |
(DKMetadataItem *) | - metadataItemForKey: |
(DKMetadataItem *) | - metadataItemForKey:limitToLocalSearch: |
(NSArray *) | - metadataItemsForKeysInArray: |
(NSArray *) | - metadataItemsForKeysInArray:limitToLocalSearch: |
(NSArray *) | - metadataKeys |
(id) | - metadataObjectForKey: |
(void) | - metadataWillChangeKey: |
(void) | - mouseDoubleClickedAtPoint:inPart:event: |
(void) | - mouseDownAtPoint:inPart:event: |
(void) | - mouseDraggedAtPoint:inPart:event: |
(NSSize) | - mouseDragOffset |
(BOOL) | - mouseHasMovedSinceStartOfTracking |
(NSSize) | - mouseOffset |
(BOOL) | - mouseSnappingEnabled |
(void) | - mouseUpAtPoint:inPart:event: |
(void) | - notifyGeometryChange: |
(void) | - notifyStatusChange |
(void) | - notifyVisualChange |
(void) | - objectDidBecomeSelected |
(void) | - objectIsNoLongerSelected |
(BOOL) | - objectIsValid |
(BOOL) | - objectMayBecomeSelected |
Is the object able to be selected? More... | |
(void) | - objectWasAddedToLayer: |
The object was added to a layer. More... | |
(void) | - objectWasRemovedFromLayer: |
The object was removed from the layer. More... | |
(void) | - objectWasUngrouped |
This object was ungrouped from a group. More... | |
(NSSize) | - offset |
(void) | - offsetLocationByX:byY: |
(NSAttributedString *) | - originalText |
(IBAction) | - pasteDrawingStyle: |
(NSData *) | |
Returns the single object rendered as a PDF image. More... | |
(NSPoint) | - pointForPartcode: |
(BOOL) | - pointHitsPath: |
Test a point against the offscreen bitmap representation of the shape. More... | |
(BOOL) | - populateContextualMenu: |
(BOOL) | - populateContextualMenu:atPoint: |
(void) | - readSupplementaryDataFromPasteboard: |
Read additional data from the pasteboard specific to the object. More... | |
(BOOL) | - rectHitsPath: |
Test if a rect encloses any of the shape's actual pixels. More... | |
(void) | - removeMetadataForKey: |
(NSBezierPath *) | - renderingPath |
(void) | - replaceMatchingStylesFromSet: |
(void) | - resetOffset |
(void) | - resizeWidthBy:heightBy: |
(void) | - rotateByAngle: |
Rotate the shape by adding a delta angle to the current angle. More... | |
(DKMetadataSchema) | - schema |
(void) | - setAngle: |
Set the object's current angle in radians. More... | |
(void) | - setBeingHitTested: |
Set whether a hit-test in progress. More... | |
(void) | - setColour:forKey: |
(void) | - setContainer: |
(void) | - setFloatValue:forKey: |
(void) | - setGhosted: |
Set whether the object is ghosted rather than with its full style. More... | |
(void) | - setIntValue:forKey: |
(void) | - setLocation: |
(void) | - setLocationLocked: |
Sets whether the object's location is locked or not. More... | |
(void) | - setLocked: |
(void) | - setMetadata: |
(void) | - setMetadataItem:forKey: |
(void) | - setMetadataItemType:forKey: |
(void) | - setMetadataItemValue:forKey: |
(void) | - setMetadataObject:forKey: |
(void) | - setMouseDragOffset: |
(void) | - setMouseHasMovedSinceStartOfTracking: |
(void) | - setMouseSnappingEnabled: |
(void) | - setNeedsDisplayInRect: |
(void) | - setNeedsDisplayInRects: |
(void) | - setNeedsDisplayInRects:withExtraPadding: |
(void) | - setOffset: |
(void) | - setOriginalText: |
(void) | - setSize: |
(void) | - setSize:forKey: |
(void) | - setString:forKey: |
(void) | - setStyle: |
(void) | - setTrackingMouse: |
(void) | - setupMetadata |
(void) | - setUserInfo: |
(void) | - setUserInfoObject:forKey: |
Set an item of user info. More... | |
(void) | - setVisible: |
(NSSize) | - size |
(NSSize) | - sizeForKey: |
(NSPoint) | - snappedMousePoint:forSnappingPointsWithControlFlag: |
(NSPoint) | - snappedMousePoint:withControlFlag: |
Offset the point to cause snap to grid + guides accoding to the drawing's settings. More... | |
(NSArray *) | - snappingPoints |
(NSArray *) | - snappingPointsWithOffset: |
(NSString *) | - stringForKey: |
(DKStyle *) | - style |
(void) | - styleDidChange: |
(void) | - styleWillChange: |
(NSSet *) | - subSelection |
Return the subselection of the object. More... | |
(NSImage *) | - swatchImageWithSize: |
(NSUndoManager *) | - undoManager |
(IBAction) | - unlock: |
(IBAction) | - unlockLocation: |
(void) | - updateMetadataKeys |
(void) | - updateRulerMarkers |
(BOOL) | - useLowQualityDrawing |
(NSMutableDictionary *) | - userInfo |
Return the attached user info. More... | |
(id) | - userInfoObjectForKey: |
Return an item of user info. More... | |
(BOOL) | - visible |
(void) | - willBeAddedAsSubstituteFor:toLayer: |
Some high-level operations substitute a new object in place of an existing one (or several). More... | |
(void) | - writeSupplementaryDataToPasteboard: |
Write additional data to the pasteboard specific to the object. More... | |
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 <DKStorableObject> | |
(NSUInteger) | - index |
(BOOL) | - isMarked |
(void) | - setIndex: |
(void) | - setMarked: |
(void) | - setStorage: |
(id< DKObjectStorage >) | - storage |
Instance Methods inherited from <NSCoding> | |
(void) | - encodeWithCoder: |
(id) | - initWithCoder: |
Instance Methods inherited from <NSCopying> | |
(id) | - copyWithZone: |
Instance Methods inherited from <DKRenderable> | |
(NSMutableDictionary *) | - renderingCache |
Instance Methods inherited from <DKDrawableContainer> | |
(DKDrawing *) | - drawing |
(DKImageDataManager *) | - imageManager |
(NSUInteger) | - indexOfObject: |
(DKLayer *) | - layer |
(DKMetadataItem *) | - metadataItemForKey: |
(id) | - metadataObjectForKey: |
Class Methods | |
(DKShapeCluster *) | + clusterWithObjects:masterObject: |
Creates a new cluster from a set of objects. More... | |
Class Methods inherited from DKShapeGroup | |
(DKShapeGroup *) | + groupWithBezierPaths:objectType:style: |
Creates a group of shapes or paths from a list of bezier paths. More... | |
(DKShapeGroup *) | + groupWithObjects: |
Creates a group from a list of existing objects. More... | |
(NSArray *) | + objectsAvailableForGroupingFromArray: |
Filters array to remove objects whose class returns NO to isGroupable. More... | |
Class Methods inherited from DKDrawableShape | |
(NSCursor *) | + cursorForShapePartcode: |
(DKDrawableShape *) | + drawableShapeWithBezierPath: |
(DKDrawableShape *) | + drawableShapeWithBezierPath:rotatedToAngle: |
(DKDrawableShape *) | + drawableShapeWithBezierPath:rotatedToAngle:withStyle: |
(DKDrawableShape *) | + drawableShapeWithBezierPath:withStyle: |
(DKDrawableShape *) | + drawableShapeWithCanonicalBezierPath: |
(DKDrawableShape *) | + drawableShapeWithOvalInRect: |
(DKDrawableShape *) | + drawableShapeWithRect: |
(NSInteger) | + knobMask |
Return which particular knobs are used by instances of this class. More... | |
(void) | + setAngularConstraintAngle: |
(void) | + setInfoWindowBackgroundColour: |
(void) | + setKnobMask: |
(NSRect) | + unitRectAtOrigin |
Class Methods inherited from DKDrawableObject | |
(Class) | + classForConversionRequestFor: |
Return the class to use in place of the given class when performing a conversion. More... | |
(NSUInteger) | + countOfNativeObjectsOnPasteboard: |
Return the number of native objects held by the pasteboard. More... | |
(BOOL) | + displaysSizeInfoWhenDragging |
Return whether an info floater is displayed when resizing an object. More... | |
(NSColor *) | + ghostColour |
Return the outline colour to use when drawing objects in their ghosted state. More... | |
(NSInteger) | + initialPartcodeForObjectCreation |
(NSDictionary *) | + interconversionTable |
Return the interconversion table. More... | |
(BOOL) | + isGroupable |
Return whether obejcts of this class can be grouped. More... | |
(BOOL) | + metadataChangesAreUndoable |
(NSArray *) | + nativeObjectsFromPasteboard: |
(NSArray *) | + pasteboardTypesForOperation: |
(void) | + setDisplaysSizeInfoWhenDragging: |
Set whether an info floater is displayed when resizing an object. More... | |
(void) | + setGhostColour: |
Set the outline colour to use when drawing objects in their ghosted state. More... | |
(void) | + setInterconversionTable: |
Return the interconversion table. More... | |
(void) | + setMetadataChangesAreUndoable: |
(void) | + substituteClass:forClass: |
Sets the class to use in place of the a base class when performing a conversion. More... | |
(NSRect) | + unionOfBoundsOfDrawablesInArray: |
Returns the union of the bounds of the objects in the array. More... | |
Class Methods inherited from NSObject | |
(id) | + alloc |
(Class) | + class |
(void) | + initialize |
(void) | + load |
(id) | + new |
Class Methods inherited from <NSKeyValueBindingCreation> | |
(void) | + exposeBinding: |
Additional Inherited Members | |
Protected Attributes inherited from DKDrawableShape | |
BOOL | m_inRotateOp |
NSRect | mBoundsCache |
Protected Attributes inherited from DKDrawableObject | |
BOOL | m_clipToBBox: 1 |
BOOL | m_showBBox: 1 |
BOOL | m_showPartcodes: 1 |
BOOL | m_showTargets: 1 |
BOOL | m_unused_padding: 4 |
A CLUSTER is a specialised form of group.
A CLUSTER is a specialised form of group. The idea is to allow a set of shapes to be associated with a main "master" object around which the others are subordinated. Selecting the cluster selects the main object, but the subordinate objects will be sized to match as needed.
One use for this is to allow automatic dimensioning of objects to work while the shape itself is edited - the shape itself is the master and the dimensions are subordinate objects within the cluster. As the shape's size and angle change, the dimensions adjust to match.
The main differences from a group are that when selected the main object acts as a proxy for the cluster as a whole, and the cluster size and angle are controlled by the user's hits on the main object. Clusters need to be programatically created since the master object must be nominated when creating the cluster.
+ (DKShapeCluster*) clusterWithObjects: | (NSArray *) | objects | |
masterObject: | (DKDrawableShape *) | master | |
Creates a new cluster from a set of objects.
The master object must be also one of the objects in the list of objects, and must be a shape.
objects | the list of objects to be added to the cluster |
master | the master object |
- (DKDrawableShape*) masterObject |
What is the cluster's master object?
- (void) setMasterObject: | (DKDrawableShape *) | master |
Sets the master object for the cluster.
The master object must already be one of the objects in the group, and it must be a shape
master | the master object |