Class Underline


  • public class Underline
    extends java.lang.Object
    A POJO that describes the underline of a layout element.

    This class is to be used as a property for an element or renderer, as the value for Property.UNDERLINE.

    • Field Detail

      • thickness

        protected float thickness
      • thicknessMul

        protected float thicknessMul
      • yPosition

        protected float yPosition
      • yPositionMul

        protected float yPositionMul
      • lineCapStyle

        protected int lineCapStyle
      • strokeWidth

        private float strokeWidth
      • dashArray

        private float[] dashArray
      • dashPhase

        private float dashPhase
    • Constructor Detail

      • Underline

        public Underline​(Color color,
                         float thickness,
                         float thicknessMul,
                         float yPosition,
                         float yPositionMul,
                         int lineCapStyle)
        Creates an Underline. Both thickness and vertical positioning under the text element's base line can be set to a fixed value, or a variable one depending on the element's font size. If you want a fixed-width thickness, set thicknessMul to 0; if you want a thickness solely dependent on the font size, set thickness to 0. Mutatis mutandis for the y-position.
        Parameters:
        color - the Color of the underline
        thickness - a float defining the minimum thickness in points of the underline
        thicknessMul - a float defining the font size dependent component of the thickness of the underline
        yPosition - a float defining the default absolute vertical distance in points from the text's base line
        yPositionMul - a float defining the font size dependent component of the vertical positioning of the underline
        lineCapStyle - the way the underline finishes at its edges. PdfCanvasConstants.LineCapStyle
      • Underline

        public Underline​(Color color,
                         float opacity,
                         float thickness,
                         float thicknessMul,
                         float yPosition,
                         float yPositionMul,
                         int lineCapStyle)
        Creates an Underline. Both thickness and vertical positioning under the text element's base line can be set to a fixed value, or a variable one depending on the element's font size. If you want a fixed-width thickness, set thicknessMul to 0; if you want a thickness solely dependent on the font size, set thickness to 0. Mutatis mutandis for the y-position.
        Parameters:
        color - the Color of the underline
        opacity - a float defining the opacity of the underline; a float between 0 and 1, where 1 stands for fully opaque color and 0 - for fully transparent
        thickness - a float defining the minimum thickness in points of the underline
        thicknessMul - a float defining the font size dependent component of the thickness of the underline
        yPosition - a float defining the default absolute vertical distance in points from the text's base line
        yPositionMul - a float defining the font size dependent component of the vertical positioning of the underline
        lineCapStyle - the way the underline finishes at its edges. PdfCanvasConstants.LineCapStyle
    • Method Detail

      • getColor

        public Color getColor()
        Gets the color of the underline.
        Returns:
        a Color
      • getOpacity

        public float getOpacity()
        Gets the opacity of the underline color.
        Returns:
        a float between 0 and 1, where 1 stands for fully opaque color and 0 - for fully transparent
      • getThickness

        public float getThickness​(float fontSize)
        Gets the total thickness of the underline (fixed + variable part).
        Parameters:
        fontSize - the font size for which to calculate the variable thickness
        Returns:
        the total thickness, as a float, in points
      • getYPosition

        public float getYPosition​(float fontSize)
        Gets the vertical position of the underline (fixed + variable part).
        Parameters:
        fontSize - the font size for which to calculate the variable position
        Returns:
        the y-position, as a float, in points
      • getYPositionMul

        public float getYPositionMul()
        Gets the multiplier for the vertical positioning of the text underline.
        Returns:
        the Y-position multiplier, as a float
      • getStrokeWidth

        public float getStrokeWidth()
        Gets the thickness of the underline stroke.
        Returns:
        float value of the stroke width
      • setStrokeWidth

        public Underline setStrokeWidth​(float strokeWidth)
        Sets the thickness of the underline stroke.
        Parameters:
        strokeWidth - float value of the stroke width
        Returns:
        this Underline instance
      • getDashArray

        public float[] getDashArray()
        Gets dash array part of the dash pattern to be used when paths are stroked. Default value is solid line.

        The line dash pattern is expressed as an array of the form [ dashArray dashPhase ], where dashArray is itself an array and dashPhase is an integer.

        An empty dash array (first element in the array) and zero phase (second element in the array) can be used to restore the dash pattern to a solid line.

        Returns:
        float dash array
      • getDashPhase

        public float getDashPhase()
        Gets dash phase part of the dash pattern to be used when paths are stroked. Default value is solid line.

        The line dash pattern is expressed as an array of the form [ dashArray dashPhase ], where dashArray is itself an array and dashPhase is an integer.

        An empty dash array (first element in the array) and zero phase (second element in the array) can be used to restore the dash pattern to a solid line.

        Returns:
        float dash array
      • setDashPattern

        public Underline setDashPattern​(float[] dashArray,
                                        float dashPhase)
        Sets a description of the dash pattern to be used when paths are stroked. Default value is solid line.

        The line dash pattern is expressed as an array of the form [ dashArray dashPhase ], where dashArray is itself an array and dashPhase is a number.

        An empty dash array (first element in the array) and zero phase (second element in the array) can be used to restore the dash pattern to a solid line.

        Parameters:
        dashArray - dash array
        dashPhase - dash phase value
        Returns:
        this same Underline instance