Interface ILcdGXYMultiLabelPainter

All Superinterfaces:
Cloneable, ILcdGXYLabelPainter, Serializable
All Known Subinterfaces:
ILcdGXYLabelPainter2
All Known Implementing Classes:
ALcdGXYLabelPainter, TLcdAIXM51AirspaceLabelPainter, TLcdAIXM51NavaidLabelPainter, TLcdAIXM51XPathLabelPainter, TLcdGXYCompositeLabelPainter, TLcdGXYCurvedPathLabelPainter, TLcdGXYDataObjectLabelPainter, TLcdGXYDataObjectPolygonLabelPainter, TLcdGXYDataObjectPolylineLabelPainter, TLcdGXYFeaturedLabelPainter, TLcdGXYFeaturedPolygonLabelPainter, TLcdGXYFeaturedPolylineLabelPainter, TLcdGXYHaloLabelPainter, TLcdGXYHaloLabelPainter2, TLcdGXYLabelPainter, TLcdGXYLabelPainterAdapter, TLcdGXYMultiFontLabelPainter, TLcdGXYOffsetIconPainter, TLcdGXYOutlinePolylineLabelPainter, TLcdGXYPolygonLabelPainter, TLcdGXYPolygonStampLabelPainter, TLcdGXYPolylineLabelPainter, TLcdGXYPolylineStampLabelPainter, TLcdGXYProcedureTrajectoryLegLabelPainter, TLcdGXYStampLabelPainter, TLcdICAOAirspaceDetailedLabelPainter, TLcdICAOAirspaceLabelPainter, TLcdICAOAreaMinimumAltitudeLabelPainter, TLcdICAODMELabelPainter, TLcdICAONavaidLabelPainter, TLcdICAONDBLabelPainter, TLcdICAOTACANLabelPainter, TLcdICAOVORLabelPainter, TLcdMagneticNorthGXYLabelPainter, TLcdSLDFeatureTypeStylePainter, TLcdSLDRulePainter

public interface ILcdGXYMultiLabelPainter extends ILcdGXYLabelPainter

A ILcdGXYMultiLabelPainter can paint multiple labels per object. More specifically, it supports multiple labels, each of which consists of one or more sublabels.

Multiple labels

In contrast to an ILcdGXYLabelPainter which could also be implemented to paint multiple labels per object, the labels of a ILcdGXYMultiLabelPainter are painted one after the other in the current view implementations. As a consequence the label bounds are computed sequentially per label (setLabelIndex(int)) and are smaller than the the combined bounds of the labels. This is mainly used in label decluttering.

Labels and sublabels

One label consists of one or more sublabels. It is up to the user of this interface (e.g. a ILcdLabelingAlgorithm) to decide how to interpret labels and sublabels.

One possible interpretation is to decide that if a label is painted, all of its sublabels are painted, if not, none of its sublabels are painted. A scenario for this interpretation could be street labeling, where the full street name is displayed every few segments. Here, the labels of the ILcdGXYMultiLabelPainter would be the street name, and the sublabels would be the individual words of the street name.

One other possible interpretation could be to fix the location of sublabels of a single label so that they move together. A scenario for this is when the object's representation is painted as one or more offset labels, with some extra text labels attached to each of them. Here, the labels of the ILcdGXYMultiLabelPainter would be the offset labels, and the sublabels would be the extra text labels surrounding each offset label.

Usage

This interface requires to set an object, a location index and the label- and sublabel-index before the other methods can be used.

See Also: