AGSCompositeLineSymbol Class Reference


Description

Instances of this class represent composite line symbols. Symbols describe how graphics look on the map. Different symbols are used for graphics with different geometry types. Line symbols are used to display those graphics which are based on a polyline geometry. Composite line symbols display graphics using an array of AGSSimpleLineSymbols to create a gradient effect.

Defined in:
AGSCompositeLineSymbol.h ( ArcGIS library)
Since:
2.2
Inheritance diagram for AGSCompositeLineSymbol:
AGSSymbol <AGSCoding>

List of all members.

Public Member Functions

(void) - decodeWithJSON:
(void) - drawGraphic:inContext:forEnvelope:atResolution:
(NSDictionary *) - encodeToJSON
(BOOL) - hitTestGraphic:withEnvelope:atResolution:
(id) - initWithColors:widths:
(id) - initWithJSON:
(id) - initWithLineSymbols:
(BOOL) - shouldDrawGraphic:forEnvelope:atResolution:
(UIImage *) - swatchForGeometryType:size:

Static Public Member Functions

(id) + compositeLineSymbol
(id) + compositeLineSymbolWithSymbols:
(CGPoint) + toScreenPointWithX:y:envelope:resolution:

Properties

UIColor * color
BOOL readyToDraw
NSMutableArray * symbols

Member Function Documentation

+ (id) compositeLineSymbol  

Initialize an autoreleased composite line symbol.

Returns:
A new, autoreleased, composite line symbol object.
Since:
2.2
+ (id) compositeLineSymbolWithSymbols: (NSMutableArray *)  symbols  

Initialize a composite line symbol with an array of AGSSimpleLineSymbols. The objects should be in a descending order by width in order to draw correctly.

Parameters:
symbols An array of AGSSimpleLineSymbols to draw.
Returns:
A new, autoreleased, composite line symbol object.
Since:
2.2
- (void) decodeWithJSON: (NSDictionary *)  json   [optional, inherited]

Decode object from JSON representation.

Parameters:
json The JSON representation of the object to be decoded.
Since:
1.0
- (void) drawGraphic: (AGSGraphic *)  graphic
inContext: (CGContextRef)  context
forEnvelope: (AGSEnvelope *)  env
atResolution: (double)  resolution 

Method called by AGSGraphicsLayer to draw geometry onto context.

Since:
1.8
- (NSDictionary *) encodeToJSON   [optional, inherited]

Encode and return JSON representation for object.

Returns:
JSON representation of object.
Since:
1.0
- (BOOL) hitTestGraphic: (AGSGraphic *)  graphic
withEnvelope: (AGSEnvelope *)  envelope
atResolution: (double)  resolution 

Called to see if the geometry passes a hit test for this symbol.

Since:
1.8
- (id) initWithColors: (NSMutableArray *)  colors
widths: (NSMutableArray *)  widths 

Initialize a composite line symbol with an array of colors and widths. The objects should be in a descending order by width in order to draw correctly.

Parameters:
colors An array of UIColor objects.
widths An array of line widths.
Returns:
A new composite line symbol object.
Since:
2.2
- (id) initWithJSON: (NSDictionary *)  json   [optional, inherited]

Initialize and return object from JSON representation.

Parameters:
json The JSON representation of the object to be created.
Returns:
Object decoded from JSON representation.
Since:
1.0

Reimplemented in AGSWebMapFeatureCollection.

- (id) initWithLineSymbols: (NSMutableArray *)  symbols  

Initialize a composite line symbol with an array of AGSSimpleLineSymbols. The objects should be in a descending order by width in order to draw correctly.

Parameters:
symbols An array of AGSSimpleLineSymbols to draw.
Returns:
A new composite line symbol object.
Since:
2.2
- (BOOL) shouldDrawGraphic: (AGSGraphic *)  graphic
forEnvelope: (AGSEnvelope *)  envelope
atResolution: (double)  resolution 

Called to see if the symbol should draw for a specific envelope.

Since:
1.8
- (UIImage *) swatchForGeometryType: (AGSGeometryType geometryType
size: (CGSize)  size 

Returns an image that represents a swatch for a particular geometry type.

Parameters:
geometryType The type of the geometry determines what kind of swatch is drawn.
size Size of the output swatch.
Returns:
UIImage of the drawn swatch.
+ (CGPoint) toScreenPointWithX: (double)  x
y: (double)  y
envelope: (AGSEnvelope *)  env
resolution: (double)  res 

A method that derived classes can call to help during drawing.

Since:
2.2

Property Documentation

- (UIColor*) color [read, write, retain, inherited]

Symbol color.

Since:
1.0
- (BOOL) readyToDraw [read, write, assign, inherited]

Property called by the framework. Most symbols should have this set to YES as soon as the symbol is init'ed. If a symbol needs to access a resource asynchronously before it's ready to draw then it should be set to NO initially then YES once it is ready. This is not as efficient as if a symbol is readyToDraw to begin with, however, so custom symbols should only set this to NO initially if absolutely necessary.

- (NSMutableArray*) symbols [read, write, retain]

The array of AGSSimpleLineSymbols to be used to draw the composite line.

Since:
2.2