## org.apache.fop.pdf
Class PDFPattern

    java.lang.Object
      |
      +--org.apache.fop.pdf.PDFObject
            |
            +--org.apache.fop.pdf.PDFPathPaint
                  |
                  +--org.apache.fop.pdf.PDFPattern

public class PDFPattern
extends PDFPathPaint

class representing a PDF Function. PDF Functions represent parameterized mathematical formulas and sampled representations with arbitrary resolution. Functions are used in two areas: device-dependent rasterization information for halftoning and transfer functions, and color specification for smooth shading (a PDF 1.3 feature). All PDF Functions have a FunctionType (0,2,3, or 4), a Domain, and a Range.

Field Summary
`protected java.util.Vector` `bBox` Vector of Doubles representing the Bounding box rectangle
`protected java.lang.StringBuffer` `extGState` String representing the extended Graphics state.
`protected java.util.Vector` `matrix` Vector of Doubles representing the Transformation matrix.
`protected int` `paintType` 1 for colored pattern, 2 for uncolored
`protected java.lang.StringBuffer` `patternDataStream` The stream of a pattern
`protected java.lang.String` `patternName` The name of the pattern such as "Pa1" or "Pattern1"
`protected int` `patternType` Either one (1) for tiling, or two (2) for shading.
`protected PDFResources` `resources` The resources associated with this pattern
`protected PDFShading` `shading` The Shading object comprising the Type 2 pattern
`protected int` `tilingType` 1 for constant spacing, 2 for no distortion, and 3 for fast rendering
`protected double` `xStep` Horizontal spacing
`protected java.util.Vector` `xUID` Vector of Integers represetning the Extended unique Identifier
`protected double` `yStep` Vertical spacing

Fields inherited from class org.apache.fop.pdf.PDFPathPaint
`colorSpace`

Fields inherited from class org.apache.fop.pdf.PDFObject
`generation, number`

Constructor Summary
`PDFPattern(int theNumber, java.lang.String thePatternName, int thePatternType, PDFShading theShading, java.util.Vector theXUID, java.lang.StringBuffer theExtGState, java.util.Vector theMatrix)` Create a type 2 pattern (smooth shading)
`PDFPattern(int theNumber, java.lang.String thePatternName, PDFResources theResources, int thePatternType, int thePaintType, int theTilingType, java.util.Vector theBBox, double theXStep, double theYStep, java.util.Vector theMatrix, java.util.Vector theXUID, java.lang.StringBuffer thePatternDataStream)` Create a tiling pattern (type 1).

Method Summary
`java.lang.String` `getColorSpaceOut(boolean fillNotStroke)`
`java.lang.String` `getName()` Get the name of the pattern
`byte[]` `toPDF()` represent as PDF.

Methods inherited from class org.apache.fop.pdf.PDFPathPaint
`getColorSpace, setColorSpace`

Methods inherited from class org.apache.fop.pdf.PDFObject
`getNumber, output, referencePDF`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### resources

    protected PDFResources resources

  The resources associated with this pattern

### patternType

    protected int patternType

  Either one (1) for tiling, or two (2) for shading.

### patternName

    protected java.lang.String patternName

  The name of the pattern such as "Pa1" or "Pattern1"

### paintType

    protected int paintType

  1 for colored pattern, 2 for uncolored

### tilingType

    protected int tilingType

  1 for constant spacing, 2 for no distortion, and 3 for fast rendering

### bBox

    protected java.util.Vector bBox

  Vector of Doubles representing the Bounding box rectangle

### xStep

    protected double xStep

  Horizontal spacing

### yStep

    protected double yStep

  Vertical spacing

### shading

    protected PDFShading shading

  The Shading object comprising the Type 2 pattern

### xUID

    protected java.util.Vector xUID

  Vector of Integers represetning the Extended unique Identifier

### extGState

    protected java.lang.StringBuffer extGState

  String representing the extended Graphics state. Probably will never be used like this.

### matrix

    protected java.util.Vector matrix

  Vector of Doubles representing the Transformation matrix.

### patternDataStream

    protected java.lang.StringBuffer patternDataStream

  The stream of a pattern

Constructor Detail

### PDFPattern

    public PDFPattern(int theNumber,
                      java.lang.String thePatternName,
                      PDFResources theResources,
                      int thePatternType,
                      int thePaintType,
                      int theTilingType,
                      java.util.Vector theBBox,
                      double theXStep,
                      double theYStep,
                      java.util.Vector theMatrix,
                      java.util.Vector theXUID,
                      java.lang.StringBuffer thePatternDataStream)

  Create a tiling pattern (type 1).
  Parameters:
    `theNumber` - The object number of this PDF Object
    `thePatternName` - The name of the pattern such as "Pa1" or "Pattern1"
    `theResources` - the resources associated with this pattern
    `thePatternType` - the type of pattern, which is 1 for tiling.
    `thePaintType` - 1 or 2, colored or uncolored.
    `theTilingType` - 1, 2, or 3, constant spacing, no distortion, or faster tiling
    `theBBox` - Vector of Doubles: The pattern cell bounding box
    `theXStep` - horizontal spacing
    `theYStep` - vertical spacing
    `theMatrix` - Optional Vector of Doubles transformation matrix
    `theXUID` - Optional vector of Integers that uniquely identify the pattern
    `thePatternDataStream` - The stream of pattern data to be tiled.

### PDFPattern

    public PDFPattern(int theNumber,
                      java.lang.String thePatternName,
                      int thePatternType,
                      PDFShading theShading,
                      java.util.Vector theXUID,
                      java.lang.StringBuffer theExtGState,
                      java.util.Vector theMatrix)

  Create a type 2 pattern (smooth shading)
  Parameters:
    `theNumber` - the object number of this PDF object
    `thePatternName` - the name of the pattern
    `thePatternType` - the type of the pattern, which is 2, smooth shading
    `theShading` - the PDF Shading object that comprises this pattern
    `theXUID` - optional:the extended unique Identifier if used.
    `theExtGState` - optional: the extended graphics state, if used.
    `theMatrix` - Optional:Vector of Doubles that specify the matrix.

Method Detail

### getName

    public java.lang.String getName()

  Get the name of the pattern
  Returns:
    String representing the name of the pattern.

### getColorSpaceOut

    public java.lang.String getColorSpaceOut(boolean fillNotStroke)

  Overrides:
    getColorSpaceOut in class PDFPathPaint

### toPDF

    public byte[] toPDF()

  represent as PDF. Whatever the FunctionType is, the correct representation spits out. The sets of required and optional attributes are different for each type, but if a required attribute's object was constructed as null, then no error is raised. Instead, the malformed PDF that was requested by the construction is dutifully output. This policy should be reviewed.
  Returns:
    the PDF string.

Copyright © 1999-2001 Apache Software Foundation. All Rights Reserved.