Class: DisplayList

Environment: Siren
Superclass: DependentComposite
Category: MusicUI-DisplayLists
Instance variables: offset

Instances of DisplayList are used for representing composed structured graphics. They can be nested (see the class examples) and can display themselves and their components.

Instance Variables:
offset the object's offset distance relative to its container

accessing

color

flatten
Answer a copy of the receiver with its hierarchy flattened.

itemsFromX: x1 toX: x2
Answer the list of items whose offsets are within the given X range.

itemsIntersecting: rect
Answer the list of items whose boundingBoxes intersect the given rectangle.
Clip them to the box's border if necessary.

itemsWithin: rect
Answer the list of items whose boundingBoxes are entirely within the given rectangle.

itemsWithin: dist of: point
Answer the list of items whose boundingBoxes are entirely within the given rectangle.

itemWithin: dist of: point
Answer the list of items whose boundingBoxes are entirely within the given rectangle.

modelsFromX: x1 toX: x2
Answer the list of model-space-items whose offsets are within the given X range.

nodeAt: aPath
Answer the element described by the collection of items in the argument.

nodeFor: aModel
Answer the element whose model is the argument.

offset
Answer the receiver's offset.

offset: aPoint
Set the receiver's offset.

wrapperClass
Raise an error.

transforming

scaledBy: aPoint
Scale the receiver's offset by the argument.

translateBy: aPoint
Translate the receiver's offset by the argument.

printing

printCompleteOn: aStream depth: depth
Descend the hierarchy printing on the stream.

printCompletePostScriptOn: aStream depth: depth
Descend the hierarchy printing on the stream.

printOn: aStream
Print the receiver on the argument using the recursive method.

printPostScriptOn: aStream
Print the receiver on the argument using the recursive method.

testing

hasItems
Answer whether or not the receiver has items or components.

isEmpty
Amswer whether the receiver has any items.

bounds accessing

computePreferredBounds
Compute the receiver's preferredBounds

extent
Answer the extent of the receiver.

enumerating

do: aBlock
Iterate the argument block over the receiver's components.

displaying

display
Open a DisplayListView on the receiver.

displayNonCached
Open a DisplayListView on the receiver.

displayOn: aGraphicsContext
Display each of the receiver's components.

displayPostScriptOn: aPostscriptContext
Display each of the receiver's components.

adding-removing

add: aVisualComponent
Add the argument to the receiver.

add: aVisualComponent at: aPoint
Add aVisualComponent to the receiver's components with its offset set to aPoint.

add: anItem atPath: aPath
Add the first argument at the node described by the second.

addAll: aCollection
Add the argument to the receiver.

addComponent: aVisualComponent
Add the argument to the receiver.

addWrapper: aVisualWrapper
Raise an error.

MetaClass: DisplayList class

examples

exampleHierarchical
Create and answer a large display list with a lines, strings, and visuals.

gridExample
Create and answer a large display list with lines and strings.

gridExampleX: x byY: y
Create and answer a large display list with lines and strings.

polylineExample
Answer a display list with randomly-placed random-color polylines over the given extent.

polylineExampleHuge
Answer a display list with randomly-placed random-color polylines over the given (very large) extent.

polylinesX: x byY: y
Answer a display list with randomly-placed random-color polylines over the given extent.

polylinesX: x byY: y items: num
Answer a display list with randomly-placed random-color polylines over the given extent.

postScriptExample
Create and answer a large display list with a lines, strings, and visuals.

randomExample
Create and answer a large display list with a lines, strings, and visuals.

rectangleExample
Answer a display list with randomly-placed random-color rectangles over the given extent.

rectanglesX: x byY: y
Answer a display list with randomly-placed random-color rectangles over the given extent.

stringExample
Open a display list view with randomly-placed random-color strings over the given extent.

stringsX: x byY: y
Answer a display list with randomly-placed random-color strings over the given extent.

visualsX: x byY: y
Answer a display list with randomly-placed random-color visuals over the given extent.