Revision 247 trunk/org.gvsig.app.document.layout2.app/org.gvsig.app.document.layout2.app.mainplugin/src/main/java/org/gvsig/app/project/documents/layout/geometryadapters/GeometryAdapter.java

View differences:

GeometryAdapter.java
42 42

  
43 43
import java.awt.Graphics2D;
44 44
import java.awt.geom.AffineTransform;
45
import java.awt.geom.Arc2D;
46
import java.awt.geom.FlatteningPathIterator;
47
import java.awt.geom.NoninvertibleTransformException;
45 48
import java.awt.geom.Point2D;
46 49
import java.awt.geom.Rectangle2D;
47 50
import java.util.ArrayList;
......
52 55
import org.gvsig.fmap.geom.Geometry;
53 56
import org.gvsig.fmap.geom.GeometryLocator;
54 57
import org.gvsig.fmap.geom.GeometryManager;
58
import org.gvsig.fmap.geom.Geometry.SUBTYPES;
59
import org.gvsig.fmap.geom.Geometry.TYPES;
55 60
import org.gvsig.fmap.geom.exception.CreateGeometryException;
61
import org.gvsig.fmap.geom.primitive.Circle;
62
import org.gvsig.fmap.geom.primitive.GeneralPathX;
63
import org.gvsig.fmap.geom.primitive.Point;
64
import org.gvsig.fmap.geom.type.GeometryTypeNotSupportedException;
65
import org.gvsig.fmap.geom.type.GeometryTypeNotValidException;
56 66
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
57 67
import org.gvsig.tools.ToolsLocator;
58 68
import org.gvsig.tools.dynobject.DynStruct;
......
61 71
import org.gvsig.tools.persistence.Persistent;
62 72
import org.gvsig.tools.persistence.PersistentState;
63 73
import org.gvsig.tools.persistence.exception.PersistenceException;
74
import org.gvsig.app.project.documents.layout.geometryadapters.PrintingCircle2D;
64 75

  
65 76
/**
66 77
 * Abstract adaptor to relate the geometries with the fframes and to be able to
......
164 175
     */
165 176
    public void print(Graphics2D g, AffineTransform at,
166 177
        ISymbol symbol, PrintAttributes properties){
167
        symbol.print(g, at, getGeometry(), properties);
178
    	Geometry geom = getGeometry();
179
    	if (geom instanceof Circle) {
180
    		// circles must be handled differently in order to print really round geometries
181
    		// as the flatness used for screen may not be good for printing
182
    		Circle circle = ((Circle) geom);
183
    		PrintingCircle2D printCircle = new PrintingCircle2D(circle);
184
    		geom = printCircle;
185
    		
186
    	}
187
        symbol.print(g, at, geom, properties);
168 188
    }
169 189

  
170 190
    /**

Also available in: Unified diff