Class Function

java.lang.Object
org.apache.fop.render.gradient.Function

public class Function extends Object
  • Constructor Details

    • Function

      public Function(List<Double> domain, List<Double> range, float[] cZero, float[] cOne, double interpolationExponentN)
      create an complete Function object of Type 2, an Exponential Interpolation function. Use null for an optional object parameter if you choose not to use it. For optional int parameters, pass the default.
      Parameters:
      domain - List objects of Double objects. This is the domain of the function. See page 264 of the PDF 1.3 Spec.
      range - List of Doubles that is the Range of the function. See page 264 of the PDF 1.3 Spec.
      cZero - This is a vector of Double objects which defines the function result when x=0. This attribute is optional. It's described on page 268 of the PDF 1.3 spec.
      cOne - This is a vector of Double objects which defines the function result when x=1. This attribute is optional. It's described on page 268 of the PDF 1.3 spec.
      interpolationExponentN - This is the inerpolation exponent. This attribute is required. PDF Spec page 268
    • Function

      public Function(List<Double> domain, List<Double> range, List<Function> functions, List<Float> bounds, List<Double> encode)
      create an complete Function object of Type 3, a Stitching function. Use null for an optional object parameter if you choose not to use it. For optional int parameters, pass the default.
      Parameters:
      domain - List objects of Double objects. This is the domain of the function. See page 264 of the PDF 1.3 Spec.
      range - List objects of Double objects. This is the Range of the function. See page 264 of the PDF 1.3 Spec.
      functions - A List of the PDFFunction objects that the stitching function stitches. This attributed is required. It is described on page 269 of the PDF spec.
      bounds - This is a vector of Doubles representing the numbers that, in conjunction with Domain define the intervals to which each function from the 'functions' object applies. It must be in order of increasing magnitude, and each must be within Domain. It basically sets how much of the gradient each function handles. This attributed is required. It's described on page 269 of the PDF 1.3 spec.
      encode - List objects of Double objects. This is the linear mapping of input values intop the domain of the function's sample table. Default is hard to represent in ascii, but basically [0 (Size0 1) 0 (Size1 1)...]. This attribute is required. See page 270 in the PDF 1.3 spec.
    • Function

      public Function(List<Double> domain, List<Double> range, List<Double> encode, byte[] datasource, int bitsPerSample, List<Integer> size)
  • Method Details

    • setCZero

      public void setCZero(float[] cZero)
    • setCOne

      public void setCOne(float[] cOne)
    • getFunctionType

      public int getFunctionType()
      Gets the function type
    • getBounds

      public List<Float> getBounds()
      Gets the function bounds
    • getDomain

      public List<Double> getDomain()
      The function domain
    • getEncode

      public List<Double> getEncode()
      Gets the function encoding
    • getFunctions

      public List<Function> getFunctions()
      Gets the sub-functions
    • getBitsPerSample

      public int getBitsPerSample()
      Gets the bits per sample of the function
    • getInterpolationExponentN

      public double getInterpolationExponentN()
      Gets the interpolation exponent of the function
    • getOrder

      public int getOrder()
      Gets the function order
    • getRange

      public List<Double> getRange()
      Gets the function range
    • getCZero

      public float[] getCZero()
      Gets the function C0 value (color for gradient)
    • getCOne

      public float[] getCOne()
      Gets the function C1 value (color for gradient)
    • output

      public String output(StringBuilder out, GradientMaker.DoubleFormatter doubleFormatter, Function.SubFunctionRenderer subFunctionRenderer)