org.geotools.styling
Interface Stroke

All Superinterfaces:
Stroke

public interface Stroke
extends Stroke

The Stroke object encapsulates the graphical-symbolization parameters for linear geometries.

There are three basic types of stroke: solid color, graphic fill (stipple), and repeated linear graphic stroke. A repeated linear graphic is plotted linearly and has its graphic symbol bent around the curves of the line string. A GraphicFill has the pixels of the line rendered with a repeating area-fill pattern.

If neither a graphic fill nor graphic stroke element are given, then the line symbolizer should render a solid color.

The details of this object are taken from the OGC Styled-Layer Descriptor Report (OGC 02-070) version 1.0.0.:


 <xsd:element name="Stroke">
   <xsd:annotation>
     <xsd:documentation>
       A "Stroke" specifies the appearance of a linear geometry.  It is
       defined in parallel with SVG strokes.  The following CssParameters
       may be used: "stroke" (color), "stroke-opacity", "stroke-width",
       "stroke-linejoin", "stroke-linecap", "stroke-dasharray", and
       "stroke-dashoffset".
     </xsd:documentation>
   </xsd:annotation>
   <xsd:complexType>
     <xsd:sequence>
       <xsd:choice minOccurs="0">
         <xsd:element ref="sld:GraphicFill"/>
         <xsd:element ref="sld:GraphicStroke"/>
       </xsd:choice>
       <xsd:element ref="sld:CssParameter" minOccurs="0"
                    maxOccurs="unbounded"/>
     </xsd:sequence>
   </xsd:complexType>
 </xsd:element>
 

Renderers can use this information when displaying styled features, though it must be remembered that not all renderers will be able to fully represent strokes as set out by this interface. For example, opacity may not be supported.

Notes:

Author:
James Macgill

Field Summary
static Stroke DEFAULT
          Default Stroke capturing the defaults indicated by the standard.
static Stroke NULL
          Null Stroke capturing the defaults indicated by the standard.
 
Method Summary
 void accept(StyleVisitor visitor)
           
 Color getColor(SimpleFeature f)
          Deprecated. 
 float[] getDashArray()
          This parameter encodes the dash pattern as a seqeuence of floats.
 Expression getDashOffset()
          A dash array need not start from the beginning.
 Graphic getGraphicFill()
          This parameter indicates that a stipple-fill repeated graphic will be used and specifies the fill graphic to use.
 Graphic getGraphicStroke()
          This parameter indicates that a repeated-linear-graphic graphic stroke type will be used and specifies the graphic to use.
 Expression getLineCap()
          This parameter controls how line strings should be capped.
 Expression getLineJoin()
          This parameter controls how line strings should be joined together.
 void setColor(Expression color)
          This parameter gives the solid color that will be used for a stroke.
 void setDashArray(float[] dashArray)
          This parameter encodes the dash pattern as a seqeuence of floats.
 void setDashOffset(Expression dashOffset)
          A dash array need not start from the beginning.
 void setGraphicFill(Graphic graphicFill)
          This parameter indicates that a stipple-fill repeated graphic will be used and specifies the fill graphic to use.
 void setGraphicStroke(Graphic graphicStroke)
          This parameter indicates that a repeated-linear-graphic graphic stroke type will be used and specifies the graphic to use.
 void setLineCap(Expression lineCap)
          This parameter controls how line strings should be capped.
 void setLineJoin(Expression lineJoin)
          This parameter controls how line strings should be joined together.
 void setOpacity(Expression opacity)
          This specifies the level of translucency to use when rendering the stroke.
 void setWidth(Expression width)
          This parameter gives the absolute width (thickness) of a stroke in pixels encoded as a float.
 
Methods inherited from interface Stroke
accept, getColor, getOpacity, getWidth
 

Field Detail

DEFAULT

static final Stroke DEFAULT
Default Stroke capturing the defaults indicated by the standard.

For some attributes the standard does not define a default, so a reasonable value is supplied.


NULL

static final Stroke NULL
Null Stroke capturing the defaults indicated by the standard.

This is a NullObject, it purpose is to prevent client code from having to do null checking.

Method Detail

getColor

@Deprecated
Color getColor(SimpleFeature f)
Deprecated. 

This parameter gives the solid color that will be used for a stroke.
The color value returned here as a Java Color object, this is a convinence method that goes above The default color is defined to be Color.BLACK Note: in CSS this parameter is just called Stroke and not Color.

Returns:
The color of the stroke as a Color object

setColor

void setColor(Expression color)
This parameter gives the solid color that will be used for a stroke.
The color value is RGB-encoded using two hexidecimal digits per primary-color component in the order Red, Green, Blue, prefixed wih the hash (#) sign. The hexidecimal digits between A and F may be in either upper or lower case. For example, full red is encoded as "#ff0000" (with no quotation marks). Note: in CSS this parameter is just called Stroke and not Color.


setWidth

void setWidth(Expression width)
This parameter gives the absolute width (thickness) of a stroke in pixels encoded as a float. Fractional numbers are allowed but negative numbers are not.


setOpacity

void setOpacity(Expression opacity)
This specifies the level of translucency to use when rendering the stroke.
The value is encoded as a floating-point value between 0.0 and 1.0 with 0.0 representing totally transparent and 1.0 representing totally opaque. A linear scale of translucency is used for intermediate values.
For example, "0.65" would represent 65% opacity.


getLineJoin

Expression getLineJoin()
This parameter controls how line strings should be joined together.

Specified by:
getLineJoin in interface Stroke
Returns:
expression

setLineJoin

void setLineJoin(Expression lineJoin)
This parameter controls how line strings should be joined together.


getLineCap

Expression getLineCap()
This parameter controls how line strings should be capped.

Specified by:
getLineCap in interface Stroke
Returns:
expression

setLineCap

void setLineCap(Expression lineCap)
This parameter controls how line strings should be capped.


getDashArray

float[] getDashArray()
This parameter encodes the dash pattern as a seqeuence of floats.
The first number gives the length in pixels of the dash to draw, the second gives the amount of space to leave, and this pattern repeats.
If an odd number of values is given, then the pattern is expanded by repeating it twice to give an even number of values. For example, "2 1 3 2" would produce:
-- ---  -- ---  -- ---   -- ---  -- ---  --

Specified by:
getDashArray in interface Stroke
Returns:
expression

setDashArray

void setDashArray(float[] dashArray)
This parameter encodes the dash pattern as a seqeuence of floats.
The first number gives the length in pixels of the dash to draw, the second gives the amount of space to leave, and this pattern repeats.
If an odd number of values is given, then the pattern is expanded by repeating it twice to give an even number of values. For example, "2 1 3 2" would produce:
-- ---  -- ---  -- ---   -- ---  -- ---  --


getDashOffset

Expression getDashOffset()
A dash array need not start from the beginning. This method allows for an offset into the dash array before starting it.

Specified by:
getDashOffset in interface Stroke
Returns:
expression

setDashOffset

void setDashOffset(Expression dashOffset)
A dash array need not start from the beginning. This method allows for an offset into the dash array before starting it.


getGraphicFill

Graphic getGraphicFill()
This parameter indicates that a stipple-fill repeated graphic will be used and specifies the fill graphic to use.

Specified by:
getGraphicFill in interface Stroke
Returns:
The graphic to use as a stipple fill. If null, then no Stipple fill should be used.

setGraphicFill

void setGraphicFill(Graphic graphicFill)
This parameter indicates that a stipple-fill repeated graphic will be used and specifies the fill graphic to use.


getGraphicStroke

Graphic getGraphicStroke()
This parameter indicates that a repeated-linear-graphic graphic stroke type will be used and specifies the graphic to use. Proper stroking with a linear graphic requires two "hot-spot" points within the space of the graphic to indicate where the rendering line starts and stops. In the case of raster images with no special mark-up, this line will be assumed to be the middle pixel row of the image, starting from the first pixel column and ending at the last pixel column.

Specified by:
getGraphicStroke in interface Stroke
Returns:
The graphic to use as a linear graphic. If null, then no graphic stroke should be used.

setGraphicStroke

void setGraphicStroke(Graphic graphicStroke)
This parameter indicates that a repeated-linear-graphic graphic stroke type will be used and specifies the graphic to use. Proper stroking with a linear graphic requires two "hot-spot" points within the space of the graphic to indicate where the rendering line starts and stops. In the case of raster images with no special mark-up, this line will be assumed to be the middle pixel row of the image, starting from the first pixel column and ending at the last pixel column.


accept

void accept(StyleVisitor visitor)


Copyright © 1996-2014 Geotools. All Rights Reserved.