org.foray.render.svg
Class SVGRenderer

java.lang.Object
  extended by org.foray.output.OutputTarget
      extended by org.foray.render.Renderer
          extended by org.foray.render.svg.SVGRenderer
All Implemented Interfaces:
org.axsl.galley.RenderVisitor, org.axsl.output.OutputTarget, org.axsl.output.Renderer

public class SVGRenderer
extends Renderer

A Renderer implementation that writes the document as SVG.


Field Summary
 
Fields inherited from class org.foray.render.Renderer
SHADING_WEIGHT_BLUE, SHADING_WEIGHT_GREEN, SHADING_WEIGHT_RED
 
Constructor Summary
SVGRenderer(org.apache.commons.logging.Log logger, org.axsl.output.DocumentConfiguration renderConfig, org.axsl.graphic.GraphicServer graphicServer)
          Constructor.
 
Method Summary
protected  void addFilledRect(int x, int y, int w, int h, Color col)
          Add a filled rectangle.
protected  void addRect(int x, int y, int w, int h, boolean drawAsOutline)
          Draw a filled rectangle in the current color.
protected  void addRect(int x, int y, int w, int h, float r, float g, float b)
          Draw a rectangle.
protected  void addRect(int x, int y, int w, int h, float r, float g, float b, float fr, float fg, float fb)
          Draw a filled rectangle.
protected  void drawFrame()
          Draws a frame around the current page.
protected  void drawGraphic(org.axsl.galley.GraphicArea area, org.axsl.graphic.Graphic image, Rectangle contentRectangle, Rectangle clipRectangle)
          Renders a Graphic to a given contentRectangle, and clipping it to a given clip rectangle.
protected  void drawLine(int x1, int y1, int x2, int y2, int th, org.axsl.common.value.RuleStyle ruleStyle, Color strokeColor)
          Draw a line in the output document.
protected  void drawRectangle(int x, int y, int w, int h, Color strokeColor, Color fillColor)
          Draw a rectangle in the output document.
protected  Rectangle2D getBounds(org.axsl.galley.Area area)
          Returns the bounds for a given area.
 int[] getFontSources()
           
 org.axsl.output.DocumentConfiguration getOutputConfiguration()
          Returns the output configuration for this renderer.
protected  void markBorder(org.axsl.galley.BorderPaddingArea area)
          Marks the border, if any, for the given area.
 void render(org.axsl.galley.BookmarkTree area)
          Render the bookmark tree for this document.
 void render(org.axsl.galley.ExternalGraphicArea area)
           
 void render(org.axsl.galley.ForeignContentMath area)
          Render the MathML content of a ForeignObjectArea.
 void render(org.axsl.galley.ForeignContentSvg area)
          Render the SVG content of a ForeignObjectArea.
 void render(org.axsl.galley.LeaderArea area)
           
 void render(org.axsl.galley.Page page)
           
 void render(org.axsl.galley.TextArea area)
           
protected  void renderSVGDocument(org.axsl.graphic.SvgGraphic svgGraphic, float x, float y)
          Renders an SVG Document.
 void renderTextSegment(org.axsl.galley.TextArea area, CharSequence text)
          Renders an arbitrary text chunk with attributes from an arbitrary Area.
 void resetTextCursor()
          Provides the Renderer with an opportunity to close any text objects that are in progress.
 void startOutput()
           
 void stopOutput()
           
 
Methods inherited from class org.foray.render.Renderer
colorToFloat, convertMillipointRectangle, getAreaTree, getPixelsPerInch, markBackground, render, render, render, render, render, render, render, render, render, render, render, render, render, renderChildren, renderDocumentNodes, renderRegions, setGalley, shadingPercent, toPoints
 
Methods inherited from class org.foray.output.OutputTarget
getApplicationName, getApplicationNameShort, getApplicationVersion, getDeveloperURLShort, getFontConsumer, getLogger, getOutputStream, getStrokeSVGText, outputStreamRequired, setApplicationName, setApplicationNameShort, setApplicationVersion, setDeveloperUrlShort, setFontConsumer, setOutputStream, setStrokeText
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.axsl.output.OutputTarget
outputStreamRequired, setApplicationName, setApplicationNameShort, setApplicationVersion, setDeveloperUrlShort, setFontConsumer, setOutputStream, setStrokeText
 

Constructor Detail

SVGRenderer

public SVGRenderer(org.apache.commons.logging.Log logger,
                   org.axsl.output.DocumentConfiguration renderConfig,
                   org.axsl.graphic.GraphicServer graphicServer)
Constructor.

Parameters:
logger - The logger.
renderConfig - The configuration for this renderer.
graphicServer - The Graphic Server to use for creation and handling of the SVG document.
Method Detail

drawLine

protected void drawLine(int x1,
                        int y1,
                        int x2,
                        int y2,
                        int th,
                        org.axsl.common.value.RuleStyle ruleStyle,
                        Color strokeColor)
Description copied from class: Renderer
Draw a line in the output document.

Specified by:
drawLine in class Renderer
Parameters:
x1 - The start x location in millipoints.
y1 - The start y location in millipoints.
x2 - The end x location in millipoints.
y2 - The end y location in millipoints.
th - The thickness in millipoints.
ruleStyle - The rule style.
strokeColor - The stroke color.

drawRectangle

protected void drawRectangle(int x,
                             int y,
                             int w,
                             int h,
                             Color strokeColor,
                             Color fillColor)
Description copied from class: Renderer
Draw a rectangle in the output document.

Specified by:
drawRectangle in class Renderer
Parameters:
x - The x position of left edge in millipoints.
y - The y position of top edge in millipoints.
w - The width in millipoints.
h - The height in millipoints.
strokeColor - The color to be used for the stroke. Stroked means a box will be drawn around the rectangle. Set to null if the rectangle should not be stroked.
fillColor - The color to be used for the fill. Set to null if the rectangle should not be filled.

addRect

protected void addRect(int x,
                       int y,
                       int w,
                       int h,
                       float r,
                       float g,
                       float b)
Draw a rectangle.

Parameters:
x - The x position of left edge in millipoints.
y - The y position of top edge in millipoints.
w - The width in millipoints.
h - The height in millipoints.
r - The red component.
g - The green component.
b - The blue component.

addRect

protected void addRect(int x,
                       int y,
                       int w,
                       int h,
                       float r,
                       float g,
                       float b,
                       float fr,
                       float fg,
                       float fb)
Draw a filled rectangle.

Parameters:
x - The x position of left edge in millipoints.
y - The y position of top edge in millipoints.
w - The width in millipoints.
h - The height in millipoints.
r - The red component of edges.
g - The green component of edges.
b - The blue component of edges.
fr - The red component of the fill.
fg - The green component of the fill.
fb - The blue component of the fill.

addRect

protected void addRect(int x,
                       int y,
                       int w,
                       int h,
                       boolean drawAsOutline)
Draw a filled rectangle in the current color.

Parameters:
x - The x position of left edge in millipoints.
y - The y position of top edge in millipoints.
w - The width in millipoints.
h - The height in millipoints.
drawAsOutline - true for draw, false for fill.

addFilledRect

protected void addFilledRect(int x,
                             int y,
                             int w,
                             int h,
                             Color col)
Add a filled rectangle.

Parameters:
x - The x position of left edge in millipoints.
y - The y position of top edge in millipoints.
w - The width in millipoints.
h - The height in millipoints.
col - The fill color.

drawFrame

protected void drawFrame()
Draws a frame around the current page.


render

public void render(org.axsl.galley.Page page)
            throws org.axsl.galley.GalleyVisitorException
Specified by:
render in interface org.axsl.output.Renderer
Specified by:
render in class Renderer
Throws:
org.axsl.galley.GalleyVisitorException

render

public void render(org.axsl.galley.BookmarkTree area)
Description copied from class: Renderer
Render the bookmark tree for this document.

Specified by:
render in class Renderer
Parameters:
area - The bookmark tree to be rendered.

markBorder

protected void markBorder(org.axsl.galley.BorderPaddingArea area)
Description copied from class: Renderer
Marks the border, if any, for the given area.

Specified by:
markBorder in class Renderer
Parameters:
area - The area whose border is to be drawn.

getBounds

protected Rectangle2D getBounds(org.axsl.galley.Area area)
Returns the bounds for a given area.

Parameters:
area - The area whose bounds are needed.
Returns:
The rectangle for the render rectangle area.

drawGraphic

protected void drawGraphic(org.axsl.galley.GraphicArea area,
                           org.axsl.graphic.Graphic image,
                           Rectangle contentRectangle,
                           Rectangle clipRectangle)
Description copied from class: Renderer
Renders a Graphic to a given contentRectangle, and clipping it to a given clip rectangle. If the content rectangle is the same as the intrinsic dimensions of the image, no scaling is done.

Specified by:
drawGraphic in class Renderer
Parameters:
area - The Area instance from which to obtain traits.
image - The graphic to be rendered.
contentRectangle - The rectangle to which the graphic should be scaled during drawing.
clipRectangle - The rectangle to which the content should be clipped after any scaling.
See Also:
Renderer.drawGraphic(GraphicArea, Graphic, Rectangle, Rectangle)

render

public void render(org.axsl.galley.ExternalGraphicArea area)
Specified by:
render in interface org.axsl.galley.RenderVisitor
Overrides:
render in class Renderer

renderTextSegment

public void renderTextSegment(org.axsl.galley.TextArea area,
                              CharSequence text)
Description copied from class: Renderer
Renders an arbitrary text chunk with attributes from an arbitrary Area. Of course, ordinarily, the text will come from the Area, but the caller should decide that.

Specified by:
renderTextSegment in class Renderer
Parameters:
area - An Area instance that contains the traits that should be used to render the text.
text - The text content to be rendered.

render

public void render(org.axsl.galley.LeaderArea area)

render

public void render(org.axsl.galley.TextArea area)

render

public void render(org.axsl.galley.ForeignContentSvg area)
Description copied from class: Renderer
Render the SVG content of a ForeignObjectArea.

Specified by:
render in class Renderer
Parameters:
area - The SVG content to be rendered.

renderSVGDocument

protected void renderSVGDocument(org.axsl.graphic.SvgGraphic svgGraphic,
                                 float x,
                                 float y)
Renders an SVG Document.

Parameters:
svgGraphic - The document to be rendered.
x - The x coordinate at which the document should be rendered, in points (??).
y - The y coordindate at which the document should be rendered, in points (??).

render

public void render(org.axsl.galley.ForeignContentMath area)
Description copied from class: Renderer
Render the MathML content of a ForeignObjectArea.

Specified by:
render in class Renderer
Parameters:
area - The MathML content to be rendered.

startOutput

public void startOutput()
                 throws org.axsl.output.OutputException
Throws:
org.axsl.output.OutputException

stopOutput

public void stopOutput()
                throws org.axsl.output.OutputException
Throws:
org.axsl.output.OutputException

getFontSources

public int[] getFontSources()

resetTextCursor

public void resetTextCursor()
Description copied from class: Renderer
Provides the Renderer with an opportunity to close any text objects that are in progress.

Specified by:
resetTextCursor in class Renderer

getOutputConfiguration

public org.axsl.output.DocumentConfiguration getOutputConfiguration()
Description copied from class: OutputTarget
Returns the output configuration for this renderer.

Specified by:
getOutputConfiguration in class OutputTarget
Returns:
The output configuration for this renderer.


Copyright © 2017. All rights reserved.