Class PDShading

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int SHADING_TYPE1
      shading type 1 = function based shading.
      static int SHADING_TYPE2
      shading type 2 = axial shading.
      static int SHADING_TYPE3
      shading type 3 = radial shading.
      static int SHADING_TYPE4
      shading type 4 = Free-Form Gouraud-Shaded Triangle Meshes.
      static int SHADING_TYPE5
      shading type 5 = Lattice-Form Gouraud-Shaded Triangle Meshes.
      static int SHADING_TYPE6
      shading type 6 = Coons Patch Meshes.
      static int SHADING_TYPE7
      shading type 7 = Tensor-Product Patch Meshes.
    • Constructor Summary

      Constructors 
      Constructor Description
      PDShading()
      Default constructor.
      PDShading​(COSDictionary shadingDictionary)
      Constructor using the given shading dictionary.
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      static PDShading create​(COSDictionary shadingDictionary)
      Create the correct PD Model shading based on the COS base shading.
      float[] evalFunction​(float inputValue)
      Convert the input value using the functions of the shading dictionary.
      float[] evalFunction​(float[] input)
      Convert the input values using the functions of the shading dictionary.
      boolean getAntiAlias()
      This will return the AntiAlias value.
      COSArray getBackground()
      This will return the background.
      PDRectangle getBBox()
      An array of four numbers in the form coordinate system (see below), giving the coordinates of the left, bottom, right, and top edges, respectively, of the shading's bounding box.
      java.awt.geom.Rectangle2D getBounds​(java.awt.geom.AffineTransform xform, Matrix matrix)
      Calculate a bounding rectangle around the areas of this shading context.
      PDColorSpace getColorSpace()
      This will get the color space or null if none exists.
      COSDictionary getCOSObject()
      This will get the underlying dictionary.
      PDFunction getFunction()
      This will return the function used to convert the color values.
      abstract int getShadingType()
      This will return the shading type.
      java.lang.String getType()
      This will return the type.
      void setAntiAlias​(boolean antiAlias)
      This will set the AntiAlias value.
      void setBackground​(COSArray newBackground)
      This will set the background.
      void setBBox​(PDRectangle newBBox)
      This will set the BBox (bounding box) for this Shading.
      void setColorSpace​(PDColorSpace colorSpace)
      This will set the color space for the shading.
      void setFunction​(COSArray newFunctions)
      This will set the functions COSArray for the color conversion.
      void setFunction​(PDFunction newFunction)
      This will set the function for the color conversion.
      void setShadingType​(int shadingType)
      This will set the shading type.
      abstract java.awt.Paint toPaint​(Matrix matrix)
      Returns an AWT paint which corresponds to this shading
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • SHADING_TYPE1

        public static final int SHADING_TYPE1
        shading type 1 = function based shading.
        See Also:
        Constant Field Values
      • SHADING_TYPE2

        public static final int SHADING_TYPE2
        shading type 2 = axial shading.
        See Also:
        Constant Field Values
      • SHADING_TYPE3

        public static final int SHADING_TYPE3
        shading type 3 = radial shading.
        See Also:
        Constant Field Values
      • SHADING_TYPE4

        public static final int SHADING_TYPE4
        shading type 4 = Free-Form Gouraud-Shaded Triangle Meshes.
        See Also:
        Constant Field Values
      • SHADING_TYPE5

        public static final int SHADING_TYPE5
        shading type 5 = Lattice-Form Gouraud-Shaded Triangle Meshes.
        See Also:
        Constant Field Values
      • SHADING_TYPE6

        public static final int SHADING_TYPE6
        shading type 6 = Coons Patch Meshes.
        See Also:
        Constant Field Values
      • SHADING_TYPE7

        public static final int SHADING_TYPE7
        shading type 7 = Tensor-Product Patch Meshes.
        See Also:
        Constant Field Values
    • Constructor Detail

      • PDShading

        public PDShading()
        Default constructor.
      • PDShading

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

      • getCOSObject

        public COSDictionary getCOSObject()
        This will get the underlying dictionary.
        Specified by:
        getCOSObject in interface COSObjectable
        Returns:
        the dictionary for this shading.
      • getType

        public java.lang.String getType()
        This will return the type.
        Returns:
        the type of object that this is
      • setShadingType

        public void setShadingType​(int shadingType)
        This will set the shading type.
        Parameters:
        shadingType - the new shading type
      • getShadingType

        public abstract int getShadingType()
        This will return the shading type.
        Returns:
        the shading typ
      • setBackground

        public void setBackground​(COSArray newBackground)
        This will set the background.
        Parameters:
        newBackground - the new background
      • getBackground

        public COSArray getBackground()
        This will return the background.
        Returns:
        the background
      • getBBox

        public PDRectangle getBBox()
        An array of four numbers in the form coordinate system (see below), giving the coordinates of the left, bottom, right, and top edges, respectively, of the shading's bounding box.
        Returns:
        the BBox of the form
      • setBBox

        public void setBBox​(PDRectangle newBBox)
        This will set the BBox (bounding box) for this Shading.
        Parameters:
        newBBox - the new BBox
      • getBounds

        public java.awt.geom.Rectangle2D getBounds​(java.awt.geom.AffineTransform xform,
                                                   Matrix matrix)
                                            throws java.io.IOException
        Calculate a bounding rectangle around the areas of this shading context.
        Parameters:
        xform -
        matrix -
        Returns:
        Bounding rectangle or null, if not supported by this shading type.
        Throws:
        java.io.IOException
      • setAntiAlias

        public void setAntiAlias​(boolean antiAlias)
        This will set the AntiAlias value.
        Parameters:
        antiAlias - the new AntiAlias value
      • getAntiAlias

        public boolean getAntiAlias()
        This will return the AntiAlias value.
        Returns:
        the AntiAlias value
      • getColorSpace

        public PDColorSpace getColorSpace()
                                   throws java.io.IOException
        This will get the color space or null if none exists.
        Returns:
        the color space for the shading
        Throws:
        java.io.IOException - if there is an error getting the color space
      • setColorSpace

        public void setColorSpace​(PDColorSpace colorSpace)
        This will set the color space for the shading.
        Parameters:
        colorSpace - the color space
      • create

        public static PDShading create​(COSDictionary shadingDictionary)
                                throws java.io.IOException
        Create the correct PD Model shading based on the COS base shading.
        Parameters:
        shadingDictionary - the COS shading dictionary
        Returns:
        the newly created shading resources object
        Throws:
        java.io.IOException - if we are unable to create the PDShading object
      • setFunction

        public void setFunction​(PDFunction newFunction)
        This will set the function for the color conversion.
        Parameters:
        newFunction - the new function
      • setFunction

        public void setFunction​(COSArray newFunctions)
        This will set the functions COSArray for the color conversion.
        Parameters:
        newFunctions - the new COSArray containing all functions
      • getFunction

        public PDFunction getFunction()
                               throws java.io.IOException
        This will return the function used to convert the color values.
        Returns:
        the function
        Throws:
        java.io.IOException - if we were not able to create the function.
      • evalFunction

        public float[] evalFunction​(float inputValue)
                             throws java.io.IOException
        Convert the input value using the functions of the shading dictionary.
        Parameters:
        inputValue - the input value
        Returns:
        the output values
        Throws:
        java.io.IOException - thrown if something went wrong
      • evalFunction

        public float[] evalFunction​(float[] input)
                             throws java.io.IOException
        Convert the input values using the functions of the shading dictionary.
        Parameters:
        input - the input values
        Returns:
        the output values
        Throws:
        java.io.IOException - thrown if something went wrong
      • toPaint

        public abstract java.awt.Paint toPaint​(Matrix matrix)
        Returns an AWT paint which corresponds to this shading
        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