From 880653d31a8f1ff8384fdbc75b84934bceecfdb8 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sat, 18 Nov 2000 06:43:49 +0000 Subject: Initial revision --- gl4java/jau/awt/windows/Win32HandleAccess.java | 84 ++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 gl4java/jau/awt/windows/Win32HandleAccess.java (limited to 'gl4java/jau/awt/windows/Win32HandleAccess.java') diff --git a/gl4java/jau/awt/windows/Win32HandleAccess.java b/gl4java/jau/awt/windows/Win32HandleAccess.java new file mode 100644 index 0000000..38b5c93 --- /dev/null +++ b/gl4java/jau/awt/windows/Win32HandleAccess.java @@ -0,0 +1,84 @@ +/* + * @(#) Win32HandleAccess.java + */ + +package gl4java.jau.awt.windows; + +import sun.awt.DrawingSurface; +import sun.awt.Win32DrawingSurface; +import sun.awt.DrawingSurfaceInfo; + +/** + * The ms-windows implementation for accessing the native window handle + * + * This class has no user servicable parts inside. It is + * used internally by GLFrame and by our package spoofed + * sun.awt classes that give us internal access to window + * variables that we need to set up the OpenGL drawing + * ontext + * + * @see WinHandleAccess + * @version 0.1, 7. JULY 1998 + * @author Sven Goethel + * + */ +public class Win32HandleAccess + implements gl4java.jau.awt.WinHandleAccess +{ + + protected DrawingSurfaceInfo dsi; + protected Win32DrawingSurface wds; + protected int window, depth; + + protected void achieveData(java.awt.Component c, java.awt.Graphics g) + { + /* outta java3d */ + dsi=null; + wds=null; + window=0; depth=0; + + dsi = ((DrawingSurface)(c.getPeer())).getDrawingSurfaceInfo(); + if(dsi!=null) + { + dsi.lock(); + wds = (Win32DrawingSurface)dsi.getSurface(); + dsi.unlock(); + } + if(wds!=null) + { + dsi.lock(); + window = wds.getHDC(); + depth = wds.getDepth(); + /* + System.out.println("wds ="+wds); + System.out.println("wds.Depth ="+wds.getDepth()); + System.out.println("wds.HDC ="+wds.getHDC()); + System.out.println("wds.HWnd ="+wds.getHWnd()); + */ + dsi.unlock(); + } + if(wds==null) + System.out.println("Win32HandleAccess.getWinHandle failed, because the given Component is NOT a Window-Component\n"); + } + +/** + * + * gets some structure for windows, and drawable on Win32 + */ + public int getWinHandle(java.awt.Component c, java.awt.Graphics g) + { + achieveData(c, g); + return window; + } + +/** + * + * gets some structure for windows, and drawable on Win32 + */ + public int getWinDepth(java.awt.Component c, java.awt.Graphics g) + { + achieveData(c, g); + return depth; + } +} + -- cgit v1.2.3