Revision 12436 branches/v10/extensions/extAnnotations/src/com/iver/cit/gvsig/fmap/operation/strategies/Annotation_Strategy.java
Annotation_Strategy.java | ||
---|---|---|
136 | 136 |
int idTextField = mapping.getColumnText(); |
137 | 137 |
|
138 | 138 |
double rotation = 0D; |
139 |
float size = sym.getFont().getSize(); |
|
139 |
float size = sym.getFont().getSize()* (float)FConstant.FONT_HEIGHT_SCALE_FACTOR;
|
|
140 | 140 |
|
141 | 141 |
String fontName = "Dialog"; |
142 | 142 |
int fontStyle = sym.getFont().getStyle(); |
... | ... | |
218 | 218 |
aux[0].setString(vv[idTextField].toString()); |
219 | 219 |
AffineTransform at = viewPort.getAffineTransform(); |
220 | 220 |
if (sym.isShapeVisible()) { |
221 |
symbolPoint.draw(gBi,
|
|
221 |
symbolPoint.draw(g, |
|
222 | 222 |
at, |
223 | 223 |
fpPixels); |
224 | 224 |
} |
... | ... | |
231 | 231 |
// Si el tama?o de la fuente est? en pixels. |
232 | 232 |
boolean draw=false; |
233 | 233 |
Rectangle2D r=capa.getTextWrappingGeometryInPixels(size,vv[idTextField].toString(),rotation,fontName,fontStyle,i,viewPort).getBounds2D(); |
234 |
|
|
234 | 235 |
Rectangle2D rPixels=r;//capa.getMapContext().getViewPort().fromMapRectangle(r); |
235 | 236 |
FPoint2D fp=new FPoint2D(rPixels.getX(),rPixels.getY()); |
236 | 237 |
Point2D p=new Point2D.Double(rPixels.getX(),rPixels.getY()); |
237 |
rPixels.setRect(rPixels.getX(),rPixels.getY()-rPixels.getHeight(),rPixels.getWidth(),rPixels.getHeight()); |
|
238 |
|
|
238 | 239 |
if (!capa.isEditing() && l.isAvoidOverLapping()){ |
239 | 240 |
p=getPoint(bi,rPixels,l.isDelOverLapping()); |
240 | 241 |
if (p==null){ |
... | ... | |
260 | 261 |
aux[0].setString(vv[idTextField].toString()); |
261 | 262 |
|
262 | 263 |
if (sym.isShapeVisible()) { |
263 |
symbolPoint.draw(gBi,
|
|
264 |
symbolPoint.draw(g, |
|
264 | 265 |
ati, |
265 | 266 |
fp); |
266 | 267 |
} |
267 |
// g.drawRect((int)p.getX(),(int)(p.getY()-rPixels.getHeight()),(int)rPixels.getWidth(),(int)rPixels.getHeight());
|
|
268 |
// g.drawRect((int)p.getX(),(int)(p.getY()-rPixels.getHeight()),(int)rPixels.getWidth(),(int)rPixels.getHeight());
|
|
268 | 269 |
FGraphicUtilities.DrawAnnotation(gBi, |
269 | 270 |
ati, sym, aux[0], metrics, false); |
270 | 271 |
|
... | ... | |
395 | 396 |
// } |
396 | 397 |
|
397 | 398 |
private Point2D getPoint(BufferedImage bi, Rectangle2D rec, boolean b) { |
398 |
Rectangle2D r=new Rectangle2D.Double(rec.getX(),rec.getY(),rec.getWidth(),rec.getHeight()); |
|
399 |
Rectangle2D r=new Rectangle2D.Double(rec.getX(),rec.getY()-rec.getHeight(),rec.getWidth(),rec.getHeight());
|
|
399 | 400 |
if (isOverlapping(bi,r)) |
400 |
return new Point2D.Double(r.getX(),r.getY()+r.getHeight()); |
|
401 |
r.setFrame(rec.getX(),rec.getY()+rec.getHeight(),rec.getWidth(),rec.getHeight()); |
|
401 |
return new Point2D.Double(r.getX(),r.getY()+rec.getHeight()); |
|
402 |
|
|
403 |
r.setFrame(rec.getX(),rec.getY(),rec.getWidth(),rec.getHeight()); |
|
402 | 404 |
if (isOverlapping(bi,r)) |
403 |
return new Point2D.Double(r.getX(),r.getY()+r.getHeight()); |
|
404 |
r.setFrame(rec.getX()-rec.getWidth(),rec.getY()+rec.getHeight(),rec.getWidth(),rec.getHeight()); |
|
405 |
return new Point2D.Double(r.getX(),r.getY()+rec.getHeight()); |
|
406 |
|
|
407 |
r.setFrame(rec.getX()-rec.getWidth(),rec.getY()-rec.getHeight(),rec.getWidth(),rec.getHeight()); |
|
405 | 408 |
if (isOverlapping(bi,r)) |
406 |
return new Point2D.Double(r.getX(),r.getY()+r.getHeight()); |
|
409 |
return new Point2D.Double(r.getX(),r.getY()+rec.getHeight()); |
|
410 |
|
|
407 | 411 |
r.setFrame(rec.getX()-rec.getWidth(),rec.getY(),rec.getWidth(),rec.getHeight()); |
408 | 412 |
if (isOverlapping(bi,r)) |
409 |
return new Point2D.Double(r.getX(),r.getY()+r.getHeight()); |
|
413 |
return new Point2D.Double(r.getX(),r.getY()+rec.getHeight()); |
|
414 |
|
|
410 | 415 |
r.setFrame(rec.getX()-rec.getWidth()/2,rec.getY(),rec.getWidth(),rec.getHeight()); |
411 | 416 |
if (isOverlapping(bi,r)) |
412 |
return new Point2D.Double(r.getX(),r.getY()+r.getHeight()); |
|
413 |
r.setFrame(rec.getX()-rec.getWidth()/2,rec.getY()+rec.getHeight(),rec.getWidth(),rec.getHeight()); |
|
417 |
return new Point2D.Double(r.getX(),r.getY()+rec.getHeight()); |
|
418 |
|
|
419 |
r.setFrame(rec.getX()-rec.getWidth()/2,rec.getY()-rec.getHeight(),rec.getWidth(),rec.getHeight()); |
|
414 | 420 |
if (isOverlapping(bi,r)) |
415 |
return new Point2D.Double(r.getX(),r.getY()+r.getHeight()); |
|
416 |
r.setFrame(rec.getX()-rec.getWidth(),rec.getY()+rec.getHeight()/2,rec.getWidth(),rec.getHeight()); |
|
417 |
if (isOverlapping(bi,r)) |
|
418 |
return new Point2D.Double(r.getX(),r.getY()+r.getHeight()); |
|
419 |
r.setFrame(rec.getX(),rec.getY()+rec.getHeight()/2,rec.getWidth(),rec.getHeight()); |
|
420 |
if (isOverlapping(bi,r)) |
|
421 |
return new Point2D.Double(r.getX(),r.getY()+r.getHeight()); |
|
421 |
return new Point2D.Double(r.getX(),r.getY()+rec.getHeight()); |
|
422 |
|
|
422 | 423 |
// r.setFrame(rec.getX()-rec.getWidth(),rec.getY()+rec.getHeight()/2,rec.getWidth(),rec.getHeight()); |
423 |
// if (isTrasparent(bi,r))
|
|
424 |
// if (isOverlapping(bi,r))
|
|
424 | 425 |
// return new Point2D.Double(r.getX(),r.getY()); |
425 | 426 |
|
427 |
r.setFrame(rec.getX(),rec.getY()+rec.getHeight()/2,rec.getWidth(),rec.getHeight()); |
|
428 |
if (isOverlapping(bi,r)) |
|
429 |
return new Point2D.Double(r.getX(),r.getY()+rec.getHeight()); |
|
430 |
|
|
426 | 431 |
if (!b) |
427 |
return new Point2D.Double(rec.getX(),rec.getY()+rec.getHeight());
|
|
432 |
return new Point2D.Double(rec.getX(),rec.getY()); |
|
428 | 433 |
else |
429 | 434 |
return null; |
430 | 435 |
} |
Also available in: Unified diff