Package com.cburch.draw.model

Examples of com.cburch.draw.model.AbstractCanvasObject


public class AppearanceSvgReader {
  public static AbstractCanvasObject createShape(Element elt, Map<Location, Instance> pins) {
    String name = elt.getTagName();
    if (name.equals("circ-anchor") || name.equals("circ-origin")) {
      Location loc = getLocation(elt);
      AbstractCanvasObject ret = new AppearanceAnchor(loc);
      if (elt.hasAttribute("facing")) {
        Direction facing = Direction.parse(elt.getAttribute("facing"));
        ret.setValue(AppearanceAnchor.FACING, facing);
      }
      return ret;
    } else if (name.equals("circ-port")) {
      Location loc = getLocation(elt);
      String[] pinStr = elt.getAttribute("pin").split(",");
View Full Code Here


 
  private static final Pattern PATH_REGEX = Pattern.compile("[a-zA-Z]|[-0-9.]+");
 
  public static AbstractCanvasObject createShape(Element elt) {
    String name = elt.getTagName();
    AbstractCanvasObject ret;
    if (name.equals("ellipse")) {
      ret = createOval(elt);
    } else if (name.equals("line")) {
      ret = createLine(elt);
    } else if (name.equals("path")) {
      ret = createPath(elt);
    } else if (name.equals("polyline")) {
      ret = createPolyline(elt);
    } else if (name.equals("polygon")) {
      ret = createPolygon(elt);
    } else if (name.equals("rect")) {
      ret = createRectangle(elt);
    } else if (name.equals("text")) {
      ret = createText(elt);
    } else {
      return null;
    }
    List<Attribute<?>> attrs = ret.getAttributes();
    if (attrs.contains(DrawAttr.PAINT_TYPE)) {
      String stroke = elt.getAttribute("stroke");
      String fill = elt.getAttribute("fill");
      if (stroke.equals("") || stroke.equals("none")) {
        ret.setValue(DrawAttr.PAINT_TYPE, DrawAttr.PAINT_FILL);
      } else if (fill.equals("none")) {
        ret.setValue(DrawAttr.PAINT_TYPE, DrawAttr.PAINT_STROKE);
      } else {
        ret.setValue(DrawAttr.PAINT_TYPE, DrawAttr.PAINT_STROKE_FILL);
      }
    }
    attrs = ret.getAttributes(); // since changing paintType could change it
    if (attrs.contains(DrawAttr.STROKE_WIDTH) && elt.hasAttribute("stroke-width")) {
      Integer width = Integer.valueOf(elt.getAttribute("stroke-width"));
      ret.setValue(DrawAttr.STROKE_WIDTH, width);
    }
    if (attrs.contains(DrawAttr.STROKE_COLOR)) {
      String color = elt.getAttribute("stroke");
      String opacity = elt.getAttribute("stroke-opacity");
      if (!color.equals("none")) {
        ret.setValue(DrawAttr.STROKE_COLOR, getColor(color, opacity));
      }
    }
    if (attrs.contains(DrawAttr.FILL_COLOR)) {
      String color = elt.getAttribute("fill");
      if (color.equals("")) color = "#000000";
      String opacity = elt.getAttribute("fill-opacity");
      if (!color.equals("none")) {
        ret.setValue(DrawAttr.FILL_COLOR, getColor(color, opacity));
      }
    }
    return ret;
  }
View Full Code Here

    int x = Integer.parseInt(elt.getAttribute("x"));
    int y = Integer.parseInt(elt.getAttribute("y"));
    int w = Integer.parseInt(elt.getAttribute("width"));
    int h = Integer.parseInt(elt.getAttribute("height"));
    if (elt.hasAttribute("rx")) {
      AbstractCanvasObject ret = new RoundRectangle(x, y, w, h);
      int rx = Integer.parseInt(elt.getAttribute("rx"));
      ret.setValue(DrawAttr.CORNER_RADIUS, Integer.valueOf(rx));
      return ret;
    } else {
      return new Rectangle(x, y, w, h);
    }
  }
View Full Code Here

      }
     
      List<AbstractCanvasObject> shapes = new ArrayList<AbstractCanvasObject>();
      for (Element sub : XmlIterator.forChildElements(appearElt)) {
        try {
          AbstractCanvasObject m = AppearanceSvgReader.createShape(sub, pins);
          if (m == null) {
            addError(Strings.get("fileAppearanceNotFound", sub.getTagName()),
                context + "." + sub.getTagName());
          } else {
            shapes.add(m);
View Full Code Here

    throw new IllegalArgumentException(attr.toString());
  }
 
 
  public <E extends CanvasObject> E applyTo(E drawable) {
    AbstractCanvasObject d = (AbstractCanvasObject) drawable;
    // use a for(i...) loop since the attribute list may change as we go on
    for (int i = 0; i < d.getAttributes().size(); i++) {
      Attribute<?> attr = d.getAttributes().get(i);
      @SuppressWarnings("unchecked")
      Attribute<Object> a = (Attribute<Object>) attr;
      if (attr == DrawAttr.FILL_COLOR
          && this.containsAttribute(DrawAttr.TEXT_DEFAULT_FILL)) {
        d.setValue(a, this.getValue(DrawAttr.TEXT_DEFAULT_FILL));
      } else if (this.containsAttribute(a)) {
        Object value = this.getValue(a);
        d.setValue(a, value);
      }
    }
    return drawable;
  }
View Full Code Here

        throw new IllegalArgumentException(attr.toString());
    }


    public <E extends CanvasObject> E applyTo(E drawable) {
        AbstractCanvasObject d = (AbstractCanvasObject) drawable;
        for (int i = 0; i < d.getAttributes().size(); i++) {
            Attribute<?> attr = d.getAttributes().get(i);
            @SuppressWarnings("unchecked")
            Attribute<Object> a = (Attribute<Object>) attr;
            if (attr == DrawAttr.FILL_COLOR
                    && this.containsAttribute(DrawAttr.TEXT_DEFAULT_FILL)) {
                d.setValue(a, this.getValue(DrawAttr.TEXT_DEFAULT_FILL));
            } else if (this.containsAttribute(a)) {
                Object value = this.getValue(a);
                d.setValue(a, value);
            }
        }
        return drawable;
    }
View Full Code Here

public class AppearanceSvgReader {
    public static AbstractCanvasObject createShape(Element elt, Map<Location, Instance> pins) {
        String name = elt.getTagName();
        if (name.equals("circ-anchor") || name.equals("circ-origin")) {
            Location loc = getLocation(elt);
            AbstractCanvasObject ret = new AppearanceAnchor(loc);
            if (elt.hasAttribute("facing")) {
                Direction facing = Direction.parse(elt.getAttribute("facing"));
                ret.setValue(AppearanceAnchor.FACING, facing);
            }
            return ret;
        } else if (name.equals("circ-port")) {
            Location loc = getLocation(elt);
            String[] pinStr = elt.getAttribute("pin").split(",");
View Full Code Here

            }

            List<AbstractCanvasObject> shapes = new ArrayList<AbstractCanvasObject>();
            for (Element sub : XmlIterator.forChildElements(appearElt)) {
                try {
                    AbstractCanvasObject m = AppearanceSvgReader.createShape(sub, pins);
                    if (m == null) {
                        addError(getFromLocale("fileAppearanceNotFound", sub.getTagName()),
                                context + "." + sub.getTagName());
                    } else {
                        shapes.add(m);
View Full Code Here

TOP

Related Classes of com.cburch.draw.model.AbstractCanvasObject

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.