package latexDraw.parsers.svg.elements.path;
/**
* Defines the SVGPath smooth curveto segment.<br>
*<br>
* This file is part of LaTeXDraw.<br>
* Copyright (c) 2005-2008 Arnaud BLOUIN<br>
*<br>
* LaTeXDraw is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.<br>
*<br>
* LaTeXDraw is distributed without any warranty; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.<br>
*<br>
* 10/20/07<br>
* @author Arnaud BLOUIN<br>
* @version 0.1<br>
* @since 0.1
*/
public class SVGPathSegCurvetoCubicSmooth extends SVGPathSeg
{
/** The X-coordinate of the second point of the curve. @since 0.1 */
protected double x;
/** The Y-coordinate of the second point of the curve. @since 0.1 */
protected double y;
/** The x-coordinate of the second control point. @since 0.1 */
protected double x2;
/** The y-coordinate of the second control point. @since 0.1 */
protected double y2;
/**
* The main constructor.
* @param x The X-coordinate of the second point of the curve.
* @param y The Y-coordinate of the second point of the curve.
* @param x2 The x-coordinate of the second control point.
* @param y2 The y-coordinate of the second control point.
* @param isRelative isRelative True: the path segment is relative, false it is absolute.
*/
public SVGPathSegCurvetoCubicSmooth(double x, double y, double x2, double y2, boolean isRelative)
{
super(isRelative);
this.x = x;
this.y = y;
this.x2 = x2;
this.y2 = y2;
}
@Override
public String toString()
{
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append((isRelative() ? "s" : "S"));//$NON-NLS-1$//$NON-NLS-2$
stringBuffer.append(' ');
stringBuffer.append(x2);
stringBuffer.append(' ');
stringBuffer.append(y2);
stringBuffer.append(' ');
stringBuffer.append(x);
stringBuffer.append(' ');
stringBuffer.append(y);
return stringBuffer.toString();
}
/**
* @return the x.
* @since 0.1
*/
public double getX()
{
return x;
}
/**
* @return the y.
* @since 0.1
*/
public double getY()
{
return y;
}
/**
* @return the x2.
* @since 0.1
*/
public double getX2()
{
return x2;
}
/**
* @return the y2.
* @since 0.1
*/
public double getY2()
{
return y2;
}
@Override
public PathSeg getType()
{
return isRelative() ? PathSeg.CURVETO_CUBIC_SMOOTH_REL : PathSeg.CURVETO_CUBIC_SMOOTH_ABS;
}
}
|