14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package sun.awt.X11; 27 28 /** 29 * This class represents AWT application root window functionality. 30 * Object of this class is singleton, all window reference it to have 31 * common logical ancestor 32 */ 33 class XRootWindow extends XBaseWindow { 34 private static XRootWindow xawtRootWindow = null; 35 static XRootWindow getInstance() { 36 XToolkit.awtLock(); 37 try { 38 if (xawtRootWindow == null) { 39 xawtRootWindow = new XRootWindow(); 40 xawtRootWindow.init(xawtRootWindow.getDelayedParams().delete(DELAYED)); 41 } 42 return xawtRootWindow; 43 } finally { 44 XToolkit.awtUnlock(); 45 } 46 } 47 48 private XRootWindow() { 49 super(new XCreateWindowParams(new Object[] { DELAYED, Boolean.TRUE, 50 EVENT_MASK, XConstants.StructureNotifyMask })); 51 } 52 53 public void postInit(XCreateWindowParams params){ 54 super.postInit(params); 55 setWMClass(getWMClass()); 56 } 57 58 protected String getWMName() { 59 return XToolkit.getAWTAppClassName(); 60 } 61 protected String[] getWMClass() { 62 return new String[] {XToolkit.getAWTAppClassName(), XToolkit.getAWTAppClassName()}; 63 } 64 65 /* Fix 4976517. Return awt_root_shell to XToolkit.c */ | 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package sun.awt.X11; 27 28 /** 29 * This class represents AWT application root window functionality. 30 * Object of this class is singleton, all window reference it to have 31 * common logical ancestor 32 */ 33 class XRootWindow extends XBaseWindow { 34 private static class LazyHolder { 35 private static final XRootWindow xawtRootWindow; 36 37 static { 38 XToolkit.awtLock(); 39 try { 40 xawtRootWindow = new XRootWindow(); 41 xawtRootWindow.init(xawtRootWindow.getDelayedParams().delete(DELAYED)); 42 } finally { 43 XToolkit.awtUnlock(); 44 } 45 } 46 47 } 48 static XRootWindow getInstance() { 49 return LazyHolder.xawtRootWindow; 50 } 51 52 private XRootWindow() { 53 super(new XCreateWindowParams(new Object[] { DELAYED, Boolean.TRUE, 54 EVENT_MASK, XConstants.StructureNotifyMask })); 55 } 56 57 public void postInit(XCreateWindowParams params){ 58 super.postInit(params); 59 setWMClass(getWMClass()); 60 } 61 62 protected String getWMName() { 63 return XToolkit.getAWTAppClassName(); 64 } 65 protected String[] getWMClass() { 66 return new String[] {XToolkit.getAWTAppClassName(), XToolkit.getAWTAppClassName()}; 67 } 68 69 /* Fix 4976517. Return awt_root_shell to XToolkit.c */ |