[FOray-commit] SF.net SVN: foray: [7380] trunk/foray/foray-render/src/java/org/foray/render
Modular XSL-FO Implementation for Java.
Status: Alpha
Brought to you by:
victormote
|
From: <vic...@us...> - 2006-06-03 17:34:18
|
Revision: 7380 Author: victormote Date: 2006-06-03 10:34:08 -0700 (Sat, 03 Jun 2006) ViewCVS: http://svn.sourceforge.net/foray/?rev=7380&view=rev Log Message: ----------- Add render methods for the main, before-float, and footnote areas. Modified Paths: -------------- trunk/foray/foray-render/src/java/org/foray/render/Renderer.java trunk/foray/foray-render/src/java/org/foray/render/xml/XMLRenderer.java Modified: trunk/foray/foray-render/src/java/org/foray/render/Renderer.java =================================================================== --- trunk/foray/foray-render/src/java/org/foray/render/Renderer.java 2006-06-03 17:28:08 UTC (rev 7379) +++ trunk/foray/foray-render/src/java/org/foray/render/Renderer.java 2006-06-03 17:34:08 UTC (rev 7380) @@ -29,7 +29,6 @@ package org.foray.render; -import org.axsl.areaR.AreaRException; import org.foray.common.MUserAgent; import org.foray.common.SVGUserAgent; import org.foray.output.OutputConfig; @@ -37,16 +36,20 @@ import org.axsl.areaR.Area; import org.axsl.areaR.AreaNode; +import org.axsl.areaR.AreaRException; import org.axsl.areaR.AreaTree; import org.axsl.areaR.BasicLinkArea; +import org.axsl.areaR.BeforeFloatArea; import org.axsl.areaR.BlockContainerArea; import org.axsl.areaR.BookmarkTreeArea; import org.axsl.areaR.ExternalGraphicArea; +import org.axsl.areaR.FootnoteArea; import org.axsl.areaR.ForeignObjectArea; import org.axsl.areaR.GeneralInlineArea; import org.axsl.areaR.InlineArea; import org.axsl.areaR.LeaderArea; import org.axsl.areaR.LineArea; +import org.axsl.areaR.MainReferenceArea; import org.axsl.areaR.NormalBlockArea; import org.axsl.areaR.NormalFlowArea; import org.axsl.areaR.PageArea; @@ -496,6 +499,18 @@ protected abstract void render(BookmarkTreeArea area); + protected void render(FootnoteArea area) { + renderChildren(area); + } + + protected void render(BeforeFloatArea area) { + renderChildren(area); + } + + protected void render(MainReferenceArea area) { + renderChildren(area); + } + protected void render(PageNumberCitationArea area) { renderTextSegment(area, area.resolve().toCharArray()); } @@ -568,8 +583,7 @@ return; } case ConstantsAreaTree.AREATYPE_LINE: { - LineArea la = (LineArea) atNode; - render(la); + render((LineArea) atNode); return; } case ConstantsAreaTree.AREATYPE_IMAGE: { @@ -598,15 +612,15 @@ return; } case ConstantsAreaTree.AREATYPE_FOOTNOTE_RA: { - render(atNode); + render((FootnoteArea) atNode); return; } case ConstantsAreaTree.AREATYPE_BEFORE_FLOAT_RA: { - render(atNode); + render((BeforeFloatArea) atNode); return; } case ConstantsAreaTree.AREATYPE_MAIN_RA: { - render(atNode); + render((MainReferenceArea) atNode); return; } case ConstantsAreaTree.AREATYPE_SPAN_RA: { Modified: trunk/foray/foray-render/src/java/org/foray/render/xml/XMLRenderer.java =================================================================== --- trunk/foray/foray-render/src/java/org/foray/render/xml/XMLRenderer.java 2006-06-03 17:28:08 UTC (rev 7379) +++ trunk/foray/foray-render/src/java/org/foray/render/xml/XMLRenderer.java 2006-06-03 17:34:08 UTC (rev 7380) @@ -35,7 +35,9 @@ import org.axsl.areaR.Area; import org.axsl.areaR.AreaFlexible; +import org.axsl.areaR.AreaNode; import org.axsl.areaR.BasicLinkArea; +import org.axsl.areaR.BeforeFloatArea; import org.axsl.areaR.BlockContainerArea; import org.axsl.areaR.BookmarkTreeArea; import org.axsl.areaR.ExternalGraphicArea; @@ -45,6 +47,7 @@ import org.axsl.areaR.InlineArea; import org.axsl.areaR.LeaderArea; import org.axsl.areaR.LineArea; +import org.axsl.areaR.MainReferenceArea; import org.axsl.areaR.NormalBlockArea; import org.axsl.areaR.NormalFlowArea; import org.axsl.areaR.PageArea; @@ -176,26 +179,28 @@ /** * Write the start tag, attribues, and end-tag for an element. - * @param area The area for whom element is written. + * @param node The area for whom element is written. * @param attributes Text of the attributes to be written. */ - protected void writeStartTag(Area area, StringBuffer attributes) { + protected void writeStartTag(AreaNode node, StringBuffer attributes) { writeIndent(); this.indent++; this.writer.write("<"); - this.writer.write(area.getAreaName()); - this.writer.write(attributes.toString()); + this.writer.write(node.getAreaName()); + if (attributes != null) { + this.writer.write(attributes.toString()); + } this.writer.write(">\n"); } /** * Write an end tag. - * @param area The area whose end-tag should be written. + * @param node The area whose end-tag should be written. */ - protected void writeEndTag(Area area) { + protected void writeEndTag(AreaNode node) { this.indent--; writeIndent(); - this.writer.write("</" + area.getAreaName() + ">\n"); + this.writer.write("</" + node.getAreaName() + ">\n"); } /** @@ -234,6 +239,15 @@ writeEndTag(area); } + public void render(MainReferenceArea area) { + StringBuffer buffer = new StringBuffer(); + outputGeneratedBy(area, buffer); + writeStartTag(area, buffer); + outputAllRectangles(area); + renderChildren(area); + writeEndTag(area); + } + /** * render a body area container to XML * @@ -263,6 +277,20 @@ } /** + * render a body area container to XML + * + * @param area the body area container to render + */ + public void render(BeforeFloatArea area) { + StringBuffer buffer = new StringBuffer(); + outputGeneratedBy(area, buffer); + writeStartTag(area, buffer); + outputAllRectangles(area); + renderChildren(area); + writeEndTag(area); + } + + /** * render a region area container to XML * * @param area the region area container to render @@ -518,6 +546,12 @@ writeEndTag(area); } + protected void render(AreaNode node) { + writeStartTag(node, null); + renderChildren(node); + writeEndTag(node); + } + private boolean isCoarseXml() { if (options == null) { return false; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |