Revision 11073 trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/core/symbols/SimpleTextSymbol.java
SimpleTextSymbol.java | ||
---|---|---|
1 |
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana |
|
2 |
* |
|
3 |
* Copyright (C) 2005 IVER T.I. and Generalitat Valenciana. |
|
4 |
* |
|
5 |
* This program is free software; you can redistribute it and/or |
|
6 |
* modify it under the terms of the GNU General Public License |
|
7 |
* as published by the Free Software Foundation; either version 2 |
|
8 |
* of the License, or (at your option) any later version. |
|
9 |
* |
|
10 |
* This program is distributed in the hope that it will be useful, |
|
11 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
12 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
13 |
* GNU General Public License for more details. |
|
14 |
* |
|
15 |
* You should have received a copy of the GNU General Public License |
|
16 |
* along with this program; if not, write to the Free Software |
|
17 |
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,USA. |
|
18 |
* |
|
19 |
* For more information, contact: |
|
20 |
* |
|
21 |
* Generalitat Valenciana |
|
22 |
* Conselleria d'Infraestructures i Transport |
|
23 |
* Av. Blasco Ib??ez, 50 |
|
24 |
* 46010 VALENCIA |
|
25 |
* SPAIN |
|
26 |
* |
|
27 |
* +34 963862235 |
|
28 |
* gvsig@gva.es |
|
29 |
* www.gvsig.gva.es |
|
30 |
* |
|
31 |
* or |
|
32 |
* |
|
33 |
* IVER T.I. S.A |
|
34 |
* Salamanca 50 |
|
35 |
* 46005 Valencia |
|
36 |
* Spain |
|
37 |
* |
|
38 |
* +34 963163400 |
|
39 |
* dac@iver.es |
|
40 |
*/ |
|
1 | 41 |
package com.iver.cit.gvsig.fmap.core.symbols; |
2 | 42 |
|
3 | 43 |
import java.awt.Color; |
... | ... | |
23 | 63 |
import com.iver.cit.gvsig.fmap.core.FShape; |
24 | 64 |
import com.iver.cit.gvsig.fmap.core.GeneralPathX; |
25 | 65 |
import com.iver.cit.gvsig.fmap.core.IGeometry; |
66 |
import com.iver.cit.gvsig.fmap.core.TextPath; |
|
26 | 67 |
import com.iver.cit.gvsig.fmap.core.v02.FConverter; |
27 | 68 |
import com.iver.utiles.StringUtilities; |
28 | 69 |
import com.iver.utiles.XMLEntity; |
29 | 70 |
import com.vividsolutions.jts.geom.Geometry; |
30 | 71 |
import com.vividsolutions.jts.geom.Point; |
31 | 72 |
|
73 |
/** |
|
74 |
* |
|
75 |
* @author jaume dominguez faus - jaume.dominguez@iver.es |
|
76 |
* |
|
77 |
*/ |
|
32 | 78 |
public class SimpleTextSymbol extends AbstractSymbol implements ITextSymbol { |
33 | 79 |
private String text = ""; |
34 | 80 |
private Font font = new Font("Arial", Font.PLAIN, 10); |
... | ... | |
59 | 105 |
Geometry geo = FConverter.java2d_to_jts(shp); |
60 | 106 |
|
61 | 107 |
if (geo == null) { |
62 |
// return;
|
|
108 |
return; |
|
63 | 109 |
} |
64 | 110 |
|
65 | 111 |
Point pJTS = geo.getCentroid(); |
... | ... | |
89 | 135 |
|
90 | 136 |
public void drawInsideRectangle(Graphics2D g, |
91 | 137 |
AffineTransform scaleInstance, Rectangle r) { |
92 |
g.drawString("Not yet implemented", 0, r.height); |
|
138 |
FontRenderContext frc = g.getFontRenderContext(); |
|
139 |
GlyphVector gv = font.createGlyphVector(frc, text); |
|
140 |
gv. |
|
141 |
float fontSize = getFont().getSize(); |
|
142 |
float fontScaleFactor = (float) ((getText().length()*fontSize) * 0.8) // text length with a 20% margin |
|
143 |
/ r.width; |
|
93 | 144 |
|
145 |
fontSize = fontSize * fontScaleFactor; |
|
146 |
g.setFont(getFont().deriveFont(fontSize)); |
|
147 |
System.out.println(r); |
|
148 |
g.drawString(getText(), r.x*0.9F, ( r.height*0.5F) + (fontSize*0.5F)); |
|
149 |
|
|
150 |
|
|
94 | 151 |
} |
95 | 152 |
|
96 | 153 |
public int getOnePointRgb() { |
Also available in: Unified diff