Class AxialShading

All Implemented Interfaces:
Paint, PaintContext, Transparency

public class AxialShading extends ShadingPattern
Implementation of Type 2 shadings, which vary color along a linear axis.

The shading takes a pixel in the area to be to filled and drops a perpendicular to the axis defined by coords[]. It then calculates the parametric point t of the intersection, with t running from domain[0] to domain[1] along the axis. t is then turned into a color value using the supplied pdf function. TODO: currently ignores transform

  • Constructor Details

    • AxialShading

      public AxialShading(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
    • 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
    • setDeviceTransform

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