com.sun.pdfview.pattern
Class PDFShader

java.lang.Object
  extended by com.sun.pdfview.pattern.PDFShader
Direct Known Subclasses:
ShaderType2

public abstract class PDFShader
extends java.lang.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 dictionary???s 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 B??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 int AXIAL_SHADING
               
    static int COONS_PATCH_MESH_SHADING
               
    static int FREE_FORM_SHADING
               
    static int FUNCTION_SHADING
               
    static int LATTICE_SHADING
               
    static int RADIAL_SHADING
               
    static int TENSOR_PRODUCTS_MESH_SHADING
               
     
    Constructor Summary
    protected PDFShader(int type)
              Creates a new instance of PDFShader
     
    Method Summary
     PDFPaint getBackground()
              Get the background color
     java.awt.geom.Rectangle2D getBBox()
              Get the bounding box
     PDFColorSpace getColorSpace()
              Get the color space
    abstract  PDFPaint getPaint()
              Returns paint that represents the selected shader
    static PDFShader getShader(PDFObject shaderObj, java.util.Map resources)
              Parse a pdf shader into a shader object
     int getType()
              Get the type
    abstract  void parse(PDFObject shareObj)
              Parse the shader-specific data
    protected  void setBackground(PDFPaint background)
              Set the background color
    protected  void setBBox(java.awt.geom.Rectangle2D bbox)
              Set the bounding box
    protected  void setColorSpace(PDFColorSpace colorSpace)
              Set the color space
     
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
     

    Field Detail

    FUNCTION_SHADING

    public static final int FUNCTION_SHADING
    See Also:
    Constant Field Values

    AXIAL_SHADING

    public static final int AXIAL_SHADING
    See Also:
    Constant Field Values

    RADIAL_SHADING

    public static final int RADIAL_SHADING
    See Also:
    Constant Field Values

    FREE_FORM_SHADING

    public static final int FREE_FORM_SHADING
    See Also:
    Constant Field Values

    LATTICE_SHADING

    public static final int LATTICE_SHADING
    See Also:
    Constant Field Values

    COONS_PATCH_MESH_SHADING

    public static final int COONS_PATCH_MESH_SHADING
    See Also:
    Constant Field Values

    TENSOR_PRODUCTS_MESH_SHADING

    public static final int TENSOR_PRODUCTS_MESH_SHADING
    See Also:
    Constant Field Values
    Constructor Detail

    PDFShader

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

    Method Detail

    getShader

    public static PDFShader getShader(PDFObject shaderObj,
                                      java.util.Map resources)
                               throws java.io.IOException
    Parse a pdf shader into a shader object

    Throws:
    java.io.IOException

    getType

    public int getType()
    Get the type


    getColorSpace

    public PDFColorSpace getColorSpace()
    Get the color space


    setColorSpace

    protected void setColorSpace(PDFColorSpace colorSpace)
    Set the color space


    getBackground

    public PDFPaint getBackground()
    Get the background color


    setBackground

    protected void setBackground(PDFPaint background)
    Set the background color


    getBBox

    public java.awt.geom.Rectangle2D getBBox()
    Get the bounding box


    setBBox

    protected void setBBox(java.awt.geom.Rectangle2D bbox)
    Set the bounding box


    parse

    public abstract void parse(PDFObject shareObj)
                        throws java.io.IOException
    Parse the shader-specific data

    Throws:
    java.io.IOException

    getPaint

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