org.pentaho.reporting.engine.classic.core.modules.output.pageable.graphics
Interface PageDrawable

All Known Implementing Classes:
LogicalPageDrawable, PdfLogicalPageDrawable, PhysicalPageDrawable

public interface PageDrawable

The PageDrawable can be used to render a single page into an arbitary Graphics2D context. PageDrawables are created by the PrintReportProcessor.

Author:
Thomas Morgner

Method Summary
 void draw(Graphics2D graphics, Rectangle2D bounds)
          Renders the content of the drawable.
 RenderNode[] getNodesAt(double x, double y, double width, double height, String namespace, String name)
          Returns all layouted render-nodes that occupy the given area and which have the attribute specified by name and namespace set.
 RenderNode[] getNodesAt(double x, double y, String namespace, String name)
          Returns all layouted render-nodes that occupy the given point and which have the attribute specified by name and namespace set.
 PageFormat getPageFormat()
          Describes the physical output characteristics like page size, margins, and imaginable area.
 Dimension getPreferredSize()
          Returns the preferred size of the output.
 

Method Detail

getPageFormat

PageFormat getPageFormat()
Describes the physical output characteristics like page size, margins, and imaginable area.

Returns:
a pageformat describing the current page including size and margins.

getPreferredSize

Dimension getPreferredSize()
Returns the preferred size of the output. This is part of the implicit 'drawable' contract.

Returns:
the preferred size.

draw

void draw(Graphics2D graphics,
          Rectangle2D bounds)
Renders the content of the drawable.

Parameters:
graphics - the graphics context to which to render to.
bounds - the bounds within which the content should be rendered.

getNodesAt

RenderNode[] getNodesAt(double x,
                        double y,
                        String namespace,
                        String name)
Returns all layouted render-nodes that occupy the given point and which have the attribute specified by name and namespace set. If name and namespace are null, all elements are returned. All units are given in the same coordinate system used for rendering via the "draw" method.

Parameters:
x - the x coordinate of the point.
y - the y coordinate of the point.
namespace - the attribute's namespace.
name - the attribute's name.
Returns:
the nodes for the given point, or an empty array, but never null.

getNodesAt

RenderNode[] getNodesAt(double x,
                        double y,
                        double width,
                        double height,
                        String namespace,
                        String name)
Returns all layouted render-nodes that occupy the given area and which have the attribute specified by name and namespace set. If name and namespace are null, all elements are returned. All units are given in the same coordinate system used for rendering via the "draw" method.

Parameters:
x - the x coordinate of the origin of the area.
y - the y coordinate of the origin of the area.
width - the height of the area.
height - the width of the area.
namespace - the attribute's namespace.
name - the attribute's name.
Returns:
the nodes for the given point, or an empty array, but never null.