Package org.eclipse.birt.chart.render

# Class DeferredCache

java.lang.Object
org.eclipse.birt.chart.render.DeferredCache

All Implemented Interfaces:
  `Comparable<DeferredCache>`

public final class DeferredCache extends Object implements Comparable<DeferredCache>
This class implements deferred rendering capability for chart.

## Field Summary

Fields
Modifier and Type
Field
Description
`List<Object>`
`al3D`
`static final int`
`FLUSH_3D`
`static final int`
`FLUSH_ALL`
`static final int`
`FLUSH_CONNECTION_LINE`
`static final int`
`FLUSH_LABLE`
`static final int`
`FLUSH_LINE`
`static final int`
`FLUSH_MARKER`
`static final int`
`FLUSH_PLANE`
`static final int`
`FLUSH_PLANE_SHADOW`

## Constructor Summary

Constructors
Constructor
Description
`DeferredCache(IDeviceRenderer idr, Chart c, int cacheIndex)`
The constructor.

## Method Summary

Modifier and Type
Method
Description
`void`
`addConnectionLine(LineRenderEvent lre)`
Adds marker connection line rendering event to cache.
`void`
`addLabel(TextRenderEvent tre)`
Adds text rendering event to cache.
`void`
`addLine(LineRenderEvent lre)`
Adds line rendering event to cache.
`void`
`addMarker(PrimitiveRenderEvent pre, int iInstruction, double iMarkerSize, int zOrder)`
Adds marker rendering event to cache.
`void`
`addModel(WrappedInstruction wi)`
Adds wrapped rendering event to cache.
`Object`
`addPlane(PrimitiveRenderEvent pre, int iInstruction)`
Adds rendering Plane event to cache.
`Object`
`addPlane(PrimitiveRenderEvent pre, int iInstruction, int zorder_hint)`
`void`
`addPlaneShadow(PrimitiveRenderEvent pre, int iInstruction)`
Adds rendering Plane event to cache.
`void`
`addPlaneShadow(PrimitiveRenderEvent pre, int iInstruction, int zorder_hint)`
`int`
`compareTo(DeferredCache other)`
`DeferredCache`
`deriveNewDeferredCache()`
Create a new instance of `DeverredCache` according to current device render and chart model.
`void`
`flush()`
Flush the cache, perform all pending rendering tasks.
`void`
`flushOptions(int options)`
Flush the cache of specified types.
`List<LineRenderEvent>`
`getAllConnectionLines()`
Returns all cached connection lines.
`List<TextRenderEvent>`
`getAllLabels()`
Returns all cached labels.
`List<MarkerInstruction>`
`getAllMarkers()`
Returns all cached markers.
`DeferredCache`
`getParentDeferredCache()`
`boolean`
`isTransposed()`
`void`
`process3DEvent(Engine3D engine, double xOffset, double yOffset)`
Pre-process all the 3D rendering events.
`void`
`setAntialiasing(boolean antialiasing)`
Enables if all 3D polygons in current deferred cache need antialiasing.
`void`
`setParentDeferredCache(DeferredCache dc)`
`void`
`setPlanesComparator(Comparator<?> cp)`
`void`
`setPlaneShadowsComparator(Comparator<?> cp)`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### FLUSH_PLANE

public static final int FLUSH_PLANE

See Also:
  - Constant Field Values

### FLUSH_LINE

public static final int FLUSH_LINE

See Also:
  - Constant Field Values

### FLUSH_MARKER

public static final int FLUSH_MARKER

See Also:
  - Constant Field Values

### FLUSH_LABLE

public static final int FLUSH_LABLE

See Also:
  - Constant Field Values

### FLUSH_3D

public static final int FLUSH_3D

See Also:
  - Constant Field Values

### FLUSH_PLANE_SHADOW

public static final int FLUSH_PLANE_SHADOW

See Also:
  - Constant Field Values

### FLUSH_CONNECTION_LINE

public static final int FLUSH_CONNECTION_LINE

See Also:
  - Constant Field Values

### FLUSH_ALL

public static final int FLUSH_ALL

See Also:
  - Constant Field Values

### al3D

public List<Object> al3D

## Constructor Details

### DeferredCache

public DeferredCache(IDeviceRenderer idr, Chart c, int cacheIndex)
The constructor.

## Method Details

### addPlane

public Object addPlane(PrimitiveRenderEvent pre, int iInstruction)
Adds rendering Plane event to cache.

Parameters:
  `pre` - As of now, supported types are RectanguleRenderEvent and PolygonRenderEvent

### addPlane

public Object addPlane(PrimitiveRenderEvent pre, int iInstruction, int zorder_hint)

### addPlaneShadow

public void addPlaneShadow(PrimitiveRenderEvent pre, int iInstruction)
Adds rendering Plane event to cache. This Plane is usually a shadow or depth, and will be in the lower z-order

Parameters:
  `pre` - As of now, supported types are RectanguleRenderEvent and PolygonRenderEvent

### addPlaneShadow

public void addPlaneShadow(PrimitiveRenderEvent pre, int iInstruction, int zorder_hint)

### addModel

public void addModel(WrappedInstruction wi)
Adds wrapped rendering event to cache. Never use this for 3D rendering event.

### addLine

public void addLine(LineRenderEvent lre)
Adds line rendering event to cache.

### addConnectionLine

public void addConnectionLine(LineRenderEvent lre)
Adds marker connection line rendering event to cache.

### addLabel

public void addLabel(TextRenderEvent tre)
Adds text rendering event to cache.

### addMarker

public void addMarker(PrimitiveRenderEvent pre, int iInstruction, double iMarkerSize, int zOrder)
Adds marker rendering event to cache.

### flush

public void flush() throws ChartException
Flush the cache, perform all pending rendering tasks.

Throws:
  `ChartException`

### flushOptions

public void flushOptions(int options) throws ChartException
Flush the cache of specified types.

Parameters:
  `options` - types
Throws:
  `ChartException`
Since:
  2.2
See Also:
  - `FLUSH_3D`
  - `FLUSH_LABLE`
  - `FLUSH_LINE`
  - `FLUSH_MARKER`
  - `FLUSH_PLANE`

### process3DEvent

public void process3DEvent(Engine3D engine, double xOffset, double yOffset)
Pre-process all the 3D rendering events. This must be called before `flush()`.

### isTransposed

public boolean isTransposed()

Returns:
  Returns if current rendering context is transposed.

### getAllConnectionLines

public List<LineRenderEvent> getAllConnectionLines()
Returns all cached connection lines.

Returns:
  all cached connection lines.

### getAllMarkers

public List<MarkerInstruction> getAllMarkers()
Returns all cached markers.

Returns:
  all cached markers.

### getAllLabels

public List<TextRenderEvent> getAllLabels()
Returns all cached labels.

Returns:
  all cached labels.

### setPlaneShadowsComparator

public void setPlaneShadowsComparator(Comparator<?> cp)

### setPlanesComparator

public void setPlanesComparator(Comparator<?> cp)

### deriveNewDeferredCache

public DeferredCache deriveNewDeferredCache()
Create a new instance of `DeverredCache` according to current device render and chart model.

Returns:
Since:
  2.6.2

### getParentDeferredCache

public DeferredCache getParentDeferredCache()

### setParentDeferredCache

public void setParentDeferredCache(DeferredCache dc)

### setAntialiasing

public void setAntialiasing(boolean antialiasing)
Enables if all 3D polygons in current deferred cache need antialiasing.

Parameters:
  `antialiasing` -

### compareTo

public int compareTo(DeferredCache other)

Specified by:
  `compareTo` in interface `Comparable<DeferredCache>`