|
(void) | - adjustSpanCycleForViewScale: |
| When the scale crosses the span threshold, the cache is invalidated and the span cycle adjusted. More...
|
|
(void) | - createGridCacheInRect: |
|
(NSColor *) | - divisionColour |
|
(CGFloat) | - divisionDistance |
| Returns the actual distance, in points, between each division. More...
|
|
(NSUInteger) | - divisions |
|
(BOOL) | - divisionsHidden |
|
(void) | - drawBorderOutline: |
|
(CGFloat) | - gridDistanceForQuartzDistance: |
| Given a distance value in drawing coordinates, returns the grid's "real world" equivalent. More...
|
|
(NSPoint) | - gridLocationForPoint: |
| Given a point in drawing coordinates, returns the "real world" coordinate of the same point. More...
|
|
(void) | - invalidateCache |
|
(BOOL) | - isMasterGrid |
|
(NSColor *) | - majorColour |
|
(NSUInteger) | - majors |
|
(BOOL) | - majorsHidden |
|
(NSSize) | - nearestGridIntegralToSize: |
| Given a width and height in drawing coordinates, returns the same adjusted to the nearest whole number of divisions. More...
|
|
(NSPoint) | - nearestGridIntersectionToPoint: |
| Given a point in drawing coordinates, returns nearest grid intersection to that point. More...
|
|
(NSSize) | - nearestGridSpanIntegralToSize: |
| Given a width and height in drawing coordinates, returns the same adjusted to the nearest whole number of spans. More...
|
|
(NSPoint) | - pointForGridLocation: |
| Given a point in "real world" coordinates, returns the drawing coordinates of the same point. More...
|
|
(CGFloat) | - quartzDistanceForGridDistance: |
| Given a distance value in the grid's "real world" coordinates, returns the quartz equivalent. More...
|
|
(NSUInteger) | - rulerSteps |
|
(void) | - setDistanceForUnitSpan:drawingUnits:span:divisions:majors:rulerSteps: |
| High-level method to set up the grid in its entirety with one method. More...
|
|
(void) | - setDivisionColour: |
| Sets the colour used to draw the divisions. More...
|
|
(void) | - setDivisionsHidden: |
|
(void) | - setGridThemeColour: |
| Sets the colours used to draw the grid as a whole. More...
|
|
(void) | - setImperialDefaults |
|
(void) | - setMajorColour: |
| Sets the colour used to draw the majors. More...
|
|
(void) | - setMajorsHidden: |
|
(IBAction) | - setMeasurementSystemAction: |
| Set the grid to one ofthe default grids. More...
|
|
(void) | - setMetricDefaults |
|
(void) | - setRulerSteps: |
|
(void) | - setSpanColour: |
| Sets the colour used to draw the spans. More...
|
|
(void) | - setSpansHidden: |
|
(void) | - setZeroPoint: |
|
(NSColor *) | - spanColour |
|
(CGFloat) | - spanDistance |
|
(CGFloat) | - spanMultiplier |
|
(BOOL) | - spansHidden |
|
(void) | - synchronizeRulers |
|
(NSColor *) | - themeColour |
|
(void) | - tweakDrawingMargins |
| Adjust the drawing margins to encompass an integral number of grid spans. More...
|
|
(NSPoint) | - zeroPoint |
|
(NSRect) | - activeCursorRect |
| Return a rect where the layer's cursor is shown when the mouse is within it. More...
|
|
(void) | - addMetadata: |
|
(void) | - addUserInfo: |
|
(NSSet *) | - allRegisteredStyles |
| Return all of registered styles used by the layer. More...
|
|
(NSSet *) | - allStyles |
| Return all of styles used by the layer. More...
|
|
(CGFloat) | - alpha |
| Returns the alpha level for the layer as a whole. More...
|
|
(void) | - beginDrawing |
| Called before the layer starts drawing its content. More...
|
|
(NSBitmapImageRep *) | - bitmapRepresentationWithDPI: |
| Returns the layer's content as a transparent bitmap having the given DPI. More...
|
|
(BOOL) | - clipsDrawingToInterior |
| Whether the drawing will be clipped to the interior or not. More...
|
|
(NSColor *) | - colourForKey: |
|
(IBAction) | - copy: |
|
(NSView *) | - currentView |
| Returns the view which is either currently drawing the layer, or the one that mouse events are coming from. More...
|
|
(NSCursor *) | - cursor |
| Returns the cursor to display while the mouse is over this layer while it's active. More...
|
|
(DKDrawing *) | - drawing |
| Returns the drawing that the layer belongs to. More...
|
|
(void) | - drawingDidChangeMargins: |
|
(void) | - drawingDidChangeToSize: |
| Called when the drawing's size is changed - this gives layers that need to know about this a direct notification. More...
|
|
(void) | - drawingHasNewUndoManager: |
| Called when the drawing's undo manager is changed - this gives objects that cache the UM a chance to update their references. More...
|
|
(void) | - drawRect:inView: |
| Main entry point for drawing the layer and its contents to the drawing's views. More...
|
|
(void) | - endDrawing |
| Called after the layer has finished drawing its content. More...
|
|
(void) | - flagsChanged: |
| Respond to a change in the modifier key state. More...
|
|
(CGFloat) | - floatValueForKey: |
|
(BOOL) | - hasMetadataForKey: |
|
(void) | - hideInfoWindow |
| Hides the info window if it's visible. More...
|
|
(IBAction) | - hideLayer: |
| User interface level method can be linked to a menu or other appropriate UI widget. More...
|
|
(void) | - hideRulerMarkers |
|
(BOOL) | - hitLayer: |
| Detect whether the layer was "hit" by a point. More...
|
|
(DKDrawableObject *) | - hitTest: |
| Detect what object was hit by a point. More...
|
|
(NSUInteger) | - indexInGroup |
| Gets the layer's index within the group that the layer is contained in. More...
|
|
(NSInteger) | - intValueForKey: |
|
(BOOL) | - isActive |
| Is the layer the active layer? More...
|
|
(BOOL) | - isChildOfGroup: |
| Determine whether a given group is the parent of this layer, or anywhere above it in the hierarchy. More...
|
|
(BOOL) | - isOpaque |
| Is the layer opaque or transparent? More...
|
|
(DKKnob *) | - knobs |
|
(BOOL) | - knobsShouldAdjustToViewScale |
|
(void) | - layerDidBecomeActiveLayer |
| The layer was made the active layer by the owning drawing. More...
|
|
(void) | - layerDidResignActiveLayer |
| The layer is no longer the active layer. More...
|
|
(DKLayerGroup *) | - layerGroup |
| Gets the group that the layer is contained in. More...
|
|
(BOOL) | - layerMayBecomeActive |
| Returns whether the layer can become the active layer. More...
|
|
(BOOL) | - layerMayBeDeleted |
| Return whether the layer can be deleted. More...
|
|
(NSString *) | - layerName |
| Returns the layer's name. More...
|
|
(NSUInteger) | - level |
| Returns the hierarchical level of this layer, i.e. More...
|
|
(BOOL) | - locked |
| Returns whether the layer is locked or not. More...
|
|
(BOOL) | - lockedOrHidden |
| Returns whether the layer is locked or hidden. More...
|
|
(IBAction) | - lockLayer: |
| User interface level method can be linked to a menu or other appropriate UI widget. More...
|
|
(IBAction) | - logDescription: |
| Debugging method. More...
|
|
(NSMenu *) | - menuForEvent:inView: |
| Allows a contextual menu to be built for the layer or its contents. More...
|
|
(NSMutableDictionary *) | - metadata |
|
(NSUInteger) | - metadataChecksum |
|
(void) | - metadataDidChangeKey: |
|
(DKMetadataItem *) | - metadataItemForKey: |
|
(NSArray *) | - metadataKeys |
|
(id) | - metadataObjectForKey: |
|
(void) | - metadataWillChangeKey: |
|
(void) | - mouseDown:inView: |
| The mouse went down in this layer. More...
|
|
(void) | - mouseDragged:inView: |
| Subclasses must override to be notified of mouse dragged events. More...
|
|
(void) | - mouseMoved:inView: |
|
(void) | - mouseUp:inView: |
| Override to respond to the event. More...
|
|
(BOOL) | - pasteboard:hasAvailableTypeForOperation: |
| Tests whether the pasteboard has any of the types the layer is interested in receiving for the given operation. More...
|
|
(NSArray *) | - pasteboardTypesForOperation: |
| Return the pasteboard types this layer is able to receive in a given operation (drop or paste) More...
|
|
(NSData *) | - pdf |
| Returns the content of the layer as a pdf. More...
|
|
(void) | - removeMetadataForKey: |
|
(void) | - replaceMatchingStylesFromSet: |
| Substitute styles with those in the given set. More...
|
|
(BOOL) | - rulerMarkerUpdatesEnabled |
|
(DKLayerMetadataSchema) | - schema |
|
(NSColor *) | - selectionColour |
| Returns the currently preferred selection colour for this layer. More...
|
|
(void) | - setAlpha: |
| Sets the alpha level for the layer. More...
|
|
(void) | - setClipsDrawingToInterior: |
| Sets whether drawing is limited to the interior area or not. More...
|
|
(void) | - setColour:forKey: |
|
(void) | - setFloatValue:forKey: |
|
(void) | - setInfoWindowBackgroundColour: |
| Sets the background colour of the small floating info window. More...
|
|
(void) | - setIntValue:forKey: |
|
(void) | - setKnobs: |
|
(void) | - setKnobsShouldAdustToViewScale: |
|
(void) | - setLayerGroup: |
| Sets the group that the layer is contained in - called automatically when the layer is added to a group. More...
|
|
(void) | - setLayerName: |
| Sets the user-readable name of the layer. More...
|
|
(void) | - setLocked: |
| Sets whether the layer is locked or not. More...
|
|
(void) | - setMetadata: |
|
(void) | - setMetadataItem:forKey: |
|
(void) | - setMetadataItemType:forKey: |
|
(void) | - setMetadataItemValue:forKey: |
|
(void) | - setMetadataObject:forKey: |
|
(void) | - setNeedsDisplay: |
| Flags the whole layer as needing redrawing. More...
|
|
(void) | - setNeedsDisplayInRect: |
| Flags part of a layer as needing redrawing. More...
|
|
(void) | - setNeedsDisplayInRects: |
| Marks several areas for update at once. More...
|
|
(void) | - setNeedsDisplayInRects:withExtraPadding: |
| Marks several areas for update at once. More...
|
|
(void) | - setRulerMarkerUpdatesEnabled: |
|
(void) | - setSelectionColour: |
| Sets the colour preference to use for selected objects within this layer. More...
|
|
(void) | - setShouldDrawToPrinter: |
| Set whether this layer should be included in printed output. More...
|
|
(void) | - setSize:forKey: |
|
(void) | - setString:forKey: |
|
(void) | - setupMetadata |
|
(void) | - setUserInfo: |
|
(void) | - setUserInfoObject:forKey: |
|
(void) | - setVisible: |
| Sets whether the layer is visible or not. More...
|
|
(BOOL) | - shouldAutoActivateWithEvent: |
| Should the layer automatically activate on a click if the view has this behaviour set? More...
|
|
(BOOL) | - shouldDrawToPrinter |
| Return whether the layer should be part of the printed output or not. More...
|
|
(void) | - showInfoWindowWithString:atPoint: |
| Displays a small floating info window near the point p containg the string. More...
|
|
(IBAction) | - showLayer: |
| User interface level method can be linked to a menu or other appropriate UI widget. More...
|
|
(NSSize) | - sizeForKey: |
|
(NSString *) | - stringForKey: |
|
(BOOL) | - supportsMetadata |
|
(NSImage *) | - thumbnail |
|
(NSImage *) | - thumbnailImageWithSize: |
| Returns an image of the layer a the given size. More...
|
|
(IBAction) | - toggleLayerLock: |
| User interface level method can be linked to a menu or other appropriate UI widget. More...
|
|
(IBAction) | - toggleLayerVisible: |
| User interface level method can be linked to a menu or other appropriate UI widget. More...
|
|
(NSUndoManager *) | - undoManager |
| Obtains the undo manager that is handling undo for the drawing and hence, this layer. More...
|
|
(NSString *) | - uniqueKey |
| Returns the layer's unique key. More...
|
|
(IBAction) | - unlockLayer: |
| User interface level method can be linked to a menu or other appropriate UI widget. More...
|
|
(void) | - updateMetadataKeys |
|
(void) | - updateRulerMarkersForRect: |
|
(NSMutableDictionary *) | - userInfo |
| Return the attached user info. More...
|
|
(id) | - userInfoObjectForKey: |
| Return an item of user info. More...
|
|
(BOOL) | - visible |
| Is the layer visible? More...
|
|
(void) | - wasAddedToDrawing: |
| Notifies the layer that it or a group containing it was added to a drawing. More...
|
|
(BOOL) | - writePDFDataToPasteboard: |
| Writes the content of the layer as a pdf to a nominated pasteboard. More...
|
|
(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: |
|
(void) | - encodeWithCoder: |
|
(id) | - initWithCoder: |
|
(BOOL) | - knobsWantDrawingActiveState |
|
(CGFloat) | - knobsWantDrawingScale |
|
This class is a layer that draws a grid like a piece of graph paper.
This class is a layer that draws a grid like a piece of graph paper. In addition it can modify a point to lie at the intersection of any of its "squares" (for snap to grid, etc).
The master interval is called the graph's span. It will be set to the actual number of coordinate units representing the main unit of the grid. For example, a 1cm grid has a span of ~28.35.
The span is divided into an integral number of smaller divisions, for example 10 divisions of 1cm gives 1mm small squares.
A integral number of spans is called the major interval. This is drawn in a darker colour and bolder width. For example you could highlight every 10cm by setting the spans per major to 10. The same style is also used to draw a border around the whole thing allowing for the set margins.
Class methods exist to return a number of "standard" grids.
The spans, minor and major intervals are all drawn in different colours, but more typically you'll set a single "theme" colour which derives the three colours such that they form a coherent set.
Grid Layers work with methods in DKDrawing to manage the rulers in an NSRulerView. Generally the rulers are set to align with the span interval of the grid and allow for the drawing's margins. Because a ruler's settings require a name, you need to set this up along with the grid's parameters. To help make this easy for a client application (that will probably want to present a user interface for setting this all up), the "one stop shop" method -setSpan:unitToPointsConversionFactor:measurementSystem:drawingUnits:divisions:majors:rulerSteps: will set up the grid AND the rulers provided the layer has already been added to a drawing. Due to limitations in NSRuler regarding its step up and step down ratios, this method also imposes similar limits on the span divisions.
General-purpose "snap to grid" type methods are implemented by DKDrawing using the grid as a basis - the grid itself doesn't implement snapping.
Note: caching in a CGLayer is not recommended - the code is here but it doesn't draw nicely at high zooms. Turned off by default.