Class ShadingPattern

  • All Implemented Interfaces:
    java.awt.Paint, java.awt.PaintContext, java.awt.Transparency
    Direct Known Subclasses:
    AxialShading, FunctionShading, RadialShading

    public abstract class ShadingPattern
    extends PDFPattern
    implements java.awt.PaintContext, java.awt.Paint
    PDFShadingPattern.
    • Constructor Summary

      Constructors 
      Constructor Description
      ShadingPattern​(java.util.Map patternDict, java.util.Map shadingDict, PDFFile srcFile)
      Constructor - patternDict may be null if this object was created from the shading operator (sh).
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      java.awt.PaintContext createContext​(java.awt.image.ColorModel cm, java.awt.Rectangle deviceBounds, java.awt.geom.Rectangle2D userBounds, java.awt.geom.AffineTransform xform, java.awt.RenderingHints hints)
      Paint & PaintContext interfaces
      void dispose()  
      abstract void doShading​(int[] samples, int x, int y, int w, int h)
      Subclasses should implement this method to draw the shading.
      java.awt.geom.Rectangle2D getBounds()  
      java.awt.image.ColorModel getColorModel()  
      static ShadingPattern getInstance​(java.util.Map dict, PDFFile srcFile)
      Create an instance from a shading dictionary or a pattern dictionary.
      java.awt.Paint getPaint()
      Returns the awt Paint object which will render the pattern
      java.awt.image.Raster getRaster​(int x, int y, int w, int h)  
      int getRGBAPixel​(float[] sampleValues)
      This routine will get called for every pixel in the inner loop of the shading.
      java.awt.geom.AffineTransform getTransform()
      Returns the pattern space transform
      int getTransparency()
      Alpha & color definitions
      void initializeShadingParameters​(java.util.Map shadingDict, PDFFile srcFile)
      Read the shading parameters
      void setColorSpace​(java.awt.color.ColorSpace c)  
      void setDeviceTransform​(java.awt.geom.AffineTransform x, java.awt.Rectangle devRect)
      Sets the transform from user space to device space
      • Methods inherited from class java.lang.Object

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

      • ShadingPattern

        public ShadingPattern​(java.util.Map patternDict,
                              java.util.Map shadingDict,
                              PDFFile srcFile)
        Constructor - patternDict may be null if this object was created from the shading operator (sh).
    • Method Detail

      • getInstance

        public static ShadingPattern getInstance​(java.util.Map dict,
                                                 PDFFile srcFile)
        Create an instance from a shading dictionary or a pattern dictionary.
      • initializeShadingParameters

        public void initializeShadingParameters​(java.util.Map shadingDict,
                                                PDFFile srcFile)
        Read the shading parameters
      • setDeviceTransform

        public void setDeviceTransform​(java.awt.geom.AffineTransform x,
                                       java.awt.Rectangle devRect)
        Sets the transform from user space to device space
      • getTransform

        public java.awt.geom.AffineTransform getTransform()
        Returns the pattern space transform
        Specified by:
        getTransform in class PDFPattern
      • getBounds

        public java.awt.geom.Rectangle2D getBounds()
      • setColorSpace

        public void setColorSpace​(java.awt.color.ColorSpace c)
      • getRGBAPixel

        public int getRGBAPixel​(float[] sampleValues)
        This routine will get called for every pixel in the inner loop of the shading. If that gets too slow, you could always try to inline it. sampleValues are assumed to to have the right number of elements in the right range for the colorspace.
      • getPaint

        public java.awt.Paint getPaint()
        Description copied from class: PDFPattern
        Returns the awt Paint object which will render the pattern
        Specified by:
        getPaint in class PDFPattern
      • createContext

        public java.awt.PaintContext createContext​(java.awt.image.ColorModel cm,
                                                   java.awt.Rectangle deviceBounds,
                                                   java.awt.geom.Rectangle2D userBounds,
                                                   java.awt.geom.AffineTransform xform,
                                                   java.awt.RenderingHints hints)
        Paint & PaintContext interfaces
        Specified by:
        createContext in interface java.awt.Paint
      • dispose

        public void dispose()
        Specified by:
        dispose in interface java.awt.PaintContext
      • getRaster

        public java.awt.image.Raster getRaster​(int x,
                                               int y,
                                               int w,
                                               int h)
        Specified by:
        getRaster in interface java.awt.PaintContext
      • getTransparency

        public int getTransparency()
        Alpha & color definitions
        Specified by:
        getTransparency in interface java.awt.Transparency
      • getColorModel

        public java.awt.image.ColorModel getColorModel()
        Specified by:
        getColorModel in interface java.awt.PaintContext
      • doShading

        public abstract void doShading​(int[] samples,
                                       int x,
                                       int y,
                                       int w,
                                       int h)
        Subclasses should implement this method to draw the shading. Samples is defined to be an array of 8 bit persample/4 samples per pixel ARGB pixels. There is no padding, so all scanlines are w integers wide.