protected void writeConstructorParams(DataOutput out) throws IOException {
   super.writeConstructorParams(out);
   out.writeInt(((ImageComponent) node).getFormat());
   out.writeInt(((ImageComponent) node).getHeight());
   out.writeInt(((ImageComponent) node).getWidth());
   out.writeBoolean(((ImageComponent) node).isByReference());
   out.writeBoolean(((ImageComponent) node).isYUp());
 }
示例#2
0
 public void writeConstructorParams(DataOutput out) throws IOException {
   super.writeConstructorParams(out);
   out.writeInt(((Texture) node).getMipMapMode());
   out.writeInt(((Texture) node).getWidth());
   out.writeInt(((Texture) node).getHeight());
   out.writeInt(((Texture) node).getFormat());
   out.writeInt(((Texture) node).getBoundaryWidth());
 }
示例#3
0
  @Override
  public void writeConstructorParams(DataOutput out) throws IOException {
    super.writeConstructorParams(out);

    // issue 483: init the node
    Font3D font3D = (Font3D) node;
    font = font3D.getFont();

    out.writeUTF(font.getFontName());
    out.writeInt(font.getStyle());
    out.writeInt(font.getSize());
    out.writeDouble(font3D.getTessellationTolerance());

    // issue 483
    extrudePath = new FontExtrusion();
    font3D.getFontExtrusion(extrudePath);
    if (extrudePath.getExtrusionShape() == null) {
      extrudePath = null;
    }

    if (extrudePath != null) {
      Shape shape = extrudePath.getExtrusionShape();
      if (shape != null) {
        PathIterator shapePath = shape.getPathIterator(null);
        float[] coords = new float[6];
        int segType;
        int points;
        while (!(shapePath.isDone())) {
          // Get type of current path segment and associated
          // coordinates
          segType = shapePath.currentSegment(coords);
          out.writeInt(segType);

          // Write out relevant coordinates
          points = 0;
          if (segType == PathIterator.SEG_MOVETO) points = 1;
          else if (segType == PathIterator.SEG_LINETO) points = 1;
          else if (segType == PathIterator.SEG_QUADTO) points = 2;
          else if (segType == PathIterator.SEG_CUBICTO) points = 3;

          for (int i = 0; i < points; i++) {
            out.writeFloat(coords[i * 2 + 0]);
            out.writeFloat(coords[i * 2 + 1]);
          }

          // Next segment
          if (!(shapePath.isDone())) shapePath.next();
        }
      }
      // Flag for end of path definition
      out.writeInt(Integer.MIN_VALUE);
      out.writeDouble(extrudePath.getTessellationTolerance());

    } else {
      out.writeInt(Integer.MIN_VALUE);
    }
  }