Class Border3D

java.lang.Object
com.itextpdf.layout.borders.Border
com.itextpdf.layout.borders.Border3D
Direct Known Subclasses:
GrooveBorder, InsetBorder, OutsetBorder, RidgeBorder

public abstract class Border3D extends Border
Represents a border that is displayed using a 3D effect.
  • Constructor Details

    • 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 Details

    • 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