com.mapinfo.midev.style

## Interface ILineRendition

All Superinterfaces:
  Serializable

    public interface ILineRendition
    extends Serializable

A component of `ILineStyle` that describes one rendering pass of a line. It defines the following line properties for the rendering pass:

1. shape (dashes, thickness);
2. the pattern by which the line is filled (color/paint);
3. the line opacity;
4. the set of symbols (markers) to follow the path of the line geometry.

### Nested Class Summary

Nested Classes
`static class` `ILineRendition.LineCap` Controls how the ends of the line are to be finished.
`static class` `ILineRendition.LineJoin` Controls how the segments of a line are to be joined together.

### Field Summary

Fields
`static ILineRendition` `NONE` This constant is used to suppress previous line renditions in the renderer when drawing in a multi-pass scenario.

### Method Summary

All Methods Instance Methods Abstract Methods
`ILineRendition` `getCopy()` Returns a copy of this `ILineRendition`.
`Dash` `getDash()` Returns the dash instructions for `ILineRendition`.
`ILineRendition.LineCap` `getLineCap()` Returns the LineCap of the `ILineRendition`.
`ILineRendition.LineJoin` `getLineJoin()` Returns the `LineJoin` of the `ILineRendition`.
`IMarkerPlacement` `getMarkerPlacement()` Returns the IMarkerPlacement with information on how to place markers along the line.
`Number` `getMiterLimit()` Returns the limit on a miter join used when the line join property is set to `ILineRendition.LineJoin.MITER`.
`PaperLength` `getOffset()` Returns the offset distance from which to apply the `ILineRendition`.
`Number` `getOpacity()` Returns the line opacity which controls how the line will be composited with the underlying paint.
`Object` `getStroke()` Returns the stroke property to be used when drawing lines.
`PaperLength` `getWidth()` Returns the width of the line.
`void` `setDash(Dash dash)` Sets the dash instructions for `ILineRendition`.
`void` `setLineCap(ILineRendition.LineCap lineCap)` Sets the `LineCap` of the `ILineRendition`.
`void` `setLineJoin(ILineRendition.LineJoin lineJoin)` Sets the `LineJoin` of the `ILineRendition`.
`void` `setMarkerPlacement(IMarkerPlacement markerPlacement)` Sets the `IMarkerPlacement` with information on how to place markers along the line.
`void` `setMiterLimit(Number miterLimit)` Sets the limit on a miter join to be used when the line join property is set to `ILineRendition.LineJoin.MITER`.
`void` `setOffset(PaperLength offset)` Sets the offset distance from which to apply the `ILineRendition`.
`void` `setOpacity(Number opacity)` Sets the line opacity which controls how the line will be composited with the underlying paint.
`void` `setStroke(Color color)` Sets the stroke `Color` to be used when drawing lines.
`void` `setStroke(IPaint paint)` Sets the stroke `IPaint` to be used when drawing lines.
`void` `setWidth(PaperLength width)` Sets the width of the line.

### Field Detail

#### NONE

    static final ILineRendition NONE

This constant is used to suppress previous line renditions in the renderer when drawing in a multi-pass scenario. All `ILineRendition.NONE` methods throw `UnsupportedOperationException`.

### Method Detail

#### getStroke

    Object getStroke()

Returns the stroke property to be used when drawing lines. The property value can be either a `Color` or an `IPaint`.

Returns:
  The line stroke.

#### setStroke

    void setStroke(Color color)

Sets the stroke `Color` to be used when drawing lines. Setting stroke to `null` indicates to the renderer to use the parent's value for stroke.

Parameters:
  `color` - the line stroke Color.

#### setStroke

    void setStroke(IPaint paint)

Sets the stroke `IPaint` to be used when drawing lines. Setting stroke to null indicates to the renderer to use the parent's value for stroke.

Parameters:
  `paint` - the line stroke IPaint.

#### getWidth

    PaperLength getWidth()

Returns the width of the line.

Returns:
  The width of the line.

#### setWidth

    void setWidth(PaperLength width)

Sets the width of the line. The value of width is not checked for validity in this method. However, setting it to negative or excessively high value may cause exceptions at rendering time.

Setting width to null indicates to the renderer to use the parent's value for width.

Parameters:
  `width` - the width of the line.

#### getOpacity

    Number getOpacity()

Returns the line opacity which controls how the line will be composited with the underlying paint. Valid range for opacity value is between 0.0 (fully transparent) and 1.0 (fully opaque).

Returns:
  The line opacity.

#### setOpacity

    void setOpacity(Number opacity)

Sets the line opacity which controls how the line will be composited with the underlying paint. Valid range for opacity value is between 0.0 (fully transparent) and 1.0 (fully opaque). If opacity is set to a value outside this range, the renderer will clamp all negative values to 0.0, and values greater that 1.0 - to 1.0.

Setting opacity to null indicates to the renderer to use the parent's value for opacity.

Parameters:
  `opacity` - the line opacity.

#### getLineCap

    ILineRendition.LineCap getLineCap()

Returns the LineCap of the `ILineRendition`.

Returns:
  The LineCap of the `ILineRendition`.

#### setLineCap

    void setLineCap(ILineRendition.LineCap lineCap)

Sets the `LineCap` of the `ILineRendition`. Setting `LineCap` to null indicates to the renderer to use the parent's LineCap.

Parameters:
  `lineCap` - the `LineCap` of the `ILineRendition`.

#### getLineJoin

    ILineRendition.LineJoin getLineJoin()

Returns the `LineJoin` of the `ILineRendition`.

Returns:
  The `LineJoin` of the `ILineRendition`.

#### setLineJoin

    void setLineJoin(ILineRendition.LineJoin lineJoin)

Sets the `LineJoin` of the `ILineRendition`. Setting `LineJoin` to `null` indicates to the renderer to use the parent's `LineJoin`.

Parameters:
  `lineJoin` - the `LineJoin` of the `ILineRendition`.

#### getMiterLimit

    Number getMiterLimit()

Returns the limit on a miter join used when the line join property is set to `ILineRendition.LineJoin.MITER`.

Returns:
  The miter limit of the `ILineRendition`.

#### setMiterLimit

    void setMiterLimit(Number miterLimit)

Sets the limit on a miter join to be used when the line join property is set to `ILineRendition.LineJoin.MITER`.

Parameters:
  `miterLimit` - the miter limit of the `ILineRendition`.

#### getOffset

    PaperLength getOffset()

Returns the offset distance from which to apply the `ILineRendition`.

Returns:
  The offset of the `ILineRendition`.

#### setOffset

    void setOffset(PaperLength offset)

Sets the offset distance from which to apply the `ILineRendition`. Values can be positive or negative (outline and inline).

Parameters:
  `offset` - the offset of the `ILineRendition`.

#### getDash

    Dash getDash()

Returns the dash instructions for `ILineRendition`.

Returns:
  The dash instructions for `ILineRendition`.

#### setDash

    void setDash(Dash dash)

Sets the dash instructions for `ILineRendition`.

Parameters:
  `dash` - the dash instructions for `ILineRendition`.

#### getMarkerPlacement

    IMarkerPlacement getMarkerPlacement()

Returns the IMarkerPlacement with information on how to place markers along the line.

Returns:
  The IMarkerPlacement object.

#### setMarkerPlacement

    void setMarkerPlacement(IMarkerPlacement markerPlacement)

Sets the `IMarkerPlacement` with information on how to place markers along the line.

Parameters:
  `markerPlacement` - the `IMarkerPlacement` object.

#### getCopy

    ILineRendition getCopy()

Returns a copy of this `ILineRendition`.

Returns:
  a copy of this `ILineRendition`.