Class Border3D

    • Constructor Detail

      • Border3D

        protected Border3D​(float width)
        Creates a Border3D instance with the specified width. Also sets the color to gray.
        Parameters:
        width - with of the border
      • Border3D

        protected Border3D​(DeviceRgb color,
                           float width)
        Creates a Border3D instance with the specified width and color.
        Parameters:
        color - color of the border
        width - width of the border
      • Border3D

        protected Border3D​(DeviceCmyk color,
                           float width)
        Creates a Border3D instance with the specified width and color.
        Parameters:
        color - color of the border
        width - width of the border
      • Border3D

        protected Border3D​(DeviceGray color,
                           float width)
        Creates a Border3D instance with the specified width and color.
        Parameters:
        color - color of the border
        width - width of the border
      • Border3D

        protected Border3D​(DeviceRgb color,
                           float width,
                           float opacity)
        Creates a Border3D instance with the specified width, color and opacity.
        Parameters:
        color - color of the border
        width - width of the border
        opacity - opacity of the border
      • Border3D

        protected Border3D​(DeviceCmyk color,
                           float width,
                           float opacity)
        Creates a Border3D instance with the specified width, color and opacity.
        Parameters:
        color - color of the border
        width - width of the border
        opacity - opacity of the border
      • Border3D

        protected Border3D​(DeviceGray color,
                           float width,
                           float opacity)
        Creates a Border3D instance with the specified width, color and opacity.
        Parameters:
        color - color of the border
        width - width of the border
        opacity - opacity of the border
    • Method Detail

      • draw

        public void draw​(PdfCanvas canvas,
                         float x1,
                         float y1,
                         float x2,
                         float y2,
                         Border.Side defaultSide,
                         float borderWidthBefore,
                         float borderWidthAfter)
        All borders are supposed to be drawn in such way, that inner content of the element is on the right from the drawing direction. Borders are drawn in this order: top, right, bottom, left.

        Given points specify the line which lies on the border of the content area, therefore the border itself should be drawn to the left from the drawing direction.

        borderWidthBefore and borderWidthAfter parameters are used to define the widths of the borders that are before and after the current border, e.g. for the bottom border, borderWidthBefore specifies width of the right border and borderWidthAfter - width of the left border. Those width are used to handle areas of border joins.

        Specified by:
        draw in class Border
        Parameters:
        canvas - PdfCanvas to be written to
        x1 - x coordinate of the beginning point of the element side, that should be bordered
        y1 - y coordinate of the beginning point of the element side, that should be bordered
        x2 - x coordinate of the ending point of the element side, that should be bordered
        y2 - y coordinate of the ending point of the element side, that should be bordered
        defaultSide - the Border.Side, that we will fallback to, if it cannot be determined by border coordinates
        borderWidthBefore - defines width of the border that is before the current one
        borderWidthAfter - defines width of the border that is after the current one
      • drawCellBorder

        public void drawCellBorder​(PdfCanvas canvas,
                                   float x1,
                                   float y1,
                                   float x2,
                                   float y2,
                                   Border.Side defaultSide)
        Draws the border of a cell.
        Specified by:
        drawCellBorder in class Border
        Parameters:
        canvas - PdfCanvas to be written to
        x1 - x coordinate of the beginning point of the element side, that should be bordered
        y1 - y coordinate of the beginning point of the element side, that should be bordered
        x2 - x coordinate of the ending point of the element side, that should be bordered
        y2 - y coordinate of the ending point of the element side, that should be bordered
        defaultSide - the Border.Side, that we will fallback to, if it cannot be determined by border coordinates
      • getDarkerColor

        protected Color getDarkerColor()
        Makes the Border.transparentColor color of the border darker and returns the result
        Returns:
        The darker color
      • setInnerHalfColor

        protected abstract void setInnerHalfColor​(PdfCanvas canvas,
                                                  Border.Side side)
        Sets the fill color for the inner half of 3D Border
        Parameters:
        canvas - PdfCanvas the color will be applied on
        side - the side the color will be applied on
      • setOuterHalfColor

        protected abstract void setOuterHalfColor​(PdfCanvas canvas,
                                                  Border.Side side)
        Sets the fill color for the outer half of 3D Border
        Parameters:
        canvas - PdfCanvas the color will be applied on
        side - the side the color will be applied on