Package org.geomajas.configuration

Examples of org.geomajas.configuration.SymbolInfo


        geom = feature.getClippedGeometry();
      }
      geom = transformer.transform(geom);
      if (isPointLike(feature)) {
        if (feature.getStyleInfo().getSymbol() != null) {
          SymbolInfo info = feature.getStyleInfo().getSymbol();
          for (Coordinate coordinate : geom.getCoordinates()) {
            if (info.getRect() != null) {
              writeRectangle(document, coordinate, feature, info.getRect());
            } else if (info.getCircle() != null) {
              RectInfo rectInfo = new RectInfo();
              rectInfo.setW(info.getCircle().getR() * 2);
              rectInfo.setH(info.getCircle().getR() * 2);
              writeRectangle(document, coordinate, feature, rectInfo);
            } else if (info.getImage() != null) {
              writeImage(document, coordinate, feature, info.getImage());
            }
          }
        }
      } else {
        document.writeObject(geom, asChild);
View Full Code Here


  public PointDrawController(MapWidget mapWidget, AbstractFreeDrawingController parent) {
    super(mapWidget, parent);
    factory = new GeometryFactory(mapWidget.getMapModel().getSrid(), mapWidget.getMapModel().getPrecision());
    geometry = factory.createPoint(new Coordinate());
    drawStyle = new ShapeStyle("#FF7F00", 0.3f, "#FF7F00", 1, 2);
    symbolStyle = new SymbolInfo();
    CircleInfo c = new CircleInfo();
    symbolStyle.setCircle(c);
    c.setR(8);
  }
View Full Code Here

    MultiPolygon mp = gf.createMultiPolygon(new Polygon[] {p1, p2});
    worldGeometry.setStyle(new ShapeStyle("#FF0000", 0.5f, "#FF0000", 1.0f, 2));
    worldGeometry.setGeometry(mp);

    final GfxGeometry worldGeometry2 = new GfxGeometry("MultiPointInWorldSpace");
    SymbolInfo si = new SymbolInfo();
    CircleInfo ci = new CircleInfo();
    ci.setR(8.0f);
    si.setCircle(ci);
    Point pt1 = gf.createPoint(new Coordinate(6000000, -5000000));
    Point pt2 = gf.createPoint(new Coordinate(8000000, -5000000));
    Point pt3 = gf.createPoint(new Coordinate(7000000, -7000000));
    worldGeometry2.setStyle(new ShapeStyle("#0000FF", 0.3f, "#0000FF", 1.0f, 2));
    worldGeometry2.setGeometry(gf.createMultiPoint(new Point[] {pt1, pt2, pt3}));
View Full Code Here

        Image img = context.getImage("/images/layer-raster.png");
        context.drawImage(img, iconRect, null);
        break;
      case POINT:
      case MULTIPOINT:
        SymbolInfo symbol = styleInfo.getSymbol();
        if (symbol.getImage() != null) {
          try {
            Image pointImage = Image.getInstance(symbol.getImage().getHref());
            context.drawImage(pointImage, iconRect, iconRect);
          } catch (Exception ex) {
            log.error("Not able to create image for POINT Symbol", ex);
          }
        } else if (symbol.getRect() != null) {
          context.fillRectangle(iconRect, fillColor);
          context.strokeRectangle(iconRect, strokeColor, baseWidth / 2);
        } else {
          context.fillEllipse(iconRect, fillColor);
          context.strokeEllipse(iconRect, strokeColor, baseWidth / 2);
View Full Code Here

    }
    return symbolizer;
  }

  private GraphicalSymbol createSymbol(FeatureStyleInfo featureStyle) {
    SymbolInfo info = featureStyle.getSymbol();
    if (info.getImage() != null) {
      return styleBuilder.createExternalGraphic(getURL(info.getImage().getHref()),
          getFormat(info.getImage().getHref()));
    } else {
      Mark mark = null;
      if (info.getRect() != null) {
        // TODO: do rectangles by adding custom factory ?
        mark = styleBuilder.createMark("square");
        mark.setSize(styleBuilder.literalExpression((int) info.getRect().getW()));
      } else if (info.getCircle() != null) {
        mark = styleBuilder.createMark("circle");
        mark.setSize(styleBuilder.literalExpression(2 * (int) info.getCircle().getR()));
      }
      mark.setFill(createFill(featureStyle));
      mark.setStroke(createStroke(featureStyle));
      return mark;
    }
View Full Code Here

      }
    }
  }

  private float getSymbolHeight(InternalFeature f) {
    SymbolInfo info = f.getStyleInfo().getSymbol();
    if (info.getCircle() != null) {
      return 2 * info.getCircle().getR();
    } else {
      return info.getRect().getH();
    }
  }
View Full Code Here

      }
    }

    float lineWidth = style.getStrokeWidth();

    SymbolInfo symbol = null;
    if (f.getGeometry() instanceof MultiPoint || f.getGeometry() instanceof Point) {
      symbol = style.getSymbol();
    }
    // transform to user space
    f.getGeometry().apply(new MapToUserFilter());
View Full Code Here

    return namedStyleInfo;
  }

  private void convertSymbol(FeatureStyleInfo featureStyleInfo, PointSymbolizerInfo pointInfo) {
    GraphicInfo graphic = pointInfo.getGraphic();
    SymbolInfo symbol = new SymbolInfo();

    if (graphic.getChoiceList().size() > 0) {
      ChoiceInfo choice = graphic.getChoiceList().get(0);
      if (choice.ifExternalGraphic()) {
        ExternalGraphicInfo externalGraphic = choice.getExternalGraphic();
        String href = externalGraphic.getOnlineResource().getHref().getHref();
        ImageInfo image = new ImageInfo();
        image.setHref(href);
        // SLD has no selection concept + no default: what to do ?
        image.setSelectionHref(href);
        image.setHeight((int) Float.parseFloat(getParameterValue(graphic.getSize())));
        symbol.setImage(image);
      } else if (choice.ifMark()) {
        MarkInfo mark = choice.getMark();
        String name = mark.getWellKnownName().getWellKnownName();
        if (name.equalsIgnoreCase("square")) {
          RectInfo rect = new RectInfo();
          rect.setH(Float.parseFloat(getParameterValue(graphic.getSize())));
          rect.setW(Float.parseFloat(getParameterValue(graphic.getSize())));
          symbol.setRect(rect);
        } else {
          // should treat everything else as circle ?!
          CircleInfo circle = new CircleInfo();
          circle.setR(0.5F * Float.parseFloat(getParameterValue(graphic.getSize())));
          symbol.setCircle(circle);
        }
        convertFill(featureStyleInfo, mark.getFill());
        convertStroke(featureStyleInfo, mark.getStroke());
      }
    }
View Full Code Here

        return;
      }
      symbolDefs.put(id, new SymbolDefinition(symbol, style));
      if (symbol.getImage() != null) {
        // When it's an image symbol, add an extra definition for it's selection:
        SymbolInfo selected = new SymbolInfo();
        ImageInfo selectedImage = new ImageInfo();
        selectedImage.setHref(symbol.getImage().getSelectionHref());
        selectedImage.setWidth(symbol.getImage().getWidth());
        selectedImage.setHeight(symbol.getImage().getHeight());
        selected.setImage(selectedImage);
        symbolDefs.put(id + "-selection", new SymbolDefinition(selected, null));
      }
    }
  }
View Full Code Here

        return;
      }
      if (style == null) {
        style = definition.getStyle();
      }
      SymbolInfo symbol = definition.getSymbol();
      if (symbol.getRect() != null) {
        Element rect = helper.createOrUpdateElement(parent, name, "rect", style);

        // Real position is the upper left corner of the rectangle:
        float w = symbol.getRect().getW();
        float h = symbol.getRect().getH();
        applyAbsolutePosition(rect, new Coordinate(position.getX() - 0.5 * w, position.getY() - 0.5 * h));

        // width and height
        applyElementSize(rect, (int) w, (int) h, false);

      } else if (symbol.getCircle() != null) {
        Element circle = helper.createOrUpdateElement(parent, name, "oval", style);

        // Real position is the upper left corner of the circle:
        float radius = symbol.getCircle().getR();
        applyAbsolutePosition(circle, new Coordinate(position.getX() - radius, position.getY() - radius));

        // width and height are both radius*2
        int size = (int) (2 * radius);
        applyElementSize(circle, size, size, false);
      } else if (symbol.getImage() != null) {
        // Creating an image; ignoring style....
        Element image = helper.createOrUpdateElement(parent, name, "image", null);
        DOM.setElementAttribute(image, "src", symbol.getImage().getHref());
        int width = symbol.getImage().getWidth();
        int height = symbol.getImage().getHeight();
        applyElementSize(image, width, height, false);
        applyAbsolutePosition(image, new Coordinate(position.getX() - Math.round(width / 2), position.getY()
            - Math.round(height / 2)));
      }
    }
View Full Code Here

TOP

Related Classes of org.geomajas.configuration.SymbolInfo

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.