package de.duehl.vocabulary.japanese.ui.dialog.kanji.stroke.partial;

/**
 * Diese Klasse stellt einen Punkt innerhalb der approximierten Pfadgeometrie dar.
 *
 * @version 1.01     2026-08-21
 * @author Christian Dühl
 */

class PartialPoint {

    /** Die x-Koordinate des Punktes. */
    private final double x;

    /** Die y-Koordinate des Punktes. */
    private final double y;

    /** Gibt an, ob der Punkt mit moveTo() statt lineTo() erzeugt wurde. */
    private final boolean moveTo;

    /**
     * Konstruktor.
     *
     * @param x
     *            Die x-Koordinate des Punktes.
     * @param y
     *            Die y-Koordinate des Punktes.
     * @param moveTo
     *            Gibt an, ob der Punkt mit moveTo() statt lineTo() erzeugt wurde.
     */
    PartialPoint(double x, double y, boolean moveTo) {
        this.x = x;
        this.y = y;
        this.moveTo = moveTo;
    }

    /** Getter für die x-Koordinate des Punktes. */
    public double getX() {
        return x;
    }

    /** Getter für die y-Koordinate des Punktes. */
    public double getY() {
        return y;
    }

    /** Gibt an, ob der Punkt mit moveTo() statt lineTo() erzeugt wurde. */
    public boolean isMoveTo() {
        return moveTo;
    }

    @Override
    public String toString() {
        return "PartialPoint [x=" + x + ", y=" + y + ", moveTo=" + moveTo + "]";
    }

}
