-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGraphicsManager.java
More file actions
55 lines (43 loc) · 1.43 KB
/
GraphicsManager.java
File metadata and controls
55 lines (43 loc) · 1.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package graphicsEngine;
import graphicsEngine.windows.AbstractWindow;
import graphicsEngine.windows.WindowManager;
import DelayCalculator.DelayOptions;
import java.util.ArrayList;
import static graphicsEngine.Utilities.printLine;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.NotNull;
//a class for containing graphics
//TODO: add javadocs
public class GraphicsManager {
public ArrayList<WindowManager> windows;
public GraphicsManager() {
windows = new ArrayList<>();
}
@SuppressWarnings("unused")
public final void newWindow(@NotNull WindowManager window) {
int i = windows.size();
windows.add(window);
windows.get(i).start();
}
@SuppressWarnings("unused")
public final void newWindow(@NotNull AbstractWindow window) {
newWindow(new WindowManager(window));
}
@SuppressWarnings("unused")
public final void newWindow(@NotNull AbstractWindow window, long delay) {
newWindow(new WindowManager(window, delay));
}
@SuppressWarnings("unused")
public final void newWindow(@NotNull AbstractWindow window, @Nullable DelayOptions delayOptions) {
newWindow(new WindowManager(window, delayOptions));
}
public void end() {
printLine("Graphics ending.");
endAllWindows();
}
private void endAllWindows() {
for (WindowManager window : windows) {
window.end();
}
}
}