Top Description Inners Fields Constructors Methods
com.openhtmltopdf.layout

public Class LayoutContext

extends Object
implements CssContext
Class Inheritance
All Implemented Interfaces
com.openhtmltopdf.css.style.CssContext
Imports
java.awt.Rectangle, java.util.HashMap, .LinkedList, .Map, com.openhtmltopdf.bidi.BidiReorderer, .BidiSplitter, .BidiSplitterFactory, .ParagraphSplitter, .SimpleBidiReorderer, .SimpleBidiSplitterFactory, com.openhtmltopdf.context.ContentFunctionFactory, .StyleReference, com.openhtmltopdf.css.style.CalculatedStyle, .CssContext, com.openhtmltopdf.css.value.FontSpecification, com.openhtmltopdf.extend.FSCanvas, .FontContext, .NamespaceHandler, .ReplacedElementFactory, .TextRenderer, .UserAgentCallback, com.openhtmltopdf.layout.counter.AbstractCounterContext, .CounterContext, com.openhtmltopdf.render.Box, .FSFont, .FSFontMetrics, .MarkerData, .PageBox

This class tracks state which changes over the course of a layout run. Generally speaking, if possible, state information should be stored in the box tree and not here. It also provides pass-though calls to many methods in SharedContext.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static enum

Field Summary

Modifier and TypeField and Description
private LinkedList<BlockFormattingContext>
private BidiReorderer
private BidiSplitterFactory
private LayoutContext.BlockBoxingState
private BreakAtLineContext
private final ContentFunctionFactory
public final Map<CalculatedStyle, CounterContext>
private MarkerData
private byte
private int
private int
private StyleTracker
private StyleTracker
private FontContext
private int
private FootnoteManager
private boolean
private boolean
private LinkedList<Layer>
private boolean
private boolean
private int
private PageBox
private String
private String
private Layer
private Layer
private LayoutState
private SharedContext
private final ParagraphSplitter
private Boolean

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
addBoxId(String id, Box box)

public LayoutState
public LayoutState
public BidiReorderer
public BidiSplitterFactory
getBidiSplitterFactory()

The bidi splitter is used to split text runs into LTR and RTL visual ordering.

public LayoutContext.BlockBoxingState
public BlockFormattingContext
public BreakAtLineContext
public FSCanvas
public ContentFunctionFactory
public AbstractCounterContext
public StyleReference
public MarkerData
public byte

Returns:

the default text direction for a document.
getDefaultTextDirection
()

public int
public int
getExtraSpaceBottom()

Returns the extra space set aside for the footers of paginated tables.

public int
getExtraSpaceTop()

Returns the extra space set aside for the head section of paginated tables.

public StyleTracker
public StyleTracker
public Rectangle
public FSFont
public FontContext
public float
public int
getFootnoteIndex()

The zero-based footnote index, which will likely be different from any counter used with the footnote.

public FootnoteManager
getFootnoteManager()

Gets the document's footnote manager, creating it if required.

public FSFontMetrics
public Layer
public float
public NamespaceHandler
public int
public PageBox
public String
public ParagraphSplitter
getParagraphSplitter()

The paragraph splitter splits the document into paragraphs for the purpose of bi-directional text analysis.

public String
public ReplacedElementFactory
public Layer
public Layer
public SharedContext
public TextRenderer
public UserAgentCallback
public float
public boolean
public boolean
isFootnoteAllowed()

Whether further footnote content is allowed.

public boolean
isInFloatBottom()

Implements com.openhtmltopdf.css.style.CssContext.isInFloatBottom.

Returns true if we are laying out the footnote area rather than general content.

public boolean
public boolean
public boolean
public boolean
public boolean
public void
public void
public void
public void
pushLayer(Box master)

public void
public void
public void
reInit(boolean keepLayers)

public void
public void
public void
public void
public void
public void
public void
setBidiSplitterFactory(BidiSplitterFactory factory)

The bidi splitter is used to split text runs into LTR and RTL visual ordering.

public void
public void
public void
setCurrentMarkerData(MarkerData currentMarkerData)

public void
setDefaultTextDirection(byte
either BidiSplitter.LTR or BidiSplitter.RTL.
direction
)

public void
setExtraSpaceBottom(int extraSpaceBottom)

See getExtraSpaceBottom()

public void
setExtraSpaceTop(int extraSpaceTop)

See getExtraSpaceTop()

public void
public void
public void
public void
public void
setFootnoteIndex(int footnoteIndex)

See getFootnoteIndex()

public void
setIsInFloatBottom(boolean inFloatBottom)

See isInFloatBottom()

public void
setIsPrintOverride(Boolean
true, false or null for no override.
isPrint
)

public void
public void
setMayCheckKeepTogether(boolean mayKeepTogether)

public void
setNoPageBreak(int noPageBreak)

public void
public void
setPageName(String currentPageName)

public void
setPendingPageName(String pendingPageName)

public void
setRootDocumentLayer(Layer rootDocumentLayer)

public void
translate(int x, int y)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

_bfcsback to summary
private LinkedList<BlockFormattingContext> _bfcs
_bidiReordererback to summary
private BidiReorderer _bidiReorderer
_bidiSplitterFactoryback to summary
private BidiSplitterFactory _bidiSplitterFactory
_blockBoxingStateback to summary
private LayoutContext.BlockBoxingState _blockBoxingState
_breakAtLineContextback to summary
private BreakAtLineContext _breakAtLineContext
_contentFunctionFactoryback to summary
private final ContentFunctionFactory _contentFunctionFactory
_counterContextMapback to summary
public final Map<CalculatedStyle, CounterContext> _counterContextMap
_currentMarkerDataback to summary
private MarkerData _currentMarkerData
_defaultTextDirectionback to summary
private byte _defaultTextDirection
_extraSpaceBottomback to summary
private int _extraSpaceBottom
_extraSpaceTopback to summary
private int _extraSpaceTop
_firstLettersback to summary
private StyleTracker _firstLetters
_firstLinesback to summary
private StyleTracker _firstLines
_fontContextback to summary
private FontContext _fontContext
_footnoteIndexback to summary
private int _footnoteIndex
_footnoteManagerback to summary
private FootnoteManager _footnoteManager
_isFootnoteAllowedback to summary
private boolean _isFootnoteAllowed
_isInFloatBottomback to summary
private boolean _isInFloatBottom
_layersback to summary
private LinkedList<Layer> _layers
_lineBreakedBecauseOfNoWrapback to summary
private boolean _lineBreakedBecauseOfNoWrap
_mayCheckKeepTogetherback to summary
private boolean _mayCheckKeepTogether
_noPageBreakback to summary
private int _noPageBreak
_pageback to summary
private PageBox _page
_pageNameback to summary
private String _pageName
_pendingPageNameback to summary
private String _pendingPageName
_rootDocumentLayerback to summary
private Layer _rootDocumentLayer
_rootLayerback to summary
private Layer _rootLayer
_savedLayoutStateback to summary
private LayoutState _savedLayoutState
_sharedContextback to summary
private SharedContext _sharedContext
_splitterback to summary
private final ParagraphSplitter _splitter
isPrintOverrideback to summary
private Boolean isPrintOverride

Constructor Detail

LayoutContextback to summary
pack-priv LayoutContext(SharedContext sharedContext)

Method Detail

addBoxIdback to summary
public void addBoxId(String id, Box box)
captureLayoutStateback to summary
public LayoutState captureLayoutState()
copyStateForRelayoutback to summary
public LayoutState copyStateForRelayout()
getBidiReordererback to summary
public BidiReorderer getBidiReorderer()
getBidiSplitterFactoryback to summary
public BidiSplitterFactory getBidiSplitterFactory()

The bidi splitter is used to split text runs into LTR and RTL visual ordering.

getBlockBoxingStateback to summary
public LayoutContext.BlockBoxingState getBlockBoxingState()
getBlockFormattingContextback to summary
public BlockFormattingContext getBlockFormattingContext()
getBreakAtLineContextback to summary
public BreakAtLineContext getBreakAtLineContext()
getCanvasback to summary
public FSCanvas getCanvas()
getContentFunctionFactoryback to summary
public ContentFunctionFactory getContentFunctionFactory()
getCounterContextback to summary
public AbstractCounterContext getCounterContext(CalculatedStyle style)
getCssback to summary
public StyleReference getCss()

Implements com.openhtmltopdf.css.style.CssContext.getCss.

getCurrentMarkerDataback to summary
public MarkerData getCurrentMarkerData()
getDefaultTextDirectionback to summary
public byte getDefaultTextDirection()
Returns:byte

the default text direction for a document.

getDotsPerPixelback to summary
public int getDotsPerPixel()

Implements com.openhtmltopdf.css.style.CssContext.getDotsPerPixel.

getExtraSpaceBottomback to summary
public int getExtraSpaceBottom()

Returns the extra space set aside for the footers of paginated tables.

getExtraSpaceTopback to summary
public int getExtraSpaceTop()

Returns the extra space set aside for the head section of paginated tables.

getFirstLettersTrackerback to summary
public StyleTracker getFirstLettersTracker()
getFirstLinesTrackerback to summary
public StyleTracker getFirstLinesTracker()
getFixedRectangleback to summary
public Rectangle getFixedRectangle()
getFontback to summary
public FSFont getFont(FontSpecification font)

Implements com.openhtmltopdf.css.style.CssContext.getFont.

getFontContextback to summary
public FontContext getFontContext()

Implements com.openhtmltopdf.css.style.CssContext.getFontContext.

Annotations
@Override
getFontSize2Dback to summary
public float getFontSize2D(FontSpecification font)

Implements com.openhtmltopdf.css.style.CssContext.getFontSize2D.

getFootnoteIndexback to summary
public int getFootnoteIndex()

The zero-based footnote index, which will likely be different from any counter used with the footnote.

getFootnoteManagerback to summary
public FootnoteManager getFootnoteManager()

Gets the document's footnote manager, creating it if required. From the footnote manager, one can add and remove footnote bodies.

getFSFontMetricsback to summary
public FSFontMetrics getFSFontMetrics(FSFont font)

Implements com.openhtmltopdf.css.style.CssContext.getFSFontMetrics.

getLayerback to summary
public Layer getLayer()
getMmPerDotback to summary
public float getMmPerDot()

Implements com.openhtmltopdf.css.style.CssContext.getMmPerDot.

getNamespaceHandlerback to summary
public NamespaceHandler getNamespaceHandler()
getNoPageBreakback to summary
public int getNoPageBreak()
getPageback to summary
public PageBox getPage()
getPageNameback to summary
public String getPageName()
getParagraphSplitterback to summary
public ParagraphSplitter getParagraphSplitter()

The paragraph splitter splits the document into paragraphs for the purpose of bi-directional text analysis.

getPendingPageNameback to summary
public String getPendingPageName()
getReplacedElementFactoryback to summary
public ReplacedElementFactory getReplacedElementFactory()
getRootDocumentLayerback to summary
public Layer getRootDocumentLayer()
getRootLayerback to summary
public Layer getRootLayer()
getSharedContextback to summary
public SharedContext getSharedContext()
getTextRendererback to summary
public TextRenderer getTextRenderer()

Implements com.openhtmltopdf.css.style.CssContext.getTextRenderer.

Annotations
@Override
getUacback to summary
public UserAgentCallback getUac()
getXHeightback to summary
public float getXHeight(FontSpecification parentFont)

Implements com.openhtmltopdf.css.style.CssContext.getXHeight.

hasActiveFootnotesback to summary
public boolean hasActiveFootnotes()
isFootnoteAllowedback to summary
public boolean isFootnoteAllowed()

Whether further footnote content is allowed. Used to prohibit footnotes inside footnotes.

isInFloatBottomback to summary
public boolean isInFloatBottom()

Implements com.openhtmltopdf.css.style.CssContext.isInFloatBottom.

Doc from com.openhtmltopdf.css.style.CssContext.isInFloatBottom.

Returns true if we are laying out the footnote area rather than general content.

isInteractiveback to summary
public boolean isInteractive()
isLineBreakedBecauseOfNoWrapback to summary
public boolean isLineBreakedBecauseOfNoWrap()
isMayCheckKeepTogetherback to summary
public boolean isMayCheckKeepTogether()
isPageBreaksAllowedback to summary
public boolean isPageBreaksAllowed()
isPrintback to summary
public boolean isPrint()
popBFCback to summary
public void popBFC()
popLayerback to summary
public void popLayer()
pushBFCback to summary
public void pushBFC(BlockFormattingContext bfc)
pushLayerback to summary
public void pushLayer(Box master)
pushLayerback to summary
public void pushLayer(Layer layer)
pushLayerIsolatedback to summary
public void pushLayerIsolated(Box master)
reInitback to summary
public void reInit(boolean keepLayers)
removeBoxIdback to summary
public void removeBoxId(String id)
resolveCountersback to summary
public void resolveCounters(CalculatedStyle style, Integer startIndex)
resolveCountersback to summary
public void resolveCounters(CalculatedStyle style)
restoreLayoutStateback to summary
public void restoreLayoutState(LayoutState layoutState)
restoreStateForRelayoutback to summary
public void restoreStateForRelayout(LayoutState layoutState)
setBidiReordererback to summary
public void setBidiReorderer(BidiReorderer reorderer)
setBidiSplitterFactoryback to summary
public void setBidiSplitterFactory(BidiSplitterFactory factory)

The bidi splitter is used to split text runs into LTR and RTL visual ordering.

setBlockBoxingStateback to summary
public void setBlockBoxingState(LayoutContext.BlockBoxingState state)
setBreakAtLineContextback to summary
public void setBreakAtLineContext(BreakAtLineContext breakAtLineContext)
setCurrentMarkerDataback to summary
public void setCurrentMarkerData(MarkerData currentMarkerData)
setDefaultTextDirectionback to summary
public void setDefaultTextDirection(byte direction)
Parameters
direction:byte

either BidiSplitter.LTR or BidiSplitter.RTL.

setExtraSpaceBottomback to summary
public void setExtraSpaceBottom(int extraSpaceBottom)

See getExtraSpaceBottom()

setExtraSpaceTopback to summary
public void setExtraSpaceTop(int extraSpaceTop)

See getExtraSpaceTop()

setFirstLettersTrackerback to summary
public void setFirstLettersTracker(StyleTracker firstLetters)
setFirstLinesTrackerback to summary
public void setFirstLinesTracker(StyleTracker firstLines)
setFontContextback to summary
public void setFontContext(FontContext fontContext)
setFootnoteAllowedback to summary
public void setFootnoteAllowed(boolean allowed)

See isFootnoteAllowed().

setFootnoteIndexback to summary
public void setFootnoteIndex(int footnoteIndex)

See getFootnoteIndex()

setIsInFloatBottomback to summary
public void setIsInFloatBottom(boolean inFloatBottom)

See isInFloatBottom()

setIsPrintOverrideback to summary
public void setIsPrintOverride(Boolean isPrint)
Parameters
isPrint:Boolean

true, false or null for no override.

setLineBreakedBecauseOfNoWrapback to summary
public void setLineBreakedBecauseOfNoWrap(boolean value)
setMayCheckKeepTogetherback to summary
public void setMayCheckKeepTogether(boolean mayKeepTogether)
setNoPageBreakback to summary
public void setNoPageBreak(int noPageBreak)
setPageback to summary
public void setPage(PageBox page)
setPageNameback to summary
public void setPageName(String currentPageName)
setPendingPageNameback to summary
public void setPendingPageName(String pendingPageName)
setRootDocumentLayerback to summary
public void setRootDocumentLayer(Layer rootDocumentLayer)
translateback to summary
public void translate(int x, int y)
com.openhtmltopdf.layout back to summary

public final Enum LayoutContext.BlockBoxingState

extends Enum<LayoutContext.BlockBoxingState>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final LayoutContext.BlockBoxingState
public static final LayoutContext.BlockBoxingState
public static final LayoutContext.BlockBoxingState

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static LayoutContext.BlockBoxingState
public static LayoutContext.BlockBoxingState[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

ALLOWback to summary
public static final LayoutContext.BlockBoxingState ALLOW
DENYback to summary
public static final LayoutContext.BlockBoxingState DENY
NOT_SETback to summary
public static final LayoutContext.BlockBoxingState NOT_SET

Constructor Detail

BlockBoxingStateback to summary
private BlockBoxingState()

Method Detail

valueOfback to summary
public static LayoutContext.BlockBoxingState valueOf(String name)
valuesback to summary
public static LayoutContext.BlockBoxingState[] values()