Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.batik.gvt.renderer
Class StaticRenderer

    java.lang.Object
      org.apache.batik.gvt.renderer.StaticRenderer

All Implemented Interfaces:
  ImageRenderer, Renderer

Direct Known Subclasses:
  DynamicRenderer

    public class StaticRenderer

extends Object
implements ImageRenderer

Simple implementation of the Renderer that simply does static rendering in an offscreen buffer image.

Field Summary
`protected WritableRaster` | `currentBaseRaster` Offscreen image where the Renderer does its rendering
`protected BufferedImage` | `currentOffScreen`
`protected WritableRaster` | `currentRaster`
`protected static RenderingHints` | `defaultRenderingHints`
`protected boolean` | `isDoubleBuffered` Flag for double buffering.
`protected SoftReference` | `lastCache`
`protected SoftReference` | `lastCR`
`protected int` | `offScreenHeight`
`protected int` | `offScreenWidth`
`protected RenderingHints` | `renderingHints` Passed to the GVT tree to describe the rendering environment
`protected CachableRed` | `rootCR`
`protected Filter` | `rootFilter`
`protected GraphicsNode` | `rootGN` Tree this Renderer paints.
`protected AffineTransform` | `usr2dev`
`protected WritableRaster` | `workingBaseRaster`
`protected BufferedImage` | `workingOffScreen`
`protected WritableRaster` | `workingRaster`

Constructor Summary
`StaticRenderer()` Creates a new StaticRenderer object.
`StaticRenderer(RenderingHints rh, AffineTransform at)`

Method Summary
`void` | `clearOffScreen()` Sets up and clears the current offscreen buffer.
`void` | `dispose()` Disposes all resources of this renderer.
`void` | `flush()` Flush any cached image data.
`void` | `flush(Collection areas)` Flush a list of rectangles of cached image data.
`void` | `flush(Rectangle r)` Flush a rectangle of cached image data.
`BufferedImage` | `getOffScreen()` Returns the current offscreen image.
`RenderingHints` | `getRenderingHints()` Returns the rendering hints this ImageRenderer is using for its rendering.
`AffineTransform` | `getTransform()` Returns the transform from the current user space (as defined by the top node of the GVT tree) to the device space.
`GraphicsNode` | `getTree()` Returns the GVT tree associated with this renderer
`boolean` | `isDoubleBuffered()` Returns true if the Renderer is currently doubleBuffering is rendering requests.
`protected CachableRed` | `renderGNR()`
`void` | `repaint(RectListManager areas)` Repaints the associated GVT tree under the list of `areas`.
`void` | `repaint(Shape area)` Repaints the associated GVT tree under `area`.
`void` | `setDoubleBuffered(boolean isDoubleBuffered)` Turns on/off double buffering in renderer.
`void` | `setRenderingHints(RenderingHints rh)` Sets the specified rendering hints to be used for future renderings.
`void` | `setTransform(AffineTransform usr2dev)` Sets the transform from the current user space (as defined by the top node of the GVT tree, to the associated device space.
`void` | `setTree(GraphicsNode rootGN)` This associates the given GVT Tree with this renderer.
`protected CachableRed` | `setupCache(CachableRed img)`
`void` | `updateOffScreen(int width, int height)` Update the size of the image to be returned by getOffScreen.
`protected void` | `updateWorkingBuffers()` Internal method used to synchronize local state in response to various set methods.

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

Field Detail

### rootGN

    protected GraphicsNode rootGN

  Tree this Renderer paints.

### rootFilter

    protected Filter rootFilter

### rootCR

    protected CachableRed rootCR

### lastCR

    protected SoftReference lastCR

### lastCache

    protected SoftReference lastCache

### isDoubleBuffered

    protected boolean isDoubleBuffered

  Flag for double buffering.

### currentBaseRaster

    protected WritableRaster currentBaseRaster

  Offscreen image where the Renderer does its rendering

### currentRaster

    protected WritableRaster currentRaster

### currentOffScreen

    protected BufferedImage currentOffScreen

### workingBaseRaster

    protected WritableRaster workingBaseRaster

### workingRaster

    protected WritableRaster workingRaster

### workingOffScreen

    protected BufferedImage workingOffScreen

### offScreenWidth

    protected int offScreenWidth

### offScreenHeight

    protected int offScreenHeight

### renderingHints

    protected RenderingHints renderingHints

  Passed to the GVT tree to describe the rendering environment

### usr2dev

    protected AffineTransform usr2dev

### defaultRenderingHints

    protected static RenderingHints defaultRenderingHints

Constructor Detail

### StaticRenderer

    public StaticRenderer(RenderingHints rh,
                          AffineTransform at)

Parameters:
  `rh` - Hints for rendering.
  `at` - Starting user to device coordinate system transform.

### StaticRenderer

    public StaticRenderer()

  Creates a new StaticRenderer object.

Method Detail

### dispose

    public void dispose()

  Disposes all resources of this renderer.

  Specified by:
    `dispose` in interface `ImageRenderer`
  Specified by:
    `dispose` in interface `Renderer`

### setTree

    public void setTree(GraphicsNode rootGN)

  This associates the given GVT Tree with this renderer. Any previous tree association is forgotten. Not certain if this should be just GraphicsNode, or CanvasGraphicsNode.

  Specified by:
    `setTree` in interface `Renderer`

### getTree

    public GraphicsNode getTree()

  Description copied from interface: `Renderer`
  Returns the GVT tree associated with this renderer

  Specified by:
    `getTree` in interface `Renderer`
  Returns:
    the GVT tree associated with this renderer

### setRenderingHints

    public void setRenderingHints(RenderingHints rh)

  Description copied from interface: `ImageRenderer`
  Sets the specified rendering hints to be used for future renderings. This replaces current set of rendering hints.

  Specified by:
    `setRenderingHints` in interface `ImageRenderer`
  Parameters:
    `rh` - Set of rendering hints to use for future renderings

### getRenderingHints

    public RenderingHints getRenderingHints()

  Description copied from interface: `ImageRenderer`
  Returns the rendering hints this ImageRenderer is using for its rendering.

  Specified by:
    `getRenderingHints` in interface `ImageRenderer`
  Returns:
    the RenderingHints which the Renderer is using for its rendering

### setTransform

    public void setTransform(AffineTransform usr2dev)

  Sets the transform from the current user space (as defined by the top node of the GVT tree, to the associated device space.

  Specified by:
    `setTransform` in interface `ImageRenderer`
  Specified by:
    `setTransform` in interface `Renderer`
  Parameters:
    `usr2dev` - the new user space to device space transform. If null, the identity transform will be set.

### getTransform

    public AffineTransform getTransform()

  Returns the transform from the current user space (as defined by the top node of the GVT tree) to the device space.

  Specified by:
    `getTransform` in interface `ImageRenderer`
  Specified by:
    `getTransform` in interface `Renderer`

### isDoubleBuffered

    public boolean isDoubleBuffered()

  Returns true if the Renderer is currently doubleBuffering is rendering requests. If it is then getOffscreen will only return completed renderings (or null if nothing is available).

  Specified by:
    `isDoubleBuffered` in interface `Renderer`

### setDoubleBuffered

    public void setDoubleBuffered(boolean isDoubleBuffered)

  Turns on/off double buffering in renderer. Turning off double buffering makes it possible to see the ongoing results of a render operation.

  Specified by:
    `setDoubleBuffered` in interface `Renderer`
  Parameters:
    `isDoubleBuffered` - the new value for double buffering

### updateOffScreen

    public void updateOffScreen(int width,
                                int height)

  Update the size of the image to be returned by getOffScreen. Note that this change will not be reflected by calls to getOffscreen until either clearOffScreen has completed (when isDoubleBuffered is false) or reapint has completed (when isDoubleBuffered is true).

  Specified by:
    `updateOffScreen` in interface `ImageRenderer`

### getOffScreen

    public BufferedImage getOffScreen()

  Returns the current offscreen image. The exact symantics of this vary base on the value of isDoubleBuffered. If isDoubleBuffered is false this will return the image currently being worked on as soon as it is available. if isDoubleBuffered is false this will return the most recently completed result of repaint.

  Specified by:
    `getOffScreen` in interface `ImageRenderer`

### clearOffScreen

    public void clearOffScreen()

  Sets up and clears the current offscreen buffer. When not double buffering one should call this method before calling getOffscreen to get the offscreen being drawn into. This ensures the buffer is up to date and doesn't contain junk. When double buffering this call can effectively be skipped, since getOffscreen will only refect the new rendering after repaint completes.

  Specified by:
    `clearOffScreen` in interface `ImageRenderer`

### repaint

    public void repaint(Shape area)

  Repaints the associated GVT tree under `area`. If double buffered is true and this method completes cleanly it will set the result of the repaint as the image returned by getOffscreen otherwise the old image will still be returned. If double buffered is false it is possible some effects of the failed rendering will be visible in the image returned by getOffscreen.

  Specified by:
    `repaint` in interface `Renderer`
  Parameters:
    `area` - region to be repainted, in the current user space coordinate system.

### repaint

    public void repaint(RectListManager areas)

  Repaints the associated GVT tree under the list of `areas`. If double buffered is true and this method completes cleanly it will set the result of the repaint as the image returned by getOffscreen otherwise the old image will still be returned. If double buffered is false it is possible some effects of the failed rendering will be visible in the image returned by getOffscreen.

  Specified by:
    `repaint` in interface `Renderer`
  Parameters:
    `areas` - a List of regions to be repainted, in the current user space coordinate system.

### flush

    public void flush()

  Flush any cached image data.

  Specified by:
    `flush` in interface `ImageRenderer`

### flush

    public void flush(Collection areas)

  Flush a list of rectangles of cached image data.

  Specified by:
    `flush` in interface `ImageRenderer`

### flush

    public void flush(Rectangle r)

  Flush a rectangle of cached image data.

  Specified by:
    `flush` in interface `ImageRenderer`

### setupCache

    protected CachableRed setupCache(CachableRed img)

### renderGNR

    protected CachableRed renderGNR()

### updateWorkingBuffers

    protected void updateWorkingBuffers()

  Internal method used to synchronize local state in response to various set methods.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008 Apache Software Foundation. All Rights Reserved.