01: /*
02: * Created on Dec 21, 2004 TODO To change the template for this generated file go to Window -
03: * Preferences - Java - Code Style - Code Templates
04: */
05: package net.refractions.udig.project.internal.render;
06:
07: import java.util.Collection;
08: import java.util.List;
09:
10: import net.refractions.udig.project.internal.Layer;
11: import net.refractions.udig.project.internal.render.impl.CompositeContextListener;
12: import net.refractions.udig.project.render.ICompositeRenderContext;
13:
14: /**
15: * A toolkit that is provided to composite renderers.
16: * <p>
17: * In addition to the references available in the Toolkit class, RenderToolkit has the layers and
18: * services the renderer is responsible for and the buffered image that the renderer draws to.
19: * </p>
20: * <p>
21: * Responsibilities:
22: * <ul>
23: * <li>Provide access to the objects that an extension can use for its operations.</li>
24: * <li>Provide convenience methods for extension developers to use.</li>
25: * <li>Provide a consistent interface for extensions which will not easily change in future
26: * versions</li>
27: * </ul>
28: * </p>
29: *
30: * @author Jesse
31: * @since 0.5
32: */
33: public interface CompositeRenderContext extends RenderContext,
34: ICompositeRenderContext {
35:
36: /**
37: * @return List <RenderContext>The list of RenderContexts that contain the information about how
38: * each layer should be rendered.
39: */
40: List<Layer> getLayersInternal();
41:
42: /**
43: * Removes a listener
44: *
45: * @param contextListener listener to add
46: */
47: void removeListener(CompositeContextListener contextListener);
48:
49: /**
50: * Adds a listener
51: *
52: * @param contextListener listener to add
53: */
54: void addListener(CompositeContextListener contextListener);
55:
56: /**
57: * Clears all the contexts
58: */
59: void clear();
60:
61: /**
62: * Adds contexts
63: *
64: * @param contexts contexts to add
65: */
66: void addContexts(Collection<? extends RenderContext> contexts);
67:
68: /**
69: * Removes some contexts
70: *
71: * @param contexts contexts to remove
72: */
73: void removeContexts(Collection<? extends RenderContext> contexts);
74:
75: public CompositeRenderContext copy();
76: }
|