01: /*
02: * $RCSfile: RenderingChangeEvent.java,v $
03: *
04: * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
05: *
06: * Use is subject to license terms.
07: *
08: * $Revision: 1.1 $
09: * $Date: 2005/02/11 04:57:21 $
10: * $State: Exp $
11: */
12: package javax.media.jai;
13:
14: import java.awt.Shape;
15:
16: /**
17: * Class representing the event that occurs when a <code>RenderedOp</code>
18: * node is re-rendered.
19: *
20: * @since JAI 1.1
21: */
22: public class RenderingChangeEvent extends PropertyChangeEventJAI {
23: private Shape invalidRegion;
24:
25: /**
26: * Constructs a <code>RenderingChangeEvent</code>. The inherited
27: * <code>getSource()</code> method of the event would return the
28: * <code>RenderedOp</code> source; the inherited methods
29: * <code>getOldValue()</code> and <code>getNewValue()</code>
30: * would return the old and new renderings, respectively. If
31: * either the new rendering or the invalid region is null, the
32: * data of the node's rendering need to be re-requested.
33: *
34: * <p> The invalid region should be <code>null</code> if there is no
35: * area of the extant rendering which remains valid. If the invalid
36: * region is empty, this serves to indicate that all pixels within the
37: * bounds of the old rendering remain valid. Pixels outside the image
38: * bounds proper but within the bounds of all tiles of the image are
39: * not guaranteed to be valid of the invalid region is empty.
40: */
41: public RenderingChangeEvent(RenderedOp source,
42: PlanarImage oldRendering, PlanarImage newRendering,
43: Shape invalidRegion) {
44: super (source, "Rendering", oldRendering, newRendering);
45: this .invalidRegion = invalidRegion;
46: }
47:
48: /**
49: * Returns an object which represents the region over which the
50: * the two renderings should differ.
51: *
52: * @return The region over which the two renderings differ or
53: * <code>null</code> to indicate that they differ everywhere.
54: * An empty <code>Shape</code> indicates that all pixels
55: * within the bounds of the old rendering remain valid.
56: */
57: public Shape getInvalidRegion() {
58: return invalidRegion;
59: }
60: }
|