/[schmitzm]/trunk/src/skrueger/geotools/XMapPane.java
ViewVC logotype

Diff of /trunk/src/skrueger/geotools/XMapPane.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 660 by alfonx, Wed Feb 3 16:10:12 2010 UTC revision 677 by alfonx, Fri Feb 5 15:03:17 2010 UTC
# Line 48  import org.geotools.renderer.label.Label Line 48  import org.geotools.renderer.label.Label
48  import org.geotools.renderer.lite.LabelCache;  import org.geotools.renderer.lite.LabelCache;
49  import org.geotools.renderer.lite.RendererUtilities;  import org.geotools.renderer.lite.RendererUtilities;
50  import org.geotools.renderer.lite.StreamingRenderer;  import org.geotools.renderer.lite.StreamingRenderer;
51    import org.geotools.resources.image.ImageUtilities;
52  import org.geotools.swing.JMapPane;  import org.geotools.swing.JMapPane;
53  import org.geotools.swing.event.MapMouseEvent;  import org.geotools.swing.event.MapMouseEvent;
54  import org.geotools.swing.event.MapPaneEvent;  import org.geotools.swing.event.MapPaneEvent;
# Line 611  public class XMapPane extends JPanel { Line 612  public class XMapPane extends JPanel {
612                          final Map<Object, Object> rendererHints) {                          final Map<Object, Object> rendererHints) {
613                  super(true);                  super(true);
614    
615                    // A default setting
616                    RenderingHints hintsJava2d = ImageUtilities.NN_INTERPOLATION_HINT;
617                    setJava2dHints(hintsJava2d);
618    
619                  setRendererHints(rendererHints);                  setRendererHints(rendererHints);
620    
621                  setOpaque(true);                  setOpaque(true);
# Line 812  public class XMapPane extends JPanel { Line 817  public class XMapPane extends JPanel {
817    
818                  final Envelope maxAllowedExtend = getMaxExtend();                  final Envelope maxAllowedExtend = getMaxExtend();
819    
820                    /*
821                     * If a maxAllowedExtend is set, we have to honour that...
822                     */
823                    Envelope lastCalculatedArea = null;
824                  while (maxAllowedExtend != null && !maxAllowedExtend.contains(newArea)                  while (maxAllowedExtend != null && !maxAllowedExtend.contains(newArea)
825                                  && newArea != null && !newArea.isNull()                                  && newArea != null && !newArea.isNull()
826                                  && !Double.isNaN(newArea.getMinX())                                  && !Double.isNaN(newArea.getMinX())
827                                  && !Double.isNaN(newArea.getMaxX())                                  && !Double.isNaN(newArea.getMaxX())
828                                  && !Double.isNaN(newArea.getMinY())                                  && !Double.isNaN(newArea.getMinY())
829                                  && !Double.isNaN(newArea.getMaxY())) {                                  && !Double.isNaN(newArea.getMaxY())
830                          /*                                   ) // Due to Double precision problems, this may iterate for ever
831                           * If a maxExtend is set, we have to honour that...                  {
832                           */                          
833                            if (newArea.equals(lastCalculatedArea))
834                                    break;
835                            // Check that we are not iterating for ever due to double precision rounding errors
836                            lastCalculatedArea = newArea;
837                            
838                          // Exceeds top? Move down and maybe cut                          // Exceeds top? Move down and maybe cut
839                          if (newArea.getMaxY() > maxAllowedExtend.getMaxY()) {                          if (newArea.getMaxY() > maxAllowedExtend.getMaxY()) {
840                                  final double divY = newArea.getMaxY()                                  final double divY = newArea.getMaxY()
# Line 925  public class XMapPane extends JPanel { Line 938  public class XMapPane extends JPanel {
938                                                                          .getCoordinateReferenceSystem()), false);                                                                          .getCoordinateReferenceSystem()), false);
939                                  }                                  }
940                          }                          }
941                            
942                            
943                  }                  }
944    
945                  return new ReferencedEnvelope(newArea, env                  return new ReferencedEnvelope(newArea, env
# Line 2235  public class XMapPane extends JPanel { Line 2250  public class XMapPane extends JPanel {
2250                  SwingUtil.clearAround(finalG, painedArea, getVisibleRect(),                  SwingUtil.clearAround(finalG, painedArea, getVisibleRect(),
2251                                  getMapBackgroundColor());                                  getMapBackgroundColor());
2252    
2253                  // addGadgets(finalG, false);                   addGadgets(finalG, false);
2254    
2255                  finalG.dispose();                  finalG.dispose();
2256    

Legend:
Removed from v.660  
changed lines
  Added in v.677

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26