Class PDShadingType4

    • Constructor Detail

      • PDShadingType4

        public PDShadingType4​(COSDictionary shadingDictionary)
        Constructor using the given shading dictionary.
        Parameters:
        shadingDictionary - the dictionary for this shading
    • Method Detail

      • getShadingType

        public int getShadingType()
        Description copied from class: PDShading
        This will return the shading type.
        Specified by:
        getShadingType in class PDShading
        Returns:
        the shading typ
      • getBitsPerFlag

        public int getBitsPerFlag()
        The bits per flag of this shading. This will return -1 if one has not been set.
        Returns:
        The number of bits per flag.
      • setBitsPerFlag

        public void setBitsPerFlag​(int bitsPerFlag)
        Set the number of bits per flag.
        Parameters:
        bitsPerFlag - the number of bits per flag
      • toPaint

        public java.awt.Paint toPaint​(Matrix matrix)
        Description copied from class: PDShading
        Returns an AWT paint which corresponds to this shading
        Specified by:
        toPaint in class PDShading
        Parameters:
        matrix - the pattern matrix concatenated with that of the parent content stream, this matrix which maps the pattern's internal coordinate system to user space
        Returns:
        an AWT Paint instance
      • getBitsPerComponent

        public int getBitsPerComponent()
        The bits per component of this shading. This will return -1 if one has not been set.
        Returns:
        the number of bits per component
      • setBitsPerComponent

        public void setBitsPerComponent​(int bitsPerComponent)
        Set the number of bits per component.
        Parameters:
        bitsPerComponent - the number of bits per component
      • getBitsPerCoordinate

        public int getBitsPerCoordinate()
        The bits per coordinate of this shading. This will return -1 if one has not been set.
        Returns:
        the number of bits per coordinate
      • setBitsPerCoordinate

        public void setBitsPerCoordinate​(int bitsPerCoordinate)
        Set the number of bits per coordinate.
        Parameters:
        bitsPerCoordinate - the number of bits per coordinate
      • getNumberOfColorComponents

        public int getNumberOfColorComponents()
                                       throws java.io.IOException
        The number of color components of this shading.
        Returns:
        number of color components of this shading
        Throws:
        java.io.IOException
      • setDecodeValues

        public void setDecodeValues​(COSArray decodeValues)
        This will set the decode values.
        Parameters:
        decodeValues - the new decode values
      • getDecodeForParameter

        public PDRange getDecodeForParameter​(int paramNum)
        Get the decode for the input parameter.
        Parameters:
        paramNum - the function parameter number
        Returns:
        the decode parameter range or null if none is set
      • interpolate

        protected float interpolate​(float src,
                                    long srcMax,
                                    float dstMin,
                                    float dstMax)
        Calculate the interpolation, see p.345 pdf spec 1.7.
        Parameters:
        src - src value
        srcMax - max src value (2^bits-1)
        dstMin - min dst value
        dstMax - max dst value
        Returns:
        interpolated value
      • readVertex

        protected org.apache.pdfbox.pdmodel.graphics.shading.Vertex readVertex​(javax.imageio.stream.ImageInputStream input,
                                                                               long maxSrcCoord,
                                                                               long maxSrcColor,
                                                                               PDRange rangeX,
                                                                               PDRange rangeY,
                                                                               PDRange[] colRangeTab,
                                                                               Matrix matrix,
                                                                               java.awt.geom.AffineTransform xform)
                                                                        throws java.io.IOException
        Read a vertex from the bit input stream performs interpolations.
        Parameters:
        input - bit input stream
        maxSrcCoord - max value for source coordinate (2^bits-1)
        maxSrcColor - max value for source color (2^bits-1)
        rangeX - dest range for X
        rangeY - dest range for Y
        colRangeTab - dest range array for colors
        matrix - the pattern matrix concatenated with that of the parent content stream
        Returns:
        a new vertex with the flag and the interpolated values
        Throws:
        java.io.IOException - if something went wrong
      • getBounds

        public java.awt.geom.Rectangle2D getBounds​(java.awt.geom.AffineTransform xform,
                                                   Matrix matrix)
                                            throws java.io.IOException
        Description copied from class: PDShading
        Calculate a bounding rectangle around the areas of this shading context.
        Overrides:
        getBounds in class PDShading
        Returns:
        Bounding rectangle or null, if not supported by this shading type.
        Throws:
        java.io.IOException