Class LinearGradientPaintContext

  • All Implemented Interfaces:
    java.awt.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:
    PaintContext, Paint, GradientPaint
    • Field Detail

      • 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
      • fillMethod

        private int fillMethod
    • Constructor Detail

      • LinearGradientPaintContext

        public LinearGradientPaintContext​(java.awt.image.ColorModel cm,
                                          java.awt.Rectangle deviceBounds,
                                          java.awt.geom.Rectangle2D userBounds,
                                          java.awt.geom.AffineTransform t,
                                          java.awt.RenderingHints hints,
                                          java.awt.geom.Point2D dStart,
                                          java.awt.geom.Point2D dEnd,
                                          float[] fractions,
                                          java.awt.Color[] colors,
                                          MultipleGradientPaint.CycleMethodEnum cycleMethod,
                                          MultipleGradientPaint.ColorSpaceEnum colorSpace)
                                   throws java.awt.geom.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:
        java.awt.geom.NoninvertibleTransformException
    • Method Detail

      • 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.