com.esri.arcgis.carto
Interface ILevelRenderer

All Superinterfaces:
Serializable
All Known Implementing Classes:
ClassBreaksRenderer, NAStopRenderer, RepresentationRenderer, SimpleRenderer, UniqueValueRenderer, UniqueValueTextRenderer

public interface ILevelRenderer
extends Serializable

Provides access to members that control the drawing of symbols for features, where symbols are separated into levels, and each level drawn separately.

Remarks

A renderer needs to implement this interface to support Symbol Level Drawing -- In ArcGIS 8.3 and and earlier versions this was known in the ArcMap user interface as Advanced Drawing Options.

When Symbol Level Drawing is enabled for a feature layer or group layer, the framework draws features by iterating through all of the symbol levels for all of the symbols levels in the layer(s). This means that features can be drawn in an order that is different from the layer order in the table of contents, and also the order of features retrieved from the feature class table(s).

To learn more about Symbol Level Drawing see the ArcGIS for Desktop Help.

You can tell if an Esri feature renderer supports Symbol Level Drawing by checking if this interface is supported.

When writing a custom feature renderer, and you want to support Symbol Level Drawing, you need to implement this interface.

Use IMapLevel to access the symbol level for a given layer of a multilayer symbol. Use ISymbolLevels::UseSymbolLevels to check if Symbol Level Drawing is on, or to turn it on or off for a given layer. To open the Symbol Levels dialog, use ISymbolLevelDialog::DoModal.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 Object getLevelArray()
          Array that contains all levels used by the symbols, (symbols without a level get a level of 0).
 void setCurrentDrawLevel(int rhs1)
          The current draw level, (set to -1 to draw all levels).
 

Method Detail

setCurrentDrawLevel

void setCurrentDrawLevel(int rhs1)
                         throws IOException,
                                AutomationException
The current draw level, (set to -1 to draw all levels).

Remarks

This property is set by the framework at draw time to specify which symbol level the renderer is to draw. If implementing a custom renderer that implements ILevelRenderer, you can check this property in your implementation of IFeatureRenderer::Draw to know which symbol level to draw.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
rhs1 - The rhs1 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLevelArray

Object getLevelArray()
                     throws IOException,
                            AutomationException
Array that contains all levels used by the symbols, (symbols without a level get a level of 0).

Remarks

This property returns an array of long integers representing all the the symbol levels of the symbols used by the renderer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.