org.apache.batik.util.awt.svg
Class SVGGraphicContextConverter

java.lang.Object
  |
  +--org.apache.batik.util.awt.svg.SVGGraphicContextConverter
All Implemented Interfaces:
CSSConstants, SVGConstants, SVGSyntax

public class SVGGraphicContextConverter
extends java.lang.Object
implements SVGSyntax

This class performs the task of converting the state of the Java 2D API graphic context into a set of graphic attributes. It also manages a set of SVG definitions referenced by the SVG attributes.


Field Summary
static java.lang.String ERROR_NULL_INPUT
           
 
Fields inherited from interface org.apache.batik.util.awt.svg.SVGSyntax
ATTR_HREF, CLOSE_PARENTHESIS, COMMA, ID_PREFIX_ALPHA_COMPOSITE_CLEAR, ID_PREFIX_ALPHA_COMPOSITE_DST_IN, ID_PREFIX_ALPHA_COMPOSITE_DST_OUT, ID_PREFIX_ALPHA_COMPOSITE_DST_OVER, ID_PREFIX_ALPHA_COMPOSITE_SRC, ID_PREFIX_ALPHA_COMPOSITE_SRC_IN, ID_PREFIX_ALPHA_COMPOSITE_SRC_OUT, ID_PREFIX_AMBIENT_LIGHT, ID_PREFIX_BUMP_MAP, ID_PREFIX_CLIP_PATH, ID_PREFIX_DEFS, ID_PREFIX_DIFFUSE_ADD, ID_PREFIX_DIFFUSE_LIGHTING_RESULT, ID_PREFIX_FE_COMPLEX_FILTER, ID_PREFIX_FE_COMPONENT_TRANSFER, ID_PREFIX_FE_COMPOSITE, ID_PREFIX_FE_CONVOLVE_MATRIX, ID_PREFIX_FE_DIFFUSE_LIGHTING, ID_PREFIX_FE_FLOOD, ID_PREFIX_FE_GAUSSIAN_BLUR, ID_PREFIX_FE_LIGHTING_FILTER, ID_PREFIX_FE_SPECULAR_LIGHTING, ID_PREFIX_GENERIC_DEFS, ID_PREFIX_LINEAR_GRADIENT, ID_PREFIX_MASK, ID_PREFIX_PATTERN, ID_PREFIX_RADIAL_GRADIENT, ID_PREFIX_SPECULAR_ADD, ID_PREFIX_SPECULAR_LIGHTING_RESULT, OPEN_PARENTHESIS, RGB_PREFIX, RGB_SUFFIX, SIGN_PERCENT, SIGN_POUND, SPACE, URL_PREFIX, URL_SUFFIX
 
Fields inherited from interface org.apache.batik.util.SVGConstants
ATTR_AMPLITUDE, ATTR_AZIMUTH, ATTR_BASE_FREQUENCY, ATTR_BIAS, ATTR_CLIP_PATH, ATTR_CLIP_PATH_UNITS, ATTR_COLOR_INTERPOLATION, ATTR_COLOR_RENDERING, ATTR_CX, ATTR_CY, ATTR_D, ATTR_DIFFUSE_CONSTANT, ATTR_DIVISOR, ATTR_DX, ATTR_DY, ATTR_EDGE_MODE, ATTR_ELEVATION, ATTR_ENABLE_BACKGROUND, ATTR_EXPONENT, ATTR_FILL, ATTR_FILL_OPACITY, ATTR_FILL_RULE, ATTR_FILTER, ATTR_FILTER_RES, ATTR_FILTER_UNITS, ATTR_FLOOD_COLOR, ATTR_FLOOD_OPACITY, ATTR_FONT_FAMILY, ATTR_FONT_SIZE, ATTR_FONT_STYLE, ATTR_FONT_WEIGHT, ATTR_FX, ATTR_FY, ATTR_GRADIENT_TRANSFORM, ATTR_GRADIENT_UNITS, ATTR_HEIGHT, ATTR_ID, ATTR_IMAGE_RENDERING, ATTR_IN, ATTR_IN2, ATTR_INTERCEPT, ATTR_K1, ATTR_K2, ATTR_K3, ATTR_K4, ATTR_KERNEL_MATRIX, ATTR_KERNEL_UNIT_LENGTH_X, ATTR_KERNEL_UNIT_LENGTH_Y, ATTR_LIGHT_COLOR, ATTR_LIMITING_CONE_ANGLE, ATTR_MASK, ATTR_MASK_CONTENT_UNITS, ATTR_MASK_UNITS, ATTR_MEDIA, ATTR_METHOD, ATTR_MODE, ATTR_NUM_OCTAVES, ATTR_OFFSET, ATTR_OPACITY, ATTR_OPERATOR, ATTR_ORDER, ATTR_ORDER_X, ATTR_ORDER_Y, ATTR_PATTERN_CONTENT_UNITS, ATTR_PATTERN_TRANSFORM, ATTR_PATTERN_UNITS, ATTR_POINTS, ATTR_POINTS_AT_X, ATTR_POINTS_AT_Y, ATTR_POINTS_AT_Z, ATTR_PRESERVE_ALPHA, ATTR_PRESERVE_ASPECT_RATIO, ATTR_PRIMITIVE_UNITS, ATTR_R, ATTR_RADIUS, ATTR_RESULT, ATTR_RESULT_SCALE, ATTR_RX, ATTR_RY, ATTR_SCALE, ATTR_SEED, ATTR_SHAPE_RENDERING, ATTR_SLOPE, ATTR_SPACE, ATTR_SPACING, ATTR_SPECULAR_CONSTANT, ATTR_SPECULAR_EXPONENT, ATTR_SPREAD_METHOD, ATTR_START_OFFSET, ATTR_STD_DEVIATION, ATTR_STITCH_TILES, ATTR_STOP_COLOR, ATTR_STOP_OPACITY, ATTR_STROKE, ATTR_STROKE_DASHARRAY, ATTR_STROKE_DASHOFFSET, ATTR_STROKE_LINECAP, ATTR_STROKE_LINEJOIN, ATTR_STROKE_MITERLIMIT, ATTR_STROKE_OPACITY, ATTR_STROKE_WIDTH, ATTR_STYLE, ATTR_SURFACE_SCALE, ATTR_SYSTEM_LANGUAGE, ATTR_TABLE, ATTR_TABLE_VALUES, ATTR_TARGET, ATTR_TARGET_X, ATTR_TARGET_Y, ATTR_TEXT_ANCHOR, ATTR_TEXT_LENGTH, ATTR_TEXT_RENDERING, ATTR_TITLE, ATTR_TRANSFORM, ATTR_TYPE, ATTR_VALUES, ATTR_VIEW_BOX, ATTR_WIDTH, ATTR_X, ATTR_X_CHANNEL_SELECTOR, ATTR_X1, ATTR_X2, ATTR_Y, ATTR_Y_CHANNEL_SELECTOR, ATTR_Y1, ATTR_Y2, ATTR_Z, DEFAULT_VALUE_FILTER_HEIGHT, DEFAULT_VALUE_FILTER_WIDTH, DEFAULT_VALUE_FILTER_X, DEFAULT_VALUE_FILTER_Y, DEFAULT_VALUE_MASK_HEIGHT, DEFAULT_VALUE_MASK_WIDTH, DEFAULT_VALUE_MASK_X, DEFAULT_VALUE_MASK_Y, DEFAULT_VALUE_PATTERN_HEIGHT, DEFAULT_VALUE_PATTERN_WIDTH, DEFAULT_VALUE_PATTERN_X, DEFAULT_VALUE_PATTERN_Y, PATH_CLOSE, PATH_CUBIC_TO, PATH_LINE_TO, PATH_MOVE, PATH_QUAD_TO, SVG_NAMESPACE_URI, SVG_PUBLIC_ID, SVG_SYSTEM_ID, TAG_A, TAG_ANIMATE, TAG_CIRCLE, TAG_CLIP_PATH, TAG_DEFS, TAG_DESC, TAG_ELLIPSE, TAG_FE_BLEND, TAG_FE_COLOR_MATRIX, TAG_FE_COMPONENT_TRANSFER, TAG_FE_COMPOSITE, TAG_FE_CONVOLVE_MATRIX, TAG_FE_DIFFUSE_LIGHTING, TAG_FE_DISPLACEMENT_MAP, TAG_FE_DISTANT_LIGHT, TAG_FE_FLOOD, TAG_FE_FUNC_A, TAG_FE_FUNC_B, TAG_FE_FUNC_G, TAG_FE_FUNC_R, TAG_FE_GAUSSIAN_BLUR, TAG_FE_IMAGE, TAG_FE_MERGE, TAG_FE_MERGE_NODE, TAG_FE_MORPHOLOGY, TAG_FE_OFFSET, TAG_FE_POINT_LIGHT, TAG_FE_SPECULAR_LIGHTING, TAG_FE_SPOT_LIGHT, TAG_FE_TILE, TAG_FE_TURBULENCE, TAG_FILTER, TAG_G, TAG_IMAGE, TAG_LINE, TAG_LINEAR_GRADIENT, TAG_MASK, TAG_METADATA, TAG_PATH, TAG_PATTERN, TAG_POLYGON, TAG_POLYLINE, TAG_RADIAL_GRADIENT, TAG_RECT, TAG_SCRIPT, TAG_STOP, TAG_STYLE, TAG_SVG, TAG_SWITCH, TAG_SYMBOL, TAG_TEXT, TAG_TEXT_PATH, TAG_TITLE, TAG_TREF, TAG_TSPAN, TAG_USE, TRANSFORM_MATRIX, TRANSFORM_ROTATE, TRANSFORM_SCALE, TRANSFORM_SKEWX, TRANSFORM_SKEWY, TRANSFORM_TRANSLATE, VALUE_A, VALUE_ALIGN, VALUE_ARITHMETIC, VALUE_ATOP, VALUE_AUTO, VALUE_B, VALUE_BACKGROUND_IMAGE, VALUE_COMPOSITE, VALUE_CRISP_EDGES, VALUE_DARKEN, VALUE_DIGIT_ONE, VALUE_DILATE, VALUE_DISCRETE, VALUE_EDGE_DUPLICATE, VALUE_EDGE_NONE, VALUE_END, VALUE_ERODE, VALUE_EVEN_ODD, VALUE_EXACT, VALUE_FLOOD, VALUE_FONT_STYLE_ITALIC, VALUE_FONT_STYLE_NORMAL, VALUE_FONT_STYLE_OBLIQUE, VALUE_FONT_WEIGHT_100, VALUE_FONT_WEIGHT_200, VALUE_FONT_WEIGHT_300, VALUE_FONT_WEIGHT_400, VALUE_FONT_WEIGHT_500, VALUE_FONT_WEIGHT_600, VALUE_FONT_WEIGHT_700, VALUE_FONT_WEIGHT_800, VALUE_FONT_WEIGHT_900, VALUE_FONT_WEIGHT_BOLD, VALUE_FONT_WEIGHT_BOLDER, VALUE_FONT_WEIGHT_LIGHTER, VALUE_FONT_WEIGHT_NORMAL, VALUE_FRACTAL_NOISE, VALUE_G, VALUE_GAMMA, VALUE_GEOMETRIC_PRECISION, VALUE_HUE_ROTATE, VALUE_HUNDRED_PERCENT, VALUE_IDENTITY, VALUE_IN, VALUE_LIGHTEN, VALUE_LINE_CAP_BUTT, VALUE_LINE_CAP_ROUND, VALUE_LINE_CAP_SQUARE, VALUE_LINE_JOIN_BEVEL, VALUE_LINE_JOIN_MITER, VALUE_LINE_JOIN_ROUND, VALUE_LINEAR, VALUE_LINEAR_RGB, VALUE_LUMINANCE_TO_ALPHA, VALUE_MATRIX, VALUE_MIDDLE, VALUE_MULTIPLY, VALUE_NEW, VALUE_NINETY, VALUE_NO_STITCH, VALUE_NON_ZERO, VALUE_NONE, VALUE_NORMAL, VALUE_OBJECT_BOUNDING_BOX, VALUE_ONE, VALUE_OPAQUE, VALUE_OPTIMIZE_LEGIBILITY, VALUE_OPTIMIZE_QUALITY, VALUE_OPTIMIZE_SPEED, VALUE_OUT, VALUE_OVER, VALUE_PAD, VALUE_PRESERVE, VALUE_R, VALUE_REFLECT, VALUE_REPEAT, VALUE_SATURATE, VALUE_SCREEN, VALUE_SOURCE_GRAPHIC, VALUE_SRGB, VALUE_START, VALUE_STITCH, VALUE_STRETCH, VALUE_TABLE, VALUE_TURBULENCE, VALUE_TYPE_LINEAR, VALUE_TYPE_TABLE, VALUE_USER_SPACE, VALUE_USER_SPACE_ON_USE, VALUE_XOR, VALUE_ZERO, VALUE_ZERO_PERCENT
 
Fields inherited from interface org.apache.batik.util.CSSConstants
CSS_ACCUMULATE_VALUE, CSS_ACTIVEBORDER_VALUE, CSS_ACTIVECAPTION_VALUE, CSS_AFTER_EDGE_VALUE, CSS_ALIGNMENT_BASELINE_PROPERTY, CSS_ALL_VALUE, CSS_APPWORKSPACE_VALUE, CSS_AUTO_VALUE, CSS_AUTOSENSE_SCRIPT_VALUE, CSS_BACKGROUND_VALUE, CSS_BASELINE_SHIFT_PROPERTY, CSS_BASELINE_VALUE, CSS_BEFORE_EDGE_VALUE, CSS_BEVEL_VALUE, CSS_BIDI_OVERRIDE_VALUE, CSS_BLINK_VALUE, CSS_BLOCK_VALUE, CSS_BOLD_VALUE, CSS_BOLDER_VALUE, CSS_BOTTOM_VALUE, CSS_BUTT_VALUE, CSS_BUTTONFACE_VALUE, CSS_BUTTONHIGHLIGHT_VALUE, CSS_BUTTONSHADOW_VALUE, CSS_BUTTONTEXT_VALUE, CSS_CAPTIONTEXT_VALUE, CSS_CLIP_PATH_PROPERTY, CSS_CLIP_PROPERTY, CSS_CLIP_RULE_PROPERTY, CSS_COLLAPSE_VALUE, CSS_COLOR_INTERPOLATION_PROPERTY, CSS_COLOR_PROPERTY, CSS_COLOR_RENDERING_PROPERTY, CSS_COMPACT_VALUE, CSS_CONDENSED_VALUE, CSS_CRISPEDGES_VALUE, CSS_CROSSHAIR_VALUE, CSS_CURRENTCOLOR_VALUE, CSS_CURSIVE_VALUE, CSS_CURSOR_PROPERTY, CSS_DEFAULT_VALUE, CSS_DIRECTION_PROPERTY, CSS_DISPLAY_PROPERTY, CSS_DOMINANT_BASELINE_PROPERTY, CSS_E_RESIZE_VALUE, CSS_EMBED_VALUE, CSS_ENABLE_BACKGROUND_PROPERTY, CSS_END_VALUE, CSS_EVENODD_VALUE, CSS_EXPANDED_VALUE, CSS_EXTRA_CONDENSED_VALUE, CSS_EXTRA_EXPANDED_VALUE, CSS_FANTASY_VALUE, CSS_FILL_OPACITY_PROPERTY, CSS_FILL_PROPERTY, CSS_FILL_RULE_PROPERTY, CSS_FILL_VALUE, CSS_FILLSTROKE_VALUE, CSS_FILTER_PROPERTY, CSS_FLOOD_COLOR_PROPERTY, CSS_FLOOD_OPACITY_PROPERTY, CSS_FONT_FAMILY_PROPERTY, CSS_FONT_SIZE_ADJUST_PROPERTY, CSS_FONT_SIZE_PROPERTY, CSS_FONT_STRETCH_PROPERTY, CSS_FONT_STYLE_PROPERTY, CSS_FONT_VARIANT_PROPERTY, CSS_FONT_WEIGHT_PROPERTY, CSS_GEOMETRICPRECISION_VALUE, CSS_GLYPH_ORIENTATION_HORIZONTAL_PROPERTY, CSS_GLYPH_ORIENTATION_VERTICAL_PROPERTY, CSS_GRAYTEXT_VALUE, CSS_HANGING_VALUE, CSS_HELP_VALUE, CSS_HIDDEN_VALUE, CSS_HIGHLIGHT_VALUE, CSS_HIGHLIGHTTEXT_VALUE, CSS_IDEOGRAPHIC_VALUE, CSS_IMAGE_RENDERING_PROPERTY, CSS_INACTIVEBORDER_VALUE, CSS_INACTIVECAPTION_VALUE, CSS_INACTIVECAPTIONTEXT_VALUE, CSS_INFOBACKGROUND_VALUE, CSS_INFOTEXT_VALUE, CSS_INLINE_TABLE_VALUE, CSS_INLINE_VALUE, CSS_ITALIC_VALUE, CSS_LARGE_VALUE, CSS_LARGER_VALUE, CSS_LETTER_SPACING_PROPERTY, CSS_LIGHTER_VALUE, CSS_LIGHTING_COLOR_PROPERTY, CSS_LINE_THROUGH_VALUE, CSS_LINEARRGB_VALUE, CSS_LIST_ITEM_VALUE, CSS_LOWER_VALUE, CSS_LR_TB_VALUE, CSS_LR_VALUE, CSS_LTR_VALUE, CSS_MARKER_END_PROPERTY, CSS_MARKER_MID_PROPERTY, CSS_MARKER_START_PROPERTY, CSS_MARKER_VALUE, CSS_MASK_PROPERTY, CSS_MATHEMATICAL_VALUE, CSS_MEDIUM_VALUE, CSS_MENU_VALUE, CSS_MENUTEXT_VALUE, CSS_MIDDLE_VALUE, CSS_MITER_VALUE, CSS_MONOSPACED_VALUE, CSS_MOVE_VALUE, CSS_N_RESIZE_VALUE, CSS_NARROWER_VALUE, CSS_NE_RESIZE_VALUE, CSS_NEW_VALUE, CSS_NO_CHANGE_VALUE, CSS_NONE_VALUE, CSS_NONZERO_VALUE, CSS_NORMAL_VALUE, CSS_NW_RESIZE_VALUE, CSS_OBLIQUE_VALUE, CSS_OPACITY_PROPERTY, CSS_OPTIMIZELEGIBILITY_VALUE, CSS_OPTIMIZEQUALITY_VALUE, CSS_OPTIMIZESPEED_VALUE, CSS_OVERFLOW_PROPERTY, CSS_OVERLINE_VALUE, CSS_PAINTED_VALUE, CSS_POINTER_EVENTS_PROPERTY, CSS_POINTER_VALUE, CSS_RESET_VALUE, CSS_RL_TB_VALUE, CSS_RL_VALUE, CSS_ROUND_VALUE, CSS_RTL_VALUE, CSS_RUN_IN_VALUE, CSS_S_RESIZE_VALUE, CSS_SANS_SERIF_VALUE, CSS_SCROLL_VALUE, CSS_SCROLLBAR_VALUE, CSS_SE_RESIZE_VALUE, CSS_SEMI_CONDENSED_VALUE, CSS_SEMI_EXPANDED_VALUE, CSS_SERIF_VALUE, CSS_SHAPE_RENDERING_PROPERTY, CSS_SMALL_CAPS_VALUE, CSS_SMALL_VALUE, CSS_SMALLER_VALUE, CSS_SQUARE_VALUE, CSS_SRGB_VALUE, CSS_START_VALUE, CSS_STOP_COLOR_PROPERTY, CSS_STOP_OPACITY_PROPERTY, CSS_STROKE_DASHARRAY_PROPERTY, CSS_STROKE_DASHOFFSET_PROPERTY, CSS_STROKE_LINECAP_PROPERTY, CSS_STROKE_LINEJOIN_PROPERTY, CSS_STROKE_MITERLIMIT_PROPERTY, CSS_STROKE_OPACITY_PROPERTY, CSS_STROKE_PROPERTY, CSS_STROKE_VALUE, CSS_STROKE_WIDTH_PROPERTY, CSS_SUB_VALUE, CSS_SUPER_VALUE, CSS_SW_RESIZE_VALUE, CSS_TABLE_CAPTION_VALUE, CSS_TABLE_CELL_VALUE, CSS_TABLE_COLUMN_GROUP_VALUE, CSS_TABLE_COLUMN_VALUE, CSS_TABLE_FOOTER_GROUP_VALUE, CSS_TABLE_HEADER_GROUP_VALUE, CSS_TABLE_ROW_GROUP_VALUE, CSS_TABLE_ROW_VALUE, CSS_TABLE_VALUE, CSS_TB_RL_VALUE, CSS_TB_VALUE, CSS_TEXT_AFTER_EDGE_VALUE, CSS_TEXT_ANCHOR_PROPERTY, CSS_TEXT_BEFORE_EDGE_VALUE, CSS_TEXT_BOTTOM_VALUE, CSS_TEXT_DECORATION_PROPERTY, CSS_TEXT_RENDERING_PROPERTY, CSS_TEXT_TOP_VALUE, CSS_TEXT_VALUE, CSS_THREEDDARKSHADOW_VALUE, CSS_THREEDFACE_VALUE, CSS_THREEDHIGHLIGHT_VALUE, CSS_THREEDLIGHTSHADOW_VALUE, CSS_THREEDSHADOW_VALUE, CSS_TOP_VALUE, CSS_ULTRA_CONDENSED_VALUE, CSS_ULTRA_EXPANDED_VALUE, CSS_UNDERLINE_VALUE, CSS_UNICODE_BIDI_PROPERTY, CSS_VISIBILITY_PROPERTY, CSS_VISIBLE_VALUE, CSS_VISIBLEFILL_VALUE, CSS_VISIBLEFILLSTROKE_VALUE, CSS_VISIBLEPAINTED_VALUE, CSS_VISIBLESTROKE_VALUE, CSS_W_RESIZE_VALUE, CSS_WAIT_VALUE, CSS_WIDER_VALUE, CSS_WINDOW_VALUE, CSS_WINDOWFRAME_VALUE, CSS_WINDOWTEXT_VALUE, CSS_WORD_SPACING_PROPERTY, CSS_WRITING_MODE_PROPERTY, CSS_X_LARGE_VALUE, CSS_X_SMALL_VALUE, CSS_XX_LARGE_VALUE, CSS_XX_SMALL_VALUE
 
Constructor Summary
SVGGraphicContextConverter(Document domFactory, ExtensionHandler extensionHandler, ImageHandler imageHandler)
           
 
Method Summary
 SVGClip getClipConverter()
           
 SVGComposite getCompositeConverter()
           
 java.util.Set getDefinitionSet()
           
 SVGFont getFontConverter()
           
 SVGRenderingHints getHintsConverter()
           
 SVGPaint getPaintConverter()
           
 SVGBasicStroke getStrokeConverter()
           
 SVGTransform getTransformConverter()
           
static void main(java.lang.String[] args)
          Unit testing
 SVGGraphicContext toSVG(GraphicContext gc)
           
 java.lang.String toSVG(TransformStackElement[] transformStack)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ERROR_NULL_INPUT

public static final java.lang.String ERROR_NULL_INPUT
Constructor Detail

SVGGraphicContextConverter

public SVGGraphicContextConverter(Document domFactory,
                                  ExtensionHandler extensionHandler,
                                  ImageHandler imageHandler)
Parameters:
domFactory - used to create top level svg root node and children group nodes.
extensionHandler - used by SVGConverters to handle custom implementations of interfaces such as Paint, Composite and BufferedImageOp.
imageHandler - used by SVGConverters that need to create image elements (e.g., SVGTexturePaint)
Method Detail

getTransformConverter

public SVGTransform getTransformConverter()

getPaintConverter

public SVGPaint getPaintConverter()

getStrokeConverter

public SVGBasicStroke getStrokeConverter()

getCompositeConverter

public SVGComposite getCompositeConverter()

getClipConverter

public SVGClip getClipConverter()

getHintsConverter

public SVGRenderingHints getHintsConverter()

getFontConverter

public SVGFont getFontConverter()

toSVG

public java.lang.String toSVG(TransformStackElement[] transformStack)
Returns:
a String containing the transform attribute value equivalent of the input transform stack.

toSVG

public SVGGraphicContext toSVG(GraphicContext gc)
Returns:
an object that describes the set of SVG attributes that represent the equivalent of the input GraphicContext state.

getDefinitionSet

public java.util.Set getDefinitionSet()
Returns:
a set of element containing definitions for the attribute values generated by this converter since its creation.

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
Unit testing


Copyright © 2000 Apache Software Foundation. All Rights Reserved.