Package com.teamten.typeset.element
Class Penalty
java.lang.Object
com.teamten.typeset.element.Element
com.teamten.typeset.element.DiscardableElement
com.teamten.typeset.element.Penalty
- All Implemented Interfaces:
Dimensions
A location where the line or page can be broken, but with a penalty.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final longPrevents breaking a line or page at this location.Fields inherited from class com.teamten.typeset.element.Element
DRAW_DEBUG -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionlonggetDepth()Return the depth (below the baseline) of the element.longReturn the height (above the baseline) of the element.longGets the value of the penalty.longgetWidth()Return the width of the element.booleanWhether this penalty should only be considered at the end of even pages.longlayOutHorizontally(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.Methods inherited from class com.teamten.typeset.element.Element
getVerticalSize, println, shouldSkipElementAtStart, toTextString, toTextString, visit
-
Field Details
-
INFINITY
public static final long INFINITYPrevents breaking a line or page at this location. When negated, forces a break.- See Also:
-
-
Constructor Details
-
Penalty
public Penalty(long penalty, boolean evenPageOnly) Create a penalty with the given score and whether to only apply the penalty at the end of even pages. When true, the penalty will be ignored if it's considered for breaking the end of an odd page. This is used to force the next section to start on an odd page. -
Penalty
public Penalty(long penalty) Create a penalty with the given score that is not limited to only even pages.
-
-
Method Details
-
getPenalty
public long getPenalty()Gets the value of the penalty.- Returns:
- the value of the penalty.
-
isEvenPageOnly
public boolean isEvenPageOnly()Whether this penalty should only be considered at the end of even pages. -
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.
-