Source code: com/arranger/jarl/base/IRenderManager.java
1 package com.arranger.jarl.base;
2
3 import com.arranger.jarl.widget.IWidget;
4 import com.arranger.jarl.filter.IFilter;
5
6 import java.awt.*;
7
8 /**
9 * IRenderManager Controls the rendering of widgets
10 */
11 public interface IRenderManager extends IRenderListener {
12
13 /**
14 * Registers a widget to start recieving calls to
15 * {@link IWidget#paint} when the time reaches the time
16 * passed in.
17 *
18 * When a widget is done rendering it should call: {@link #unregister}
19 *
20 * @param widget the widget to register, will be registered at its start time
21 */
22 public void register(IWidget widget);
23
24 /**
25 * Unregister this widget from further rendering
26 * @param widget the widget to unregister
27 */
28 public void unregister(IWidget widget);
29
30 /**
31 * Registers a filter to start recieving calls to
32 * When a filter is done rendering it should call: {@link #unregister}
33 *
34 * @param filter the filter to register, will be registered at its start time
35 */
36 public void register(IFilter filter);
37
38 /**
39 * Unregister this filter from further rendering
40 * @param filter the filter to unregister
41 */
42 public void unregister(IFilter filter);
43
44 /**
45 * Render an image for this specific time
46 * @param context current context
47 * @return the rendered image
48 */
49 public Image render(IContext context);
50
51 /**
52 * A special function that will only render one frame. At that point, it isn't valid
53 * @param context current context
54 * @param frame the frame to render
55 * @return the rendered image
56 */
57 public Image renderOneFrame(IContext context, int frame);
58
59 /**
60 * @return registered widgets
61 */
62 public java.util.List getRegisteredWidgets();
63
64 /**
65 * @return registered filters
66 */
67 public java.util.List getRegisteredFilters();
68
69 /**
70 * Adds a render Listener
71 * @param renderListener
72 */
73 public void addRenderListener(IRenderListener renderListener);
74
75 /**
76 * Removes a render Listener
77 * @param renderListener
78 */
79 public void removeRenderListener(IRenderListener renderListener);
80 }