Package diva.canvas

Class DamageRegion


  • public abstract class DamageRegion
    extends java.lang.Object
    A damage region represents a region of the canvas that has been "damaged" and hence needs to be repainted. Damage regions are passed up from a component that creates the damage until they reach the JCanvas, at which point the Swing RepaintManager gets called.
    Version:
    $Id$
    Author:
    John Reekie
    Pt.AcceptedRating:
    Red
    • Method Detail

      • apply

        public abstract void apply​(JCanvas canvas)
        Tell the damage region to inflict itself on the given JCanvas.
        Parameters:
        canvas - The canvas
      • checkCacheValid

        public void checkCacheValid​(TransformContext c)
        Check transform cache validity. This must be called from the repaint(DamageRegion) method of any component that has a transform context.
        Parameters:
        c - The TransformContext
      • createDamageRegion

        public static DamageRegion createDamageRegion​(TransformContext c,
                                                      java.awt.geom.Rectangle2D r)
        Create a damage region in this context over the given rectangle.
        Parameters:
        c - The Transform Context
        r - The given rectangle
        Returns:
        The Damage Region.
      • createDamageRegion

        public static DamageRegion createDamageRegion​(TransformContext c,
                                                      double x,
                                                      double y,
                                                      double w,
                                                      double h)
        Create a damage region in this context over the given rectangle.
        Parameters:
        c - The Transform Context
        x - The x location of a corner of the damage region
        y - The y location of a corner of the damage region
        w - The width of the damage region
        h - The height of the damage region
        Returns:
        The Damage Region.
      • extend

        public abstract void extend​(java.awt.geom.Rectangle2D r)
        Extend the damage region with the given rectangle.
        Parameters:
        r - The rectangle to which to extend to.
      • getBounds

        public abstract java.awt.geom.Rectangle2D getBounds()
        Get the bounds of this damage region.
        Returns:
        The bounds of the damage region.
      • getContext

        public TransformContext getContext()
        Get the transform context in which this damage region was created.
        Returns:
        The transformContext.