Class ShadingPattern

java.lang.Object
com.inductiveautomation.rm.pdf.reader.PDFPattern
com.inductiveautomation.rm.pdf.reader.fps.ShadingPattern
All Implemented Interfaces:
Paint, PaintContext, Transparency
Direct Known Subclasses:
AxialShading, FunctionShading, RadialShading

public abstract class ShadingPattern extends PDFPattern implements PaintContext, Paint
PDFShadingPattern.
  • Field Details

  • Constructor Details

    • ShadingPattern

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

    • getInstance

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

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

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

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

      public Rectangle2D getBounds()
    • setColorSpace

      public void setColorSpace(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 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 PaintContext createContext(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds, AffineTransform xform, RenderingHints hints)
      Paint & PaintContext interfaces
      Specified by:
      createContext in interface Paint
    • dispose

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

      public Raster getRaster(int x, int y, int w, int h)
      Specified by:
      getRaster in interface PaintContext
    • getTransparency

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

      public ColorModel getColorModel()
      Specified by:
      getColorModel in interface 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.