Package org.xhtmlrenderer.css.style
Class CalculatedStyle
- java.lang.Object
-
- org.xhtmlrenderer.css.style.CalculatedStyle
-
- Direct Known Subclasses:
EmptyStyle
public class CalculatedStyle extends Object
A set of properties that apply to a single Element, derived from all matched properties following the rules for CSS cascade, inheritance, importance, specificity and sequence. A derived style is just like a style but (presumably) has additional information that allows relative properties to be assigned values, e.g. font attributes. Property values are fully resolved when this style is created. A property retrieved by name should always have only one value in this class (e.g. one-one map). Any methods to retrieve property values from an instance of this class require a validCssContextbe given to it, for some cases of property resolution. Generally, a programmer will not use this class directly, but will retrieve properties using aStyleReferenceimplementation.- Author:
- Torbjoern Gannholm, Patrick Wright
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedCalculatedStyle()Default constructor; as the instance is immutable after use, don't use this for class instantiation externally.
-
Method Summary
-
-
-
Field Detail
-
LEFT
public static final int LEFT
- See Also:
- Constant Field Values
-
RIGHT
public static final int RIGHT
- See Also:
- Constant Field Values
-
TOP
public static final int TOP
- See Also:
- Constant Field Values
-
BOTTOM
public static final int BOTTOM
- See Also:
- Constant Field Values
-
-
Method Detail
-
deriveStyle
public CalculatedStyle deriveStyle(CascadedStyle matched)
derives a child style from this style.depends on the ability to return the identical CascadedStyle each time a child style is needed
- Parameters:
matched- the CascadedStyle to apply- Returns:
- The derived child style
-
countAssigned
public int countAssigned()
-
getParent
public CalculatedStyle getParent()
Returns the parent style
-
toString
public String toString()
Converts to a String representation of the object.
-
asFloat
public float asFloat(CSSName cssName)
-
setDefaultValue
public void setDefaultValue(CSSName cssName, FSDerivedValue fsDerivedValue)
-
hasAbsoluteUnit
public boolean hasAbsoluteUnit(CSSName cssName)
-
isIdent
public boolean isIdent(CSSName cssName, IdentValue val)
Gets the ident attribute of the CalculatedStyle object
-
getIdent
public IdentValue getIdent(CSSName cssName)
Gets the ident attribute of the CalculatedStyle object
-
getColor
public FSColor getColor()
Convenience property accessor; returns a Color initialized with the foreground color Uses the actual value (computed actual value) for this element.- Returns:
- The color value
-
getBackgroundColor
public FSColor getBackgroundColor()
Convenience property accessor; returns a Color initialized with the background color value; Uses the actual value (computed actual value) for this element.- Returns:
- The backgroundColor value
-
getBackgroundSize
public BackgroundSize getBackgroundSize()
-
getBackgroundPosition
public BackgroundPosition getBackgroundPosition()
-
getCounterReset
public List<CounterData> getCounterReset()
-
getCounterIncrement
public List<CounterData> getCounterIncrement()
-
getBorder
public BorderPropertySet getBorder(CssContext ctx)
-
getFont
public FontSpecification getFont(CssContext ctx)
-
getFontSpecification
public FontSpecification getFontSpecification()
-
getFloatPropertyProportionalTo
public float getFloatPropertyProportionalTo(CSSName cssName, float baseValue, CssContext ctx)
-
getFloatPropertyProportionalWidth
public float getFloatPropertyProportionalWidth(CSSName cssName, float parentWidth, CssContext ctx)
-
getFloatPropertyProportionalHeight
public float getFloatPropertyProportionalHeight(CSSName cssName, float parentHeight, CssContext ctx)
-
getLineHeight
public float getLineHeight(CssContext ctx)
-
getMarginRect
public RectPropertySet getMarginRect(float cbWidth, CssContext ctx)
Convenience property accessor; returns a Border initialized with the four-sided margin width. Uses the actual value (computed actual value) for this element.- Returns:
- The marginWidth value
-
getMarginRect
public RectPropertySet getMarginRect(float cbWidth, CssContext ctx, boolean useCache)
-
getPaddingRect
public RectPropertySet getPaddingRect(float cbWidth, CssContext ctx, boolean useCache)
Convenience property accessor; returns a Border initialized with the four-sided padding width. Uses the actual value (computed actual value) for this element.- Returns:
- The paddingWidth value
-
getPaddingRect
public RectPropertySet getPaddingRect(float cbWidth, CssContext ctx)
-
isLength
public boolean isLength(CSSName cssName)
-
isLengthOrNumber
public boolean isLengthOrNumber(CSSName cssName)
-
valueByName
public FSDerivedValue valueByName(CSSName cssName)
Returns aFSDerivedValueby name. Because we are a derived style, the property will already be resolved at this point.- Parameters:
cssName- The CSS property name, e.g. "font-family"
-
getCachedPadding
public RectPropertySet getCachedPadding()
-
getCachedMargin
public RectPropertySet getCachedMargin()
-
getMarginBorderPadding
public int getMarginBorderPadding(CssContext cssCtx, int cbWidth, int which)
-
getWhitespace
public IdentValue getWhitespace()
-
getFSFont
public FSFont getFSFont(CssContext cssContext)
-
getFSFontMetrics
public FSFontMetrics getFSFontMetrics(CssContext c)
-
getWordWrap
public IdentValue getWordWrap()
-
getHyphens
public IdentValue getHyphens()
-
isClearLeft
public boolean isClearLeft()
-
isClearRight
public boolean isClearRight()
-
isCleared
public boolean isCleared()
-
getBackgroundRepeat
public IdentValue getBackgroundRepeat()
-
getBackgroundAttachment
public IdentValue getBackgroundAttachment()
-
isFixedBackground
public boolean isFixedBackground()
-
isInline
public boolean isInline()
-
isInlineBlock
public boolean isInlineBlock()
-
isTable
public boolean isTable()
-
isInlineTable
public boolean isInlineTable()
-
isTableCell
public boolean isTableCell()
-
isTableSection
public boolean isTableSection()
-
isTableCaption
public boolean isTableCaption()
-
isTableHeader
public boolean isTableHeader()
-
isTableFooter
public boolean isTableFooter()
-
isTableRow
public boolean isTableRow()
-
isDisplayNone
public boolean isDisplayNone()
-
isSpecifiedAsBlock
public boolean isSpecifiedAsBlock()
-
isBlockEquivalent
public boolean isBlockEquivalent()
-
isLayedOutInInlineContext
public boolean isLayedOutInInlineContext()
-
isNeedAutoMarginResolution
public boolean isNeedAutoMarginResolution()
-
isAbsolute
public boolean isAbsolute()
-
isFixed
public boolean isFixed()
-
isFloated
public boolean isFloated()
-
isFloatedLeft
public boolean isFloatedLeft()
-
isFloatedRight
public boolean isFloatedRight()
-
isRelative
public boolean isRelative()
-
isPostionedOrFloated
public boolean isPostionedOrFloated()
-
isPositioned
public boolean isPositioned()
-
isAutoWidth
public boolean isAutoWidth()
-
isAbsoluteWidth
public boolean isAbsoluteWidth()
-
isAutoHeight
public boolean isAutoHeight()
-
isAutoLeftMargin
public boolean isAutoLeftMargin()
-
isAutoRightMargin
public boolean isAutoRightMargin()
-
isAutoZIndex
public boolean isAutoZIndex()
-
establishesBFC
public boolean establishesBFC()
-
requiresLayer
public boolean requiresLayer()
-
isRunning
public boolean isRunning()
-
getRunningName
public String getRunningName()
-
isOverflowApplies
public boolean isOverflowApplies()
-
isOverflowVisible
public boolean isOverflowVisible()
-
isHorizontalBackgroundRepeat
public boolean isHorizontalBackgroundRepeat()
-
isVerticalBackgroundRepeat
public boolean isVerticalBackgroundRepeat()
-
isTopAuto
public boolean isTopAuto()
-
isBottomAuto
public boolean isBottomAuto()
-
isListItem
public boolean isListItem()
-
isVisible
public boolean isVisible()
-
isForcePageBreakBefore
public boolean isForcePageBreakBefore()
-
isForcePageBreakAfter
public boolean isForcePageBreakAfter()
-
isAvoidPageBreakInside
public boolean isAvoidPageBreakInside()
-
createAnonymousStyle
public CalculatedStyle createAnonymousStyle(IdentValue display)
-
mayHaveFirstLine
public boolean mayHaveFirstLine()
-
mayHaveFirstLetter
public boolean mayHaveFirstLetter()
-
isNonFlowContent
public boolean isNonFlowContent()
-
isMayCollapseMarginsWithChildren
public boolean isMayCollapseMarginsWithChildren()
-
isAbsFixedOrInlineBlockEquiv
public boolean isAbsFixedOrInlineBlockEquiv()
-
isMaxWidthNone
public boolean isMaxWidthNone()
-
isMaxHeightNone
public boolean isMaxHeightNone()
-
isBorderBox
public boolean isBorderBox()
-
getMinWidth
public int getMinWidth(CssContext c, int cbWidth)
-
getMaxWidth
public int getMaxWidth(CssContext c, int cbWidth)
-
getMinHeight
public int getMinHeight(CssContext c, int cbHeight)
-
getMaxHeight
public int getMaxHeight(CssContext c, int cbHeight)
-
isCollapseBorders
public boolean isCollapseBorders()
-
getBorderHSpacing
public int getBorderHSpacing(CssContext c)
-
getBorderVSpacing
public int getBorderVSpacing(CssContext c)
-
getRowSpan
public int getRowSpan()
-
getColSpan
public int getColSpan()
-
asLength
public Length asLength(CssContext c, CSSName cssName)
-
isShowEmptyCells
public boolean isShowEmptyCells()
-
isHasBackground
public boolean isHasBackground()
-
getTextDecorations
public List<FSDerivedValue> getTextDecorations()
-
getCursor
public Cursor getCursor()
-
isPaginateTable
public boolean isPaginateTable()
-
isTextJustify
public boolean isTextJustify()
-
isListMarkerInside
public boolean isListMarkerInside()
-
isKeepWithInline
public boolean isKeepWithInline()
-
isDynamicAutoWidth
public boolean isDynamicAutoWidth()
-
isDynamicAutoWidthApplicable
public boolean isDynamicAutoWidthApplicable()
-
isCanBeShrunkToFit
public boolean isCanBeShrunkToFit()
-
-