Revision 12436 branches/v10/extensions/extAnnotations/src/com/iver/cit/gvsig/fmap/operation/strategies/Annotation_Strategy.java

View differences:

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