01: /*
02: * GeoTools - OpenSource mapping toolkit
03: * http://geotools.org
04: * (C) 2002-2006, GeoTools Project Managment Committee (PMC)
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation;
09: * version 2.1 of the License.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: */
16:
17: /*
18: * Geotools - OpenSource mapping toolkit
19: * (C) 2002, Center for Computational Geography
20: *
21: * This library is free software; you can redistribute it and/or
22: * modify it under the terms of the GNU Lesser General Public
23: * License as published by the Free Software Foundation;
24: * version 2.1 of the License.
25: *
26: * This library is distributed in the hope that it will be useful,
27: * but WITHOUT ANY WARRANTY; without even the implied warranty of
28: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
29: * Lesser General Public License for more details.
30: *
31: * You should have received a copy of the GNU Lesser General Public
32: * License along with this library; if not, write to the Free Software
33: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
34: *
35: *
36: * Contacts:
37: * UNITED KINGDOM: James Macgill. j.macgill@geog.leeds.ac.uk
38: */
39: package org.geotools.styling;
40:
41: import org.opengis.filter.expression.Expression;
42:
43: /**
44: * The "LinePlacement" specifies where and how a text label should be rendered
45: * relative to a line.
46: *
47: * <p>
48: * The details of this object are taken from the <a
49: * href="https://portal.opengeospatial.org/files/?artifact_id=1188"> OGC
50: * Styled-Layer Descriptor Report (OGC 02-070) version 1.0.0.</a>:
51: * <pre><code>
52: * <xsd:element name="LinePlacement">
53: * <xsd:annotation>
54: * <xsd:documentation>
55: * A "LinePlacement" specifies how a text label should be rendered
56: * relative to a linear geometry.
57: * </xsd:documentation>
58: * </xsd:annotation>
59: * <xsd:complexType>
60: * <xsd:sequence>
61: * <xsd:element ref="sld:PerpendicularOffset" minOccurs="0"/>
62: * </xsd:sequence>
63: * </xsd:complexType>
64: * </xsd:element>
65: * </code></pre>
66: * </p>
67: *
68: * <p>
69: * $Id: LinePlacement.java 25459 2007-05-08 05:19:25Z jgarnett $
70: * </p>
71: *
72: * @author Ian Turton, CCG
73: * @source $URL: http://svn.geotools.org/geotools/tags/2.4.1/modules/library/api/src/main/java/org/geotools/styling/LinePlacement.java $
74: */
75: public interface LinePlacement extends LabelPlacement {
76: /**
77: * Returns the expression that is used to compute how far from the lines
78: * the text will be drawn. The distance must evaluate to a non-negative
79: * number.
80: *
81: * @return DOCUMENT ME!
82: */
83: Expression getPerpendicularOffset();
84:
85: /**
86: * Sets the expression that is used to compute how far from the lines the
87: * text will be drawn. See {@link #getPerpendicularOffset} for details.
88: *
89: * @param offset DOCUMENT ME!
90: */
91: void setPerpendicularOffset(Expression offset);
92: }
|