Revision 39569 trunk/extensions/extSymbology/src/org/gvsig/symbology/gui/layerproperties/LabelClassPreview.java

View differences:

LabelClassPreview.java
44 44
import java.awt.Color;
45 45
import java.awt.Dimension;
46 46
import java.awt.Font;
47
import java.awt.FontMetrics;
47 48
import java.awt.Graphics;
48 49
import java.awt.Graphics2D;
49 50
import java.awt.Rectangle;
51
import java.awt.font.FontRenderContext;
52
import java.awt.font.GlyphVector;
53
import java.awt.geom.AffineTransform;
50 54

  
51 55
import javax.swing.JPanel;
52 56

  
53 57
import com.iver.andami.PluginServices;
54 58
import com.iver.cit.gvsig.fmap.core.styles.ILabelStyle;
59
import com.iver.cit.gvsig.fmap.core.symbols.ITextSymbol;
55 60
import com.iver.cit.gvsig.fmap.rendering.styling.labeling.LabelClass;
56 61

  
57 62
public class LabelClassPreview extends JPanel {
......
102 107

  
103 108
//		try {
104 109
//			labelClass.drawInsideRectangle((Graphics2D) g, r);
105
			Font myFont = new Font(labelClass.getTextSymbol().getFont().getName(),labelClass.getTextSymbol().getFont().getStyle(),35);
110
			ITextSymbol sym = labelClass.getTextSymbol();
111
			Font myFont = new Font(sym.getFont().getName(),sym.getFont().getStyle(),35);
112
			AffineTransform saveAT = ((Graphics2D)g).getTransform();
113
			
114
//			AffineTransform tx = new AffineTransform();
115
//			tx.setToTranslation(0, -r.getCenterY());
116
			saveAT.translate(0, r.getCenterY());
117
			((Graphics2D) g).setTransform(saveAT);
118
			FontRenderContext frc = new FontRenderContext(
119
					saveAT, false, true);;
106 120
			g.setFont(myFont);
107
			g.drawString(PluginServices.getText(this, "text_field"), 0, (int)r.getCenterY());
121
			String text = PluginServices.getText(this, "text_field");
122
			
123
			if (sym.isDrawWithHalo()) {
124
				BasicStroke haloStroke = new BasicStroke(sym.getHaloWidth());
125
				char[] charText = new char[text.length()];
126
				text.getChars(0, charText.length, charText, 0);
127
				GlyphVector glyph = myFont.layoutGlyphVector(frc, charText, 0, charText.length, Font.LAYOUT_NO_LIMIT_CONTEXT);
128
				g.setColor(sym.getHaloColor());
129
				((Graphics2D) g).setStroke(haloStroke);
130
				((Graphics2D) g).draw(glyph.getOutline());
131
			}
132
			g.setColor(sym.getTextColor());
133
			g.drawString(PluginServices.getText(this, "text_field"), 0, 0);
108 134
//		} catch (SymbolDrawingException e) {
109 135
//			SymbologyFactory
110 136
//					.getWarningSymbol(

Also available in: Unified diff