|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jdrawing.AbstractDrawingModelCache org.jdrawing.QuadTreeDrawingModelCache
This implementation of DrawingModelCache
optimizes
drawing operations by splitting all the drawing area into
quadrants recursively and caching elements contained in each quadrant.
Field Summary | |
static int |
MIN_CELL_SIZE
Minimal cell size in pixels. |
Constructor Summary | |
QuadTreeDrawingModelCache()
|
Method Summary | |
protected void |
elementsAdded(DrawingModelEvent event)
Invoked after elements have been inserted into the model. |
protected void |
elementsChanged(DrawingModelEvent event)
Invoked after elements have been changed in some way. |
protected void |
elementsRemoved(DrawingModelEvent event)
Invoked after elements have been removed from the model. |
java.lang.Object[] |
getElementsForPoint(java.awt.geom.Point2D point)
Returns elements which contain a given point. Elements are returned in order, suitable for painting. |
java.lang.Object[] |
getElementsForRectangle(java.awt.geom.Rectangle2D rectangle)
Returns elements neccessary for repainting given area. Elements are returned in order suitable for painting. |
java.awt.geom.Rectangle2D |
getModelBounds2D()
Returns the high precision bounding box of all elements of the model. |
protected void |
modelChanged(DrawingModelEvent event)
Invoked after the model has drastically changed in some way. |
void |
setModel(DrawingModel model)
Sets the DrawingModel that will be cached by this cache.
|
void |
setRenderer(DrawingRenderer renderer)
Sets the DrawingRenderer that will be used in this cache.
|
Methods inherited from class org.jdrawing.AbstractDrawingModelCache |
addDrawingModelCacheListener, fireAreaChanged, fireDrawingChanged, getDrawingModelCacheListeners, getModel, getModelBounds, getRenderer, removeDrawingModelCacheListener |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int MIN_CELL_SIZE
Constructor Detail |
public QuadTreeDrawingModelCache()
Method Detail |
public java.awt.geom.Rectangle2D getModelBounds2D()
DrawingModelCache
public java.lang.Object[] getElementsForRectangle(java.awt.geom.Rectangle2D rectangle)
rectangle
- area that will be repainted
java.lang.IllegalArgumentException
- if rectangle is null
public java.lang.Object[] getElementsForPoint(java.awt.geom.Point2D point)
point
- the Point2D
return elements containing given point
java.lang.IllegalArgumentException
- if point is null
public void setModel(DrawingModel model)
DrawingModelCache
DrawingModel
that will be cached by this cache.
If model is null
, then set this DrawingModelCache
to do not cache any DrawingModel
.
setModel
in interface DrawingModelCache
setModel
in class AbstractDrawingModelCache
public void setRenderer(DrawingRenderer renderer)
DrawingModelCache
DrawingRenderer
that will be used in this cache.
If renderer is null
, then set this DrawingModelCache
to do not use any DrawingRenderer
.
Renderer is used to obtain the bounds of an element of the model.
setRenderer
in interface DrawingModelCache
setRenderer
in class AbstractDrawingModelCache
protected void elementsAdded(DrawingModelEvent event)
AbstractDrawingModelCache
elementsAdded
in class AbstractDrawingModelCache
event
- DrawingModelEvent object encapsulating event
informationprotected void elementsRemoved(DrawingModelEvent event)
AbstractDrawingModelCache
elementsRemoved
in class AbstractDrawingModelCache
event
- DrawingModelEvent object encapsulating event
informationprotected void elementsChanged(DrawingModelEvent event)
AbstractDrawingModelCache
elementsChanged
in class AbstractDrawingModelCache
event
- DrawingModelEvent object encapsulating event
informationprotected void modelChanged(DrawingModelEvent event)
AbstractDrawingModelCache
modelChanged
in class AbstractDrawingModelCache
event
- DrawingModelEvent object encapsulating event
information
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |