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

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

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

branches/2.0-RC2/src/skrueger/geotools/LegendIconFeatureRenderer.java revision 621 by alfonx, Thu Jan 28 10:06:05 2010 UTC trunk/src/skrueger/geotools/LegendIconFeatureRenderer.java revision 1231 by alfonx, Thu Nov 4 00:53:20 2010 UTC
# Line 25  Line 25 
25   *   *
26   * Contributors:   * Contributors:
27   *     Martin O. J. Schmitz - initial API and implementation   *     Martin O. J. Schmitz - initial API and implementation
28   *     Stefan A. Krüger - additional utility classes   *     Stefan A. Tzeggai - additional utility classes
29   ******************************************************************************/   ******************************************************************************/
30  /**  /**
31   Copyright 2008 Stefan Alfons Krüger and parts from some Geotools code     Copyright 2008 Stefan Alfons Tzeggai and parts from some Geotools code  
32    
33   atlas-framework - This file is part of the Atlas Framework   atlas-framework - This file is part of the Atlas Framework
34    
35   This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.   This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
# Line 87  import com.vividsolutions.jts.geom.Polyg Line 87  import com.vividsolutions.jts.geom.Polyg
87   * <ul>   * <ul>
88   * <li>07.02.2008:<br>   * <li>07.02.2008:<br>
89   * Determining the default values of a {@link SimpleFeatureType} by   * Determining the default values of a {@link SimpleFeatureType} by
90   * {@link FeatureUtil#getDefaultAttributeValues(SimpleFeatureType)} instead of using   * {@link FeatureUtil#getDefaultAttributeValues(SimpleFeatureType)} instead of
91   * {@link AttributeDescriptor#createDefaultValue()} directly, because the latter   * using {@link AttributeDescriptor#createDefaultValue()} directly, because the
92   * returns {@code null} even though the attribut is not nillable.</li>   * latter returns {@code null} even though the attribut is not nillable.</li>
93   * </ul>   * </ul>
94   *   *
95   * @author Stefan Alfons Krüger   * @author Stefan Alfons Tzeggai
96   */   */
97  public class LegendIconFeatureRenderer extends DefaultTreeCellRenderer {  public class LegendIconFeatureRenderer extends DefaultTreeCellRenderer {
98  //      private static final Dimension SIZE = new Dimension(30,20);          // private static final Dimension SIZE = new Dimension(30,20);
99    
100          Logger LOGGER = Logger.getLogger(LegendIconFeatureRenderer.class);          Logger LOGGER = Logger.getLogger(LegendIconFeatureRenderer.class);
101    
# Line 109  public class LegendIconFeatureRenderer e Line 109  public class LegendIconFeatureRenderer e
109    
110          public static LegendIconFeatureRenderer getInstance() {          public static LegendIconFeatureRenderer getInstance() {
111                  // In GT 2.4.5 it we have to create a new one all the time!                  // In GT 2.4.5 it we have to create a new one all the time!
112                    
113                  // TODO TEST, whether we still need to recreate the renderer here....                  // TODO TEST, whether we still need to recreate the renderer here....
114                  // TODO TEST, whether we still need to recreate the renderer here....                  // TODO TEST, whether we still need to recreate the renderer here....
115                  // TODO TEST, whether we still need to recreate the renderer here....                  // TODO TEST, whether we still need to recreate the renderer here....
# Line 119  public class LegendIconFeatureRenderer e Line 119  public class LegendIconFeatureRenderer e
119                  // TODO TEST, whether we still need to recreate the renderer here....                  // TODO TEST, whether we still need to recreate the renderer here....
120                  // TODO TEST, whether we still need to recreate the renderer here....                  // TODO TEST, whether we still need to recreate the renderer here....
121                  return new LegendIconFeatureRenderer();                  return new LegendIconFeatureRenderer();
122  //               return instance;                  // return instance;
123          }          }
124    
125          /**          /**
# Line 222  public class LegendIconFeatureRenderer e Line 222  public class LegendIconFeatureRenderer e
222                                                  legendHeight / 2);                                                  legendHeight / 2);
223    
224                                  try {                                  try {
225                                          this.samplePoint = new LiteShape2(geomFac                                          this.samplePoint = new LiteShape2(
226                                                          .createPoint(coord), null, null, false);                                                          geomFac.createPoint(coord), null, null, false);
227                                  } catch (Exception e) {                                  } catch (Exception e) {
228                                          this.samplePoint = null;                                          this.samplePoint = null;
229                                  }                                  }
# Line 236  public class LegendIconFeatureRenderer e Line 236  public class LegendIconFeatureRenderer e
236                  }                  }
237                  return sampleShape;                  return sampleShape;
238          }          }
239            
240          /**          /**
241           * Creates a little BufferedImage that presents the Style/Symbols used by           * Creates a little BufferedImage that presents the Style/Symbols used by
242           * the {@link MapLegend} to show a legend for the {@link SimpleFeatureType}           * the {@link MapLegend} to show a legend for the {@link SimpleFeatureType}
# Line 244  public class LegendIconFeatureRenderer e Line 244  public class LegendIconFeatureRenderer e
244           * @param rule           * @param rule
245           *            {@link Rule} that provides the text and the style to present           *            {@link Rule} that provides the text and the style to present
246           * @param featureType           * @param featureType
247           *            Schema that describes the kind of the sample {@link SimpleFeature}           *            Schema that describes the kind of the sample
248           *            that will be rendered with the {@link Style}           *            {@link SimpleFeature} that will be rendered with the
249             *            {@link Style}
250           * @param bg           * @param bg
251           *            Background {@link Color} or <code>null</code>           *            Background {@link Color} or <code>null</code>
252           *           *
253           * @throws IllegalAttributeException           * @throws IllegalAttributeException
254           */           */
255          public BufferedImage createImageForRule(Rule rule, SimpleFeatureType featureType,          public BufferedImage createImageForRule(Rule rule,
256                          Dimension size, Color bg) {                          SimpleFeatureType featureType, Dimension size, Color bg) {
257    
258                  Symbolizer[] symbolizers = rule.getSymbolizers();                  Symbolizer[] symbolizers = rule.getSymbolizers();
259    
# Line 262  public class LegendIconFeatureRenderer e Line 263  public class LegendIconFeatureRenderer e
263    
264                  if (bg != null) {                  if (bg != null) {
265                          // ****************************************************************************                          // ****************************************************************************
266                          // The following lines define the backgroup color for the rendered                          // The following lines define the background color for the rendered
267                          // images                          // images
268                          // ****************************************************************************                          // ****************************************************************************
269                          graphics.setBackground(bg);                          graphics.setBackground(bg);
# Line 273  public class LegendIconFeatureRenderer e Line 274  public class LegendIconFeatureRenderer e
274                  // Enable anti-aliasing for the legend symbols                  // Enable anti-aliasing for the legend symbols
275                  graphics.setRenderingHints(getHints());                  graphics.setRenderingHints(getHints());
276    
277                  // TODO scaleDenominator = 100000000000000000000000000000d; Was ist das                  final NumberRange<Integer> scaleRange = NumberRange.create(
278                  // fuer ein Quatsch?                                  Integer.MAX_VALUE, Integer.MAX_VALUE);
                 final NumberRange<Integer> scaleRange = NumberRange.create(Integer.MAX_VALUE,Integer.MAX_VALUE);  
279    
280                  try {                  try {
281    
# Line 283  public class LegendIconFeatureRenderer e Line 283  public class LegendIconFeatureRenderer e
283                                  Symbolizer symbolizer = symbolizers[sIdx];                                  Symbolizer symbolizer = symbolizers[sIdx];
284    
285                                  if (symbolizer instanceof TextSymbolizer) {                                  if (symbolizer instanceof TextSymbolizer) {
                                         LOGGER  
                                                         .warn("createImageForRule for a TextSymbolizer. Sure we want that?");  
286                                          continue;                                          continue;
287                                  }                                  }
288    
# Line 293  public class LegendIconFeatureRenderer e Line 291  public class LegendIconFeatureRenderer e
291                                  // RasterSymbolizers..");                                  // RasterSymbolizers..");
292                                  // }                                  // }
293                                  // else                                  // else
294                                  final SimpleFeature sampleFeature = FeatureUtil.createSampleFeature(featureType);                                  final SimpleFeature sampleFeature = FeatureUtil
295                                                    .createSampleFeature(featureType);
296    
297                                    if (sampleFeature == null)
298                                            LOGGER.debug("sampleFeature " + sampleFeature);
299    
300                                  // The SLDStyleFactory has to be recreated, as it seams to cache                                  // The SLDStyleFactory has to be recreated, as it seams to cache
301                                  // some stuff.                                  // some stuff.
# Line 305  public class LegendIconFeatureRenderer e Line 307  public class LegendIconFeatureRenderer e
307                                                  size.height);                                                  size.height);
308    
309                                  if (style2d != null) {                                  if (style2d != null) {
310                                          new StyledShapePainter(null).paint(graphics, shape,                                          StyledShapePainter styledShapePainter = new StyledShapePainter(null);
311                                                          style2d, Integer.MAX_VALUE );                                          styledShapePainter.paint(graphics, shape,
312                                                            style2d, Integer.MAX_VALUE);
313                                  }                                  }
314                          }                          }
315                  } catch (Exception e) {                  } catch (Exception e) {
316                          LOGGER                          LOGGER.error(
317                                          .error(                                          "Error during createImageForRule, returning empty Image", e);
                                                         "Error during createImageForRule, returning empty Image",  
                                                         e);  
318                  }                  }
319                  return buffImage;                  return buffImage;
320          }          }
# Line 322  public class LegendIconFeatureRenderer e Line 323  public class LegendIconFeatureRenderer e
323           * Define Java2D and other Hints           * Define Java2D and other Hints
324           *           *
325           * @param hints           * @param hints
326           * @author <a href="mailto:[email protected]">Stefan Alfons           * @author <a href="mailto:[email protected]">Stefan Alfons Tzeggai</a>
          *         Kr&uuml;ger</a>  
327           */           */
328          public void setHints(Hints hints) {          public void setHints(Hints hints) {
329                  getHints().add(hints);                  getHints().add(hints);
# Line 353  public class LegendIconFeatureRenderer e Line 353  public class LegendIconFeatureRenderer e
353           * @param rule           * @param rule
354           *            {@link Rule} that provides the text and the style to present           *            {@link Rule} that provides the text and the style to present
355           * @param featureType           * @param featureType
356           *            Schema that describes the kind of the sample {@link SimpleFeature}           *            Schema that describes the kind of the sample
357           *            that will be rendered with the {@link Style}           *            {@link SimpleFeature} that will be rendered with the
358             *            {@link Style}
359           *           *
360           * @throws IllegalAttributeException           * @throws IllegalAttributeException
361           */           */

Legend:
Removed from v.621  
changed lines
  Added in v.1231

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26