Revision 41147 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.symbology/org.gvsig.symbology.swing/org.gvsig.symbology.swing.api/src/main/java/org/gvsig/app/gui/styling/SymbolPreviewer.java
SymbolPreviewer.java | ||
---|---|---|
103 | 103 |
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol; |
104 | 104 |
import org.gvsig.fmap.mapcontext.rendering.symbols.SymbolDrawingException; |
105 | 105 |
import org.gvsig.i18n.Messages; |
106 |
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.marker.IMarkerSymbol; |
|
106 | 107 |
|
107 | 108 |
|
108 | 109 |
/** |
... | ... | |
120 | 121 |
private int hGap = 5, vGap = 5; |
121 | 122 |
private ISymbol symbol; |
122 | 123 |
private EditorTool prevTool; |
124 |
private boolean useAllRoom = false; |
|
123 | 125 |
/** |
124 | 126 |
* constructor method |
125 | 127 |
* |
... | ... | |
128 | 130 |
super(true); |
129 | 131 |
setBackground(Color.WHITE); |
130 | 132 |
} |
133 |
|
|
134 |
public SymbolPreviewer(boolean all_room) { |
|
135 |
super(true); |
|
136 |
setBackground(Color.WHITE); |
|
137 |
useAllRoom = all_room; |
|
138 |
} |
|
139 |
|
|
131 | 140 |
/** |
132 | 141 |
* Returns the symbol printed inside |
133 | 142 |
* @return symbol |
... | ... | |
157 | 166 |
|
158 | 167 |
g2.translate(hGap, vGap); |
159 | 168 |
Rectangle r = getBounds(); |
160 |
r = new Rectangle(0, 0, (int) (r.getWidth()-(hGap*2)), (int) (r.getHeight()-(vGap*2))); |
|
169 |
r = new Rectangle(0, 0, |
|
170 |
(int) (r.getWidth()-(hGap*2)), (int) (r.getHeight()-(vGap*2))); |
|
171 |
|
|
172 |
Double forcesize = this.forceSize(symbol); |
|
173 |
if (forcesize != null && !useAllRoom) { |
|
174 |
long difx = Math.round(0.5 * (r.getWidth() - forcesize.doubleValue())); |
|
175 |
long dify = Math.round(0.5 * (r.getHeight() - forcesize.doubleValue())); |
|
176 |
|
|
177 |
r = new Rectangle((int) difx, (int) dify, |
|
178 |
(int) forcesize.doubleValue(), |
|
179 |
(int) forcesize.doubleValue()); |
|
180 |
} |
|
161 | 181 |
|
162 | 182 |
if (symbol != null) { |
163 | 183 |
try { |
... | ... | |
218 | 238 |
prevTool = tool; |
219 | 239 |
return previous; |
220 | 240 |
} |
241 |
|
|
242 |
private Double forceSize(ISymbol sym) { |
|
243 |
|
|
244 |
if (sym == null) { |
|
245 |
return null; |
|
246 |
} |
|
247 |
|
|
248 |
if (!(sym instanceof IMarkerSymbol)) { |
|
249 |
return null; |
|
250 |
} |
|
251 |
|
|
252 |
IMarkerSymbol msym = (IMarkerSymbol) sym; |
|
253 |
if (msym.getUnit() == -1) { |
|
254 |
/* |
|
255 |
* Pixels |
|
256 |
*/ |
|
257 |
return new Double(msym.getSize()); |
|
258 |
} else { |
|
259 |
return null; |
|
260 |
} |
|
261 |
|
|
262 |
} |
|
221 | 263 |
|
222 | 264 |
} |
Also available in: Unified diff