54 * 1 - 24x24 |
53 * 1 - 24x24 |
55 * 2 - 32x32 |
54 * 2 - 32x32 |
56 * 3 - 48x48 |
55 * 3 - 48x48 |
57 */ |
56 */ |
58 private int currentSize = -1; |
57 private int currentSize = -1; |
59 private static XIconInfo[][] icons; |
58 private static IconInfo[][] icons; |
60 private static XIconInfo getSecurityIconInfo(int size, int num) { |
59 private static IconInfo getSecurityIconInfo(int size, int num) { |
61 synchronized (XWarningWindow.class) { |
60 synchronized (XWarningWindow.class) { |
62 if (icons == null) { |
61 if (icons == null) { |
63 icons = new XIconInfo[4][3]; |
62 icons = new IconInfo[4][3]; |
64 if (XlibWrapper.dataModel == 32) { |
63 if (XlibWrapper.dataModel == 32) { |
65 icons[0][0] = new XIconInfo(XAWTIcon32_security_icon_bw16_png.security_icon_bw16_png); |
64 icons[0][0] = new IconInfo(sun.awt.AWTIcon32_security_icon_bw16_png.security_icon_bw16_png); |
66 icons[0][1] = new XIconInfo(XAWTIcon32_security_icon_interim16_png.security_icon_interim16_png); |
65 icons[0][1] = new IconInfo(sun.awt.AWTIcon32_security_icon_interim16_png.security_icon_interim16_png); |
67 icons[0][2] = new XIconInfo(XAWTIcon32_security_icon_yellow16_png.security_icon_yellow16_png); |
66 icons[0][2] = new IconInfo(sun.awt.AWTIcon32_security_icon_yellow16_png.security_icon_yellow16_png); |
68 icons[1][0] = new XIconInfo(XAWTIcon32_security_icon_bw24_png.security_icon_bw24_png); |
67 icons[1][0] = new IconInfo(sun.awt.AWTIcon32_security_icon_bw24_png.security_icon_bw24_png); |
69 icons[1][1] = new XIconInfo(XAWTIcon32_security_icon_interim24_png.security_icon_interim24_png); |
68 icons[1][1] = new IconInfo(sun.awt.AWTIcon32_security_icon_interim24_png.security_icon_interim24_png); |
70 icons[1][2] = new XIconInfo(XAWTIcon32_security_icon_yellow24_png.security_icon_yellow24_png); |
69 icons[1][2] = new IconInfo(sun.awt.AWTIcon32_security_icon_yellow24_png.security_icon_yellow24_png); |
71 icons[2][0] = new XIconInfo(XAWTIcon32_security_icon_bw32_png.security_icon_bw32_png); |
70 icons[2][0] = new IconInfo(sun.awt.AWTIcon32_security_icon_bw32_png.security_icon_bw32_png); |
72 icons[2][1] = new XIconInfo(XAWTIcon32_security_icon_interim32_png.security_icon_interim32_png); |
71 icons[2][1] = new IconInfo(sun.awt.AWTIcon32_security_icon_interim32_png.security_icon_interim32_png); |
73 icons[2][2] = new XIconInfo(XAWTIcon32_security_icon_yellow32_png.security_icon_yellow32_png); |
72 icons[2][2] = new IconInfo(sun.awt.AWTIcon32_security_icon_yellow32_png.security_icon_yellow32_png); |
74 icons[3][0] = new XIconInfo(XAWTIcon32_security_icon_bw48_png.security_icon_bw48_png); |
73 icons[3][0] = new IconInfo(sun.awt.AWTIcon32_security_icon_bw48_png.security_icon_bw48_png); |
75 icons[3][1] = new XIconInfo(XAWTIcon32_security_icon_interim48_png.security_icon_interim48_png); |
74 icons[3][1] = new IconInfo(sun.awt.AWTIcon32_security_icon_interim48_png.security_icon_interim48_png); |
76 icons[3][2] = new XIconInfo(XAWTIcon32_security_icon_yellow48_png.security_icon_yellow48_png); |
75 icons[3][2] = new IconInfo(sun.awt.AWTIcon32_security_icon_yellow48_png.security_icon_yellow48_png); |
77 } else { |
76 } else { |
78 icons[0][0] = new XIconInfo(XAWTIcon64_security_icon_bw16_png.security_icon_bw16_png); |
77 icons[0][0] = new IconInfo(sun.awt.AWTIcon64_security_icon_bw16_png.security_icon_bw16_png); |
79 icons[0][1] = new XIconInfo(XAWTIcon64_security_icon_interim16_png.security_icon_interim16_png); |
78 icons[0][1] = new IconInfo(sun.awt.AWTIcon64_security_icon_interim16_png.security_icon_interim16_png); |
80 icons[0][2] = new XIconInfo(XAWTIcon64_security_icon_yellow16_png.security_icon_yellow16_png); |
79 icons[0][2] = new IconInfo(sun.awt.AWTIcon64_security_icon_yellow16_png.security_icon_yellow16_png); |
81 icons[1][0] = new XIconInfo(XAWTIcon64_security_icon_bw24_png.security_icon_bw24_png); |
80 icons[1][0] = new IconInfo(sun.awt.AWTIcon64_security_icon_bw24_png.security_icon_bw24_png); |
82 icons[1][1] = new XIconInfo(XAWTIcon64_security_icon_interim24_png.security_icon_interim24_png); |
81 icons[1][1] = new IconInfo(sun.awt.AWTIcon64_security_icon_interim24_png.security_icon_interim24_png); |
83 icons[1][2] = new XIconInfo(XAWTIcon64_security_icon_yellow24_png.security_icon_yellow24_png); |
82 icons[1][2] = new IconInfo(sun.awt.AWTIcon64_security_icon_yellow24_png.security_icon_yellow24_png); |
84 icons[2][0] = new XIconInfo(XAWTIcon64_security_icon_bw32_png.security_icon_bw32_png); |
83 icons[2][0] = new IconInfo(sun.awt.AWTIcon64_security_icon_bw32_png.security_icon_bw32_png); |
85 icons[2][1] = new XIconInfo(XAWTIcon64_security_icon_interim32_png.security_icon_interim32_png); |
84 icons[2][1] = new IconInfo(sun.awt.AWTIcon64_security_icon_interim32_png.security_icon_interim32_png); |
86 icons[2][2] = new XIconInfo(XAWTIcon64_security_icon_yellow32_png.security_icon_yellow32_png); |
85 icons[2][2] = new IconInfo(sun.awt.AWTIcon64_security_icon_yellow32_png.security_icon_yellow32_png); |
87 icons[3][0] = new XIconInfo(XAWTIcon64_security_icon_bw48_png.security_icon_bw48_png); |
86 icons[3][0] = new IconInfo(sun.awt.AWTIcon64_security_icon_bw48_png.security_icon_bw48_png); |
88 icons[3][1] = new XIconInfo(XAWTIcon64_security_icon_interim48_png.security_icon_interim48_png); |
87 icons[3][1] = new IconInfo(sun.awt.AWTIcon64_security_icon_interim48_png.security_icon_interim48_png); |
89 icons[3][2] = new XIconInfo(XAWTIcon64_security_icon_yellow48_png.security_icon_yellow48_png); |
88 icons[3][2] = new IconInfo(sun.awt.AWTIcon64_security_icon_yellow48_png.security_icon_yellow48_png); |
90 } |
89 } |
91 } |
90 } |
92 } |
91 } |
93 final int sizeIndex = size % icons.length; |
92 final int sizeIndex = size % icons.length; |
94 return icons[sizeIndex][num % icons[sizeIndex].length]; |
93 return icons[sizeIndex][num % icons[sizeIndex].length]; |
123 // So it's easier to use just one lock instead. |
122 // So it's easier to use just one lock instead. |
124 XToolkit.awtLock(); |
123 XToolkit.awtLock(); |
125 try { |
124 try { |
126 if (newSize != currentSize) { |
125 if (newSize != currentSize) { |
127 currentSize = newSize; |
126 currentSize = newSize; |
128 XIconInfo ico = getSecurityIconInfo(currentSize, 0); |
127 IconInfo ico = getSecurityIconInfo(currentSize, 0); |
129 XlibWrapper.SetBitmapShape(XToolkit.getDisplay(), getWindow(), |
128 XlibWrapper.SetBitmapShape(XToolkit.getDisplay(), getWindow(), |
130 ico.getWidth(), ico.getHeight(), ico.getIntData()); |
129 ico.getWidth(), ico.getHeight(), ico.getIntData()); |
131 AWTAccessor.getWindowAccessor().setSecurityWarningSize( |
130 AWTAccessor.getWindowAccessor().setSecurityWarningSize( |
132 ownerWindow, ico.getWidth(), ico.getHeight()); |
131 ownerWindow, ico.getWidth(), ico.getHeight()); |
133 } |
132 } |
134 } finally { |
133 } finally { |
135 XToolkit.awtUnlock(); |
134 XToolkit.awtUnlock(); |
136 } |
135 } |
137 } |
136 } |
138 |
137 |
139 private XIconInfo getSecurityIconInfo() { |
138 private IconInfo getSecurityIconInfo() { |
140 updateIconSize(); |
139 updateIconSize(); |
141 return getSecurityIconInfo(currentSize, currentIcon); |
140 return getSecurityIconInfo(currentSize, currentIcon); |
142 } |
141 } |
143 |
142 |
144 XWarningWindow(final Window ownerWindow, long parentWindow, XWindowPeer ownerPeer) { |
143 XWarningWindow(final Window ownerWindow, long parentWindow, XWindowPeer ownerPeer) { |