Added {@inheritDoc} comments to make Checkstyle happy git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1081822 13f79535-47bb-0310-9956-ffa450edef68tags/fop-1_1rc1old
import org.apache.fop.area.inline.Space; | import org.apache.fop.area.inline.Space; | ||||
import org.apache.fop.area.inline.SpaceArea; | import org.apache.fop.area.inline.SpaceArea; | ||||
import org.apache.fop.area.inline.TextArea; | import org.apache.fop.area.inline.TextArea; | ||||
import org.apache.fop.area.inline.Viewport; | |||||
import org.apache.fop.area.inline.InlineViewport; | |||||
import org.apache.fop.area.inline.WordArea; | import org.apache.fop.area.inline.WordArea; | ||||
import org.apache.fop.fo.ElementMappingRegistry; | import org.apache.fop.fo.ElementMappingRegistry; | ||||
import org.apache.fop.fo.expr.PropertyException; | import org.apache.fop.fo.expr.PropertyException; | ||||
makers.put("word", new WordMaker()); | makers.put("word", new WordMaker()); | ||||
makers.put("space", new SpaceMaker()); | makers.put("space", new SpaceMaker()); | ||||
makers.put("leader", new LeaderMaker()); | makers.put("leader", new LeaderMaker()); | ||||
makers.put("viewport", new ViewportMaker()); | |||||
makers.put("viewport", new InlineViewportMaker()); | |||||
makers.put("image", new ImageMaker()); | makers.put("image", new ImageMaker()); | ||||
makers.put("foreignObject", new ForeignObjectMaker()); | makers.put("foreignObject", new ForeignObjectMaker()); | ||||
makers.put("bookmarkTree", new BookmarkTreeMaker()); | makers.put("bookmarkTree", new BookmarkTreeMaker()); | ||||
return (AbstractTextArea)findAreaType(AbstractTextArea.class); | return (AbstractTextArea)findAreaType(AbstractTextArea.class); | ||||
} | } | ||||
private Viewport getCurrentViewport() { | |||||
return (Viewport)findAreaType(Viewport.class); | |||||
private InlineViewport getCurrentViewport() { | |||||
return (InlineViewport)findAreaType(InlineViewport.class); | |||||
} | } | ||||
/** {@inheritDoc} */ | /** {@inheritDoc} */ | ||||
} | } | ||||
} | } | ||||
private class ViewportMaker extends AbstractMaker { | |||||
private class InlineViewportMaker extends AbstractMaker { | |||||
public void startElement(Attributes attributes) { | public void startElement(Attributes attributes) { | ||||
Viewport viewport = new Viewport(null); | |||||
InlineViewport viewport = new InlineViewport(null); | |||||
transferForeignObjects(attributes, viewport); | transferForeignObjects(attributes, viewport); | ||||
setAreaAttributes(attributes, viewport); | setAreaAttributes(attributes, viewport); | ||||
setTraits(attributes, viewport, SUBSET_COMMON); | setTraits(attributes, viewport, SUBSET_COMMON); | ||||
} | } | ||||
public void endElement() { | public void endElement() { | ||||
assertObjectOfClass(areaStack.pop(), Viewport.class); | |||||
assertObjectOfClass(areaStack.pop(), InlineViewport.class); | |||||
} | } | ||||
} | } | ||||
clip = cl; | clip = cl; | ||||
} | } | ||||
/** {@inheritDoc} */ | |||||
public boolean hasClip() { | public boolean hasClip() { | ||||
return clip; | return clip; | ||||
} | } | ||||
/** {@inheritDoc} */ | |||||
public Rectangle getClipRectangle() { | public Rectangle getClipRectangle() { | ||||
if (clip) { | if (clip) { | ||||
return new Rectangle(getIPD(), getBPD()); | return new Rectangle(getIPD(), getBPD()); |
clip = c; | clip = c; | ||||
} | } | ||||
/** {@inheritDoc} */ | |||||
public boolean hasClip() { | public boolean hasClip() { | ||||
return this.clip; | return this.clip; | ||||
} | } | ||||
/** {@inheritDoc} */ | |||||
public Rectangle getClipRectangle() { | public Rectangle getClipRectangle() { | ||||
if (clip) { | if (clip) { | ||||
return new Rectangle(getIPD(), getBPD()); | return new Rectangle(getIPD(), getBPD()); |
package org.apache.fop.area.inline; | package org.apache.fop.area.inline; | ||||
import java.util.List; | |||||
import java.util.ListIterator; | |||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import java.util.Iterator; | import java.util.Iterator; | ||||
import java.util.List; | |||||
import java.util.ListIterator; | |||||
/** | /** | ||||
* Filled area. | * Filled area. | ||||
InlineArea child = (InlineArea) childrenIterator.next(); | InlineArea child = (InlineArea) childrenIterator.next(); | ||||
if (child instanceof InlineParent) { | if (child instanceof InlineParent) { | ||||
setChildOffset(((InlineParent) child).getChildAreas().listIterator(), v); | setChildOffset(((InlineParent) child).getChildAreas().listIterator(), v); | ||||
} else if (child instanceof org.apache.fop.area.inline.Viewport) { | |||||
} else if (child instanceof InlineViewport) { | |||||
// nothing | // nothing | ||||
} else { | } else { | ||||
child.setOffset(v); | child.setOffset(v); |
import java.util.HashMap; | import java.util.HashMap; | ||||
import org.apache.fop.area.Area; | import org.apache.fop.area.Area; | ||||
import org.apache.fop.area.Viewport; | |||||
/** | /** | ||||
* Inline viewport area. | * Inline viewport area. | ||||
* external graphic and instream foreign object. This viewport | * external graphic and instream foreign object. This viewport | ||||
* holds the area and positions it. | * holds the area and positions it. | ||||
*/ | */ | ||||
public class Viewport extends InlineArea implements org.apache.fop.area.Viewport { | |||||
public class InlineViewport extends InlineArea implements Viewport { | |||||
private static final long serialVersionUID = 813338534627918689L; | private static final long serialVersionUID = 813338534627918689L; | ||||
* | * | ||||
* @param child the child content area of this viewport | * @param child the child content area of this viewport | ||||
*/ | */ | ||||
public Viewport(Area child) { | |||||
public InlineViewport(Area child) { | |||||
this.content = child; | this.content = child; | ||||
} | } | ||||
this.clip = c; | this.clip = c; | ||||
} | } | ||||
/** {@inheritDoc} */ | |||||
public boolean hasClip() { | public boolean hasClip() { | ||||
return this.clip; | return this.clip; | ||||
} | } | ||||
/** {@inheritDoc} */ | |||||
public Rectangle getClipRectangle() { | public Rectangle getClipRectangle() { | ||||
if (clip) { | if (clip) { | ||||
return new Rectangle(getIPD(), getBPD()); | return new Rectangle(getIPD(), getBPD()); |
import org.apache.fop.area.PageViewport; | import org.apache.fop.area.PageViewport; | ||||
import org.apache.fop.area.RegionViewport; | import org.apache.fop.area.RegionViewport; | ||||
import org.apache.fop.area.inline.Image; | import org.apache.fop.area.inline.Image; | ||||
import org.apache.fop.area.inline.Viewport; | |||||
import org.apache.fop.area.inline.InlineViewport; | |||||
import org.apache.fop.datatypes.FODimension; | import org.apache.fop.datatypes.FODimension; | ||||
import org.apache.fop.datatypes.URISpecification; | import org.apache.fop.datatypes.URISpecification; | ||||
import org.apache.fop.fo.Constants; | import org.apache.fop.fo.Constants; | ||||
TraitSetter.setProducerID(imageArea, fobj.getId()); | TraitSetter.setProducerID(imageArea, fobj.getId()); | ||||
transferForeignAttributes(imageArea); | transferForeignAttributes(imageArea); | ||||
Viewport vp = new Viewport(imageArea); | |||||
InlineViewport vp = new InlineViewport(imageArea); | |||||
TraitSetter.setProducerID(vp, fobj.getId()); | TraitSetter.setProducerID(vp, fobj.getId()); | ||||
vp.setIPD(imageSize.width); | vp.setIPD(imageSize.width); | ||||
vp.setBPD(imageSize.height); | vp.setBPD(imageSize.height); |
import java.util.List; | import java.util.List; | ||||
import org.apache.fop.area.Area; | import org.apache.fop.area.Area; | ||||
import org.apache.fop.area.inline.Viewport; | |||||
import org.apache.fop.area.inline.InlineViewport; | |||||
import org.apache.fop.datatypes.LengthBase; | import org.apache.fop.datatypes.LengthBase; | ||||
import org.apache.fop.fo.FObj; | import org.apache.fop.fo.FObj; | ||||
import org.apache.fop.fo.flow.AbstractGraphics; | import org.apache.fop.fo.flow.AbstractGraphics; | ||||
* | * | ||||
* @return the viewport inline area | * @return the viewport inline area | ||||
*/ | */ | ||||
private Viewport getInlineArea() { | |||||
private InlineViewport getInlineArea() { | |||||
final AbstractGraphics fobj = (AbstractGraphics)this.fobj; | final AbstractGraphics fobj = (AbstractGraphics)this.fobj; | ||||
Dimension intrinsicSize = new Dimension( | Dimension intrinsicSize = new Dimension( | ||||
fobj.getIntrinsicWidth(), | fobj.getIntrinsicWidth(), | ||||
TraitSetter.setProducerID(viewportArea, fobj.getId()); | TraitSetter.setProducerID(viewportArea, fobj.getId()); | ||||
transferForeignAttributes(viewportArea); | transferForeignAttributes(viewportArea); | ||||
Viewport vp = new Viewport(viewportArea); | |||||
InlineViewport vp = new InlineViewport(viewportArea); | |||||
TraitSetter.addPtr(vp, fobj.getPtr()); // used for accessibility | TraitSetter.addPtr(vp, fobj.getPtr()); // used for accessibility | ||||
TraitSetter.setProducerID(vp, fobj.getId()); | TraitSetter.setProducerID(vp, fobj.getId()); | ||||
vp.setIPD(imageLayout.getViewportSize().width); | vp.setIPD(imageLayout.getViewportSize().width); | ||||
/** {@inheritDoc} */ | /** {@inheritDoc} */ | ||||
public List getNextKnuthElements(LayoutContext context, | public List getNextKnuthElements(LayoutContext context, | ||||
int alignment) { | int alignment) { | ||||
Viewport areaCurrent = getInlineArea(); | |||||
InlineViewport areaCurrent = getInlineArea(); | |||||
setCurrentArea(areaCurrent); | setCurrentArea(areaCurrent); | ||||
return super.getNextKnuthElements(context, alignment); | return super.getNextKnuthElements(context, alignment); | ||||
} | } |
import org.apache.fop.area.Trait; | import org.apache.fop.area.Trait; | ||||
import org.apache.fop.area.inline.ForeignObject; | import org.apache.fop.area.inline.ForeignObject; | ||||
import org.apache.fop.area.inline.InlineArea; | import org.apache.fop.area.inline.InlineArea; | ||||
import org.apache.fop.area.inline.Viewport; | |||||
import org.apache.fop.area.inline.InlineViewport; | |||||
import org.apache.fop.fo.Constants; | import org.apache.fop.fo.Constants; | ||||
import org.apache.fop.fo.extensions.ExtensionElementMapping; | import org.apache.fop.fo.extensions.ExtensionElementMapping; | ||||
import org.apache.fop.fonts.FontMetrics; | import org.apache.fop.fonts.FontMetrics; | ||||
* This renders an inline viewport by clipping if necessary. | * This renders an inline viewport by clipping if necessary. | ||||
* @param viewport the viewport to handle | * @param viewport the viewport to handle | ||||
*/ | */ | ||||
public void renderViewport(Viewport viewport) { | |||||
public void renderInlineViewport(InlineViewport viewport) { | |||||
float x = currentIPPosition / 1000f; | float x = currentIPPosition / 1000f; | ||||
float y = (currentBPPosition + viewport.getOffset()) / 1000f; | float y = (currentBPPosition + viewport.getOffset()) / 1000f; | ||||
clipRect(x + borderPaddingStart, y + borderPaddingBefore, width, height); | clipRect(x + borderPaddingStart, y + borderPaddingBefore, width, height); | ||||
} | } | ||||
super.renderViewport(viewport); | |||||
super.renderInlineViewport(viewport); | |||||
if (viewport.hasClip()) { | if (viewport.hasClip()) { | ||||
restoreGraphicsState(); | restoreGraphicsState(); |
import org.apache.fop.area.inline.Space; | import org.apache.fop.area.inline.Space; | ||||
import org.apache.fop.area.inline.SpaceArea; | import org.apache.fop.area.inline.SpaceArea; | ||||
import org.apache.fop.area.inline.TextArea; | import org.apache.fop.area.inline.TextArea; | ||||
import org.apache.fop.area.inline.Viewport; | |||||
import org.apache.fop.area.inline.InlineViewport; | |||||
import org.apache.fop.area.inline.WordArea; | import org.apache.fop.area.inline.WordArea; | ||||
import org.apache.fop.fo.Constants; | import org.apache.fop.fo.Constants; | ||||
import org.apache.fop.fonts.FontInfo; | import org.apache.fop.fonts.FontInfo; | ||||
renderInlineBlockParent((InlineBlockParent) inlineArea); | renderInlineBlockParent((InlineBlockParent) inlineArea); | ||||
} else if (inlineArea instanceof Space) { | } else if (inlineArea instanceof Space) { | ||||
renderInlineSpace((Space) inlineArea); | renderInlineSpace((Space) inlineArea); | ||||
} else if (inlineArea instanceof Viewport) { | |||||
renderViewport((Viewport) inlineArea); | |||||
} else if (inlineArea instanceof InlineViewport) { | |||||
renderInlineViewport((InlineViewport) inlineArea); | |||||
} else if (inlineArea instanceof Leader) { | } else if (inlineArea instanceof Leader) { | ||||
renderLeader((Leader) inlineArea); | renderLeader((Leader) inlineArea); | ||||
} | } | ||||
* Render the given Viewport. | * Render the given Viewport. | ||||
* @param viewport the viewport to render | * @param viewport the viewport to render | ||||
*/ | */ | ||||
protected void renderViewport(Viewport viewport) { | |||||
protected void renderInlineViewport(InlineViewport viewport) { | |||||
Area content = viewport.getContent(); | Area content = viewport.getContent(); | ||||
int saveBP = currentBPPosition; | int saveBP = currentBPPosition; | ||||
currentBPPosition += viewport.getOffset(); | currentBPPosition += viewport.getOffset(); |
import org.apache.fop.area.inline.Leader; | import org.apache.fop.area.inline.Leader; | ||||
import org.apache.fop.area.inline.SpaceArea; | import org.apache.fop.area.inline.SpaceArea; | ||||
import org.apache.fop.area.inline.TextArea; | import org.apache.fop.area.inline.TextArea; | ||||
import org.apache.fop.area.inline.Viewport; | |||||
import org.apache.fop.area.inline.InlineViewport; | |||||
import org.apache.fop.area.inline.WordArea; | import org.apache.fop.area.inline.WordArea; | ||||
import org.apache.fop.datatypes.URISpecification; | import org.apache.fop.datatypes.URISpecification; | ||||
import org.apache.fop.fo.extensions.ExtensionAttachment; | import org.apache.fop.fo.extensions.ExtensionAttachment; | ||||
} | } | ||||
/** {@inheritDoc} */ | /** {@inheritDoc} */ | ||||
public void renderViewport(Viewport viewport) { | |||||
public void renderInlineViewport(InlineViewport viewport) { | |||||
String ptr = (String) viewport.getTrait(Trait.PTR); | String ptr = (String) viewport.getTrait(Trait.PTR); | ||||
establishStructurePointer(ptr); | establishStructurePointer(ptr); | ||||
Dimension dim = new Dimension(viewport.getIPD(), viewport.getBPD()); | Dimension dim = new Dimension(viewport.getIPD(), viewport.getBPD()); | ||||
viewportDimensionStack.push(dim); | viewportDimensionStack.push(dim); | ||||
super.renderViewport(viewport); | |||||
super.renderInlineViewport(viewport); | |||||
viewportDimensionStack.pop(); | viewportDimensionStack.pop(); | ||||
resetStructurePointer(); | resetStructurePointer(); | ||||
} | } |
import org.apache.fop.area.inline.Space; | import org.apache.fop.area.inline.Space; | ||||
import org.apache.fop.area.inline.SpaceArea; | import org.apache.fop.area.inline.SpaceArea; | ||||
import org.apache.fop.area.inline.TextArea; | import org.apache.fop.area.inline.TextArea; | ||||
import org.apache.fop.area.inline.Viewport; | |||||
import org.apache.fop.area.inline.InlineViewport; | |||||
import org.apache.fop.area.inline.WordArea; | import org.apache.fop.area.inline.WordArea; | ||||
import org.apache.fop.fo.Constants; | import org.apache.fop.fo.Constants; | ||||
import org.apache.fop.fo.extensions.ExtensionAttachment; | import org.apache.fop.fo.extensions.ExtensionAttachment; | ||||
* {@inheritDoc} | * {@inheritDoc} | ||||
*/ | */ | ||||
@Override | @Override | ||||
protected void renderViewport(Viewport viewport) { | |||||
protected void renderInlineViewport(InlineViewport viewport) { | |||||
atts.clear(); | atts.clear(); | ||||
addAreaAttributes(viewport); | addAreaAttributes(viewport); | ||||
addTraitAttributes(viewport); | addTraitAttributes(viewport); | ||||
addAttribute("clip", "true"); | addAttribute("clip", "true"); | ||||
} | } | ||||
startElement("viewport", atts); | startElement("viewport", atts); | ||||
super.renderViewport(viewport); | |||||
super.renderInlineViewport(viewport); | |||||
endElement("viewport"); | endElement("viewport"); | ||||
} | } | ||||
import org.apache.fop.area.ViewportTestCase; | import org.apache.fop.area.ViewportTestCase; | ||||
/** | /** | ||||
* Tests the {@linkplain Viewport} class. | |||||
* Tests the {@linkplain InlineViewport} class. | |||||
*/ | */ | ||||
public class InlineViewportTestCase extends ViewportTestCase { | public class InlineViewportTestCase extends ViewportTestCase { | ||||
public void testNonClip() throws Exception { | public void testNonClip() throws Exception { | ||||
Viewport v = new Viewport(null); | |||||
InlineViewport v = new InlineViewport(null); | |||||
v.setIPD(50); | v.setIPD(50); | ||||
v.setBPD(25); | v.setBPD(25); | ||||
checkNonClip(v); | checkNonClip(v); | ||||
} | } | ||||
public void testClip() throws Exception { | public void testClip() throws Exception { | ||||
Viewport v = new Viewport(null); | |||||
InlineViewport v = new InlineViewport(null); | |||||
int ipd = 50; | int ipd = 50; | ||||
int bpd = 25; | int bpd = 25; | ||||
v.setIPD(ipd); | v.setIPD(ipd); |