Package com.itextpdf.forms.form.renderer
Class ButtonRenderer
- java.lang.Object
-
- All Implemented Interfaces:
IPropertyContainer
,IRenderer
public class ButtonRenderer extends AbstractOneLineTextFieldRenderer
TheAbstractTextFieldRenderer
implementation for buttons.
-
-
Field Summary
Fields Modifier and Type Field Description private static float
DEFAULT_Y_OFFSET
Default padding Y offset for an input button.private boolean
isSplit
Indicates if the one line caption was split.private static float
RELATIVE_PADDING_FOR_SMALL_SIZES
Relative value is quite big in order to preserve visible padding on small field sizes.-
Fields inherited from class com.itextpdf.forms.form.renderer.AbstractTextFieldRenderer
font
-
Fields inherited from class com.itextpdf.forms.form.renderer.AbstractFormFieldRenderer
flatRenderer
-
Fields inherited from class com.itextpdf.layout.renderer.AbstractRenderer
childRenderers, EPS, flushed, INF, isLastRendererForModelElement, modelElement, occupiedArea, OVERLAP_EPSILON, parent, positionedRenderers, properties
-
-
Constructor Summary
Constructors Constructor Description ButtonRenderer(Button modelElement)
Creates a newButtonRenderer
instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
adjustFieldLayout(LayoutContext layoutContext)
Adjusts the field layout.protected void
applyAcroField(DrawContext drawContext)
Applies the AcroField widget.protected IRenderer
createFlatRenderer()
Creates the flat renderer instance.java.lang.String
getDefaultValue()
Gets the default value of the form field.protected java.lang.Float
getLastYLineRecursively()
IRenderer
getNextRenderer()
Gets a new instance of this class to be used as a next renderer, after this renderer is used, ifIRenderer.layout(LayoutContext)
is called more than once.protected boolean
isLayoutBasedOnFlatRenderer()
Determines, whether the layout is based in the renderer itself or flat renderer.protected boolean
isRendererFit(float availableWidth, float availableHeight)
Checks if the renderer fits a certain width and height.(package private) void
setContentHeight(IRenderer flatRenderer, float height)
Sets the content height.-
Methods inherited from class com.itextpdf.forms.form.renderer.AbstractOneLineTextFieldRenderer
cropContentLines
-
Methods inherited from class com.itextpdf.forms.form.renderer.AbstractTextFieldRenderer
adjustNumberOfContentLines, adjustNumberOfContentLines, applyDefaultFieldProperties, approximateFontSize, calculateFittingFontSize, createParagraphRenderer, getHeightRowsBased, getLowestChildBottom, updateHtmlColsSizeBasedWidth, updatePdfFont
-
Methods inherited from class com.itextpdf.forms.form.renderer.AbstractFormFieldRenderer
applyAccessibilityProperties, draw, drawChildren, getConformance, getLang, getMinMaxWidth, getModelId, isFlatten, layout, writeAcroFormFieldLangAttribute
-
Methods inherited from class com.itextpdf.layout.renderer.BlockRenderer
applyRotationLayout, applyVerticalAlignment, beginRotationIfApplied, createOverflowRenderer, createRotationTransformInsideOccupiedArea, createSplitRenderer, endRotationIfApplied, getOccupiedAreaBBox, getResolvedFont
-
Methods inherited from class com.itextpdf.layout.renderer.AbstractRenderer
addAllProperties, addChild, alignChildHorizontally, allowLastYLineRecursiveExtraction, applyAbsolutePosition, applyAction, applyBorderBox, applyBorderBox, applyDestination, applyDestinationsAndAnnotation, applyLinkAnnotation, applyMargins, applyMargins, applyPaddings, applyPaddings, applyRelativePositioningTranslation, beginElementOpacityApplying, beginTransformationIfApplied, calculateAbsolutePdfBBox, calculateBBox, calculateShiftToPositionBBoxOfPointsAt, clipBackgroundArea, clipBackgroundArea, clipBorderArea, createXObject, deleteOwnProperty, deleteProperty, drawBackground, drawBorder, endElementOpacityApplying, endTransformationIfApplied, getBackgroundArea, getBorderAreaBBox, getBorderRadii, getBorders, getChildRenderers, getDefaultProperty, getFirstYLineRecursively, getInnerAreaBBox, getMargins, getModelElement, getOccupiedArea, getOwnProperties, getOwnProperty, getPaddings, getParent, getProperty, getProperty, getPropertyAsBoolean, getPropertyAsColor, getPropertyAsFloat, getPropertyAsFloat, getPropertyAsFont, getPropertyAsInteger, getPropertyAsTransparentColor, getPropertyAsUnitValue, hasAbsoluteUnitValue, hasOwnOrModelProperty, hasOwnProperty, hasProperty, hasRelativeUnitValue, initElementAreas, isAbsolutePosition, isBorderBoxSizing, isFirstOnRootArea, isFixedLayout, isFlushed, isKeepTogether, isNotFittingHeight, isNotFittingLayoutArea, isNotFittingWidth, isOverflowFit, isOverflowProperty, isOverflowProperty, isOverflowProperty, isPositioned, isRelativePosition, isStaticLayout, move, rectangleToPointsList, retrieveHeight, retrieveMaxHeight, retrieveMaxWidth, retrieveMinHeight, retrieveMinWidth, retrieveUnitValue, retrieveUnitValue, retrieveWidth, setBorders, setMinMaxWidthBasedOnFixedWidth, setParent, setProperty, toString, transformPoints, updateHeight, updateHeightsOnSplit, updateMaxHeight, updateMinHeight, updateWidth
-
-
-
-
Field Detail
-
DEFAULT_Y_OFFSET
private static final float DEFAULT_Y_OFFSET
Default padding Y offset for an input button.- See Also:
- Constant Field Values
-
RELATIVE_PADDING_FOR_SMALL_SIZES
private static final float RELATIVE_PADDING_FOR_SMALL_SIZES
Relative value is quite big in order to preserve visible padding on small field sizes. This constant is taken arbitrary, based on visual similarity to Acrobat behaviour.- See Also:
- Constant Field Values
-
isSplit
private boolean isSplit
Indicates if the one line caption was split.
-
-
Constructor Detail
-
ButtonRenderer
public ButtonRenderer(Button modelElement)
Creates a newButtonRenderer
instance.- Parameters:
modelElement
- the model element
-
-
Method Detail
-
adjustFieldLayout
protected void adjustFieldLayout(LayoutContext layoutContext)
Adjusts the field layout.- Specified by:
adjustFieldLayout
in classAbstractFormFieldRenderer
- Parameters:
layoutContext
- layout context
-
isLayoutBasedOnFlatRenderer
protected boolean isLayoutBasedOnFlatRenderer()
Determines, whether the layout is based in the renderer itself or flat renderer.- Overrides:
isLayoutBasedOnFlatRenderer
in classAbstractFormFieldRenderer
- Returns:
true
if layout is based on flat renderer, false otherwise.
-
getLastYLineRecursively
protected java.lang.Float getLastYLineRecursively()
- Overrides:
getLastYLineRecursively
in classAbstractRenderer
- Returns:
-
createFlatRenderer
protected IRenderer createFlatRenderer()
Creates the flat renderer instance.- Specified by:
createFlatRenderer
in classAbstractFormFieldRenderer
- Returns:
- the renderer instance.
-
getNextRenderer
public IRenderer getNextRenderer()
Gets a new instance of this class to be used as a next renderer, after this renderer is used, ifIRenderer.layout(LayoutContext)
is called more than once.- Returns:
- new renderer instance
-
getDefaultValue
public java.lang.String getDefaultValue()
Gets the default value of the form field.- Overrides:
getDefaultValue
in classAbstractFormFieldRenderer
- Returns:
- the default value of the form field.
-
isRendererFit
protected boolean isRendererFit(float availableWidth, float availableHeight)
Checks if the renderer fits a certain width and height.- Overrides:
isRendererFit
in classAbstractFormFieldRenderer
- Parameters:
availableWidth
- the available widthavailableHeight
- the available height- Returns:
- true, if the renderer fits.
-
applyAcroField
protected void applyAcroField(DrawContext drawContext)
Applies the AcroField widget.- Specified by:
applyAcroField
in classAbstractFormFieldRenderer
- Parameters:
drawContext
- the draw context
-
setContentHeight
void setContentHeight(IRenderer flatRenderer, float height)
Sets the content height.- Overrides:
setContentHeight
in classAbstractOneLineTextFieldRenderer
- Parameters:
flatRenderer
- the flat rendererheight
- the height
-
-