com.sun.pdfview.pattern

Class PDFShader

public abstract class PDFShader extends Object

A PDFShader fills a given region with a shading, such as a gradient.

Shading Dictionaries (section 4.6)
A shading dictionary specifies details of a particular gradient fill, including the type of shading to be used, the geometry of the area to be shaded, and the geometry of the gradient fill. Various shading types are available, depending on the value of the dictionarybs ShadingType entry:

  • Function-based shadings (type 1) define the color of every point in the domain using a mathematical function (not necessarily smooth or continuous).
  • Axial shadings (type 2) define a color blend along a line between two points, optionally extended beyond the boundary points by continuing the boundary colors.
  • Radial shadings (type 3) define a blend between two circles, optionally extended beyond the boundary circles by continuing the boundary colors. This type of shading is commonly used to represent three-dimensional spheres and cones.
  • Free-form Gouraud-shaded triangle meshes (type 4) define a common construct used by many three-dimensional applications to represent complex colored and shaded shapes. Vertices are specified in free-form geometry.
  • Lattice-form Gouraud-shaded triangle meshes (type 5) are based on the same geometrical construct as type 4 but with vertices specified as a pseudorectangular lattice.
  • Coons patch meshes (type 6) construct a shading from one or more color patches, each bounded by four cubic BC)zier curves.
  • Tensor-product patch meshes (type 7) are similar to type 6 but with additional control points in each patch, affording greater control over color mapping.
  • Table 4.28 shows the entries that all shading dictionaries share in common; entries specific to particular shading types are described in the relevant sections below.

    Field Summary
    static intAXIAL_SHADING
    static intCOONS_PATCH_MESH_SHADING
    static intFREE_FORM_SHADING
    static intFUNCTION_SHADING
    static intLATTICE_SHADING
    static intRADIAL_SHADING
    static intTENSOR_PRODUCTS_MESH_SHADING
    Constructor Summary
    protected PDFShader(int type)
    Creates a new instance of PDFShader
    Method Summary
    PDFPaintgetBackground()
    Get the background color
    Rectangle2DgetBBox()
    Get the bounding box
    PDFColorSpacegetColorSpace()
    Get the color space
    abstract PDFPaintgetPaint()
    Returns paint that represents the selected shader
    static PDFShadergetShader(PDFObject shaderObj, Map resources)
    Parse a pdf shader into a shader object
    intgetType()
    Get the type
    abstract voidparse(PDFObject shareObj)
    Parse the shader-specific data
    protected voidsetBackground(PDFPaint background)
    Set the background color
    protected voidsetBBox(Rectangle2D bbox)
    Set the bounding box
    protected voidsetColorSpace(PDFColorSpace colorSpace)
    Set the color space

    Field Detail

    AXIAL_SHADING

    public static final int AXIAL_SHADING

    COONS_PATCH_MESH_SHADING

    public static final int COONS_PATCH_MESH_SHADING

    FREE_FORM_SHADING

    public static final int FREE_FORM_SHADING

    FUNCTION_SHADING

    public static final int FUNCTION_SHADING

    LATTICE_SHADING

    public static final int LATTICE_SHADING

    RADIAL_SHADING

    public static final int RADIAL_SHADING

    TENSOR_PRODUCTS_MESH_SHADING

    public static final int TENSOR_PRODUCTS_MESH_SHADING

    Constructor Detail

    PDFShader

    protected PDFShader(int type)
    Creates a new instance of PDFShader

    Method Detail

    getBackground

    public PDFPaint getBackground()
    Get the background color

    getBBox

    public Rectangle2D getBBox()
    Get the bounding box

    getColorSpace

    public PDFColorSpace getColorSpace()
    Get the color space

    getPaint

    public abstract PDFPaint getPaint()
    Returns paint that represents the selected shader

    getShader

    public static PDFShader getShader(PDFObject shaderObj, Map resources)
    Parse a pdf shader into a shader object

    getType

    public int getType()
    Get the type

    parse

    public abstract void parse(PDFObject shareObj)
    Parse the shader-specific data

    setBackground

    protected void setBackground(PDFPaint background)
    Set the background color

    setBBox

    protected void setBBox(Rectangle2D bbox)
    Set the bounding box

    setColorSpace

    protected void setColorSpace(PDFColorSpace colorSpace)
    Set the color space