http://www.jpicedt.org

jpicedt.format.output.eepic
Class AbstractCurveFormatter

java.lang.Object
  extended by jpicedt.format.output.eepic.AbstractCurveFormatter
All Implemented Interfaces:
EepicConstants, LatexConstants, Formatter, PicObjectConstants

public class AbstractCurveFormatter
extends java.lang.Object
implements Formatter, PicObjectConstants, EepicConstants

Format an AbstractCurve, or any subclass of it, to the eepic format. Basically, a single \\path macro is used if the curve is a polygon, so that filling works properly. Otherwise we make use of \\qbezier, \\path and/or \\dashline macros.

Since:
jpicedt 1.4
Version:
$Id: AbstractCurveFormatter.java,v 1.4.2.1 2007/09/02 11:55:12 reynal Exp $

Author:
Sylvain Reynal

Field Summary
protected  AbstractCurve curve
          the Element this formater acts upon
protected  EepicFormatter factory
           
 
Fields inherited from interface jpicedt.graphic.model.PicObjectConstants
ARROW_GLOBAL_SCALE_LENGTH, ARROW_GLOBAL_SCALE_WIDTH, ARROW_INSET_SCALE, ARROW_LENGTH_SCALE, ARROW_WIDTH_LINEWIDTH_SCALE, ARROW_WIDTH_MINIMUM_MM, BRACKET_LENGTH_SCALE, CROSSHATCH, CROSSHATCH_FILLED, DASH_OPAQUE, DASH_TRANSPARENT, DASH1, DASH2, DASH3, DASHED, DIMEN, DOT_SEP, DOT_SEP1, DOT_SEP2, DOT_SEP3, DOTTED, DOUBLE_COLOR, DOUBLE_LINE, DOUBLE_SEP, FILL_COLOR, FILL_STYLE, HATCH_ANGLE, HATCH_COLOR, HATCH_SEP, HATCH_WIDTH, HLINES, HLINES_FILLED, INNER, LEFT_ARROW, LINE_COLOR, LINE_STYLE, LINE_WIDTH, MIDDLE, NONE, OUTER, OVER_STRIKE, OVER_STRIKE_COLOR, OVER_STRIKE_WIDTH, POLYDOTS_ANGLE, POLYDOTS_CIRCLE, POLYDOTS_DISK, POLYDOTS_PENTAGON, POLYDOTS_PENTAGON_FILLED, POLYDOTS_PLUS, POLYDOTS_SCALE_H, POLYDOTS_SCALE_V, POLYDOTS_SIZE_LINEWIDTH_SCALE, POLYDOTS_SIZE_MINIMUM_MM, POLYDOTS_SQUARE, POLYDOTS_SQUARE_FILLED, POLYDOTS_STYLE, POLYDOTS_SUPERIMPOSE, POLYDOTS_TRIANGLE, POLYDOTS_TRIANGLE_FILLED, PS_POINT, PST_CUSTOM, RBRACKET_LENGTH_SCALE, RIGHT_ARROW, SHADOW, SHADOW_ANGLE, SHADOW_COLOR, SHADOW_SIZE, SOLID, TBAR_WIDTH_LINEWIDTH_SCALE, TBAR_WIDTH_MINIMUM_MM, TEXT_BOX_CIRCLE, TEXT_BOX_NO_FRAME, TEXT_BOX_OVAL, TEXT_BOX_RECTANGLE, TEXT_FRAME, TEXT_HALIGN_CENTER, TEXT_HALIGN_LEFT, TEXT_HALIGN_RIGHT, TEXT_HOR_ALIGN, TEXT_ROTATION, TEXT_VALIGN_BASELINE, TEXT_VALIGN_BOTTOM, TEXT_VALIGN_CENTER, TEXT_VALIGN_TOP, TEXT_VERT_ALIGN, VLINES, VLINES_FILLED
 
Fields inherited from interface jpicedt.format.output.eepic.EepicConstants
DEFAULT_FILE_WRAPPER_EPILOG, DEFAULT_FILE_WRAPPER_PROLOG, DEFAULT_THICK_LINES_MAX_WIDTH, DEFAULT_THIN_LINES_MAX_WIDTH, KEY_FILE_WRAPPER_EPILOG, KEY_FILE_WRAPPER_PROLOG, KEY_THICK_LINES_MAXWIDTH, KEY_THIN_LINES_MAXWIDTH
 
Fields inherited from interface jpicedt.format.output.latex.LatexConstants
CR_LF, DEFAULT_EM_LINE_LENGTH, DEFAULT_MAX_CIRCLE_DIAMETER, DEFAULT_MAX_DISK_DIAMETER, DEFAULT_MAX_EM_CIRCLE_SEGMENT_LENGTH, DEFAULT_MAX_EM_LINE_SLOPE, KEY_EM_LINE_LENGTH, KEY_MAX_CIRCLE_DIAMETER, KEY_MAX_DISK_DIAMETER, KEY_MAX_EM_CIRCLE_SEGMENT_LENGTH, KEY_MAX_EM_LINE_SLOPE, RESCALING_TEX_FUNCTION
 
Constructor Summary
AbstractCurveFormatter(AbstractCurve curve, EepicFormatter factory)
           
 
Method Summary
 java.lang.String format()
          Returns a string representing this AbstractCurve using \\line and \\qbezier LaTeX macros only.
protected  java.lang.String formatCurve(java.lang.StringBuffer buf)
          formats curves containing at least one non-straight segment
protected  java.lang.String formatPolygon(java.lang.StringBuffer buf)
          Formats curves containing straight segments only
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

curve

protected AbstractCurve curve
the Element this formater acts upon


factory

protected EepicFormatter factory
Constructor Detail

AbstractCurveFormatter

public AbstractCurveFormatter(AbstractCurve curve,
                              EepicFormatter factory)
Method Detail

format

public java.lang.String format()
Returns a string representing this AbstractCurve using \\line and \\qbezier LaTeX macros only. Dashed style is allowed if all segments are straight, since \\qbezier does not support this style.

Specified by:
format in interface Formatter

formatCurve

protected java.lang.String formatCurve(java.lang.StringBuffer buf)
formats curves containing at least one non-straight segment


formatPolygon

protected java.lang.String formatPolygon(java.lang.StringBuffer buf)
Formats curves containing straight segments only


http://www.jpicedt.org

Submit a bug : syd@jpicedt.org