Class BorderPainter


  • public class BorderPainter
    extends java.lang.Object
    • Constructor Detail

      • BorderPainter

        public BorderPainter()
    • Method Detail

      • generateSimpleBorderShape

        private static java.awt.Shape generateSimpleBorderShape​(java.awt.Rectangle bounds,
                                                                int currentSide,
                                                                BorderPropertySet border)
        Generate a simple rectangle without beveling for a solid border side. Turning off beveling should disable anti-aliasing and work better with table cell borders. See https://github.com/danfickle/openhtmltopdf/issues/752
      • generateBorderBounds

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

        public static java.awt.geom.Path2D generateBorderShape​(java.awt.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 java.awt.geom.Path2D generateBorderShape​(java.awt.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 java.awt.geom.Path2D generateBorderShape​(java.awt.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​(java.awt.geom.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​(java.awt.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,
                                            java.awt.Rectangle bounds,
                                            int sides,
                                            int currentSide,
                                            IdentValue borderSideStyle,
                                            int xOffset,
                                            boolean bevel)
      • paintDoubleBorder

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

        private static void paintPatternedRect​(OutputDevice outputDevice,
                                               java.awt.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
      • paintSolid

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