Class BorderPainter

java.lang.Object
org.xhtmlrenderer.render.BorderPainter

public class BorderPainter extends Object
  • Field Details

  • Constructor Details

    • BorderPainter

      public BorderPainter()
  • Method Details

    • generateBorderBounds

      public static Path2D generateBorderBounds(Rectangle bounds, BorderPropertySet border, boolean inside)
      Generates a full round rectangle that is made of bounds and border
      Parameters:
      bounds - Dimensions of the rect
      border - The border specs
      inside - Set true if you want the inner bounds of borders
      Returns:
      A Path that is all sides of the round rectangle
    • generateBorderShape

      public static Path2D generateBorderShape(Rectangle bounds, int side, BorderPropertySet border, boolean drawInterior)
      Generates one side of a border
      Parameters:
      bounds - bounds of the container
      side - what side you want
      border - border props
      drawInterior - if you want it to be 2d or not, if false it will be just a line
      Returns:
      a path for the side chosen!
    • generateBorderShape

      public static Path2D generateBorderShape(Rectangle bounds, int side, BorderPropertySet border, boolean drawInterior, float scaledOffset)
      Generates one side of a border
      Parameters:
      bounds - bounds of the container
      side - what side you want
      border - border props
      drawInterior - if you want it to be 2d or not, if false it will be just a line
      scaledOffset - insets the border by multipling border widths by this variable, best use would be 1 or .5, cant see it for much other than that
      Returns:
      a path for the side chosen!
    • generateBorderShape

      public static Path2D generateBorderShape(Rectangle bounds, int side, BorderPropertySet border, boolean drawInterior, float scaledOffset, float widthScale)
      Generates one side of a border
      Parameters:
      bounds - bounds of the container
      side - what side you want
      border - border props
      drawInterior - if you want it to be 2d or not, if false it will be just a line
      scaledOffset - insets the border by multipling border widths by this variable, best use would be 1 or .5, cant see it for much other than that
      widthScale - scales the border widths by this factor, useful for drawing half borders for border types like groove or double
      Returns:
      a path for the side chosen!
    • appendPath

      private static void appendPath(Path2D path, float xOffset, float yOffset, float radiusVert, float radiusHoriz, float startAngle, float distance, float topWidth, float sideWidth, float scaleOffset, boolean left, float widthScale)
    • paint

      public static void paint(Rectangle bounds, int sides, BorderPropertySet border, RenderingContext ctx, int xOffset, boolean bevel)
      Parameters:
      xOffset - for determining starting point for patterns
    • paintBorderSide

      private static void paintBorderSide(OutputDevice outputDevice, BorderPropertySet border, Rectangle bounds, int sides, int currentSide, IdentValue borderSideStyle, int xOffset, boolean bevel)
    • paintDoubleBorder

      private static void paintDoubleBorder(OutputDevice outputDevice, BorderPropertySet border, Rectangle bounds, int sides, int currentSide, boolean bevel)
    • paintPatternedRect

      private static void paintPatternedRect(OutputDevice outputDevice, Rectangle bounds, BorderPropertySet border, BorderPropertySet color, float[] pattern, int sides, int currentSide, int xOffset)
      Parameters:
      xOffset - for inline borders, to determine dash_phase of top and bottom
    • paintBorderSideShape

      private static void paintBorderSideShape(OutputDevice outputDevice, Rectangle bounds, BorderPropertySet border, BorderPropertySet high, BorderPropertySet low, float offset, float scale, int sides, int currentSide, boolean bevel)
    • paintSolid

      private static void paintSolid(OutputDevice outputDevice, Rectangle bounds, BorderPropertySet border, float offset, float scale, int sides, int currentSide, boolean bevel)