Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;

import java.awt.geom.GeneralPath;
import java.awt.geom.PathIterator;
import java.io.IOException;

import java.io.ObjectOutputStream;

public class Main {
    private static final int PATH_IS_DONE = -1;

    public static void writePath(GeneralPath path, ObjectOutputStream out) throws IOException {
        PathIterator i = path.getPathIterator(null);
        float[] data = new float[6];

        while (!i.isDone()) {
            switch (i.currentSegment(data)) {
            case PathIterator.SEG_MOVETO:
                out.writeInt(PathIterator.SEG_MOVETO);
                out.writeFloat(data[0]);
                out.writeFloat(data[1]);
                break;

            case PathIterator.SEG_LINETO:
                out.writeInt(PathIterator.SEG_LINETO);
                out.writeFloat(data[0]);
                out.writeFloat(data[1]);
                break;

            case PathIterator.SEG_QUADTO:
                out.writeInt(PathIterator.SEG_QUADTO);
                out.writeFloat(data[0]);
                out.writeFloat(data[1]);
                out.writeFloat(data[2]);
                out.writeFloat(data[3]);
                break;

            case PathIterator.SEG_CUBICTO:
                out.writeInt(PathIterator.SEG_CUBICTO);
                out.writeFloat(data[0]);
                out.writeFloat(data[1]);
                out.writeFloat(data[2]);
                out.writeFloat(data[3]);
                out.writeFloat(data[4]);
                out.writeFloat(data[5]);
                break;

            case PathIterator.SEG_CLOSE:
                out.writeInt(PathIterator.SEG_CLOSE);
                break;

            default:
                throw new IOException();
            }

            i.next();
        }

        out.writeInt(PATH_IS_DONE);
    }
}