Package com.teamten.typeset.element
Class Glue
java.lang.Object
com.teamten.typeset.element.Element
com.teamten.typeset.element.DiscardableElement
com.teamten.typeset.element.Glue
- All Implemented Interfaces:
Dimensions,Flexible
- Direct Known Subclasses:
Leader
Whitespace that has a default width but can be shrunk or stretched.
-
Field Summary
Fields inherited from class com.teamten.typeset.element.Element
DRAW_DEBUG -
Constructor Summary
ConstructorsConstructorDescriptionGlue(long size, long stretch, boolean stretchIsInfinite, long shrink, boolean shrinkIsInfinite, boolean isHorizontal) All units are in scaled points.Glue(long size, long stretch, long shrink, boolean isHorizontal) Convenience constructor for non-infinite glue.Glue(long size, Flexibility stretch, Flexibility shrink, boolean isHorizontal) All units are in scaled points. -
Method Summary
Modifier and TypeMethodDescriptionfixed(long newSize) Fix the element to the specified size.longgetDepth()Return the depth (below the baseline) of the element.longReturn the height (above the baseline) of the element.How much this element can shrink.longgetSize()Get the size of this element in the dimension of its flexibility.How much this element can stretch.longgetWidth()Return the width of the element.static Gluehorizontal(long size) Return fixed horizontal glue.static Glueinfinite(boolean isHorizontal) Return infinite glue of zero size.static GlueReturn infinite horizontal glue of zero width.static GlueReturn infinite vertical glue of zero height.booleanlonglayOutHorizontally(long x, long y, org.apache.pdfbox.pdmodel.PDPageContentStream contents) Add the element to the contents as part of a horizontal sequence.longlayOutVertically(long x, long y, org.apache.pdfbox.pdmodel.PDPageContentStream contents) Add the element to the contents as part of a vertical sequence.voidprintln(PrintStream stream, String indent) Pretty prints the element to the PrintWriter with the given indent.toString()Return a text version of the element, ideally containing only the text of the element and its children.static Gluevertical(long size) Return fixed vertical glue.Methods inherited from class com.teamten.typeset.element.Element
getVerticalSize, println, shouldSkipElementAtStart, toTextString, visit
-
Constructor Details
-
Glue
All units are in scaled points.- Parameters:
size- the ideal size of the glue.stretch- the maximum extra space that can be added.shrink- the maximum extra space that can be removed.
-
Glue
public Glue(long size, long stretch, boolean stretchIsInfinite, long shrink, boolean shrinkIsInfinite, boolean isHorizontal) All units are in scaled points.- Parameters:
size- the ideal size of the glue.stretch- the maximum extra space that can be added (not infinite).shrink- the maximum extra space that can be removed (not infinite).
-
Glue
public Glue(long size, long stretch, long shrink, boolean isHorizontal) Convenience constructor for non-infinite glue. All units are in scaled points.- Parameters:
size- the ideal size of the glue.stretch- the maximum extra space that can be added (not infinite).shrink- the maximum extra space that can be removed (not infinite).
-
-
Method Details
-
horizontal
Return fixed horizontal glue. -
vertical
Return fixed vertical glue. -
infinite
Return infinite glue of zero size. -
infiniteHorizontal
Return infinite horizontal glue of zero width. -
infiniteVertical
Return infinite vertical glue of zero height. -
getSize
public long getSize()Description copied from interface:FlexibleGet the size of this element in the dimension of its flexibility. -
getStretch
Description copied from interface:FlexibleHow much this element can stretch.- Specified by:
getStretchin interfaceFlexible
-
getShrink
Description copied from interface:FlexibleHow much this element can shrink. -
fixed
Description copied from interface:FlexibleFix the element to the specified size. -
isHorizontal
public boolean isHorizontal() -
getWidth
public long getWidth()Description copied from class:ElementReturn the width of the element.- Specified by:
getWidthin interfaceDimensions- Specified by:
getWidthin classElement
-
getHeight
public long getHeight()Description copied from class:ElementReturn the height (above the baseline) of the element.- Specified by:
getHeightin interfaceDimensions- Specified by:
getHeightin classElement
-
getDepth
public long getDepth()Description copied from class:ElementReturn the depth (below the baseline) of the element.- Specified by:
getDepthin interfaceDimensions- Specified by:
getDepthin classElement
-
layOutHorizontally
public long layOutHorizontally(long x, long y, org.apache.pdfbox.pdmodel.PDPageContentStream contents) throws IOException Description copied from class:ElementAdd the element to the contents as part of a horizontal sequence.- Specified by:
layOutHorizontallyin classElement- Parameters:
x- the left-most point of the element.y- the baseline of the element.contents- the stream to add the element to.- Returns:
- how much to move right afterward.
- Throws:
IOException
-
layOutVertically
public long layOutVertically(long x, long y, org.apache.pdfbox.pdmodel.PDPageContentStream contents) throws IOException Description copied from class:ElementAdd the element to the contents as part of a vertical sequence.- Specified by:
layOutVerticallyin classElement- Parameters:
x- the left-most point of the element.y- the upper-left point of the element.contents- the stream to add the element to.- Returns:
- how much to move down afterward.
- Throws:
IOException
-
println
Description copied from class:ElementPretty prints the element to the PrintWriter with the given indent. The method must print its own newline. -
toTextString
Description copied from class:ElementReturn a text version of the element, ideally containing only the text of the element and its children.- Overrides:
toTextStringin classElement
-
toString
-