Class LinearGradientPaintContext

java.lang.Object
org.apache.batik.ext.awt.MultipleGradientPaintContext
org.apache.batik.ext.awt.LinearGradientPaintContext
All Implemented Interfaces:
PaintContext

final class LinearGradientPaintContext extends MultipleGradientPaintContext
Provides the actual implementation for the LinearGradientPaint This is where the pixel processing is done.
Version:
$Id: LinearGradientPaintContext.java 1733416 2016-03-03 07:07:13Z gadams $
See Also:
  • Field Details

    • dgdX

      private float dgdX
      The following invariants are used to process the gradient value from a device space coordinate, (X, Y): g(X, Y) = dgdX*X + dgdY*Y + gc
    • dgdY

      private float dgdY
      The following invariants are used to process the gradient value from a device space coordinate, (X, Y): g(X, Y) = dgdX*X + dgdY*Y + gc
    • gc

      private float gc
      The following invariants are used to process the gradient value from a device space coordinate, (X, Y): g(X, Y) = dgdX*X + dgdY*Y + gc
    • pixSz

      private float pixSz
      The following invariants are used to process the gradient value from a device space coordinate, (X, Y): g(X, Y) = dgdX*X + dgdY*Y + gc
    • DEFAULT_IMPL

      private static final int DEFAULT_IMPL
      See Also:
    • ANTI_ALIAS_IMPL

      private static final int ANTI_ALIAS_IMPL
      See Also:
    • fillMethod

      private int fillMethod
  • Constructor Details

    • LinearGradientPaintContext

      public LinearGradientPaintContext(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds, AffineTransform t, RenderingHints hints, Point2D dStart, Point2D dEnd, float[] fractions, Color[] colors, MultipleGradientPaint.CycleMethodEnum cycleMethod, MultipleGradientPaint.ColorSpaceEnum colorSpace) throws NoninvertibleTransformException
      Constructor for LinearGradientPaintContext.
      Parameters:
      cm - ColorModel that receives the Paint data. This is used only as a hint.
      deviceBounds - the device space bounding box of the graphics primitive being rendered
      userBounds - the user space bounding box of the graphics primitive being rendered
      t - the AffineTransform from user space into device space (gradientTransform should be concatenated with this)
      hints - the hints that the context object uses to choose between rendering alternatives
      dStart - gradient start point, in user space
      dEnd - gradient end point, in user space
      fractions - the fractions specifying the gradient distribution
      colors - the gradient colors
      cycleMethod - either NO_CYCLE, REFLECT, or REPEAT
      colorSpace - which colorspace to use for interpolation, either SRGB or LINEAR_RGB
      Throws:
      NoninvertibleTransformException
  • Method Details

    • fillHardNoCycle

      protected void fillHardNoCycle(int[] pixels, int off, int adjust, int x, int y, int w, int h)
    • fillSimpleNoCycle

      protected void fillSimpleNoCycle(int[] pixels, int off, int adjust, int x, int y, int w, int h)
    • fillSimpleRepeat

      protected void fillSimpleRepeat(int[] pixels, int off, int adjust, int x, int y, int w, int h)
    • fillSimpleReflect

      protected void fillSimpleReflect(int[] pixels, int off, int adjust, int x, int y, int w, int h)
    • fillRaster

      protected void fillRaster(int[] pixels, int off, int adjust, int x, int y, int w, int h)
      Return a Raster containing the colors generated for the graphics operation. This is where the area is filled with colors distributed linearly.
      Specified by:
      fillRaster in class MultipleGradientPaintContext
      Parameters:
      x - The x coordinate of the area in device space for which colors are generated.
      y - The y coordinate of the area in device space for which colors are generated.
      w - The width of the area in device space for which colors are generated.
      h - The height of the area in device space for which colors are generated.