Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.mapcontext / org.gvsig.fmap.mapcontext.api / src / main / java / org / gvsig / fmap / mapcontext / rendering / legend / styling / IPlacementConstraints.java @ 40559

History | View | Annotate | Download (4.88 KB)

1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program 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
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
/* CVS MESSAGES:
25
 *
26
 * $Id: IPlacementConstraints.java 13913 2007-09-20 09:36:02Z jaume $
27
 * $Log$
28
 * Revision 1.12  2007-09-20 09:33:15  jaume
29
 * Refactored: fixed name of IPersistAnce to IPersistence
30
 *
31
 * Revision 1.11  2007/09/10 15:47:11  jaume
32
 * *** empty log message ***
33
 *
34
 * Revision 1.10  2007/07/18 06:54:34  jaume
35
 * continuing with cartographic support
36
 *
37
 * Revision 1.9  2007/04/18 15:35:11  jaume
38
 * *** empty log message ***
39
 *
40
 * Revision 1.8  2007/04/13 12:42:32  jaume
41
 * *** empty log message ***
42
 *
43
 * Revision 1.7  2007/04/13 11:59:30  jaume
44
 * *** empty log message ***
45
 *
46
 * Revision 1.6  2007/04/12 16:01:11  jaume
47
 * *** empty log message ***
48
 *
49
 * Revision 1.5  2007/04/12 14:28:43  jaume
50
 * basic labeling support for lines
51
 *
52
 * Revision 1.4  2007/04/11 16:01:08  jaume
53
 * maybe a label placer refactor
54
 *
55
 * Revision 1.3  2007/04/02 16:34:56  jaume
56
 * Styled labeling (start commiting)
57
 *
58
 * Revision 1.2  2007/03/09 08:33:43  jaume
59
 * *** empty log message ***
60
 *
61
 * Revision 1.1.2.2  2007/02/15 16:23:44  jaume
62
 * *** empty log message ***
63
 *
64
 * Revision 1.1.2.1  2007/02/09 07:47:05  jaume
65
 * Isymbol moved
66
 *
67
 *
68
 */
69

    
70
package org.gvsig.fmap.mapcontext.rendering.legend.styling;
71

    
72
import org.gvsig.tools.persistence.Persistent;
73

    
74

    
75

    
76
/**
77
 * @author   jaume dominguez faus - jaume.dominguez@iver.es
78
 */
79
public interface IPlacementConstraints extends Persistent, Cloneable {
80
        public static int DefaultDuplicateLabelsMode = IPlacementConstraints.ONE_LABEL_PER_FEATURE_PART;
81

    
82
        // constants regarding label duplication
83
        public static final int REMOVE_DUPLICATE_LABELS             =       2;
84
        public static final int ONE_LABEL_PER_FEATURE               =       3;
85
        public static final int ONE_LABEL_PER_FEATURE_PART          =       4;
86

    
87
        // constants regarding point settings
88
        public static final int OFFSET_HORIZONTALY_AROUND_THE_POINT =       5;
89
        public static final int ON_TOP_OF_THE_POINT                 =       6;
90
        public static final int AT_SPECIFIED_ANGLE                  =       7;
91
        public static final int AT_ANGLE_SPECIFIED_BY_A_FIELD       =       8;
92

    
93
        // constants regarding polygon settings (also apply for lines)
94
        public static final int HORIZONTAL                          =       9;
95
        public static final int PARALLEL                            =      10;
96

    
97
        // constants regarding line settings
98
        public static final int FOLLOWING_LINE                      =      11;
99
        public static final int PERPENDICULAR                             =      12;
100

    
101
        // constants regarding the location along the line
102
        public static final int AT_THE_END_OF_THE_LINE              =      13;
103
        public static final int AT_THE_MIDDLE_OF_THE_LINE           =      14;
104
        public static final int AT_THE_BEGINING_OF_THE_LINE         =      15;
105
        public static final int AT_BEST_OF_LINE                                         =           16;
106

    
107
        public abstract void setPlacementMode(int mode);
108

    
109
        // regarding label position along the line
110
        public abstract boolean isBelowTheLine();
111
        public abstract void setBelowTheLine(boolean b);
112
        public abstract boolean isAboveTheLine();
113
        public abstract void setAboveTheLine(boolean b);
114
        public abstract boolean isOnTheLine();
115
        public abstract void setOnTheLine(boolean b);
116
        public abstract void setLocationAlongTheLine(int location);
117

    
118

    
119
        // regarding the orientation system
120
        public abstract boolean isPageOriented();
121
        public abstract void setPageOriented(boolean b);
122

    
123
        // regarding the label duplication
124
        public abstract void setDuplicateLabelsMode(int mode);
125
        public abstract int getDuplicateLabelsMode();
126

    
127

    
128
        public abstract boolean isParallel();
129

    
130
        public abstract boolean isFollowingLine();
131

    
132
        public abstract boolean isPerpendicular();
133

    
134
        public abstract boolean isHorizontal();
135

    
136
        public abstract boolean isAtTheBeginingOfLine();
137

    
138
        public abstract boolean isInTheMiddleOfLine();
139

    
140
        public abstract boolean isAtTheEndOfLine();
141

    
142
        public boolean isAtBestOfLine();
143

    
144
        public abstract boolean isOnTopOfThePoint();
145

    
146
        public abstract boolean isAroundThePoint();
147

    
148
        public boolean isFitInsidePolygon();
149

    
150
        public void setFitInsidePolygon(boolean b);
151

    
152

    
153
}