Class RadialShading

All Implemented Interfaces:
Paint, PaintContext, Transparency

public class RadialShading extends ShadingPattern
A concrete subclass of PDFShadingPattern which implements pdf radial (type 3) shadings.

PDF radial shadings are defined by two circles and a function. The circles need not be centered at the same location. The shading works by interpolating the centers and radii of the two circles. The distance along the line defined by the two centers or radii is then mapped into the domain of the function, which returns the final color values. TODO: currently ignores transform and background color

  • Constructor Details

    • RadialShading

      public RadialShading(Map patternDict, Map shadingDict, PDFFile srcFile)
  • Method Details

    • initializeShadingParameters

      public void initializeShadingParameters(Map shadingDict, PDFFile srcFile)
      Read the shading parameters
      Overrides:
      initializeShadingParameters in class ShadingPattern
    • setDeviceTransform

      public void setDeviceTransform(AffineTransform x, Rectangle devRect)
      Sets the transform from user space to device space
      Overrides:
      setDeviceTransform in class ShadingPattern
    • doShading

      public void doShading(int[] samples, int x, int y, int w, int h)
      Description copied from class: ShadingPattern
      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.
      Specified by:
      doShading in class ShadingPattern
    • doShadingWithTransform

      public void doShadingWithTransform(int[] samples, int x, int y, int w, int h)