jfig.objects
Class FigAttribs

java.lang.Object
  extended byjfig.objects.FigAttribs
All Implemented Interfaces:
java.lang.Cloneable

public class FigAttribs
extends java.lang.Object
implements java.lang.Cloneable

collects all attributes of jfig objects.

FigAttribs encapsulates all attribute variables of jfig objects and some related editor attributes, including FIG 3.1 and FIG 3.2 format stuff. Note that all graphical objects in jfig share the same attribute data structure (instances of this class). This allows many editor commands to treat all objects the same, but implies a certain memory inefficiency, because all objects carry all attributes: Texts have unused arrow attributes, lines carry unused font info, etc.


Field Summary
static int ARC_ARROW
           
static int ARC_FILL_ARROW
           
 double arrow_b_Length
           
 int arrow_b_Style
           
 double arrow_b_Thickness
           
 double arrow_b_Width
           
 double arrow_f_Length
           
 int arrow_f_Style
           
 double arrow_f_Thickness
           
 double arrow_f_Width
           
 int arrowMode
           
static int BACK_ARROW
           
static int BACK_FILL_ARROW
           
static int BACKWARD_ARROW
           
static int BOTTOM_ALIGN
           
static int CAP_BUTT
           
static int CAP_PROJECTING
           
static int CAP_ROUND
           
static int CENTER_X_ALIGN
           
static int CENTER_Y_ALIGN
           
static int CenterJustification
           
 int cornerRadius
           
 int currentLayer
           
static int DASH_DOT_LINE
           
static int DASH_DOT2_LINE
           
static int DASH_DOT3_LINE
           
static int DASHED_LINE
           
 double dashLength
           
static double defaultDashLength
           
static int defaultFigVersion
           
static java.awt.Font defaultFont
           
static int defaultFontSize
           
static int DOTTED_LINE
           
static int DOUBLE_ARROW
           
static boolean enableJava2D
           
static double exportMagnification
           
static int FIG_20
           
static int FIG_21
           
static int FIG_30
           
static int FIG_31
           
static int FIG_32
           
 double fig_angle
           
 int fig_area_fill
           
 int fig_cap_style
           
 double fig_ellipse_angle
           
 int fig_ellipse_direction
           
 int fig_fill_color
           
 int fig_font
           
 int fig_font_flags
           
 int fig_join_style
           
static int fig_justification
           
 int fig_line_color
           
 int fig_line_style
           
static int fig_orientation
           
static int fig_origin
           
 int fig_pen_style
           
static int fig_resolution
           
 double fig_style_val
           
 double fig_text_height
           
 double fig_text_width
           
static int fig_units
           
 int figVersion
           
 java.awt.Color fillColor
           
 int fillStyle
           
static int FlushLeftJustification
           
static int FONT_AVANTGARDE_BOOK
           
static int FONT_AVANTGARDE_BOOK_DEMI
           
static int FONT_AVANTGARDE_BOOK_DEMI_OBLIQUE
           
static int FONT_AVANTGARDE_BOOK_OBLIQUE
           
static int FONT_BOOKMAN_LIGHT
           
static int FONT_BOOKMAN_LIGHT_DEMI
           
static int FONT_BOOKMAN_LIGHT_DEMI_ITALIC
           
static int FONT_BOOKMAN_LIGHT_ITALIC
           
static int FONT_COURIER
           
static int FONT_COURIER_BOLD
           
static int FONT_COURIER_BOLD_OBLIQUE
           
static int FONT_COURIER_OBLIQUE
           
static int FONT_HELVETICA
           
static int FONT_HELVETICA_BOLD
           
static int FONT_HELVETICA_BOLD_OBLIQUE
           
static int FONT_HELVETICA_NARROW
           
static int FONT_HELVETICA_NARROW_BOLD
           
static int FONT_HELVETICA_NARROW_BOLD_OBLIQUE
           
static int FONT_HELVETICA_NARROW_OBLIQUE
           
static int FONT_HELVETICA_OBLIQUE
           
static int FONT_NEW_CENTURY_SCHLBK_BOLD
           
static int FONT_NEW_CENTURY_SCHLBK_BOLD_ITALIC
           
static int FONT_NEW_CENTURY_SCHLBK_ITALIC
           
static int FONT_NEW_CENTURY_SCHLBK_ROMAN
           
static int FONT_PALATINO_BOLD
           
static int FONT_PALATINO_BOLD_ITALIC
           
static int FONT_PALATINO_ITALIC
           
static int FONT_PALATINO_ROMAN
           
static int FONT_SYMBOL
           
static int FONT_TIMES_ROMAN
           
static int FONT_TIMES_ROMAN_BOLD
           
static int FONT_TIMES_ROMAN_BOLD_ITALIC
           
static int FONT_TIMES_ROMAN_ITALIC
           
static int FONT_ZAPF_CHANCERY_MEDIUM_ITALIC
           
 int fontSize
           
static int FORWARD_ARROW
           
static java.lang.String[] HEADER_PAPER_SIZE
           
static java.lang.String HEADER_UNITS_INCHES
           
static java.lang.String HEADER_UNITS_METRIC
           
static int InchesUnits
           
static int JOIN_BEVEL
           
static int JOIN_MITER
           
static int JOIN_ROUND
           
static int Landscape
           
static int LEFT_ALIGN
           
static int LINE_WIDTH_0
           
static int LINE_WIDTH_1
           
static int LINE_WIDTH_2
           
static int LINE_WIDTH_3
           
static int LINE_WIDTH_4
           
static int LINE_WIDTH_5
           
static int LINE_WIDTH_6
           
static int LINE_WIDTH_7
           
static int LINE_WIDTH_8
           
static int LINE_WIDTH_9
           
 java.awt.Color lineColor
           
 int lineStyle
           
 double lineWidth
           
static int MetricUnits
           
static int NO_ALIGN
           
static int NO_ARROW
           
static int NO_FILL
           
 int objectAlign
           
static java.lang.String pageJustification
           
static java.lang.String pageOrientation
           
static java.lang.String pageUnits
           
static java.lang.String paperSize
           
static int PATTERN_FILL
           
static int Portrait
           
static int RIGHT_ALIGN
           
static int SIMPLE_ARROW
           
static java.lang.String singleOrMultipleSheets
           
static int SOLDERDOT_ARROW
           
static int SOLID_FILL
           
static int SOLID_LINE
           
 int textAlign
           
static int TOP_ALIGN
           
static int transparentColorIndex
           
static int TRIANGLE_ARROW
           
static int TRIANGLE_FILL_ARROW
           
static boolean updateAngleMask
           
static boolean updateArrowModeMask
           
static boolean updateArrowStyleMask
           
static boolean updateCornerRadiusMask
           
static boolean updateFillColorMask
           
static boolean updateFillStyleMask
           
static boolean updateFontFlagMask
           
static boolean updateFontMask
           
static boolean updateFontSizeMask
           
static boolean updateLayerMask
           
static boolean updateLineColorMask
           
static boolean updateLineStyleMask
           
static boolean updateLineWidthMask
           
static boolean updateTextAlignMask
           
static boolean updateTextMask
           
static int XMMUnits
           
 
Constructor Summary
FigAttribs()
          the default attributes constructor.
 
Method Summary
 FigAttribs getClone()
          construct and exact clone of all our attribute settings and attribute masks.
static void initializeFromProperties(java.util.Properties pp)
          initialize the FigAttribs from a properties object with the following keys: jfig.units jfig.pageJustification jfig.pageOrientation jfig.paperSize
 void restoreDefaults()
          restoreDefaults(): restore some critical attributes to sensible values.
 void setFigLineWidth(int x)
          scale from FIG3.1 line thickness (in units of 1/80th inch) (=approx with in pixels on 75dpi screen) to jfig units at 2400dpi (with 30/2400 = 1/80).
 void setFillColor(java.awt.Color color)
           
 void setLineColor(java.awt.Color color)
          set the line color and update the fig_line_color index.
 java.lang.String toString()
          toString(): for debug purposes mainly.
 void update(FigAttribs source)
          update our attributes from the 'sourceAndMask' object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FIG_20

public static final int FIG_20
See Also:
Constant Field Values

FIG_21

public static final int FIG_21
See Also:
Constant Field Values

FIG_30

public static final int FIG_30
See Also:
Constant Field Values

FIG_31

public static final int FIG_31
See Also:
Constant Field Values

FIG_32

public static final int FIG_32
See Also:
Constant Field Values

SIMPLE_ARROW

public static final int SIMPLE_ARROW
See Also:
Constant Field Values

TRIANGLE_ARROW

public static final int TRIANGLE_ARROW
See Also:
Constant Field Values

TRIANGLE_FILL_ARROW

public static final int TRIANGLE_FILL_ARROW
See Also:
Constant Field Values

BACK_ARROW

public static final int BACK_ARROW
See Also:
Constant Field Values

BACK_FILL_ARROW

public static final int BACK_FILL_ARROW
See Also:
Constant Field Values

ARC_ARROW

public static final int ARC_ARROW
See Also:
Constant Field Values

ARC_FILL_ARROW

public static final int ARC_FILL_ARROW
See Also:
Constant Field Values

SOLDERDOT_ARROW

public static final int SOLDERDOT_ARROW
See Also:
Constant Field Values

NO_ARROW

public static final int NO_ARROW
See Also:
Constant Field Values

FORWARD_ARROW

public static final int FORWARD_ARROW
See Also:
Constant Field Values

BACKWARD_ARROW

public static final int BACKWARD_ARROW
See Also:
Constant Field Values

DOUBLE_ARROW

public static final int DOUBLE_ARROW
See Also:
Constant Field Values

SOLID_LINE

public static final int SOLID_LINE
See Also:
Constant Field Values

DASHED_LINE

public static final int DASHED_LINE
See Also:
Constant Field Values

DOTTED_LINE

public static final int DOTTED_LINE
See Also:
Constant Field Values

DASH_DOT_LINE

public static final int DASH_DOT_LINE
See Also:
Constant Field Values

DASH_DOT2_LINE

public static final int DASH_DOT2_LINE
See Also:
Constant Field Values

DASH_DOT3_LINE

public static final int DASH_DOT3_LINE
See Also:
Constant Field Values

LINE_WIDTH_0

public static final int LINE_WIDTH_0
See Also:
Constant Field Values

LINE_WIDTH_1

public static final int LINE_WIDTH_1
See Also:
Constant Field Values

LINE_WIDTH_2

public static final int LINE_WIDTH_2
See Also:
Constant Field Values

LINE_WIDTH_3

public static final int LINE_WIDTH_3
See Also:
Constant Field Values

LINE_WIDTH_4

public static final int LINE_WIDTH_4
See Also:
Constant Field Values

LINE_WIDTH_5

public static final int LINE_WIDTH_5
See Also:
Constant Field Values

LINE_WIDTH_6

public static final int LINE_WIDTH_6
See Also:
Constant Field Values

LINE_WIDTH_7

public static final int LINE_WIDTH_7
See Also:
Constant Field Values

LINE_WIDTH_8

public static final int LINE_WIDTH_8
See Also:
Constant Field Values

LINE_WIDTH_9

public static final int LINE_WIDTH_9
See Also:
Constant Field Values

defaultDashLength

public static final double defaultDashLength
See Also:
Constant Field Values

NO_FILL

public static final int NO_FILL
See Also:
Constant Field Values

SOLID_FILL

public static final int SOLID_FILL
See Also:
Constant Field Values

PATTERN_FILL

public static final int PATTERN_FILL
See Also:
Constant Field Values

JOIN_MITER

public static final int JOIN_MITER
See Also:
Constant Field Values

JOIN_BEVEL

public static final int JOIN_BEVEL
See Also:
Constant Field Values

JOIN_ROUND

public static final int JOIN_ROUND
See Also:
Constant Field Values

CAP_BUTT

public static final int CAP_BUTT
See Also:
Constant Field Values

CAP_ROUND

public static final int CAP_ROUND
See Also:
Constant Field Values

CAP_PROJECTING

public static final int CAP_PROJECTING
See Also:
Constant Field Values

NO_ALIGN

public static final int NO_ALIGN
See Also:
Constant Field Values

LEFT_ALIGN

public static final int LEFT_ALIGN
See Also:
Constant Field Values

CENTER_X_ALIGN

public static final int CENTER_X_ALIGN
See Also:
Constant Field Values

RIGHT_ALIGN

public static final int RIGHT_ALIGN
See Also:
Constant Field Values

BOTTOM_ALIGN

public static final int BOTTOM_ALIGN
See Also:
Constant Field Values

CENTER_Y_ALIGN

public static final int CENTER_Y_ALIGN
See Also:
Constant Field Values

TOP_ALIGN

public static final int TOP_ALIGN
See Also:
Constant Field Values

defaultFontSize

public static final int defaultFontSize
See Also:
Constant Field Values

defaultFont

public static final java.awt.Font defaultFont

FONT_TIMES_ROMAN

public static final int FONT_TIMES_ROMAN
See Also:
Constant Field Values

FONT_TIMES_ROMAN_ITALIC

public static final int FONT_TIMES_ROMAN_ITALIC
See Also:
Constant Field Values

FONT_TIMES_ROMAN_BOLD

public static final int FONT_TIMES_ROMAN_BOLD
See Also:
Constant Field Values

FONT_TIMES_ROMAN_BOLD_ITALIC

public static final int FONT_TIMES_ROMAN_BOLD_ITALIC
See Also:
Constant Field Values

FONT_AVANTGARDE_BOOK

public static final int FONT_AVANTGARDE_BOOK
See Also:
Constant Field Values

FONT_AVANTGARDE_BOOK_OBLIQUE

public static final int FONT_AVANTGARDE_BOOK_OBLIQUE
See Also:
Constant Field Values

FONT_AVANTGARDE_BOOK_DEMI

public static final int FONT_AVANTGARDE_BOOK_DEMI
See Also:
Constant Field Values

FONT_AVANTGARDE_BOOK_DEMI_OBLIQUE

public static final int FONT_AVANTGARDE_BOOK_DEMI_OBLIQUE
See Also:
Constant Field Values

FONT_BOOKMAN_LIGHT

public static final int FONT_BOOKMAN_LIGHT
See Also:
Constant Field Values

FONT_BOOKMAN_LIGHT_ITALIC

public static final int FONT_BOOKMAN_LIGHT_ITALIC
See Also:
Constant Field Values

FONT_BOOKMAN_LIGHT_DEMI

public static final int FONT_BOOKMAN_LIGHT_DEMI
See Also:
Constant Field Values

FONT_BOOKMAN_LIGHT_DEMI_ITALIC

public static final int FONT_BOOKMAN_LIGHT_DEMI_ITALIC
See Also:
Constant Field Values

FONT_COURIER

public static final int FONT_COURIER
See Also:
Constant Field Values

FONT_COURIER_OBLIQUE

public static final int FONT_COURIER_OBLIQUE
See Also:
Constant Field Values

FONT_COURIER_BOLD

public static final int FONT_COURIER_BOLD
See Also:
Constant Field Values

FONT_COURIER_BOLD_OBLIQUE

public static final int FONT_COURIER_BOLD_OBLIQUE
See Also:
Constant Field Values

FONT_HELVETICA

public static final int FONT_HELVETICA
See Also:
Constant Field Values

FONT_HELVETICA_OBLIQUE

public static final int FONT_HELVETICA_OBLIQUE
See Also:
Constant Field Values

FONT_HELVETICA_BOLD

public static final int FONT_HELVETICA_BOLD
See Also:
Constant Field Values

FONT_HELVETICA_BOLD_OBLIQUE

public static final int FONT_HELVETICA_BOLD_OBLIQUE
See Also:
Constant Field Values

FONT_HELVETICA_NARROW

public static final int FONT_HELVETICA_NARROW
See Also:
Constant Field Values

FONT_HELVETICA_NARROW_OBLIQUE

public static final int FONT_HELVETICA_NARROW_OBLIQUE
See Also:
Constant Field Values

FONT_HELVETICA_NARROW_BOLD

public static final int FONT_HELVETICA_NARROW_BOLD
See Also:
Constant Field Values

FONT_HELVETICA_NARROW_BOLD_OBLIQUE

public static final int FONT_HELVETICA_NARROW_BOLD_OBLIQUE
See Also:
Constant Field Values

FONT_NEW_CENTURY_SCHLBK_ROMAN

public static final int FONT_NEW_CENTURY_SCHLBK_ROMAN
See Also:
Constant Field Values

FONT_NEW_CENTURY_SCHLBK_ITALIC

public static final int FONT_NEW_CENTURY_SCHLBK_ITALIC
See Also:
Constant Field Values

FONT_NEW_CENTURY_SCHLBK_BOLD

public static final int FONT_NEW_CENTURY_SCHLBK_BOLD
See Also:
Constant Field Values

FONT_NEW_CENTURY_SCHLBK_BOLD_ITALIC

public static final int FONT_NEW_CENTURY_SCHLBK_BOLD_ITALIC
See Also:
Constant Field Values

FONT_PALATINO_ROMAN

public static final int FONT_PALATINO_ROMAN
See Also:
Constant Field Values

FONT_PALATINO_ITALIC

public static final int FONT_PALATINO_ITALIC
See Also:
Constant Field Values

FONT_PALATINO_BOLD

public static final int FONT_PALATINO_BOLD
See Also:
Constant Field Values

FONT_PALATINO_BOLD_ITALIC

public static final int FONT_PALATINO_BOLD_ITALIC
See Also:
Constant Field Values

FONT_SYMBOL

public static final int FONT_SYMBOL
See Also:
Constant Field Values

FONT_ZAPF_CHANCERY_MEDIUM_ITALIC

public static final int FONT_ZAPF_CHANCERY_MEDIUM_ITALIC
See Also:
Constant Field Values

HEADER_UNITS_METRIC

public static final java.lang.String HEADER_UNITS_METRIC
See Also:
Constant Field Values

HEADER_UNITS_INCHES

public static final java.lang.String HEADER_UNITS_INCHES
See Also:
Constant Field Values

HEADER_PAPER_SIZE

public static final java.lang.String[] HEADER_PAPER_SIZE

defaultFigVersion

public static int defaultFigVersion

pageUnits

public static java.lang.String pageUnits

pageJustification

public static java.lang.String pageJustification

pageOrientation

public static java.lang.String pageOrientation

paperSize

public static java.lang.String paperSize

singleOrMultipleSheets

public static java.lang.String singleOrMultipleSheets

exportMagnification

public static double exportMagnification

transparentColorIndex

public static int transparentColorIndex

Landscape

public static final int Landscape
See Also:
Constant Field Values

Portrait

public static final int Portrait
See Also:
Constant Field Values

CenterJustification

public static final int CenterJustification
See Also:
Constant Field Values

FlushLeftJustification

public static final int FlushLeftJustification
See Also:
Constant Field Values

MetricUnits

public static final int MetricUnits
See Also:
Constant Field Values

InchesUnits

public static final int InchesUnits
See Also:
Constant Field Values

XMMUnits

public static final int XMMUnits
See Also:
Constant Field Values

fig_orientation

public static int fig_orientation

fig_justification

public static int fig_justification

fig_units

public static int fig_units

fig_resolution

public static int fig_resolution

fig_origin

public static int fig_origin

fig_line_color

public int fig_line_color

fig_fill_color

public int fig_fill_color

fig_line_style

public int fig_line_style

fig_area_fill

public int fig_area_fill

fig_pen_style

public int fig_pen_style

fig_join_style

public int fig_join_style

fig_cap_style

public int fig_cap_style

fig_style_val

public double fig_style_val

fig_angle

public double fig_angle

fig_ellipse_angle

public double fig_ellipse_angle

fig_ellipse_direction

public int fig_ellipse_direction

fig_font

public int fig_font

fig_font_flags

public int fig_font_flags

fig_text_height

public double fig_text_height

fig_text_width

public double fig_text_width

enableJava2D

public static boolean enableJava2D

figVersion

public int figVersion

lineColor

public java.awt.Color lineColor

lineStyle

public int lineStyle

arrowMode

public int arrowMode

lineWidth

public double lineWidth

dashLength

public double dashLength

currentLayer

public int currentLayer

arrow_f_Style

public int arrow_f_Style

arrow_b_Style

public int arrow_b_Style

arrow_f_Width

public double arrow_f_Width

arrow_f_Length

public double arrow_f_Length

arrow_f_Thickness

public double arrow_f_Thickness

arrow_b_Width

public double arrow_b_Width

arrow_b_Length

public double arrow_b_Length

arrow_b_Thickness

public double arrow_b_Thickness

cornerRadius

public int cornerRadius

objectAlign

public int objectAlign

textAlign

public int textAlign

fillColor

public java.awt.Color fillColor

fillStyle

public int fillStyle

fontSize

public int fontSize

updateLineColorMask

public static boolean updateLineColorMask

updateLineStyleMask

public static boolean updateLineStyleMask

updateLineWidthMask

public static boolean updateLineWidthMask

updateArrowModeMask

public static boolean updateArrowModeMask

updateArrowStyleMask

public static boolean updateArrowStyleMask

updateFillColorMask

public static boolean updateFillColorMask

updateFillStyleMask

public static boolean updateFillStyleMask

updateFontMask

public static boolean updateFontMask

updateFontSizeMask

public static boolean updateFontSizeMask

updateFontFlagMask

public static boolean updateFontFlagMask

updateTextAlignMask

public static boolean updateTextAlignMask

updateTextMask

public static boolean updateTextMask

updateAngleMask

public static boolean updateAngleMask

updateLayerMask

public static boolean updateLayerMask

updateCornerRadiusMask

public static boolean updateCornerRadiusMask
Constructor Detail

FigAttribs

public FigAttribs()
the default attributes constructor. Make SURE to add all further attributes to both this default and the copy constructor!

Method Detail

getClone

public FigAttribs getClone()
construct and exact clone of all our attribute settings and attribute masks. Unlike Object.clone(), this method does not return an 'Object' but directly returns a FigAttribs object.


update

public void update(FigAttribs source)
update our attributes from the 'sourceAndMask' object. Only those attributes 'XXX' whose 'update_XXX' mask flag is set in 'sourceAndMask' are updated.


initializeFromProperties

public static void initializeFromProperties(java.util.Properties pp)
initialize the FigAttribs from a properties object with the following keys:


setFigLineWidth

public void setFigLineWidth(int x)
scale from FIG3.1 line thickness (in units of 1/80th inch) (=approx with in pixels on 75dpi screen) to jfig units at 2400dpi (with 30/2400 = 1/80). The default line width is transformed into 1-pixel wide lines.


setLineColor

public void setLineColor(java.awt.Color color)
set the line color and update the fig_line_color index. If the specified color is not found in the ColorCache, we create and register a new user color.


setFillColor

public void setFillColor(java.awt.Color color)

toString

public java.lang.String toString()
toString(): for debug purposes mainly.


restoreDefaults

public void restoreDefaults()
restoreDefaults(): restore some critical attributes to sensible values. This method is called after parsing an input file, etc.