annotate ScreenAdjuster.java @ 0:855307f4bf5e

Working version.
author Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
date Fri, 22 Feb 2013 17:24:40 +0100
parents
children c5bdb7bee4a7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
1 import javax.swing.*;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
2 import java.awt.*;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
3 import java.awt.event.*;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
4 import java.awt.font.*;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
5 import java.awt.geom.*;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
6 import java.util.*;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
7
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
8 class ScreenAdjuster extends JFrame implements ActionListener
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
9 {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
10 int frameNumber = -1;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
11 //JLabel messageText = new JLabel("HEI");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
12 Vector<String> messageText = null;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
13 Color backgroundColor = Color.BLACK;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
14 Color foregroundColor;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
15 Color outlineColor;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
16 javax.swing.Timer messageTimeout = new javax.swing.Timer(2000, this);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
17 boolean messageVisible = false;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
18 boolean messageOutline = false;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
19 boolean messageBBox = false;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
20
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
21 ScreenAdjuster(boolean fullScreen)
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
22 {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
23
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
24 messageTimeout.setRepeats(false);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
25
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
26 nextFrame();
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
27
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
28 if (fullScreen) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
29 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
30 setUndecorated(true);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
31 //setResizable(false);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
32 /*
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
33 Rectangle bounds = getBounds();
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
34 setBounds(bounds.x,bounds.y,200,200);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
35 setVisible(true);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
36 */
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
37 /*
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
38 fullscreenFrame.add(new JLabel("Press ALT+F4 to exit fullscreen.",
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
39 SwingConstants.CENTER),
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
40 BorderLayout.CENTER);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
41 */
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
42 validate();
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
43
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
44 setVisible(true);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
45 GraphicsEnvironment.getLocalGraphicsEnvironment()
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
46 .getDefaultScreenDevice().setFullScreenWindow(this);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
47 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
48 else {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
49 Rectangle bounds = getBounds();
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
50 setBounds(bounds.x,bounds.y,200,200);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
51 setVisible(true);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
52
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
53 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
54 enableEvents(AWTEvent.KEY_EVENT_MASK);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
55
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
56 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
57
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
58 public void actionPerformed(ActionEvent evt)
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
59 {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
60 messageVisible = false;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
61 repaint();
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
62 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
63
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
64 protected void processKeyEvent(KeyEvent e)
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
65 {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
66 if (e.getID() == KeyEvent.KEY_PRESSED) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
67 Log.DEFAULT.println(e.paramString());
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
68 if (e.getKeyText(e.getKeyCode()).equals("Q")) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
69 System.exit(0);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
70 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
71 if (e.getKeyCode() == KeyEvent.VK_BACK_SPACE) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
72 frameNumber -= 2;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
73 if (frameNumber < 0)
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
74 frameNumber += numFrames();
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
75 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
76 Log.DEFAULT.println(e.getKeyText(e.getKeyCode()));
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
77 nextFrame();
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
78 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
79 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
80
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
81 static Color complementary(Color in)
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
82 {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
83 if (in != null) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
84 float hsb [] = Color.RGBtoHSB(in.getRed(),
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
85 in.getGreen(),
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
86 in.getBlue(), null);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
87 return Color.getHSBColor(hsb[0], hsb[1], 1 - hsb[2]);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
88 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
89 return Color.BLACK;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
90 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
91
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
92 void nextFrame()
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
93 {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
94 frameNumber = (frameNumber + 1) % numFrames();
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
95 foregroundColor = null;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
96 backgroundColor = null;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
97 outlineColor = null;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
98 messageText = new Vector<String>(0);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
99 messageBBox = false;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
100
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
101
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
102 switch (frameNumber) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
103 case 0:
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
104 messageText.add("This screen should appear all BLACK!");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
105 messageText.add("Please check for any dead pixels.");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
106 messageText.add("");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
107 messageText.add("Appart from this, please use this opportunity to clean your screen.");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
108 backgroundColor = Color.BLACK;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
109 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
110 case 1:
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
111 messageText.add("This screen should appear all WHITE!");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
112 messageText.add("Please check for any dead pixels.");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
113 messageText.add("");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
114 messageText.add("Appart from this, please use this opportunity to clean your screen.");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
115 backgroundColor = Color.WHITE;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
116 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
117 case 2:
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
118 messageText.add("This screen should appear all RED!");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
119 messageText.add("Please check for any dead pixels.");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
120 backgroundColor = Color.RED;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
121 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
122 case 3:
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
123 messageText.add("This screen should appear all GREEN!");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
124 messageText.add("Please check for any dead pixels.");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
125 backgroundColor = Color.GREEN;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
126 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
127 case 4:
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
128 messageText.add("This screen should appear all BLUE!");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
129 messageText.add("Please check for any dead pixels.");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
130 backgroundColor = Color.BLUE;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
131 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
132 case 5:
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
133 messageText.add("This screen contains vertical stripes");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
134 messageText.add("Please adjust your screen so they are perfectly vertical");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
135 messageText.add("");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
136 messageText.add("(Primarily applies to CRT screens)");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
137 foregroundColor = Color.BLACK;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
138 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
139 case 6:
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
140 messageText.add("This screen contains horizontal stripes");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
141 messageText.add("Please adjust your screen so they are perfectly horizontal");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
142 messageText.add("");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
143 messageText.add("(Primarily applies to CRT screens)");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
144 foregroundColor = Color.BLACK;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
145 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
146 case 7:
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
147 messageText.add("This screen contains a chess pattern");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
148 messageText.add("Please adjust your screen so the pattern is perfectly horizontal and vertical");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
149 messageText.add("");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
150 messageText.add("(Primarily applies to CRT screens)");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
151 foregroundColor = Color.BLACK;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
152 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
153 case 8:
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
154 messageText.add("This screen should be all black, with a hairline yellow border");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
155 messageText.add("Please adjust your screen so the border is perfectly aligned with the sides of your screen");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
156 backgroundColor = Color.BLACK;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
157 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
158 case 9:
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
159 messageText.add("This screen contains a round circle");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
160 messageText.add("Please adjust your screen so that the aspect ratio makes this perfectly round.");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
161 foregroundColor = Color.WHITE;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
162 backgroundColor = Color.WHITE;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
163 outlineColor = Color.BLACK;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
164 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
165 case 10:
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
166 messageText.add("This screen contains a medium size chess pattern");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
167 messageText.add("Please adjust your brightness and contrast.");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
168 foregroundColor = Color.RED;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
169 backgroundColor = Color.WHITE;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
170 outlineColor = Color.BLACK;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
171 messageBBox = true;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
172 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
173 case 11:
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
174 messageText.add("This screen contains a pixel size chess pattern");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
175 messageText.add("Please adjust your brightness and contrast.");
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
176 foregroundColor = Color.RED;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
177 backgroundColor = Color.WHITE;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
178 outlineColor = Color.BLACK;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
179 messageBBox = true;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
180 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
181 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
182 messageTimeout.stop();
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
183 messageVisible = true;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
184
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
185 messageTimeout.start();
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
186
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
187 if (foregroundColor == null)
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
188 foregroundColor = complementary(backgroundColor);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
189 //messageText.setForeground(foregroundColor);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
190
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
191 repaint();
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
192 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
193
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
194 int numFrames()
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
195 {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
196 return 12;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
197 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
198
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
199 public static final void main(final String[] args) throws Exception
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
200 {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
201 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
202
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
203 Log.DEFAULT = new Log(new VoidStream());
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
204
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
205 boolean fullscreen = true;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
206
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
207 if (args.length >= 1) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
208 fullscreen = false;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
209 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
210 //fullscreen = false;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
211
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
212 final JFrame fullscreenFrame = new ScreenAdjuster(fullscreen);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
213
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
214 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
215
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
216 public static void paintCheckers(Graphics g, Rectangle bounds, int size, int numColors, int mode, boolean alternativeColors)
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
217 {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
218 Rectangle cbounds = g.getClipBounds();
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
219
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
220 g.setColor(Color.WHITE);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
221 //g.fillRect(cbounds.x, cbounds.y, cbounds.width, cbounds.height);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
222 g.fillRect(bounds.x, bounds.y, bounds.width, bounds.height);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
223
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
224 //Offset xmin by 1, if cliparea is on an odd boundary
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
225 int xmin = bounds.x;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
226 int xmax = bounds.x + bounds.width;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
227 int ymin = bounds.y;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
228 int ymax = bounds.y + bounds.height;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
229 int hcolor = -1;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
230
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
231 Color colors[] = { Color.BLACK, Color.RED,
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
232 Color.GREEN, Color.BLUE, Color.WHITE };
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
233
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
234 if (numColors <= 2) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
235 if (alternativeColors) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
236 colors[0] = Color.YELLOW;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
237 colors[1] = Color.BLUE;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
238 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
239 else {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
240 colors[1] = Color.WHITE;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
241 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
242 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
243
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
244 g.setColor(Color.BLACK);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
245 for (int x = xmin; x < xmax; x += size) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
246 if ((mode & 0x1) > 0)
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
247 hcolor = (hcolor + 1) % numColors;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
248 int color = hcolor;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
249 for (int y = ymin; y < ymax; y += size) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
250 if ((mode & 0x2) > 0)
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
251 color = (color + 1) % numColors;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
252 g.setColor(colors[color]);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
253 g.fillRect(x, y, size, size);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
254 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
255 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
256 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
257
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
258 public void paint(Graphics g)
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
259 {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
260 super.paint(g);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
261 Graphics2D g2 = (Graphics2D) g;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
262 Rectangle cbounds = g.getClipBounds();
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
263 Rectangle bounds = getBounds();
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
264
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
265 Log.DEFAULT.println(frameNumber);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
266
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
267
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
268 if (backgroundColor != null) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
269 g.setColor(backgroundColor);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
270 //g.fillRect(cbounds.x, cbounds.y, cbounds.width, cbounds.height);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
271 g.fillRect(bounds.x, bounds.y, bounds.width, bounds.height);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
272 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
273
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
274 switch (frameNumber) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
275 case 0:
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
276 case 1:
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
277 case 2:
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
278 case 3:
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
279 case 4:
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
280 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
281 case 11: {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
282 g.setColor(Color.BLACK);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
283 //Offset xmin by 1, if cliparea is on an odd boundary
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
284 int xmin = cbounds.x + ((cbounds.x - bounds.x) & 0x1);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
285 int xmax = cbounds.x + cbounds.width;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
286 for (int x = xmin; x < xmax; x += 2) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
287 g.drawLine(x, bounds.y, x, bounds.y + bounds.height);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
288 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
289 for (int y = bounds.y; y < bounds.y + bounds.height; y += 2) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
290 g.drawLine(bounds.x, y, bounds.x + bounds.width, y);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
291 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
292 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
293 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
294 case 7: {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
295 paintCheckers(g, bounds, 50, 2, 3, true);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
296 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
297 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
298 case 10: {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
299 paintCheckers(g, bounds, 5, 2, 3, false);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
300 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
301 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
302 case 9: {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
303 int x = bounds.x;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
304 int y = bounds.y;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
305 int height = bounds.height - y;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
306 int width = bounds.width - x;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
307 int diameter;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
308 if (height < width) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
309 diameter = height;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
310 x += (width - height) /2;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
311 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
312 else {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
313 diameter = width;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
314 y += (height - width) /2;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
315 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
316 Log.DEFAULT.println("Geometry:"+bounds.x+"x"+bounds.y+":"+bounds.width + "x" + bounds.height);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
317 g.setColor(Color.BLACK);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
318 g.fillOval(x, y, diameter, diameter);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
319
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
320 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
321 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
322 case 8: {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
323 g.setColor(Color.YELLOW);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
324 g.drawRect(bounds.x+1, bounds.y+1, bounds.width-2, bounds.height-2);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
325 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
326 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
327 case 5: {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
328 paintCheckers(g, bounds, 50, 2, 2, true);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
329 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
330 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
331 case 6: {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
332 paintCheckers(g, bounds, 50, 2, 1, true);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
333 break;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
334 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
335 };
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
336 /*
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
337 if (messageText.isVisible())
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
338 messageText.paint(g);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
339 */
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
340 if (messageVisible) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
341 Font font = g.getFont();
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
342 font = new Font(font.getFontName(),
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
343 font.getStyle(),
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
344 (int)(font.getSize2D() * 2));
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
345 double fontHeight = font.getMaxCharBounds(g2.getFontRenderContext()).getHeight();
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
346 double totalHeight = fontHeight * messageText.size();
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
347 double y = (bounds.height - totalHeight) /2.0;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
348
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
349 for (int i = 0; i < messageText.size(); ++i) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
350 String text = messageText.get(i);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
351 if (text.length() > 0 ) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
352 TextLayout tl =
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
353 new TextLayout(messageText.get(i),
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
354 font, g2.getFontRenderContext());
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
355 double textWidth = tl.getBounds().getWidth();
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
356 double x = (bounds.width - textWidth) /2.0;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
357
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
358 Shape outline =
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
359 tl.getOutline(AffineTransform.getTranslateInstance(x,y));
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
360
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
361 Rectangle tBounds = outline.getBounds();
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
362
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
363 if (messageBBox) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
364 g2.setColor(backgroundColor);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
365 g2.fillRect(tBounds.x, tBounds.y, tBounds.width, tBounds.height);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
366 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
367 g2.setColor(foregroundColor);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
368 g2.fill(outline);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
369 if (outlineColor != null) {
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
370 g2.setColor(outlineColor);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
371 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
372 g2.draw(outline);
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
373 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
374 y += fontHeight;
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
375 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
376 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
377 }
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
378
855307f4bf5e Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
379 }