/* * @(#)WindowUtil.java 1.12 02/08/21 * * Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved. */ package com.sun.media.util; import java.awt.*; import com.sun.media.JMFSecurityManager; public final class WindowUtil { private static int jawtAvail = 0; static { String javaVersion = null; String subver = null; int len = 0; try { javaVersion = (String)System.getProperty("java.version"); if ( javaVersion.length() < 3) len = javaVersion.length(); else len = 3; subver = javaVersion.substring(0,len); } catch (Throwable t) { javaVersion = null; subver=null; } if ( subver == null || subver.compareTo("1.3") <= 0) { jawtAvail = 0; } else { jawtAvail = 1; } try { if (jawtAvail == 1) JMFSecurityManager.loadLibrary("jawt"); } catch (Exception e) { // Ignore the exception: most likely because jawt had // already been loaded. } catch (UnsatisfiedLinkError e) { // Ignore the exception: most likely because jawt had // already been loaded. } try { JMFSecurityManager.loadLibrary("jmutil"); } catch (Exception e) { System.err.println("Could not load library jmutil native module"); e.printStackTrace(); } catch (UnsatisfiedLinkError ule) { System.err.println("Could not load library jmutil native module"); ule.printStackTrace(); } } public native static int getWindowHandle(Component c, int jawt); public native static boolean canUseXIL(boolean greenOnlyVM); public native static boolean isUltra(); public static int getWindowHandle(Component c) { return getWindowHandle(c, jawtAvail); } public static int getJAWTAvail() { return jawtAvail; } }