This commit was manufactured by cvs2svn to create tag 'v3040'.

Sprout from master 2004-02-24 00:11:42 UTC Carolyn MacLeod <carolyn> 'v3040'
Cherrypick from master 2004-02-26 19:40:25 UTC Christophe Cornu <ccornu> 'eclipse.org build integration':
    bundles/org.eclipse.swt.tools/.classpath
    bundles/org.eclipse.swt.tools/.project
    bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorApp.java
    bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/MetaDataGenerator.java
    bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/StructsGenerator.java
    bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.accessibility.gtk.ATK.properties
    bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.gtk.OS.properties
    bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.win32.OS.properties
    bundles/org.eclipse.swt.tools/Preprocessor/org/eclipse/swt/tools/internal/SwtJniGen.java
    bundles/org.eclipse.swt.tools/Preprocessor/preprocess.xml
    bundles/org.eclipse.swt.tools/build.properties
    bundles/org.eclipse.swt.tools/plugin.properties
    bundles/org.eclipse.swt.tools/plugin.xml
Cherrypick from master 2004-02-23 22:17:27 UTC Veronika Irvine <veronika> 'fix clipping in GC for themes':
    bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Composite.java
    bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Menu.java
Delete:
    bundles/org.eclipse.swt.opengl/.classpath_gtk
    bundles/org.eclipse.swt.opengl/.classpath_motif
    bundles/org.eclipse.swt.opengl/.classpath_win32
    bundles/org.eclipse.swt.opengl/.cvsignore
    bundles/org.eclipse.swt.opengl/.project
    bundles/org.eclipse.swt.opengl/about.html
    bundles/org.eclipse.swt.opengl/common/gl_library/gl.c
    bundles/org.eclipse.swt.opengl/common/gl_library/glu.c
    bundles/org.eclipse.swt.opengl/common/gl_library/swt.h
    bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GL.java
    bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GLU.java
    bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GLYPHMETRICSFLOAT.java
    bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/ImageDataUtil.java
    bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/Library.java
    bundles/org.eclipse.swt.opengl/gtk/gl_library/build.sh
    bundles/org.eclipse.swt.opengl/gtk/gl_library/glx.c
    bundles/org.eclipse.swt.opengl/gtk/gl_library/make_gtk.mak
    bundles/org.eclipse.swt.opengl/gtk/gl_library/structs.c
    bundles/org.eclipse.swt.opengl/gtk/gl_library/structs.h
    bundles/org.eclipse.swt.opengl/gtk/gl_library/xgtk.c
    bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/GLContext.java
    bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/internal/gtk/XGL.java
    bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/internal/gtk/XGTK.java
    bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/internal/gtk/XVisualInfo.java
    bundles/org.eclipse.swt.opengl/motif/gl_library/build.csh
    bundles/org.eclipse.swt.opengl/motif/gl_library/glx.c
    bundles/org.eclipse.swt.opengl/motif/gl_library/make_aix.mak
    bundles/org.eclipse.swt.opengl/motif/gl_library/make_hpux.mak
    bundles/org.eclipse.swt.opengl/motif/gl_library/make_linux.mak
    bundles/org.eclipse.swt.opengl/motif/gl_library/make_solaris.mak
    bundles/org.eclipse.swt.opengl/motif/gl_library/structs.c
    bundles/org.eclipse.swt.opengl/motif/gl_library/structs.h
    bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/GLContext.java
    bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/internal/motif/XGL.java
    bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/internal/motif/XVisualInfo.java
    bundles/org.eclipse.swt.opengl/plugin.properties
    bundles/org.eclipse.swt.opengl/plugin.xml
    bundles/org.eclipse.swt.opengl/win32/gl_library/build.bat
    bundles/org.eclipse.swt.opengl/win32/gl_library/glw.c
    bundles/org.eclipse.swt.opengl/win32/gl_library/make_win32.mak
    bundles/org.eclipse.swt.opengl/win32/gl_library/structs.c
    bundles/org.eclipse.swt.opengl/win32/gl_library/structs.h
    bundles/org.eclipse.swt.opengl/win32/gl_library/swt.rc
    bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/GLContext.java
    bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/LAYERPLANEDESCRIPTOR.java
    bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/PIXELFORMATDESCRIPTOR.java
    bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/POINTFLOAT.java
    bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/WGL.java
    examples/org.eclipse.swt.examples.browser/.classpath
    examples/org.eclipse.swt.examples.browser/.cvsignore
    examples/org.eclipse.swt.examples.browser/.project
    examples/org.eclipse.swt.examples.browser/about.html
    examples/org.eclipse.swt.examples.browser/build.properties
    examples/org.eclipse.swt.examples.browser/doc-html/hglegal.htm
    examples/org.eclipse.swt.examples.browser/doc-html/ngibmcpy.gif
    examples/org.eclipse.swt.examples.browser/doc-html/swt_browser_ex.html
    examples/org.eclipse.swt.examples.browser/icons/browser_example.gif
    examples/org.eclipse.swt.examples.browser/plugin.properties
    examples/org.eclipse.swt.examples.browser/plugin.xml
    examples/org.eclipse.swt.examples.browser/src/import.properties
    examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserPlugin.java
    examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserView.java
    examples/org.eclipse.swt.examples.controls/.classpath
    examples/org.eclipse.swt.examples.controls/.cvsignore
    examples/org.eclipse.swt.examples.controls/.project
    examples/org.eclipse.swt.examples.controls/about.html
    examples/org.eclipse.swt.examples.controls/build.properties
    examples/org.eclipse.swt.examples.controls/doc-html/hglegal.htm
    examples/org.eclipse.swt.examples.controls/doc-html/ngibmcpy.gif
    examples/org.eclipse.swt.examples.controls/doc-html/swt_controls_ex.html
    examples/org.eclipse.swt.examples.controls/doc-html/swt_customcontrols_ex.html
    examples/org.eclipse.swt.examples.controls/icons/controls_example.gif
    examples/org.eclipse.swt.examples.controls/plugin.properties
    examples/org.eclipse.swt.examples.controls/plugin.xml
    examples/org.eclipse.swt.examples.controls/src/import.properties
    examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlPlugin.java
    examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlView.java
    examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/CustomControlView.java
    examples/org.eclipse.swt.examples.launcher/.classpath
    examples/org.eclipse.swt.examples.launcher/.cvsignore
    examples/org.eclipse.swt.examples.launcher/.project
    examples/org.eclipse.swt.examples.launcher/about.html
    examples/org.eclipse.swt.examples.launcher/build.properties
    examples/org.eclipse.swt.examples.launcher/doc-html/hglegal.htm
    examples/org.eclipse.swt.examples.launcher/doc-html/ngibmcpy.gif
    examples/org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html
    examples/org.eclipse.swt.examples.launcher/doc/org.eclipse.swt.examples.launcher.launchItems.html
    examples/org.eclipse.swt.examples.launcher/icons/closedFolder.gif
    examples/org.eclipse.swt.examples.launcher/icons/generic_example.gif
    examples/org.eclipse.swt.examples.launcher/icons/launcher_example.gif
    examples/org.eclipse.swt.examples.launcher/icons/openFolder.gif
    examples/org.eclipse.swt.examples.launcher/plugin.properties
    examples/org.eclipse.swt.examples.launcher/plugin.xml
    examples/org.eclipse.swt.examples.launcher/schema/org.eclipse.swt.examples.launcher.launchItems.exsd
    examples/org.eclipse.swt.examples.launcher/src/import.properties
    examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemDescriptor.java
    examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemTreeNode.java
    examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherPlugin.java
    examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherView.java
    examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/SplitLayout.java
    examples/org.eclipse.swt.examples.layouts/.classpath
    examples/org.eclipse.swt.examples.layouts/.cvsignore
    examples/org.eclipse.swt.examples.layouts/.project
    examples/org.eclipse.swt.examples.layouts/about.html
    examples/org.eclipse.swt.examples.layouts/build.properties
    examples/org.eclipse.swt.examples.layouts/doc-html/hglegal.htm
    examples/org.eclipse.swt.examples.layouts/doc-html/ngibmcpy.gif
    examples/org.eclipse.swt.examples.layouts/doc-html/swt_layout_ex.html
    examples/org.eclipse.swt.examples.layouts/icons/layouts_example.gif
    examples/org.eclipse.swt.examples.layouts/plugin.properties
    examples/org.eclipse.swt.examples.layouts/plugin.xml
    examples/org.eclipse.swt.examples.layouts/src/import.properties
    examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutPlugin.java
    examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutView.java
    examples/org.eclipse.swt.examples.ole.win32/.classpath
    examples/org.eclipse.swt.examples.ole.win32/.cvsignore
    examples/org.eclipse.swt.examples.ole.win32/.project
    examples/org.eclipse.swt.examples.ole.win32/about.html
    examples/org.eclipse.swt.examples.ole.win32/build.properties
    examples/org.eclipse.swt.examples.ole.win32/doc-html/hglegal.htm
    examples/org.eclipse.swt.examples.ole.win32/doc-html/ngibmcpy.gif
    examples/org.eclipse.swt.examples.ole.win32/doc-html/swt_ole_ex.html
    examples/org.eclipse.swt.examples.ole.win32/icons/backward_nav.gif
    examples/org.eclipse.swt.examples.ole.win32/icons/forward_nav.gif
    examples/org.eclipse.swt.examples.ole.win32/icons/home_nav.gif
    examples/org.eclipse.swt.examples.ole.win32/icons/refresh_nav.gif
    examples/org.eclipse.swt.examples.ole.win32/icons/search_nav.gif
    examples/org.eclipse.swt.examples.ole.win32/icons/stop_nav.gif
    examples/org.eclipse.swt.examples.ole.win32/icons/webbrowser_example.gif
    examples/org.eclipse.swt.examples.ole.win32/plugin.properties
    examples/org.eclipse.swt.examples.ole.win32/plugin.xml
    examples/org.eclipse.swt.examples.ole.win32/src/import.properties
    examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleBrowserView.java
    examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OlePlugin.java
    examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleWebBrowser.java
    examples/org.eclipse.swt.examples.paint/.classpath
    examples/org.eclipse.swt.examples.paint/.cvsignore
    examples/org.eclipse.swt.examples.paint/.project
    examples/org.eclipse.swt.examples.paint/about.html
    examples/org.eclipse.swt.examples.paint/build.properties
    examples/org.eclipse.swt.examples.paint/doc-html/hglegal.htm
    examples/org.eclipse.swt.examples.paint/doc-html/ngibmcpy.gif
    examples/org.eclipse.swt.examples.paint/doc-html/swt_paint_ex.html
    examples/org.eclipse.swt.examples.paint/icons/fill_none.gif
    examples/org.eclipse.swt.examples.paint/icons/fill_outline.gif
    examples/org.eclipse.swt.examples.paint/icons/fill_solid.gif
    examples/org.eclipse.swt.examples.paint/icons/linestyle_dash.gif
    examples/org.eclipse.swt.examples.paint/icons/linestyle_dashdot.gif
    examples/org.eclipse.swt.examples.paint/icons/linestyle_dot.gif
    examples/org.eclipse.swt.examples.paint/icons/linestyle_solid.gif
    examples/org.eclipse.swt.examples.paint/icons/options_font.gif
    examples/org.eclipse.swt.examples.paint/icons/paint_example.gif
    examples/org.eclipse.swt.examples.paint/icons/tool_airbrush.gif
    examples/org.eclipse.swt.examples.paint/icons/tool_ellipse.gif
    examples/org.eclipse.swt.examples.paint/icons/tool_line.gif
    examples/org.eclipse.swt.examples.paint/icons/tool_pencil.gif
    examples/org.eclipse.swt.examples.paint/icons/tool_polyline.gif
    examples/org.eclipse.swt.examples.paint/icons/tool_rectangle.gif
    examples/org.eclipse.swt.examples.paint/icons/tool_roundedrectangle.gif
    examples/org.eclipse.swt.examples.paint/icons/tool_text.gif
    examples/org.eclipse.swt.examples.paint/plugin.properties
    examples/org.eclipse.swt.examples.paint/plugin.xml
    examples/org.eclipse.swt.examples.paint/src/import.properties
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/AirbrushTool.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/BasicPaintSession.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContainerFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/DragPaintSession.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseTool.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/Figure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/FigureDrawContext.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineTool.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintPlugin.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSession.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSurface.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintTool.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintView.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PencilTool.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PointFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PolyLineTool.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleTool.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextTool.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ToolSettings.java
    examples/org.eclipse.swt.opengl.examples/.classpath
    examples/org.eclipse.swt.opengl.examples/.project
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AntialiasingTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AreaTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/BezierTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/BitmapTextTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ColorSelectionGroup.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/FogTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/GradientTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/IColorSelectionListener.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LightTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/NurbTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ObjectsTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLExample.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OutlineTextTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ReflectionTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/SelectionTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/StencilTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TextureTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TransparencyTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Ball.jpg
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Box.bmp
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Floor.jpg
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/splash.bmp
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/untitled.jpg
diff --git a/bundles/org.eclipse.swt.opengl/.classpath_gtk b/bundles/org.eclipse.swt.opengl/.classpath_gtk
deleted file mode 100644
index 35d4c34..0000000
--- a/bundles/org.eclipse.swt.opengl/.classpath_gtk
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="src" path="common"/>
-    <classpathentry kind="src" path="gtk"/>
-    <classpathentry kind="src" path="/org.eclipse.swt"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.swt.opengl/.classpath_motif b/bundles/org.eclipse.swt.opengl/.classpath_motif
deleted file mode 100644
index 6f974c1..0000000
--- a/bundles/org.eclipse.swt.opengl/.classpath_motif
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="src" path="common"/>
-    <classpathentry kind="src" path="motif"/>
-    <classpathentry kind="src" path="/org.eclipse.swt"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.swt.opengl/.classpath_win32 b/bundles/org.eclipse.swt.opengl/.classpath_win32
deleted file mode 100644
index 30299c8..0000000
--- a/bundles/org.eclipse.swt.opengl/.classpath_win32
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="src" path="common"/>
-    <classpathentry kind="src" path="win32"/>
-    <classpathentry kind="src" path="/org.eclipse.swt"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.swt.opengl/.cvsignore b/bundles/org.eclipse.swt.opengl/.cvsignore
deleted file mode 100644
index 661113b..0000000
--- a/bundles/org.eclipse.swt.opengl/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-bin
-.classpath
-ws
diff --git a/bundles/org.eclipse.swt.opengl/.project b/bundles/org.eclipse.swt.opengl/.project
deleted file mode 100644
index 577537a..0000000
--- a/bundles/org.eclipse.swt.opengl/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.opengl</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.swt</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.team.cvs.core.cvsnature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.swt.opengl/about.html b/bundles/org.eclipse.swt.opengl/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.swt.opengl/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt.opengl/common/gl_library/gl.c b/bundles/org.eclipse.swt.opengl/common/gl_library/gl.c
deleted file mode 100644
index 0cd6cbf..0000000
--- a/bundles/org.eclipse.swt.opengl/common/gl_library/gl.c
+++ /dev/null
@@ -1,3356 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-#ifdef WIN32
-#include <windows.h>
-#endif
-#include <GL/gl.h>
-#include "swt.h"
-
-#define GL_NATIVE(func) Java_org_eclipse_swt_opengl_GL_##func
-
-JNIEXPORT void JNICALL GL_NATIVE(glAccum)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	NATIVE_ENTER(env, that, "glAccum\n")
-	glAccum(arg0, arg1);
-	NATIVE_EXIT(env, that, "glAccum\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glAlphaFunc)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	NATIVE_ENTER(env, that, "glAlphaFunc\n")
-	glAlphaFunc(arg0, arg1);
-	NATIVE_EXIT(env, that, "glAlphaFunc\n")
-}
-
-JNIEXPORT jboolean JNICALL GL_NATIVE(glAreTexturesResident)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jbooleanArray arg2)
-{
-	jint *lparg1=NULL;
-	jboolean *lparg2=NULL;
-	jboolean rc;
-
-	NATIVE_ENTER(env, that, "glAreTexturesResident\n")
-	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	if (arg2) lparg2 = (*env)->GetBooleanArrayElements(env, arg2, NULL);
-	rc = (jboolean)glAreTexturesResident(arg0, (unsigned int *)lparg1, lparg2);
-	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg2) (*env)->ReleaseBooleanArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glAreTexturesResident\n")
-	return rc;
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glArrayElement)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glArrayElement\n")
-	glArrayElement(arg0);
-	NATIVE_EXIT(env, that, "glArrayElement\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glBegin)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glBegin\n")
-	glBegin(arg0);
-	NATIVE_EXIT(env, that, "glBegin\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glBindTexture)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "glBindTexture\n")
-	glBindTexture(arg0, arg1);
-	NATIVE_EXIT(env, that, "glBindTexture\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glBitmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2, jfloat arg3, jfloat arg4, jfloat arg5, jbyteArray arg6)
-{
-	jbyte *lparg6=NULL;
-
-	NATIVE_ENTER(env, that, "glBitmap\n")
-	if (arg6) lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL);
-	glBitmap(arg0, arg1, arg2, arg3, arg4, arg5, (unsigned char *)lparg6);
-	if (arg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	NATIVE_EXIT(env, that, "glBitmap\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glBlendFunc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "glBlendFunc\n")
-	glBlendFunc(arg0, arg1);
-	NATIVE_EXIT(env, that, "glBlendFunc\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glCallList)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glCallList\n")
-	glCallList(arg0);
-	NATIVE_EXIT(env, that, "glCallList\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glCallLists__II_3B)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2)
-{
-	jbyte *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glCallLists__II_3B\n")
-	if (arg2) lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL);
-	glCallLists(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glCallLists__II_3B\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glCallLists__II_3C)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2)
-{
-	jchar *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glCallLists__II_3C\n")
-	if (arg2) lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL);
-	glCallLists(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glCallLists__II_3C\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glCallLists__II_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glCallLists__II_3I\n")
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	glCallLists(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glCallLists__II_3I\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glClear)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glClear\n")
-	glClear(arg0);
-	NATIVE_EXIT(env, that, "glClear\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glClearAccum)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	NATIVE_ENTER(env, that, "glClearAccum\n")
-	glClearAccum(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glClearAccum\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glClearColor)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	NATIVE_ENTER(env, that, "glClearColor\n")
-	glClearColor(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glClearColor\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glClearDepth)
-	(JNIEnv *env, jclass that, jdouble arg0)
-{
-	NATIVE_ENTER(env, that, "glClearDepth\n")
-	glClearDepth(arg0);
-	NATIVE_EXIT(env, that, "glClearDepth\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glClearIndex)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	NATIVE_ENTER(env, that, "glClearIndex\n")
-	glClearIndex(arg0);
-	NATIVE_EXIT(env, that, "glClearIndex\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glClearStencil)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glClearStencil\n")
-	glClearStencil(arg0);
-	NATIVE_EXIT(env, that, "glClearStencil\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glClipPlane)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1)
-{
-	jdouble *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glClipPlane\n")
-	if (arg1) lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL);
-	glClipPlane(arg0, lparg1);
-	if (arg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glClipPlane\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor3b)
-	(JNIEnv *env, jclass that, jbyte arg0, jbyte arg1, jbyte arg2)
-{
-	NATIVE_ENTER(env, that, "glColor3b\n")
-	glColor3b(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glColor3b\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor3bv)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glColor3bv\n")
-	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	glColor3bv(lparg0);
-	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glColor3bv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor3d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	NATIVE_ENTER(env, that, "glColor3d\n")
-	glColor3d(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glColor3d\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor3dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glColor3dv\n")
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glColor3dv(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glColor3dv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor3f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	NATIVE_ENTER(env, that, "glColor3f\n")
-	glColor3f(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glColor3f\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor3fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glColor3fv\n")
-	if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	glColor3fv(lparg0);
-	if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glColor3fv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor3i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	NATIVE_ENTER(env, that, "glColor3i\n")
-	glColor3i(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glColor3i\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor3iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glColor3iv\n")
-	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	glColor3iv((GLint *)lparg0);
-	if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glColor3iv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor3s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	NATIVE_ENTER(env, that, "glColor3s\n")
-	glColor3s(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glColor3s\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor3ub)
-	(JNIEnv *env, jclass that, jbyte arg0, jbyte arg1, jbyte arg2)
-{
-	NATIVE_ENTER(env, that, "glColor3ub\n")
-	glColor3ub(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glColor3ub\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor3ubv)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glColor3ubv\n")
-	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	glColor3ubv((unsigned char *)lparg0);
-	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glColor3ubv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor3ui)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	NATIVE_ENTER(env, that, "glColor3ui\n")
-	glColor3ui(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glColor3ui\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor3uiv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glColor3uiv\n")
-	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	glColor3uiv((unsigned int *)lparg0);
-	if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glColor3uiv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor3us)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	NATIVE_ENTER(env, that, "glColor3us\n")
-	glColor3us(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glColor3us\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor3usv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glColor3usv\n")
-	if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	glColor3usv((unsigned short *)lparg0);
-	if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glColor3usv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor4b)
-	(JNIEnv *env, jclass that, jbyte arg0, jbyte arg1, jbyte arg2, jbyte arg3)
-{
-	NATIVE_ENTER(env, that, "glColor4b\n")
-	glColor4b(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glColor4b\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor4bv)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glColor4bv\n")
-	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	glColor4bv(lparg0);
-	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glColor4bv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor4d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	NATIVE_ENTER(env, that, "glColor4d\n")
-	glColor4d(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glColor4d\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor4dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glColor4dv\n")
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glColor4dv(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glColor4dv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor4f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	NATIVE_ENTER(env, that, "glColor4f\n")
-	glColor4f(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glColor4f\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor4fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glColor4fv\n")
-	if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	glColor4fv(lparg0);
-	if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glColor4fv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor4i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	NATIVE_ENTER(env, that, "glColor4i\n")
-	glColor4i(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glColor4i\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor4iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glColor4iv\n")
-	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	glColor4iv((GLint *)lparg0);
-	if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glColor4iv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor4s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jshort arg3)
-{
-	NATIVE_ENTER(env, that, "glColor4s\n")
-	glColor4s(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glColor4s\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor4ub)
-	(JNIEnv *env, jclass that, jbyte arg0, jbyte arg1, jbyte arg2, jbyte arg3)
-{
-	NATIVE_ENTER(env, that, "glColor4ub\n")
-	glColor4ub(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glColor4ub\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor4ubv)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glColor4ubv\n")
-	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	glColor4ubv((unsigned char *)lparg0);
-	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glColor4ubv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor4ui)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	NATIVE_ENTER(env, that, "glColor4ui\n")
-	glColor4ui(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glColor4ui\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor4uiv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glColor4uiv\n")
-	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	glColor4uiv((unsigned int *)lparg0);
-	if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glColor4uiv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor4us)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jshort arg3)
-{
-	NATIVE_ENTER(env, that, "glColor4us\n")
-	glColor4us(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glColor4us\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColor4usv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glColor4usv\n")
-	if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	glColor4usv((unsigned short *)lparg0);
-	if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glColor4usv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColorMask)
-	(JNIEnv *env, jclass that, jboolean arg0, jboolean arg1, jboolean arg2, jboolean arg3)
-{
-	NATIVE_ENTER(env, that, "glColorMask\n")
-	glColorMask(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glColorMask\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColorMaterial)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "glColorMaterial\n")
-	glColorMaterial(arg0, arg1);
-	NATIVE_EXIT(env, that, "glColorMaterial\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glColorPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-
-	NATIVE_ENTER(env, that, "glColorPointer\n")
-	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	glColorPointer(arg0, arg1, arg2, lparg3);
-	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	NATIVE_EXIT(env, that, "glColorPointer\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glCopyPixels)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	NATIVE_ENTER(env, that, "glCopyPixels\n")
-	glCopyPixels(arg0, arg1, arg2, arg3, arg4);
-	NATIVE_EXIT(env, that, "glCopyPixels\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glCopyTexImage1D)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	NATIVE_ENTER(env, that, "glCopyTexImage1D\n")
-	glCopyTexImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-	NATIVE_EXIT(env, that, "glCopyTexImage1D\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glCopyTexImage2D)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7)
-{
-	NATIVE_ENTER(env, that, "glCopyTexImage2D\n")
-	glCopyTexImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-	NATIVE_EXIT(env, that, "glCopyTexImage2D\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glCopyTexSubImage1D)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	NATIVE_ENTER(env, that, "glCopyTexSubImage1D\n")
-	glCopyTexSubImage1D(arg0, arg1, arg2, arg3, arg4, arg5);
-	NATIVE_EXIT(env, that, "glCopyTexSubImage1D\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glCopyTexSubImage2D)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7)
-{
-	NATIVE_ENTER(env, that, "glCopyTexSubImage2D\n")
-	glCopyTexSubImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-	NATIVE_EXIT(env, that, "glCopyTexSubImage2D\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glCullFace)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glCullFace\n")
-	glCullFace(arg0);
-	NATIVE_EXIT(env, that, "glCullFace\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glDeleteLists)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "glDeleteLists\n")
-	glDeleteLists(arg0, arg1);
-	NATIVE_EXIT(env, that, "glDeleteLists\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glDeleteTextures)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glDeleteTextures\n")
-	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	glDeleteTextures(arg0, (unsigned int *)lparg1);
-	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glDeleteTextures\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glDepthFunc)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glDepthFunc\n")
-	glDepthFunc(arg0);
-	NATIVE_EXIT(env, that, "glDepthFunc\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glDepthMask)
-	(JNIEnv *env, jclass that, jboolean arg0)
-{
-	NATIVE_ENTER(env, that, "glDepthMask\n")
-	glDepthMask(arg0);
-	NATIVE_EXIT(env, that, "glDepthMask\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glDepthRange)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1)
-{
-	NATIVE_ENTER(env, that, "glDepthRange\n")
-	glDepthRange(arg0, arg1);
-	NATIVE_EXIT(env, that, "glDepthRange\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glDisable)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glDisable\n")
-	glDisable(arg0);
-	NATIVE_EXIT(env, that, "glDisable\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glDisableClientState)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glDisableClientState\n")
-	glDisableClientState(arg0);
-	NATIVE_EXIT(env, that, "glDisableClientState\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glDrawArrays)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	NATIVE_ENTER(env, that, "glDrawArrays\n")
-	glDrawArrays(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glDrawArrays\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glDrawBuffer)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glDrawBuffer\n")
-	glDrawBuffer(arg0);
-	NATIVE_EXIT(env, that, "glDrawBuffer\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glDrawElements)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-
-	NATIVE_ENTER(env, that, "glDrawElements\n")
-	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	glDrawElements(arg0, arg1, arg2, lparg3);
-	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	NATIVE_EXIT(env, that, "glDrawElements\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glDrawPixels)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-
-	NATIVE_ENTER(env, that, "glDrawPixels\n")
-	if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
-	glDrawPixels(arg0, arg1, arg2, arg3, lparg4);
-	if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	NATIVE_EXIT(env, that, "glDrawPixels\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glEdgeFlag)
-	(JNIEnv *env, jclass that, jboolean arg0)
-{
-	NATIVE_ENTER(env, that, "glEdgeFlag\n")
-	glEdgeFlag(arg0);
-	NATIVE_EXIT(env, that, "glEdgeFlag\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glEdgeFlagPointer)
-	(JNIEnv *env, jclass that, jint arg0, jbooleanArray arg1)
-{
-	jboolean *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glEdgeFlagPointer\n")
-	if (arg1) lparg1 = (*env)->GetBooleanArrayElements(env, arg1, NULL);
-	glEdgeFlagPointer(arg0, lparg1);
-	if (arg1) (*env)->ReleaseBooleanArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glEdgeFlagPointer\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glEdgeFlagv)
-	(JNIEnv *env, jclass that, jbooleanArray arg0)
-{
-	jboolean *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glEdgeFlagv\n")
-	if (arg0) lparg0 = (*env)->GetBooleanArrayElements(env, arg0, NULL);
-	glEdgeFlagv(lparg0);
-	if (arg0) (*env)->ReleaseBooleanArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glEdgeFlagv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glEnable)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glEnable\n")
-	glEnable(arg0);
-	NATIVE_EXIT(env, that, "glEnable\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glEnableClientState)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glEnableClientState\n")
-	glEnableClientState(arg0);
-	NATIVE_EXIT(env, that, "glEnableClientState\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glEnd)
-	(JNIEnv *env, jclass that)
-{
-	NATIVE_ENTER(env, that, "glEnd\n")
-	glEnd();
-	NATIVE_EXIT(env, that, "glEnd\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glEndList)
-	(JNIEnv *env, jclass that)
-{
-	NATIVE_ENTER(env, that, "glEndList\n")
-	glEndList();
-	NATIVE_EXIT(env, that, "glEndList\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord1d)
-	(JNIEnv *env, jclass that, jdouble arg0)
-{
-	NATIVE_ENTER(env, that, "glEvalCoord1d\n")
-	glEvalCoord1d(arg0);
-	NATIVE_EXIT(env, that, "glEvalCoord1d\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord1dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glEvalCoord1dv\n")
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glEvalCoord1dv(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glEvalCoord1dv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord1f)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	NATIVE_ENTER(env, that, "glEvalCoord1f\n")
-	glEvalCoord1f(arg0);
-	NATIVE_EXIT(env, that, "glEvalCoord1f\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord1fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glEvalCoord1fv\n")
-	if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	glEvalCoord1fv(lparg0);
-	if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glEvalCoord1fv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord2d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1)
-{
-	NATIVE_ENTER(env, that, "glEvalCoord2d\n")
-	glEvalCoord2d(arg0, arg1);
-	NATIVE_EXIT(env, that, "glEvalCoord2d\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord2dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glEvalCoord2dv\n")
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glEvalCoord2dv(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glEvalCoord2dv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord2f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1)
-{
-	NATIVE_ENTER(env, that, "glEvalCoord2f\n")
-	glEvalCoord2f(arg0, arg1);
-	NATIVE_EXIT(env, that, "glEvalCoord2f\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord2fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glEvalCoord2fv\n")
-	if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	glEvalCoord2fv(lparg0);
-	if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glEvalCoord2fv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glEvalMesh1)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	NATIVE_ENTER(env, that, "glEvalMesh1\n")
-	glEvalMesh1(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glEvalMesh1\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glEvalMesh2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	NATIVE_ENTER(env, that, "glEvalMesh2\n")
-	glEvalMesh2(arg0, arg1, arg2, arg3, arg4);
-	NATIVE_EXIT(env, that, "glEvalMesh2\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glEvalPoint1)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glEvalPoint1\n")
-	glEvalPoint1(arg0);
-	NATIVE_EXIT(env, that, "glEvalPoint1\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glEvalPoint2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "glEvalPoint2\n")
-	glEvalPoint2(arg0, arg1);
-	NATIVE_EXIT(env, that, "glEvalPoint2\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glFeedbackBuffer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glFeedbackBuffer\n")
-	if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	glFeedbackBuffer(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glFeedbackBuffer\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glFinish)
-	(JNIEnv *env, jclass that)
-{
-	NATIVE_ENTER(env, that, "glFinish\n")
-	glFinish();
-	NATIVE_EXIT(env, that, "glFinish\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glFlush)
-	(JNIEnv *env, jclass that)
-{
-	NATIVE_ENTER(env, that, "glFlush\n")
-	glFlush();
-	NATIVE_EXIT(env, that, "glFlush\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glFogf)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	NATIVE_ENTER(env, that, "glFogf\n")
-	glFogf(arg0, arg1);
-	NATIVE_EXIT(env, that, "glFogf\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glFogfv)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glFogfv\n")
-	if (arg1) lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL);
-	glFogfv(arg0, lparg1);
-	if (arg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glFogfv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glFogi)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "glFogi\n")
-	glFogi(arg0, arg1);
-	NATIVE_EXIT(env, that, "glFogi\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glFogiv)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glFogiv\n")
-	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	glFogiv(arg0, (GLint *)lparg1);
-	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glFogiv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glFrontFace)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glFrontFace\n")
-	glFrontFace(arg0);
-	NATIVE_EXIT(env, that, "glFrontFace\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glFrustum)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5)
-{
-	NATIVE_ENTER(env, that, "glFrustum\n")
-	glFrustum(arg0, arg1, arg2, arg3, arg4, arg5);
-	NATIVE_EXIT(env, that, "glFrustum\n")
-}
-
-JNIEXPORT jint JNICALL GL_NATIVE(glGenLists)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-    jint rc;
-	NATIVE_ENTER(env, that, "glGenLists\n")
-	rc = (jint)glGenLists(arg0);
-	NATIVE_EXIT(env, that, "glGenLists\n")
-	return rc;
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGenTextures)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glGenTextures\n")
-	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	glGenTextures(arg0, (unsigned int *)lparg1);
-	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glGenTextures\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetBooleanv)
-	(JNIEnv *env, jclass that, jint arg0, jbooleanArray arg1)
-{
-	jboolean *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glGetBooleanv\n")
-	if (arg1) lparg1 = (*env)->GetBooleanArrayElements(env, arg1, NULL);
-	glGetBooleanv(arg0, lparg1);
-	if (arg1) (*env)->ReleaseBooleanArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glGetBooleanv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetClipPlane)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1)
-{
-	jdouble *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glGetClipPlane\n")
-	if (arg1) lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL);
-	glGetClipPlane(arg0, lparg1);
-	if (arg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glGetClipPlane\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetDoublev)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1)
-{
-	jdouble *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glGetDoublev\n")
-	if (arg1) lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL);
-	glGetDoublev(arg0, lparg1);
-	if (arg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glGetDoublev\n")
-}
-
-JNIEXPORT jint JNICALL GL_NATIVE(glGetError)
-	(JNIEnv *env, jclass that)
-{
-    jint rc;
-	NATIVE_ENTER(env, that, "glGetError\n")
-	rc = (jint)glGetError();
-	NATIVE_EXIT(env, that, "glGetError\n")
-	return rc;
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetFloatv)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glGetFloatv\n")
-	if (arg1) lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL);
-	glGetFloatv(arg0, lparg1);
-	if (arg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glGetFloatv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetIntegerv)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glGetIntegerv\n")
-	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	glGetIntegerv(arg0, (GLint *)lparg1);
-	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glGetIntegerv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetLightfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glGetLightfv\n")
-	if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	glGetLightfv(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glGetLightfv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetLightiv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glGetLightiv\n")
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	glGetLightiv(arg0, arg1, (GLint *)lparg2);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glGetLightiv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetMapdv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdoubleArray arg2)
-{
-	jdouble *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glGetMapdv\n")
-	if (arg2) lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL);
-	glGetMapdv(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glGetMapdv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetMapfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glGetMapfv\n")
-	if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	glGetMapfv(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glGetMapfv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetMapiv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glGetMapiv\n")
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	glGetMapiv(arg0, arg1, (GLint *)lparg2);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glGetMapiv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetMaterialfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glGetMaterialfv\n")
-	if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	glGetMaterialfv(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glGetMaterialfv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetMaterialiv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glGetMaterialiv\n")
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	glGetMaterialiv(arg0, arg1, (GLint *)lparg2);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glGetMaterialiv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetPixelMapfv)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glGetPixelMapfv\n")
-	if (arg1) lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL);
-	glGetPixelMapfv(arg0, lparg1);
-	if (arg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glGetPixelMapfv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetPixelMapuiv)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glGetPixelMapuiv\n")
-	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	glGetPixelMapuiv(arg0, (unsigned int *)lparg1);
-	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glGetPixelMapuiv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetPixelMapusv)
-	(JNIEnv *env, jclass that, jint arg0, jshortArray arg1)
-{
-	jshort *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glGetPixelMapusv\n")
-	if (arg1) lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL);
-	glGetPixelMapusv(arg0, (unsigned short *)lparg1);
-	if (arg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glGetPixelMapusv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetPointerv)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glGetPointerv\n")
-	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	glGetPointerv(arg0, (void **)lparg1);
-	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glGetPointerv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetPolygonStipple)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glGetPolygonStipple\n")
-	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	glGetPolygonStipple((unsigned char *)lparg0);
-	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glGetPolygonStipple\n")
-}
-
-JNIEXPORT jint JNICALL GL_NATIVE(glGetString)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glGetString\n")
-	printf ("%s,\n",glGetString(arg0));
-	NATIVE_EXIT(env, that, "glGetString\n")
-	return 1;
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexEnvfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glGetTexEnvfv\n")
-	if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	glGetTexEnvfv(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glGetTexEnvfv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexEnviv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glGetTexEnviv\n")
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	glGetTexEnviv(arg0, arg1, (GLint *)lparg2);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glGetTexEnviv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexGendv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdoubleArray arg2)
-{
-	jdouble *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glGetTexGendv\n")
-	if (arg2) lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL);
-	glGetTexGendv(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glGetTexGendv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexGenfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glGetTexGenfv\n")
-	if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	glGetTexGenfv(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glGetTexGenfv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexGeniv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glGetTexGeniv\n")
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	glGetTexGeniv(arg0, arg1, (GLint *)lparg2);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glGetTexGeniv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexImage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-
-	NATIVE_ENTER(env, that, "glGetTexImage\n")
-	if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
-	glGetTexImage(arg0, arg1, arg2, arg3, lparg4);
-	if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	NATIVE_EXIT(env, that, "glGetTexImage\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexLevelParameterfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jfloatArray arg3)
-{
-	jfloat *lparg3=NULL;
-
-	NATIVE_ENTER(env, that, "glGetTexLevelParameterfv\n")
-	if (arg3) lparg3 = (*env)->GetFloatArrayElements(env, arg3, NULL);
-	glGetTexLevelParameterfv(arg0, arg1, arg2, lparg3);
-	if (arg3) (*env)->ReleaseFloatArrayElements(env, arg3, lparg3, 0);
-	NATIVE_EXIT(env, that, "glGetTexLevelParameterfv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexLevelParameteriv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-
-	NATIVE_ENTER(env, that, "glGetTexLevelParameteriv\n")
-	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	glGetTexLevelParameteriv(arg0, arg1, arg2, (GLint *)lparg3);
-	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	NATIVE_EXIT(env, that, "glGetTexLevelParameteriv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexParameterfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glGetTexParameterfv\n")
-	if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	glGetTexParameterfv(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glGetTexParameterfv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexParameteriv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glGetTexParameteriv\n")
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	glGetTexParameteriv(arg0, arg1, (GLint *)lparg2);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glGetTexParameteriv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glHint)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "glHint\n")
-	glHint(arg0, arg1);
-	NATIVE_EXIT(env, that, "glHint\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glIndexMask)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glIndexMask\n")
-	glIndexMask(arg0);
-	NATIVE_EXIT(env, that, "glIndexMask\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glIndexPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glIndexPointer\n")
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	glIndexPointer(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glIndexPointer\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glIndexd)
-	(JNIEnv *env, jclass that, jdouble arg0)
-{
-	NATIVE_ENTER(env, that, "glIndexd\n")
-	glIndexd(arg0);
-	NATIVE_EXIT(env, that, "glIndexd\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glIndexdv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glIndexdv\n")
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glIndexdv(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glIndexdv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glIndexf)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	NATIVE_ENTER(env, that, "glIndexf\n")
-	glIndexf(arg0);
-	NATIVE_EXIT(env, that, "glIndexf\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glIndexfv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glIndexfv\n")
-	if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	glIndexfv(lparg0);
-	if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glIndexfv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glIndexi)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glIndexi\n")
-	glIndexi(arg0);
-	NATIVE_EXIT(env, that, "glIndexi\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glIndexiv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glIndexiv\n")
-	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	glIndexiv((GLint *)lparg0);
-	if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glIndexiv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glIndexs)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	NATIVE_ENTER(env, that, "glIndexs\n")
-	glIndexs(arg0);
-	NATIVE_EXIT(env, that, "glIndexs\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glIndexsv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glIndexsv\n")
-	if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	glIndexsv(lparg0);
-	if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glIndexsv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glInitNames)
-	(JNIEnv *env, jclass that)
-{
-	NATIVE_ENTER(env, that, "glInitNames\n")
-	glInitNames();
-	NATIVE_EXIT(env, that, "glInitNames\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glInterleavedArrays)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glInterleavedArrays\n")
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	glInterleavedArrays(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glInterleavedArrays\n")
-}
-
-JNIEXPORT jboolean JNICALL GL_NATIVE(glIsEnabled)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-    jboolean result;
-	NATIVE_ENTER(env, that, "glIsEnabled\n")
-	result = (jboolean)glIsEnabled(arg0);
-	NATIVE_EXIT(env, that, "glIsEnabled\n")
-	return result;
-}
-
-JNIEXPORT jboolean JNICALL GL_NATIVE(glIsList)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-    jboolean result;
-	NATIVE_ENTER(env, that, "glIsList\n")
-	result = (jboolean)glIsList(arg0);
-	NATIVE_EXIT(env, that, "glIsList\n")
-	return result;
-}
-
-JNIEXPORT jboolean JNICALL GL_NATIVE(glIsTexture)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-    jboolean result;
-	NATIVE_ENTER(env, that, "glIsTexture\n")
-	result = (jboolean)glIsTexture(arg0);
-	NATIVE_EXIT(env, that, "glIsTexture\n")
-	return result;
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glLightModelf)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	NATIVE_ENTER(env, that, "glLightModelf\n")
-	glLightModelf(arg0, arg1);
-	NATIVE_EXIT(env, that, "glLightModelf\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glLightModelfv)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glLightModelfv\n")
-	if (arg1) lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL);
-	glLightModelfv(arg0, lparg1);
-	if (arg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glLightModelfv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glLightModeli)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "glLightModeli\n")
-	glLightModeli(arg0, arg1);
-	NATIVE_EXIT(env, that, "glLightModeli\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glLightModeliv)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glLightModeliv\n")
-	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	glLightModeliv(arg0, (GLint *)lparg1);
-	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glLightModeliv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glLightf)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	NATIVE_ENTER(env, that, "glLightf\n")
-	glLightf(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glLightf\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glLightfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glLightfv\n")
-	if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	glLightfv(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glLightfv\n")
-}
-/*
-JNIEXPORT void JNICALL GL_NATIVE(glLightfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat *arg2)
-{
-	NATIVE_ENTER(env, that, "glLightfv\n")
-	glLightfv(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glLightfv\n")
-}
-*/
-JNIEXPORT void JNICALL GL_NATIVE(glLighti)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	NATIVE_ENTER(env, that, "glLighti\n")
-	glLighti(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glLighti\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glLightiv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glLightiv\n")
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	glLightiv(arg0, arg1, (GLint *)lparg2);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glLightiv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glLineStipple)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1)
-{
-	NATIVE_ENTER(env, that, "glLineStipple\n")
-	glLineStipple(arg0, arg1);
-	NATIVE_EXIT(env, that, "glLineStipple\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glLineWidth)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	NATIVE_ENTER(env, that, "glLineWidth\n")
-	glLineWidth(arg0);
-	NATIVE_EXIT(env, that, "glLineWidth\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glListBase)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glListBase\n")
-	glListBase(arg0);
-	NATIVE_EXIT(env, that, "glListBase\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glLoadIdentity)
-	(JNIEnv *env, jclass that)
-{
-	NATIVE_ENTER(env, that, "glLoadIdentity\n")
-	glLoadIdentity();
-	NATIVE_EXIT(env, that, "glLoadIdentity\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glLoadMatrixd)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glLoadMatrixd\n")
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glLoadMatrixd(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glLoadMatrixd\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glLoadMatrixf)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glLoadMatrixf\n")
-	if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	glLoadMatrixf(lparg0);
-	if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glLoadMatrixf\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glLoadName)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glLoadName\n")
-	glLoadName(arg0);
-	NATIVE_EXIT(env, that, "glLoadName\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glLogicOp)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glLogicOp\n")
-	glLogicOp(arg0);
-	NATIVE_EXIT(env, that, "glLogicOp\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glMap2f)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jint arg3, jint arg4,
-	  jfloat arg5, jfloat arg6, jint arg7, jint arg8, jfloatArray arg9)
-{
-	jfloat *lparg9=NULL;
-
-	NATIVE_ENTER(env, that, "glMap2f\n")
-	if (arg9) lparg9 = (*env)->GetFloatArrayElements(env, arg9, NULL);
-	glMap2f(arg0, arg1, arg2, arg3, arg4 ,arg5, arg6, arg7, arg8, lparg9);
-	if (arg9) (*env)->ReleaseFloatArrayElements(env, arg9, lparg9, 0);
-	NATIVE_EXIT(env, that, "glMap2f\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glMap2d)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jint arg3, jint arg4,
-	  jdouble arg5, jdouble arg6, jint arg7, jint arg8, jdoubleArray arg9)
-{
-	jdouble *lparg9=NULL;
-
-	NATIVE_ENTER(env, that, "glMap2d\n")
-	if (arg9) lparg9 = (*env)->GetDoubleArrayElements(env, arg9, NULL);
-	glMap2d(arg0, arg1, arg2, arg3, arg4 ,arg5, arg6, arg7, arg8, lparg9);
-	if (arg9) (*env)->ReleaseDoubleArrayElements(env, arg9, lparg9, 0);
-	NATIVE_EXIT(env, that, "glMap2d\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glMap1d)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jint arg3, jint arg4, jdoubleArray arg5)
-{
-	jdouble *lparg5=NULL;
-
-	NATIVE_ENTER(env, that, "glMap1d\n")
-	if (arg5) lparg5 = (*env)->GetDoubleArrayElements(env, arg5, NULL);
-	glMap1d(arg0, arg1, arg2, arg3, arg4, lparg5);
-	if (arg5) (*env)->ReleaseDoubleArrayElements(env, arg5, lparg5, 0);
-	NATIVE_EXIT(env, that, "glMap1d\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glMap1f)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jint arg3, jint arg4, jfloatArray arg5)
-{
-	jfloat *lparg5=NULL;
-
-	NATIVE_ENTER(env, that, "glMap1f\n")
-	if (arg5) lparg5 = (*env)->GetFloatArrayElements(env, arg5, NULL);
-	glMap1f(arg0, arg1, arg2, arg3, arg4, lparg5);
-	if (arg5) (*env)->ReleaseFloatArrayElements(env, arg5, lparg5, 0);
-	NATIVE_EXIT(env, that, "glMap1f\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glMapGrid1d)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2)
-{
-	NATIVE_ENTER(env, that, "glMapGrid1d\n")
-	glMapGrid1d(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glMapGrid1d\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glMapGrid1f)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2)
-{
-	NATIVE_ENTER(env, that, "glMapGrid1f\n")
-	glMapGrid1f(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glMapGrid1f\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glMapGrid2d)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jint arg3, jdouble arg4, jdouble arg5)
-{
-	NATIVE_ENTER(env, that, "glMapGrid2d\n")
-	glMapGrid2d(arg0, arg1, arg2, arg3, arg4, arg5);
-	NATIVE_EXIT(env, that, "glMapGrid2d\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glMapGrid2f)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jint arg3, jfloat arg4, jfloat arg5)
-{
-	NATIVE_ENTER(env, that, "glMapGrid2f\n")
-	glMapGrid2f(arg0, arg1, arg2, arg3, arg4, arg5);
-	NATIVE_EXIT(env, that, "glMapGrid2f\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glMaterialf)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	NATIVE_ENTER(env, that, "glMaterialf\n")
-	glMaterialf(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glMaterialf\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glMaterialfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glMaterialfv\n")
-	if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	glMaterialfv(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glMaterialfv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glMateriali)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	NATIVE_ENTER(env, that, "glMateriali\n")
-	glMateriali(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glMateriali\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glMaterialiv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glMaterialiv\n")
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	glMaterialiv(arg0, arg1, (GLint *)lparg2);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glMaterialiv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glMatrixMode)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glMatrixMode\n")
-	glMatrixMode(arg0);
-	NATIVE_EXIT(env, that, "glMatrixMode\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glMultMatrixd)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glMultMatrixd\n")
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glMultMatrixd(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glMultMatrixd\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glMultMatrixf)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glMultMatrixf\n")
-	if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	glMultMatrixf(lparg0);
-	if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glMultMatrixf\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glNewList)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "glNewList\n")
-	glNewList(arg0, arg1);
-	NATIVE_EXIT(env, that, "glNewList\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3b)
-	(JNIEnv *env, jclass that, jbyte arg0, jbyte arg1, jbyte arg2)
-{
-	NATIVE_ENTER(env, that, "glNormal3b\n")
-	glNormal3b(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glNormal3b\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3bv)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glNormal3bv\n")
-	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	glNormal3bv(lparg0);
-	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glNormal3bv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	NATIVE_ENTER(env, that, "glNormal3d\n")
-	glNormal3d(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glNormal3d\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glNormal3dv\n")
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glNormal3dv(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glNormal3dv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	NATIVE_ENTER(env, that, "glNormal3f\n")
-	glNormal3f(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glNormal3f\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glNormal3fv\n")
-	if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	glNormal3fv(lparg0);
-	if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glNormal3fv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	NATIVE_ENTER(env, that, "glNormal3i\n")
-	glNormal3i(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glNormal3i\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glNormal3iv\n")
-	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	glNormal3iv((GLint *)lparg0);
-	if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glNormal3iv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	NATIVE_ENTER(env, that, "glNormal3s\n")
-	glNormal3s(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glNormal3s\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glNormal3sv\n")
-	if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	glNormal3sv(lparg0);
-	if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glNormal3sv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glNormalPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glNormalPointer\n")
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	glNormalPointer(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glNormalPointer\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glOrtho)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5)
-{
-	NATIVE_ENTER(env, that, "glOrtho\n")
-	glOrtho(arg0, arg1, arg2, arg3, arg4, arg5);
-	NATIVE_EXIT(env, that, "glOrtho\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPassThrough)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	NATIVE_ENTER(env, that, "glPassThrough\n")
-	glPassThrough(arg0);
-	NATIVE_EXIT(env, that, "glPassThrough\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPixelMapfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glPixelMapfv\n")
-	if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	glPixelMapfv(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glPixelMapfv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPixelMapuiv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glPixelMapuiv\n")
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	glPixelMapuiv(arg0, arg1, (unsigned int *)lparg2);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glPixelMapuiv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPixelMapusv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshortArray arg2)
-{
-	jshort *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glPixelMapusv\n")
-	if (arg2) lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL);
-	glPixelMapusv(arg0, arg1, (unsigned short *)lparg2);
-	if (arg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glPixelMapusv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPixelStoref)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	NATIVE_ENTER(env, that, "glPixelStoref\n")
-	glPixelStoref(arg0, arg1);
-	NATIVE_EXIT(env, that, "glPixelStoref\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPixelStorei)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "glPixelStorei\n")
-	glPixelStorei(arg0, arg1);
-	NATIVE_EXIT(env, that, "glPixelStorei\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPixelTransferf)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	NATIVE_ENTER(env, that, "glPixelTransferf\n")
-	glPixelTransferf(arg0, arg1);
-	NATIVE_EXIT(env, that, "glPixelTransferf\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPixelTransferi)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "glPixelTransferi\n")
-	glPixelTransferi(arg0, arg1);
-	NATIVE_EXIT(env, that, "glPixelTransferi\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPixelZoom)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1)
-{
-	NATIVE_ENTER(env, that, "glPixelZoom\n")
-	glPixelZoom(arg0, arg1);
-	NATIVE_EXIT(env, that, "glPixelZoom\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPointSize)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	NATIVE_ENTER(env, that, "glPointSize\n")
-	glPointSize(arg0);
-	NATIVE_EXIT(env, that, "glPointSize\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPolygonMode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "glPolygonMode\n")
-	glPolygonMode(arg0, arg1);
-	NATIVE_EXIT(env, that, "glPolygonMode\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPolygonOffset)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1)
-{
-	NATIVE_ENTER(env, that, "glPolygonOffset\n")
-	glPolygonOffset(arg0, arg1);
-	NATIVE_EXIT(env, that, "glPolygonOffset\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPolygonStipple)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glPolygonStipple\n")
-	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	glPolygonStipple((unsigned char *)lparg0);
-	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glPolygonStipple\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPopAttrib)
-	(JNIEnv *env, jclass that)
-{
-	NATIVE_ENTER(env, that, "glPopAttrib\n")
-	glPopAttrib();
-	NATIVE_EXIT(env, that, "glPopAttrib\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPopClientAttrib)
-	(JNIEnv *env, jclass that)
-{
-	NATIVE_ENTER(env, that, "glPopClientAttrib\n")
-	glPopClientAttrib();
-	NATIVE_EXIT(env, that, "glPopClientAttrib\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPopMatrix)
-	(JNIEnv *env, jclass that)
-{
-	NATIVE_ENTER(env, that, "glPopMatrix\n")
-	glPopMatrix();
-	NATIVE_EXIT(env, that, "glPopMatrix\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPopName)
-	(JNIEnv *env, jclass that)
-{
-	NATIVE_ENTER(env, that, "glPopName\n")
-	glPopName();
-	NATIVE_EXIT(env, that, "glPopName\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPrioritizeTextures)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jfloatArray arg2)
-{
-	jint *lparg1=NULL;
-	jfloat *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glPrioritizeTextures\n")
-	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	glPrioritizeTextures(arg0, (unsigned int *)lparg1, lparg2);
-	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glPrioritizeTextures\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPushAttrib)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glPushAttrib\n")
-	glPushAttrib(arg0);
-	NATIVE_EXIT(env, that, "glPushAttrib\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPushClientAttrib)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glPushClientAttrib\n")
-	glPushClientAttrib(arg0);
-	NATIVE_EXIT(env, that, "glPushClientAttrib\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPushMatrix)
-	(JNIEnv *env, jclass that)
-{
-	NATIVE_ENTER(env, that, "glPushMatrix\n")
-	glPushMatrix();
-	NATIVE_EXIT(env, that, "glPushMatrix\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glPushName)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glPushName\n")
-	glPushName(arg0);
-	NATIVE_EXIT(env, that, "glPushName\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1)
-{
-	NATIVE_ENTER(env, that, "glRasterPos2d\n")
-	glRasterPos2d(arg0, arg1);
-	NATIVE_EXIT(env, that, "glRasterPos2d\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glRasterPos2dv\n")
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glRasterPos2dv(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glRasterPos2dv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1)
-{
-	NATIVE_ENTER(env, that, "glRasterPos2f\n")
-	glRasterPos2f(arg0, arg1);
-	NATIVE_EXIT(env, that, "glRasterPos2f\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glRasterPos2fv\n")
-	if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	glRasterPos2fv(lparg0);
-	if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glRasterPos2fv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "glRasterPos2i\n")
-	glRasterPos2i(arg0, arg1);
-	NATIVE_EXIT(env, that, "glRasterPos2i\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glRasterPos2iv\n")
-	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	glRasterPos2iv((GLint *)lparg0);
-	if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glRasterPos2iv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1)
-{
-	NATIVE_ENTER(env, that, "glRasterPos2s\n")
-	glRasterPos2s(arg0, arg1);
-	NATIVE_EXIT(env, that, "glRasterPos2s\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glRasterPos2sv\n")
-	if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	glRasterPos2sv(lparg0);
-	if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glRasterPos2sv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	NATIVE_ENTER(env, that, "glRasterPos3d\n")
-	glRasterPos3d(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glRasterPos3d\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glRasterPos3dv\n")
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glRasterPos3dv(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glRasterPos3dv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	NATIVE_ENTER(env, that, "glRasterPos3f\n")
-	glRasterPos3f(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glRasterPos3f\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glRasterPos3fv\n")
-	if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	glRasterPos3fv(lparg0);
-	if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glRasterPos3fv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	NATIVE_ENTER(env, that, "glRasterPos3i\n")
-	glRasterPos3i(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glRasterPos3i\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glRasterPos3iv\n")
-	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	glRasterPos3iv((GLint *)lparg0);
-	if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glRasterPos3iv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	NATIVE_ENTER(env, that, "glRasterPos3s\n")
-	glRasterPos3s(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glRasterPos3s\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glRasterPos3sv\n")
-	if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	glRasterPos3sv(lparg0);
-	if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glRasterPos3sv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	NATIVE_ENTER(env, that, "glRasterPos4d\n")
-	glRasterPos4d(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glRasterPos4d\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glRasterPos4dv\n")
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glRasterPos4dv(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glRasterPos4dv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	NATIVE_ENTER(env, that, "glRasterPos4f\n")
-	glRasterPos4f(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glRasterPos4f\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glRasterPos4fv\n")
-	if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	glRasterPos4fv(lparg0);
-	if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glRasterPos4fv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	NATIVE_ENTER(env, that, "glRasterPos4i\n")
-	glRasterPos4i(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glRasterPos4i\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glRasterPos4iv\n")
-	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	glRasterPos4iv((GLint *)lparg0);
-	if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glRasterPos4iv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jshort arg3)
-{
-	NATIVE_ENTER(env, that, "glRasterPos4s\n")
-	glRasterPos4s(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glRasterPos4s\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glRasterPos4sv\n")
-	if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	glRasterPos4sv(lparg0);
-	if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glRasterPos4sv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glReadBuffer)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glReadBuffer\n")
-	glReadBuffer(arg0);
-	NATIVE_EXIT(env, that, "glReadBuffer\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glReadPixels)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jintArray arg6)
-{
-	jint *lparg6=NULL;
-
-	NATIVE_ENTER(env, that, "glReadPixels\n")
-	if (arg6) lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL);
-	glReadPixels(arg0, arg1, arg2, arg3, arg4, arg5, lparg6);
-	if (arg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	NATIVE_EXIT(env, that, "glReadPixels\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRectd)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	NATIVE_ENTER(env, that, "glRectd\n")
-	glRectd(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glRectd\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRectdv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0, jdoubleArray arg1)
-{
-	jdouble *lparg0=NULL;
-	jdouble *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glRectdv\n")
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	if (arg1) lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL);
-	glRectdv(lparg0, lparg1);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	if (arg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glRectdv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRectf)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	NATIVE_ENTER(env, that, "glRectf\n")
-	glRectf(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glRectf\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRectfv)
-	(JNIEnv *env, jclass that, jfloatArray arg0, jfloatArray arg1)
-{
-	jfloat *lparg0=NULL;
-	jfloat *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glRectfv\n")
-	if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	if (arg1) lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL);
-	glRectfv(lparg0, lparg1);
-	if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	if (arg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glRectfv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRecti)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	NATIVE_ENTER(env, that, "glRecti\n")
-	glRecti(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glRecti\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRectiv)
-	(JNIEnv *env, jclass that, jintArray arg0, jintArray arg1)
-{
-	jint *lparg0=NULL;
-	jint *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glRectiv\n")
-	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	glRectiv((GLint *)lparg0, (GLint *)lparg1);
-	if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glRectiv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRects)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jshort arg3)
-{
-	NATIVE_ENTER(env, that, "glRects\n")
-	glRects(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glRects\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRectsv)
-	(JNIEnv *env, jclass that, jshortArray arg0, jshortArray arg1)
-{
-	jshort *lparg0=NULL;
-	jshort *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glRectsv\n")
-	if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	if (arg1) lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL);
-	glRectsv(lparg0, lparg1);
-	if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	if (arg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glRectsv\n")
-}
-
-JNIEXPORT jint JNICALL GL_NATIVE(glRenderMode)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-    jint rc;
-	NATIVE_ENTER(env, that, "glRenderMode\n")
-	rc = (jint)glRenderMode(arg0);
-	NATIVE_EXIT(env, that, "glRenderMode\n")
-	return rc;
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRotated)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	NATIVE_ENTER(env, that, "glRotated\n")
-	glRotated(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glRotated\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glRotatef)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	NATIVE_ENTER(env, that, "glRotatef\n")
-	glRotatef(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glRotatef\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glScaled)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	NATIVE_ENTER(env, that, "glScaled\n")
-	glScaled(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glScaled\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glScalef)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	NATIVE_ENTER(env, that, "glScalef\n")
-	glScalef(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glScalef\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glScissor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	NATIVE_ENTER(env, that, "glScissor\n")
-	glScissor(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glScissor\n")
-}
-
-/*
-JNIEXPORT void JNICALL GL_NATIVE(glSelectBuffer)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "glSelectBuffer\n")
-	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	glSelectBuffer(arg0, lparg1);
-	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "glSelectBuffer\n")
-}
-*/
- 
- 
-JNIEXPORT void JNICALL GL_NATIVE(glSelectBuffer)
-	(JNIEnv *env, jclass that, jint arg0, jint *arg1)
-{
-	NATIVE_ENTER(env, that, "glSelectBuffer\n")
-	glSelectBuffer(arg0, (unsigned int *)arg1);
-	NATIVE_EXIT(env, that, "glSelectBuffer\n")
-}
-
-
-JNIEXPORT void JNICALL GL_NATIVE(glShadeModel)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glShadeModel\n")
-	glShadeModel(arg0);
-	NATIVE_EXIT(env, that, "glShadeModel\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glStencilFunc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	NATIVE_ENTER(env, that, "glStencilFunc\n")
-	glStencilFunc(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glStencilFunc\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glStencilMask)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glStencilMask\n")
-	glStencilMask(arg0);
-	NATIVE_EXIT(env, that, "glStencilMask\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glStencilOp)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	NATIVE_ENTER(env, that, "glStencilOp\n")
-	glStencilOp(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glStencilOp\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1d)
-	(JNIEnv *env, jclass that, jdouble arg0)
-{
-	NATIVE_ENTER(env, that, "glTexCoord1d\n")
-	glTexCoord1d(arg0);
-	NATIVE_EXIT(env, that, "glTexCoord1d\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glTexCoord1dv\n")
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glTexCoord1dv(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glTexCoord1dv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1f)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	NATIVE_ENTER(env, that, "glTexCoord1f\n")
-	glTexCoord1f(arg0);
-	NATIVE_EXIT(env, that, "glTexCoord1f\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glTexCoord1fv\n")
-	if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	glTexCoord1fv(lparg0);
-	if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glTexCoord1fv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1i)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glTexCoord1i\n")
-	glTexCoord1i(arg0);
-	NATIVE_EXIT(env, that, "glTexCoord1i\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glTexCoord1iv\n")
-	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	glTexCoord1iv((GLint *)lparg0);
-	if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glTexCoord1iv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1s)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	NATIVE_ENTER(env, that, "glTexCoord1s\n")
-	glTexCoord1s(arg0);
-	NATIVE_EXIT(env, that, "glTexCoord1s\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glTexCoord1sv\n")
-	if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	glTexCoord1sv(lparg0);
-	if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glTexCoord1sv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1)
-{
-	NATIVE_ENTER(env, that, "glTexCoord2d\n")
-	glTexCoord2d(arg0, arg1);
-	NATIVE_EXIT(env, that, "glTexCoord2d\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glTexCoord2dv\n")
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glTexCoord2dv(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glTexCoord2dv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1)
-{
-	NATIVE_ENTER(env, that, "glTexCoord2f\n")
-	glTexCoord2f(arg0, arg1);
-	NATIVE_EXIT(env, that, "glTexCoord2f\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glTexCoord2fv\n")
-	if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	glTexCoord2fv(lparg0);
-	if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glTexCoord2fv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "glTexCoord2i\n")
-	glTexCoord2i(arg0, arg1);
-	NATIVE_EXIT(env, that, "glTexCoord2i\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glTexCoord2iv\n")
-	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	glTexCoord2iv((GLint *)lparg0);
-	if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glTexCoord2iv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1)
-{
-	NATIVE_ENTER(env, that, "glTexCoord2s\n")
-	glTexCoord2s(arg0, arg1);
-	NATIVE_EXIT(env, that, "glTexCoord2s\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glTexCoord2sv\n")
-	if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	glTexCoord2sv(lparg0);
-	if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glTexCoord2sv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	NATIVE_ENTER(env, that, "glTexCoord3d\n")
-	glTexCoord3d(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glTexCoord3d\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glTexCoord3dv\n")
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glTexCoord3dv(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glTexCoord3dv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	NATIVE_ENTER(env, that, "glTexCoord3f\n")
-	glTexCoord3f(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glTexCoord3f\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glTexCoord3fv\n")
-	if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	glTexCoord3fv(lparg0);
-	if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glTexCoord3fv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	NATIVE_ENTER(env, that, "glTexCoord3i\n")
-	glTexCoord3i(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glTexCoord3i\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glTexCoord3iv\n")
-	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	glTexCoord3iv((GLint *)lparg0);
-	if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glTexCoord3iv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	NATIVE_ENTER(env, that, "glTexCoord3s\n")
-	glTexCoord3s(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glTexCoord3s\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glTexCoord3sv\n")
-	if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	glTexCoord3sv(lparg0);
-	if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glTexCoord3sv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	NATIVE_ENTER(env, that, "glTexCoord4d\n")
-	glTexCoord4d(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glTexCoord4d\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glTexCoord4dv\n")
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glTexCoord4dv(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glTexCoord4dv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	NATIVE_ENTER(env, that, "glTexCoord4f\n")
-	glTexCoord4f(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glTexCoord4f\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glTexCoord4fv\n")
-	if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	glTexCoord4fv(lparg0);
-	if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glTexCoord4fv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	NATIVE_ENTER(env, that, "glTexCoord4i\n")
-	glTexCoord4i(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glTexCoord4i\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glTexCoord4iv\n")
-	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	glTexCoord4iv((GLint *)lparg0);
-	if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glTexCoord4iv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jshort arg3)
-{
-	NATIVE_ENTER(env, that, "glTexCoord4s\n")
-	glTexCoord4s(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glTexCoord4s\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glTexCoord4sv\n")
-	if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	glTexCoord4sv(lparg0);
-	if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glTexCoord4sv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoordPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-
-	NATIVE_ENTER(env, that, "glTexCoordPointer\n")
-	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	glTexCoordPointer(arg0, arg1, arg2, lparg3);
-	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	NATIVE_EXIT(env, that, "glTexCoordPointer\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexEnvf)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	NATIVE_ENTER(env, that, "glTexEnvf\n")
-	glTexEnvf(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glTexEnvf\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexEnvfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glTexEnvfv\n")
-	if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	glTexEnvfv(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glTexEnvfv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexEnvi)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	NATIVE_ENTER(env, that, "glTexEnvi\n")
-	glTexEnvi(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glTexEnvi\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexEnviv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glTexEnviv\n")
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	glTexEnviv(arg0, arg1, (GLint *)lparg2);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glTexEnviv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexGend)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdouble arg2)
-{
-	NATIVE_ENTER(env, that, "glTexGend\n")
-	glTexGend(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glTexGend\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexGendv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdoubleArray arg2)
-{
-	jdouble *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glTexGendv\n")
-	if (arg2) lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL);
-	glTexGendv(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glTexGendv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexGenf)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	NATIVE_ENTER(env, that, "glTexGenf\n")
-	glTexGenf(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glTexGenf\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexGenfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glTexGenfv\n")
-	if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	glTexGenfv(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glTexGenfv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexGeni)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	NATIVE_ENTER(env, that, "glTexGeni\n")
-	glTexGeni(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glTexGeni\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexGeniv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glTexGeniv\n")
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	glTexGeniv(arg0, arg1, (GLint *)lparg2);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glTexGeniv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexImage1D)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jintArray arg7)
-{
-	jint *lparg7=NULL;
-
-	NATIVE_ENTER(env, that, "glTexImage1D\n")
-	if (arg7) lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL);
-	glTexImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, lparg7);
-	if (arg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	NATIVE_EXIT(env, that, "glTexImage1D\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexImage2D)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jbyteArray arg8)
-{
-	jbyte *lparg8=NULL;
-
-	NATIVE_ENTER(env, that, "glTexImage2D\n")
-	if (arg8) lparg8 = (*env)->GetByteArrayElements(env, arg8, NULL);
-	glTexImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, lparg8);
-	if (arg8) (*env)->ReleaseByteArrayElements(env, arg8, lparg8, 0);
-	NATIVE_EXIT(env, that, "glTexImage2D\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexParameterf)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	NATIVE_ENTER(env, that, "glTexParameterf\n")
-	glTexParameterf(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glTexParameterf\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexParameterfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glTexParameterfv\n")
-	if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	glTexParameterfv(arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glTexParameterfv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexParameteri)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	NATIVE_ENTER(env, that, "glTexParameteri\n")
-	glTexParameteri(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glTexParameteri\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexParameteriv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "glTexParameteriv\n")
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	glTexParameteriv(arg0, arg1, (GLint *)lparg2);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glTexParameteriv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexSubImage1D)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jintArray arg6)
-{
-	jint *lparg6=NULL;
-
-	NATIVE_ENTER(env, that, "glTexSubImage1D\n")
-	if (arg6) lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL);
-	glTexSubImage1D(arg0, arg1, arg2, arg3, arg4, arg5, lparg6);
-	if (arg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	NATIVE_EXIT(env, that, "glTexSubImage1D\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTexSubImage2D)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jintArray arg8)
-{
-	jint *lparg8=NULL;
-
-	NATIVE_ENTER(env, that, "glTexSubImage2D\n")
-	if (arg8) lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL);
-	glTexSubImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, lparg8);
-	if (arg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
-	NATIVE_EXIT(env, that, "glTexSubImage2D\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTranslated)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	NATIVE_ENTER(env, that, "glTranslated\n")
-	glTranslated(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glTranslated\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glTranslatef)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	NATIVE_ENTER(env, that, "glTranslatef\n")
-	glTranslatef(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glTranslatef\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1)
-{
-	NATIVE_ENTER(env, that, "glVertex2d\n")
-	glVertex2d(arg0, arg1);
-	NATIVE_EXIT(env, that, "glVertex2d\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glVertex2dv\n")
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glVertex2dv(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glVertex2dv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1)
-{
-	NATIVE_ENTER(env, that, "glVertex2f\n")
-	glVertex2f(arg0, arg1);
-	NATIVE_EXIT(env, that, "glVertex2f\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glVertex2fv\n")
-	if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	glVertex2fv(lparg0);
-	if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glVertex2fv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "glVertex2i\n")
-	glVertex2i(arg0, arg1);
-	NATIVE_EXIT(env, that, "glVertex2i\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glVertex2iv\n")
-	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	glVertex2iv((GLint *)lparg0);
-	if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glVertex2iv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1)
-{
-	NATIVE_ENTER(env, that, "glVertex2s\n")
-	glVertex2s(arg0, arg1);
-	NATIVE_EXIT(env, that, "glVertex2s\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glVertex2sv\n")
-	if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	glVertex2sv(lparg0);
-	if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glVertex2sv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	NATIVE_ENTER(env, that, "glVertex3d\n")
-	glVertex3d(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glVertex3d\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3dv__I)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glVertex3dv\n")
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glVertex3dv(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glVertex3dv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3dv)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "glVertex3dv\n")
-	glVertex3dv((double*)arg0);
-	NATIVE_EXIT(env, that, "glVertex3dv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	NATIVE_ENTER(env, that, "glVertex3f\n")
-	glVertex3f(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glVertex3f\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glVertex3fv\n")
-	if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	glVertex3fv(lparg0);
-	if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glVertex3fv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	NATIVE_ENTER(env, that, "glVertex3i\n")
-	glVertex3i(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glVertex3i\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glVertex3iv\n")
-	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	glVertex3iv((GLint *)lparg0);
-	if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glVertex3iv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	NATIVE_ENTER(env, that, "glVertex3s\n")
-	glVertex3s(arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glVertex3s\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glVertex3sv\n")
-	if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	glVertex3sv(lparg0);
-	if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glVertex3sv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	NATIVE_ENTER(env, that, "glVertex4d\n")
-	glVertex4d(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glVertex4d\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glVertex4dv\n")
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glVertex4dv(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glVertex4dv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	NATIVE_ENTER(env, that, "glVertex4f\n")
-	glVertex4f(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glVertex4f\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glVertex4fv\n")
-	if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	glVertex4fv(lparg0);
-	if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glVertex4fv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	NATIVE_ENTER(env, that, "glVertex4i\n")
-	glVertex4i(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glVertex4i\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glVertex4iv\n")
-	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	glVertex4iv((GLint *)lparg0);
-	if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glVertex4iv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jshort arg3)
-{
-	NATIVE_ENTER(env, that, "glVertex4s\n")
-	glVertex4s(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glVertex4s\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "glVertex4sv\n")
-	if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	glVertex4sv(lparg0);
-	if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	NATIVE_EXIT(env, that, "glVertex4sv\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glVertexPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-
-	NATIVE_ENTER(env, that, "glVertexPointer\n")
-	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	glVertexPointer(arg0, arg1, arg2, lparg3);
-	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	NATIVE_EXIT(env, that, "glVertexPointer\n")
-}
-
-JNIEXPORT void JNICALL GL_NATIVE(glViewport)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	NATIVE_ENTER(env, that, "glViewport\n")
-	glViewport(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glViewport\n")
-}
diff --git a/bundles/org.eclipse.swt.opengl/common/gl_library/glu.c b/bundles/org.eclipse.swt.opengl/common/gl_library/glu.c
deleted file mode 100644
index 5f49ee9..0000000
--- a/bundles/org.eclipse.swt.opengl/common/gl_library/glu.c
+++ /dev/null
@@ -1,546 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-#ifdef WIN32
-#include <windows.h>
-#endif
-#include <GL/glu.h>
-#include "swt.h"
-
-#define GLU_NATIVE(func) Java_org_eclipse_swt_opengl_GLU_##func
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluBeginCurve)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "gluBeginCurve\n")
-	gluBeginCurve((GLUnurbsObj *)arg0);
-	NATIVE_EXIT(env, that, "gluBeginCurve\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluBeginPolygon)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "gluBeginPolygon\n")
-	gluBeginPolygon((GLUtesselator *)arg0);
-	NATIVE_EXIT(env, that, "gluBeginPolygon\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluBeginSurface)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "gluBeginSurface\n")
-	gluBeginSurface((GLUnurbs *)arg0);
-	NATIVE_EXIT(env, that, "gluBeginSurface\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluBeginTrim)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "gluBeginTrim\n")
-	gluBeginTrim((GLUnurbs *)arg0);
-	NATIVE_EXIT(env, that, "gluBeginTrim\n")
-}
-
-JNIEXPORT jint JNICALL GLU_NATIVE(gluBuild1DMipmaps)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-    jint rc;
-	NATIVE_ENTER(env, that, "gluBuild1DMipmaps\n")
-	rc = (jint)gluBuild1DMipmaps(arg0, arg1, arg2, arg3, arg4, (const void *)arg5);
-	NATIVE_EXIT(env, that, "gluBuild1DMipmaps\n")
-	return rc;
-}
-
-/*
-JNIEXPORT jint JNICALL GLU_NATIVE(gluBuild2DMipmaps)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-    jint rc;
-	NATIVE_ENTER(env, that, "gluBuild2DMipmaps\n")
-	rc = (jint)gluBuild2DMipmaps(arg0, arg1, arg2, arg3, arg4, arg5, (const void *)arg6);
-	NATIVE_EXIT(env, that, "gluBuild2DMipmaps\n")
-	return rc;
-}
-*/
-
-JNIEXPORT jint JNICALL GLU_NATIVE(gluBuild2DMipmaps)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jbyteArray arg6)
-{
-	jbyte *lparg6=NULL;
-	jint rc;
-	
-	NATIVE_ENTER(env, that, "gluBuild2DMipmaps\n")
-	if (arg6) lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL);
-	rc = (jint)gluBuild2DMipmaps(arg0, arg1, arg2, arg3, arg4, arg5, (const void *)lparg6);
-	if (arg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);	
-	NATIVE_EXIT(env, that, "gluBuild2DMipmaps\n")
-	return rc;
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluCylinder)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3, jint arg4, jint arg5)
-{
-	NATIVE_ENTER(env, that, "gluCylinder\n")
-	gluCylinder((GLUquadric *)arg0, arg1, arg2, arg3, arg4, arg5);
-	NATIVE_EXIT(env, that, "gluCylinder\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluDeleteNurbsRenderer)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "gluDeleteNurbsRenderer\n")
-	gluDeleteNurbsRenderer((GLUnurbs *)arg0);
-	NATIVE_EXIT(env, that, "gluDeleteNurbsRenderer\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluDeleteQuadric)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "gluDeleteQuadric\n")
-	gluDeleteQuadric((GLUquadric *)arg0);
-	NATIVE_EXIT(env, that, "gluDeleteQuadric\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluDeleteTess)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "gluDeleteTess\n")
-	gluDeleteTess((GLUtesselator *)arg0);
-	NATIVE_EXIT(env, that, "gluDeleteTess\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluDisk)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jint arg3, jint arg4)
-{
-	NATIVE_ENTER(env, that, "gluDisk\n")
-	gluDisk((GLUquadric *)arg0, arg1, arg2, arg3, arg4);
-	NATIVE_EXIT(env, that, "gluDisk\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluEndCurve)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "gluEndCurve\n")
-	gluEndCurve((GLUnurbsObj *)arg0);
-	NATIVE_EXIT(env, that, "gluEndCurve\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluEndPolygon)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "gluEndPolygon\n")
-	gluEndPolygon((GLUtesselator *)arg0);
-	NATIVE_EXIT(env, that, "gluEndPolygon\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluEndSurface)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "gluEndSurface\n")
-	gluEndSurface((GLUnurbs *)arg0);
-	NATIVE_EXIT(env, that, "gluEndSurface\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluEndTrim)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "gluEndTrim\n")
-	gluEndTrim((GLUnurbs *)arg0);
-	NATIVE_EXIT(env, that, "gluEndTrim\n")
-}
-
-JNIEXPORT jint JNICALL GLU_NATIVE(gluErrorString)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-    jint rc;
-	NATIVE_ENTER(env, that, "gluErrorString\n")
-	rc = (jint)gluErrorString(arg0);
-	NATIVE_EXIT(env, that, "gluErrorString\n")
-	return rc;
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluGetNurbsProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "gluGetNurbsProperty\n")
-	if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	gluGetNurbsProperty((GLUnurbs *)arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "gluGetNurbsProperty\n")
-}
-
-JNIEXPORT jint JNICALL GLU_NATIVE(gluGetString)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-    jint rc;
-	NATIVE_ENTER(env, that, "gluGetString\n")
-	rc = (jint)gluGetString(arg0);
-	NATIVE_EXIT(env, that, "gluGetString\n")
-	return rc;
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluGetTessProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdoubleArray arg2)
-{
-	jdouble *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "gluGetTessProperty\n")
-	if (arg2) lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL);
-	gluGetTessProperty((GLUtesselator *)arg0, arg1, lparg2);
-	if (arg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "gluGetTessProperty\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluLoadSamplingMatrices)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1, jfloatArray arg2, jintArray arg3)
-{
-	jfloat *lparg1=NULL;
-	jfloat *lparg2=NULL;
-	jint *lparg3=NULL;
-
-	NATIVE_ENTER(env, that, "gluLoadSamplingMatrices\n")
-	if (arg1) lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL);
-	if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	gluLoadSamplingMatrices((GLUnurbs *)arg0, lparg1, lparg2, (GLint *)lparg3);
-	if (arg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	NATIVE_EXIT(env, that, "gluLoadSamplingMatrices\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluLookAt)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5, jdouble arg6, jdouble arg7, jdouble arg8)
-{
-	NATIVE_ENTER(env, that, "gluLookAt\n")
-	gluLookAt(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-	NATIVE_EXIT(env, that, "gluLookAt\n")
-}
-
-JNIEXPORT jint JNICALL GLU_NATIVE(gluNewNurbsRenderer)
-	(JNIEnv *env, jclass that)
-{
-    jint rc;
-	NATIVE_ENTER(env, that, "gluNewNurbsRenderer\n")
-	rc = (jint)gluNewNurbsRenderer();
-	NATIVE_EXIT(env, that, "gluNewNurbsRenderer\n")
-	return rc;
-}
-
-JNIEXPORT jint JNICALL GLU_NATIVE(gluNewQuadric)
-	(JNIEnv *env, jclass that)
-{
-    jint rc;
-	NATIVE_ENTER(env, that, "gluNewQuadric\n")
-	rc = (jint)gluNewQuadric();
-	NATIVE_EXIT(env, that, "gluNewQuadric\n")
-	return rc;
-}
-
-JNIEXPORT jint JNICALL GLU_NATIVE(gluNewTess)
-	(JNIEnv *env, jclass that)
-{
-    jint rc;
-	NATIVE_ENTER(env, that, "gluNewTess\n")
-	rc = (jint)gluNewTess();
-	NATIVE_EXIT(env, that, "gluNewTess\n")
-	return rc;
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluNextContour)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "gluNextContour\n")
-	gluNextContour((GLUtesselator *)arg0, arg1);
-	NATIVE_EXIT(env, that, "gluNextContour\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluNurbsCallback)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	NATIVE_ENTER(env, that, "gluNurbsCallback\n")
-	gluNurbsCallback((GLUnurbs *)arg0, arg1, (GLvoid(*))arg2);
-	NATIVE_EXIT(env, that, "gluNurbsCallback\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluNurbsCurve)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2, jint arg3, jfloatArray arg4, jint arg5, jint arg6)
-{
-	jfloat *lparg2=NULL;
-	jfloat *lparg4=NULL;
-
-	NATIVE_ENTER(env, that, "gluNurbsCurve\n")
-	if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	if (arg4) lparg4 = (*env)->GetFloatArrayElements(env, arg4, NULL);
-	gluNurbsCurve((GLUnurbs *)arg0, arg1, lparg2, arg3, lparg4, arg5, arg6);
-	if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	if (arg4) (*env)->ReleaseFloatArrayElements(env, arg4, lparg4, 0);
-	NATIVE_EXIT(env, that, "gluNurbsCurve\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluNurbsProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	NATIVE_ENTER(env, that, "gluNurbsProperty\n")
-	gluNurbsProperty((GLUnurbs *)arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "gluNurbsProperty\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluNurbsSurface)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2, jint arg3, jfloatArray arg4, jint arg5, jint arg6, jfloatArray arg7, jint arg8, jint arg9, jint arg10)
-{
-	jfloat *lparg2=NULL;
-	jfloat *lparg4=NULL;
-	jfloat *lparg7=NULL;
-
-	NATIVE_ENTER(env, that, "gluNurbsSurface\n")
-	if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	if (arg4) lparg4 = (*env)->GetFloatArrayElements(env, arg4, NULL);
-	if (arg7) lparg7 = (*env)->GetFloatArrayElements(env, arg7, NULL);
-	gluNurbsSurface((GLUnurbs *)arg0, arg1, lparg2, arg3, lparg4, arg5, arg6, lparg7, arg8, arg9, arg10);
-	if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	if (arg4) (*env)->ReleaseFloatArrayElements(env, arg4, lparg4, 0);
-	if (arg7) (*env)->ReleaseFloatArrayElements(env, arg7, lparg7, 0);
-	NATIVE_EXIT(env, that, "gluNurbsSurface\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluOrtho2D)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	NATIVE_ENTER(env, that, "gluOrtho2D\n")
-	gluOrtho2D(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "gluOrtho2D\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluPartialDisk)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jint arg3, jint arg4, jdouble arg5, jdouble arg6)
-{
-	NATIVE_ENTER(env, that, "gluPartialDisk\n")
-	gluPartialDisk((GLUquadric *)arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-	NATIVE_EXIT(env, that, "gluPartialDisk\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluPerspective)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	NATIVE_ENTER(env, that, "gluPerspective\n")
-	gluPerspective(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "gluPerspective\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluPickMatrix)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-
-	NATIVE_ENTER(env, that, "gluPickMatrix\n")
-	if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
-	gluPickMatrix(arg0, arg1, arg2, arg3, (GLint *)lparg4);
-	if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	NATIVE_EXIT(env, that, "gluPickMatrix\n")
-}
-
-JNIEXPORT jint JNICALL GLU_NATIVE(gluProject)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdoubleArray arg3, jdoubleArray arg4, jintArray arg5, jdoubleArray arg6, jdoubleArray arg7, jdoubleArray arg8)
-{
-	jdouble *lparg3=NULL;
-	jdouble *lparg4=NULL;
-	jint *lparg5=NULL;
-	jdouble *lparg6=NULL;
-	jdouble *lparg7=NULL;
-	jdouble *lparg8=NULL;
-	jint rc;
-
-	NATIVE_ENTER(env, that, "gluProject\n")
-	if (arg3) lparg3 = (*env)->GetDoubleArrayElements(env, arg3, NULL);
-	if (arg4) lparg4 = (*env)->GetDoubleArrayElements(env, arg4, NULL);
-	if (arg5) lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL);
-	if (arg6) lparg6 = (*env)->GetDoubleArrayElements(env, arg6, NULL);
-	if (arg7) lparg7 = (*env)->GetDoubleArrayElements(env, arg7, NULL);
-	if (arg8) lparg8 = (*env)->GetDoubleArrayElements(env, arg8, NULL);
-	rc = (jint)gluProject(arg0, arg1, arg2, lparg3, lparg4, (GLint *)lparg5, lparg6, lparg7, lparg8);
-	if (arg3) (*env)->ReleaseDoubleArrayElements(env, arg3, lparg3, 0);
-	if (arg4) (*env)->ReleaseDoubleArrayElements(env, arg4, lparg4, 0);
-	if (arg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg6) (*env)->ReleaseDoubleArrayElements(env, arg6, lparg6, 0);
-	if (arg7) (*env)->ReleaseDoubleArrayElements(env, arg7, lparg7, 0);
-	if (arg8) (*env)->ReleaseDoubleArrayElements(env, arg8, lparg8, 0);
-	NATIVE_EXIT(env, that, "gluProject\n")
-	return rc;
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluPwlCurve)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2, jint arg3, jint arg4)
-{
-	jfloat *lparg2=NULL;
-
-	NATIVE_ENTER(env, that, "gluPwlCurve\n")
-	if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	gluPwlCurve((GLUnurbs *)arg0, arg1, lparg2, arg3, arg4);
-	if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "gluPwlCurve\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluQuadricCallback)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	NATIVE_ENTER(env, that, "gluQuadricCallback\n")
-	gluQuadricCallback((GLUquadric *)arg0, arg1, (GLvoid(*))arg2);
-	NATIVE_EXIT(env, that, "gluQuadricCallback\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluQuadricDrawStyle)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "gluQuadricDrawStyle\n")
-	gluQuadricDrawStyle((GLUquadric *)arg0, arg1);
-	NATIVE_EXIT(env, that, "gluQuadricDrawStyle\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluQuadricNormals)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "gluQuadricNormals\n")
-	gluQuadricNormals((GLUquadric *)arg0, arg1);
-	NATIVE_EXIT(env, that, "gluQuadricNormals\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluQuadricOrientation)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "gluQuadricOrientation\n")
-	gluQuadricOrientation((GLUquadric *)arg0, arg1);
-	NATIVE_EXIT(env, that, "gluQuadricOrientation\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluQuadricTexture)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	NATIVE_ENTER(env, that, "gluQuadricTexture\n")
-	gluQuadricTexture((GLUquadric *)arg0, arg1);
-	NATIVE_EXIT(env, that, "gluQuadricTexture\n")
-}
-
-JNIEXPORT jint JNICALL GLU_NATIVE(gluScaleImage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
-{
-    jint rc;
-	NATIVE_ENTER(env, that, "gluScaleImage\n")
-	rc = (jint)gluScaleImage(arg0, arg1, arg2, arg3, (const void *)arg4, arg5, arg6, arg7, (void *)arg8);
-	NATIVE_EXIT(env, that, "gluScaleImage\n")
-	return rc;
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluSphere)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jint arg2, jint arg3)
-{
-	NATIVE_ENTER(env, that, "gluSphere\n")
-	gluSphere((GLUquadric *)arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "gluSphere\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessBeginContour)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "gluTessBeginContour\n")
-	gluTessBeginContour((GLUtesselator *)arg0);
-	NATIVE_EXIT(env, that, "gluTessBeginContour\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessBeginPolygon)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "gluTessBeginPolygon\n")
-	gluTessBeginPolygon((GLUtesselator *)arg0, (void *)arg1);
-	NATIVE_EXIT(env, that, "gluTessBeginPolygon\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessCallback)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	NATIVE_ENTER(env, that, "gluTessCallback\n")
-	gluTessCallback((GLUtesselator *)arg0, arg1, (GLvoid(*))arg2);
-	NATIVE_EXIT(env, that, "gluTessCallback\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessEndContour)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "gluTessEndContour\n")
-	gluTessEndContour((GLUtesselator *)arg0);
-	NATIVE_EXIT(env, that, "gluTessEndContour\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessEndPolygon)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "gluTessEndPolygon\n")
-	gluTessEndPolygon((GLUtesselator *)arg0);
-	NATIVE_EXIT(env, that, "gluTessEndPolygon\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessNormal)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	NATIVE_ENTER(env, that, "gluTessNormal\n")
-	gluTessNormal((GLUtesselator *)arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "gluTessNormal\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	NATIVE_ENTER(env, that, "gluTessProperty\n")
-	gluTessProperty((GLUtesselator *)arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "gluTessProperty\n")
-}
-
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessVertex)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jint arg2)
-{
-	jdouble *lparg1=NULL;
-
-	NATIVE_ENTER(env, that, "gluTessVertex\n")
-	if (arg1) lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL);
-	gluTessVertex((GLUtesselator *)arg0, lparg1, (void *)arg2);
-	if (arg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	NATIVE_EXIT(env, that, "gluTessVertex\n")
-}
-
-JNIEXPORT jint JNICALL GLU_NATIVE(gluUnProject)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdoubleArray arg3, jdoubleArray arg4, jintArray arg5, jdoubleArray arg6, jdoubleArray arg7, jdoubleArray arg8)
-{
-	jdouble *lparg3=NULL;
-	jdouble *lparg4=NULL;
-	jint *lparg5=NULL;
-	jdouble *lparg6=NULL;
-	jdouble *lparg7=NULL;
-	jdouble *lparg8=NULL;
-	jint rc;
-
-	NATIVE_ENTER(env, that, "gluUnProject\n")
-	if (arg3) lparg3 = (*env)->GetDoubleArrayElements(env, arg3, NULL);
-	if (arg4) lparg4 = (*env)->GetDoubleArrayElements(env, arg4, NULL);
-	if (arg5) lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL);
-	if (arg6) lparg6 = (*env)->GetDoubleArrayElements(env, arg6, NULL);
-	if (arg7) lparg7 = (*env)->GetDoubleArrayElements(env, arg7, NULL);
-	if (arg8) lparg8 = (*env)->GetDoubleArrayElements(env, arg8, NULL);
-	rc = (jint)gluUnProject(arg0, arg1, arg2, lparg3, lparg4, (GLint *)lparg5, lparg6, lparg7, lparg8);
-	if (arg3) (*env)->ReleaseDoubleArrayElements(env, arg3, lparg3, 0);
-	if (arg4) (*env)->ReleaseDoubleArrayElements(env, arg4, lparg4, 0);
-	if (arg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg6) (*env)->ReleaseDoubleArrayElements(env, arg6, lparg6, 0);
-	if (arg7) (*env)->ReleaseDoubleArrayElements(env, arg7, lparg7, 0);
-	if (arg8) (*env)->ReleaseDoubleArrayElements(env, arg8, lparg8, 0);
-	NATIVE_EXIT(env, that, "gluUnProject\n")
-	return rc;
-}
diff --git a/bundles/org.eclipse.swt.opengl/common/gl_library/swt.h b/bundles/org.eclipse.swt.opengl/common/gl_library/swt.h
deleted file mode 100644
index 0095fe6..0000000
--- a/bundles/org.eclipse.swt.opengl/common/gl_library/swt.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#ifndef INC_swt_H
-#define INC_swt_H
-
-#include "jni.h"
-
-/* For debugging */
-#define DEBUG_PRINTF(x)
-/*#define DEBUG_PRINTF(x) printf x; */
-
-/* define this to print out debug statements */
-/* #define DEBUG_CALL_PRINTS */
-/* #define DEBUG_CHECK_NULL_EXCEPTIONS */
-
-#ifdef DEBUG_CALL_PRINTS
-#define DEBUG_CALL(func) fprintf(stderr, func);
-#else
-#define DEBUG_CALL(func)
-#endif
-
-#ifdef DEBUG_CHECK_NULL_EXCEPTIONS
-#define DEBUG_CHECK_NULL(env, address) \
-	if (address == 0) { \
-		jclass clazz = (*env)->FindClass(env, "org/eclipse/swt/SWTError"); \
-		if (clazz != NULL) { \
-			(*env)->ThrowNew(env, clazz, "Argument cannot be NULL"); \
-		} \
-		return; \
-	}
-#else
-#define DEBUG_CHECK_NULL(env, address)
-#endif
-
-#define DECL_GLOB(pSym)
-#define PGLOB(x) x
-
-#define NATIVE_ENTER(env,clazz,func)
-#define NATIVE_EXIT(env,clazz,func)
-
-#endif /* ifndef INC_swt_H */
diff --git a/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GL.java b/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GL.java
deleted file mode 100644
index ba4b372..0000000
--- a/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GL.java
+++ /dev/null
@@ -1,1449 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl;
-
-public class GL {
-
-	public static final int GL_VERSION_1_1 = 1;
-
-	/* AccumOp */
-	public static final int GL_ACCUM = 0x0100;
-	public static final int GL_LOAD = 0x0101;
-	public static final int GL_RETURN = 0x0102;
-	public static final int GL_MULT = 0x0103;
-	public static final int GL_ADD = 0x0104;
-
-	/* AlphaFunction */
-	public static final int GL_NEVER = 0x0200;
-	public static final int GL_LESS = 0x0201;
-	public static final int GL_EQUAL = 0x0202;
-	public static final int GL_LEQUAL = 0x0203;
-	public static final int GL_GREATER = 0x0204;
-	public static final int GL_NOTEQUAL = 0x0205;
-	public static final int GL_GEQUAL = 0x0206;
-	public static final int GL_ALWAYS = 0x0207;
-
-	/* AttribMask */
-	public static final int GL_CURRENT_BIT = 0x00000001;
-	public static final int GL_POINT_BIT = 0x00000002;
-	public static final int GL_LINE_BIT = 0x00000004;
-	public static final int GL_POLYGON_BIT = 0x00000008;
-	public static final int GL_POLYGON_STIPPLE_BIT = 0x00000010;
-	public static final int GL_PIXEL_MODE_BIT = 0x00000020;
-	public static final int GL_LIGHTING_BIT = 0x00000040;
-	public static final int GL_FOG_BIT = 0x00000080;
-	public static final int GL_DEPTH_BUFFER_BIT = 0x00000100;
-	public static final int GL_ACCUM_BUFFER_BIT = 0x00000200;
-	public static final int GL_STENCIL_BUFFER_BIT = 0x00000400;
-	public static final int GL_VIEWPORT_BIT = 0x00000800;
-	public static final int GL_TRANSFORM_BIT = 0x00001000;
-	public static final int GL_ENABLE_BIT = 0x00002000;
-	public static final int GL_COLOR_BUFFER_BIT = 0x00004000;
-	public static final int GL_HINT_BIT = 0x00008000;
-	public static final int GL_EVAL_BIT = 0x00010000;
-	public static final int GL_LIST_BIT = 0x00020000;
-	public static final int GL_TEXTURE_BIT = 0x00040000;
-	public static final int GL_SCISSOR_BIT = 0x00080000;
-	public static final int GL_ALL_ATTRIB_BITS = 0x000fffff;
-
-	/* BeginMode */
-	public static final int GL_POINTS = 0x0000;
-	public static final int GL_LINES = 0x0001;
-	public static final int GL_LINE_LOOP = 0x0002;
-	public static final int GL_LINE_STRIP = 0x0003;
-	public static final int GL_TRIANGLES = 0x0004;
-	public static final int GL_TRIANGLE_STRIP = 0x0005;
-	public static final int GL_TRIANGLE_FAN = 0x0006;
-	public static final int GL_QUADS = 0x0007;
-	public static final int GL_QUAD_STRIP = 0x0008;
-	public static final int GL_POLYGON = 0x0009;
-
-	/* BlendingFactorDest */
-	public static final int GL_ZERO = 0;
-	public static final int GL_ONE = 1;
-	public static final int GL_SRC_COLOR = 0x0300;
-	public static final int GL_ONE_MINUS_SRC_COLOR = 0x0301;
-	public static final int GL_SRC_ALPHA = 0x0302;
-	public static final int GL_ONE_MINUS_SRC_ALPHA = 0x0303;
-	public static final int GL_DST_ALPHA = 0x0304;
-	public static final int GL_ONE_MINUS_DST_ALPHA = 0x0305;
-
-	/* BlendingFactorSrc */
-	/*      GL_ZERO */
-	/*      GL_ONE */
-	public static final int GL_DST_COLOR = 0x0306;
-	public static final int GL_ONE_MINUS_DST_COLOR = 0x0307;
-	public static final int GL_SRC_ALPHA_SATURATE = 0x0308;
-	/*      GL_SRC_ALPHA */
-	/*      GL_ONE_MINUS_SRC_ALPHA */
-	/*      GL_DST_ALPHA */
-	/*      GL_ONE_MINUS_DST_ALPHA */
-
-	/* Boolean */
-	public static final int GL_TRUE = 1;
-	public static final int GL_FALSE = 0;
-
-	/* ClearBufferMask */
-	/*      GL_COLOR_BUFFER_BIT */
-	/*      GL_ACCUM_BUFFER_BIT */
-	/*      GL_STENCIL_BUFFER_BIT */
-	/*      GL_DEPTH_BUFFER_BIT */
-
-	/* ClientArrayType */
-	/*      GL_VERTEX_ARRAY */
-	/*      GL_NORMAL_ARRAY */
-	/*      GL_COLOR_ARRAY */
-	/*      GL_INDEX_ARRAY */
-	/*      GL_TEXTURE_COORD_ARRAY */
-	/*      GL_EDGE_FLAG_ARRAY */
-
-	/* ClipPlaneName */
-	public static final int GL_CLIP_PLANE0 = 0x3000;
-	public static final int GL_CLIP_PLANE1 = 0x3001;
-	public static final int GL_CLIP_PLANE2 = 0x3002;
-	public static final int GL_CLIP_PLANE3 = 0x3003;
-	public static final int GL_CLIP_PLANE4 = 0x3004;
-	public static final int GL_CLIP_PLANE5 = 0x3005;
-
-	/* ColorMaterialFace */
-	/*      GL_FRONT */
-	/*      GL_BACK */
-	/*      GL_FRONT_AND_BACK */
-
-	/* ColorMaterialParameter */
-	/*      GL_AMBIENT */
-	/*      GL_DIFFUSE */
-	/*      GL_SPECULAR */
-	/*      GL_EMISSION */
-	/*      GL_AMBIENT_AND_DIFFUSE */
-
-	/* ColorPointerType */
-	/*      GL_BYTE */
-	/*      GL_UNSIGNED_BYTE */
-	/*      GL_SHORT */
-	/*      GL_UNSIGNED_SHORT */
-	/*      GL_INT */
-	/*      GL_UNSIGNED_INT */
-	/*      GL_FLOAT */
-	/*      GL_DOUBLE */
-
-	/* CullFaceMode */
-	/*      GL_FRONT */
-	/*      GL_BACK */
-	/*      GL_FRONT_AND_BACK */
-
-	/* DataType */
-	public static final int GL_BYTE = 0x1400;
-	public static final int GL_UNSIGNED_BYTE = 0x1401;
-	public static final int GL_SHORT = 0x1402;
-	public static final int GL_UNSIGNED_SHORT = 0x1403;
-	public static final int GL_INT = 0x1404;
-	public static final int GL_UNSIGNED_INT = 0x1405;
-	public static final int GL_FLOAT = 0x1406;
-	public static final int GL_2_BYTES = 0x1407;
-	public static final int GL_3_BYTES = 0x1408;
-	public static final int GL_4_BYTES = 0x1409;
-	public static final int GL_DOUBLE = 0x140A;
-
-	/* DepthFunction */
-	/*      GL_NEVER */
-	/*      GL_LESS */
-	/*      GL_EQUAL */
-	/*      GL_LEQUAL */
-	/*      GL_GREATER */
-	/*      GL_NOTEQUAL */
-	/*      GL_GEQUAL */
-	/*      GL_ALWAYS */
-
-	/* DrawBufferMode */
-	public static final int GL_NONE = 0;
-	public static final int GL_FRONT_LEFT = 0x0400;
-	public static final int GL_FRONT_RIGHT = 0x0401;
-	public static final int GL_BACK_LEFT = 0x0402;
-	public static final int GL_BACK_RIGHT = 0x0403;
-	public static final int GL_FRONT = 0x0404;
-	public static final int GL_BACK = 0x0405;
-	public static final int GL_LEFT = 0x0406;
-	public static final int GL_RIGHT = 0x0407;
-	public static final int GL_FRONT_AND_BACK = 0x0408;
-	public static final int GL_AUX0 = 0x0409;
-	public static final int GL_AUX1 = 0x040A;
-	public static final int GL_AUX2 = 0x040B;
-	public static final int GL_AUX3 = 0x040C;
-
-	/* Enable */
-	/*      GL_FOG */
-	/*      GL_LIGHTING */
-	/*      GL_TEXTURE_1D */
-	/*      GL_TEXTURE_2D */
-	/*      GL_LINE_STIPPLE */
-	/*      GL_POLYGON_STIPPLE */
-	/*      GL_CULL_FACE */
-	/*      GL_ALPHA_TEST */
-	/*      GL_BLEND */
-	/*      GL_INDEX_LOGIC_OP */
-	/*      GL_COLOR_LOGIC_OP */
-	/*      GL_DITHER */
-	/*      GL_STENCIL_TEST */
-	/*      GL_DEPTH_TEST */
-	/*      GL_CLIP_PLANE0 */
-	/*      GL_CLIP_PLANE1 */
-	/*      GL_CLIP_PLANE2 */
-	/*      GL_CLIP_PLANE3 */
-	/*      GL_CLIP_PLANE4 */
-	/*      GL_CLIP_PLANE5 */
-	/*      GL_LIGHT0 */
-	/*      GL_LIGHT1 */
-	/*      GL_LIGHT2 */
-	/*      GL_LIGHT3 */
-	/*      GL_LIGHT4 */
-	/*      GL_LIGHT5 */
-	/*      GL_LIGHT6 */
-	/*      GL_LIGHT7 */
-	/*      GL_TEXTURE_GEN_S */
-	/*      GL_TEXTURE_GEN_T */
-	/*      GL_TEXTURE_GEN_R */
-	/*      GL_TEXTURE_GEN_Q */
-	/*      GL_MAP1_VERTEX_3 */
-	/*      GL_MAP1_VERTEX_4 */
-	/*      GL_MAP1_COLOR_4 */
-	/*      GL_MAP1_INDEX */
-	/*      GL_MAP1_NORMAL */
-	/*      GL_MAP1_TEXTURE_COORD_1 */
-	/*      GL_MAP1_TEXTURE_COORD_2 */
-	/*      GL_MAP1_TEXTURE_COORD_3 */
-	/*      GL_MAP1_TEXTURE_COORD_4 */
-	/*      GL_MAP2_VERTEX_3 */
-	/*      GL_MAP2_VERTEX_4 */
-	/*      GL_MAP2_COLOR_4 */
-	/*      GL_MAP2_INDEX */
-	/*      GL_MAP2_NORMAL */
-	/*      GL_MAP2_TEXTURE_COORD_1 */
-	/*      GL_MAP2_TEXTURE_COORD_2 */
-	/*      GL_MAP2_TEXTURE_COORD_3 */
-	/*      GL_MAP2_TEXTURE_COORD_4 */
-	/*      GL_POINT_SMOOTH */
-	/*      GL_LINE_SMOOTH */
-	/*      GL_POLYGON_SMOOTH */
-	/*      GL_SCISSOR_TEST */
-	/*      GL_COLOR_MATERIAL */
-	/*      GL_NORMALIZE */
-	/*      GL_AUTO_NORMAL */
-	/*      GL_VERTEX_ARRAY */
-	/*      GL_NORMAL_ARRAY */
-	/*      GL_COLOR_ARRAY */
-	/*      GL_INDEX_ARRAY */
-	/*      GL_TEXTURE_COORD_ARRAY */
-	/*      GL_EDGE_FLAG_ARRAY */
-	/*      GL_POLYGON_OFFSET_POINT */
-	/*      GL_POLYGON_OFFSET_LINE */
-	/*      GL_POLYGON_OFFSET_FILL */
-
-	/* ErrorCode */
-	public static final int GL_NO_ERROR = 0;
-	public static final int GL_INVALID_ENUM = 0x0500;
-	public static final int GL_INVALID_VALUE = 0x0501;
-	public static final int GL_INVALID_OPERATION = 0x0502;
-	public static final int GL_STACK_OVERFLOW = 0x0503;
-	public static final int GL_STACK_UNDERFLOW = 0x0504;
-	public static final int GL_OUT_OF_MEMORY = 0x0505;
-
-	/* FeedBackMode */
-	public static final int GL_2D = 0x0600;
-	public static final int GL_3D = 0x0601;
-	public static final int GL_3D_COLOR = 0x0602;
-	public static final int GL_3D_COLOR_TEXTURE = 0x0603;
-	public static final int GL_4D_COLOR_TEXTURE = 0x0604;
-
-	/* FeedBackToken */
-	public static final int GL_PASS_THROUGH_TOKEN = 0x0700;
-	public static final int GL_POINT_TOKEN = 0x0701;
-	public static final int GL_LINE_TOKEN = 0x0702;
-	public static final int GL_POLYGON_TOKEN = 0x0703;
-	public static final int GL_BITMAP_TOKEN = 0x0704;
-	public static final int GL_DRAW_PIXEL_TOKEN = 0x0705;
-	public static final int GL_COPY_PIXEL_TOKEN = 0x0706;
-	public static final int GL_LINE_RESET_TOKEN = 0x0707;
-
-	/* FogMode */
-	/*      GL_LINEAR */
-	public static final int GL_EXP = 0x0800;
-	public static final int GL_EXP2 = 0x0801;
-
-	/* FogParameter */
-	/*      GL_FOG_COLOR */
-	/*      GL_FOG_DENSITY */
-	/*      GL_FOG_END */
-	/*      GL_FOG_INDEX */
-	/*      GL_FOG_MODE */
-	/*      GL_FOG_START */
-
-	/* FrontFaceDirection */
-	public static final int GL_CW = 0x0900;
-	public static final int GL_CCW = 0x0901;
-
-	/* GetMapTarget */
-	public static final int GL_COEFF = 0x0A00;
-	public static final int GL_ORDER = 0x0A01;
-	public static final int GL_DOMAIN = 0x0A02;
-
-	/* GetPixelMap */
-	/*      GL_PIXEL_MAP_I_TO_I */
-	/*      GL_PIXEL_MAP_S_TO_S */
-	/*      GL_PIXEL_MAP_I_TO_R */
-	/*      GL_PIXEL_MAP_I_TO_G */
-	/*      GL_PIXEL_MAP_I_TO_B */
-	/*      GL_PIXEL_MAP_I_TO_A */
-	/*      GL_PIXEL_MAP_R_TO_R */
-	/*      GL_PIXEL_MAP_G_TO_G */
-	/*      GL_PIXEL_MAP_B_TO_B */
-	/*      GL_PIXEL_MAP_A_TO_A */
-
-	/* GetPointerTarget */
-	/*      GL_VERTEX_ARRAY_POINTER */
-	/*      GL_NORMAL_ARRAY_POINTER */
-	/*      GL_COLOR_ARRAY_POINTER */
-	/*      GL_INDEX_ARRAY_POINTER */
-	/*      GL_TEXTURE_COORD_ARRAY_POINTER */
-	/*      GL_EDGE_FLAG_ARRAY_POINTER */
-
-	/* GetTarget */
-	public static final int GL_CURRENT_COLOR = 0x0B00;
-	public static final int GL_CURRENT_INDEX = 0x0B01;
-	public static final int GL_CURRENT_NORMAL = 0x0B02;
-	public static final int GL_CURRENT_TEXTURE_COORDS = 0x0B03;
-	public static final int GL_CURRENT_RASTER_COLOR = 0x0B04;
-	public static final int GL_CURRENT_RASTER_INDEX = 0x0B05;
-	public static final int GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06;
-	public static final int GL_CURRENT_RASTER_POSITION = 0x0B07;
-	public static final int GL_CURRENT_RASTER_POSITION_VALID = 0x0B08;
-	public static final int GL_CURRENT_RASTER_DISTANCE = 0x0B09;
-	public static final int GL_POINT_SMOOTH = 0x0B10;
-	public static final int GL_POINT_SIZE = 0x0B11;
-	public static final int GL_POINT_SIZE_RANGE = 0x0B12;
-	public static final int GL_POINT_SIZE_GRANULARITY = 0x0B13;
-	public static final int GL_LINE_SMOOTH = 0x0B20;
-	public static final int GL_LINE_WIDTH = 0x0B21;
-	public static final int GL_LINE_WIDTH_RANGE = 0x0B22;
-	public static final int GL_LINE_WIDTH_GRANULARITY = 0x0B23;
-	public static final int GL_LINE_STIPPLE = 0x0B24;
-	public static final int GL_LINE_STIPPLE_PATTERN = 0x0B25;
-	public static final int GL_LINE_STIPPLE_REPEAT = 0x0B26;
-	public static final int GL_LIST_MODE = 0x0B30;
-	public static final int GL_MAX_LIST_NESTING = 0x0B31;
-	public static final int GL_LIST_BASE = 0x0B32;
-	public static final int GL_LIST_INDEX = 0x0B33;
-	public static final int GL_POLYGON_MODE = 0x0B40;
-	public static final int GL_POLYGON_SMOOTH = 0x0B41;
-	public static final int GL_POLYGON_STIPPLE = 0x0B42;
-	public static final int GL_EDGE_FLAG = 0x0B43;
-	public static final int GL_CULL_FACE = 0x0B44;
-	public static final int GL_CULL_FACE_MODE = 0x0B45;
-	public static final int GL_FRONT_FACE = 0x0B46;
-	public static final int GL_LIGHTING = 0x0B50;
-	public static final int GL_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51;
-	public static final int GL_LIGHT_MODEL_TWO_SIDE = 0x0B52;
-	public static final int GL_LIGHT_MODEL_AMBIENT = 0x0B53;
-	public static final int GL_SHADE_MODEL = 0x0B54;
-	public static final int GL_COLOR_MATERIAL_FACE = 0x0B55;
-	public static final int GL_COLOR_MATERIAL_PARAMETER = 0x0B56;
-	public static final int GL_COLOR_MATERIAL = 0x0B57;
-	public static final int GL_FOG = 0x0B60;
-	public static final int GL_FOG_INDEX = 0x0B61;
-	public static final int GL_FOG_DENSITY = 0x0B62;
-	public static final int GL_FOG_START = 0x0B63;
-	public static final int GL_FOG_END = 0x0B64;
-	public static final int GL_FOG_MODE = 0x0B65;
-	public static final int GL_FOG_COLOR = 0x0B66;
-	public static final int GL_DEPTH_RANGE = 0x0B70;
-	public static final int GL_DEPTH_TEST = 0x0B71;
-	public static final int GL_DEPTH_WRITEMASK = 0x0B72;
-	public static final int GL_DEPTH_CLEAR_VALUE = 0x0B73;
-	public static final int GL_DEPTH_FUNC = 0x0B74;
-	public static final int GL_ACCUM_CLEAR_VALUE = 0x0B80;
-	public static final int GL_STENCIL_TEST = 0x0B90;
-	public static final int GL_STENCIL_CLEAR_VALUE = 0x0B91;
-	public static final int GL_STENCIL_FUNC = 0x0B92;
-	public static final int GL_STENCIL_VALUE_MASK = 0x0B93;
-	public static final int GL_STENCIL_FAIL = 0x0B94;
-	public static final int GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95;
-	public static final int GL_STENCIL_PASS_DEPTH_PASS = 0x0B96;
-	public static final int GL_STENCIL_REF = 0x0B97;
-	public static final int GL_STENCIL_WRITEMASK = 0x0B98;
-	public static final int GL_MATRIX_MODE = 0x0BA0;
-	public static final int GL_NORMALIZE = 0x0BA1;
-	public static final int GL_VIEWPORT = 0x0BA2;
-	public static final int GL_MODELVIEW_STACK_DEPTH = 0x0BA3;
-	public static final int GL_PROJECTION_STACK_DEPTH = 0x0BA4;
-	public static final int GL_TEXTURE_STACK_DEPTH = 0x0BA5;
-	public static final int GL_MODELVIEW_MATRIX = 0x0BA6;
-	public static final int GL_PROJECTION_MATRIX = 0x0BA7;
-	public static final int GL_TEXTURE_MATRIX = 0x0BA8;
-	public static final int GL_ATTRIB_STACK_DEPTH = 0x0BB0;
-	public static final int GL_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1;
-	public static final int GL_ALPHA_TEST = 0x0BC0;
-	public static final int GL_ALPHA_TEST_FUNC = 0x0BC1;
-	public static final int GL_ALPHA_TEST_REF = 0x0BC2;
-	public static final int GL_DITHER = 0x0BD0;
-	public static final int GL_BLEND_DST = 0x0BE0;
-	public static final int GL_BLEND_SRC = 0x0BE1;
-	public static final int GL_BLEND = 0x0BE2;
-	public static final int GL_LOGIC_OP_MODE = 0x0BF0;
-	public static final int GL_INDEX_LOGIC_OP = 0x0BF1;
-	public static final int GL_COLOR_LOGIC_OP = 0x0BF2;
-	public static final int GL_AUX_BUFFERS = 0x0C00;
-	public static final int GL_DRAW_BUFFER = 0x0C01;
-	public static final int GL_READ_BUFFER = 0x0C02;
-	public static final int GL_SCISSOR_BOX = 0x0C10;
-	public static final int GL_SCISSOR_TEST = 0x0C11;
-	public static final int GL_INDEX_CLEAR_VALUE = 0x0C20;
-	public static final int GL_INDEX_WRITEMASK = 0x0C21;
-	public static final int GL_COLOR_CLEAR_VALUE = 0x0C22;
-	public static final int GL_COLOR_WRITEMASK = 0x0C23;
-	public static final int GL_INDEX_MODE = 0x0C30;
-	public static final int GL_RGBA_MODE = 0x0C31;
-	public static final int GL_DOUBLEBUFFER = 0x0C32;
-	public static final int GL_STEREO = 0x0C33;
-	public static final int GL_RENDER_MODE = 0x0C40;
-	public static final int GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50;
-	public static final int GL_POINT_SMOOTH_HINT = 0x0C51;
-	public static final int GL_LINE_SMOOTH_HINT = 0x0C52;
-	public static final int GL_POLYGON_SMOOTH_HINT = 0x0C53;
-	public static final int GL_FOG_HINT = 0x0C54;
-	public static final int GL_TEXTURE_GEN_S = 0x0C60;
-	public static final int GL_TEXTURE_GEN_T = 0x0C61;
-	public static final int GL_TEXTURE_GEN_R = 0x0C62;
-	public static final int GL_TEXTURE_GEN_Q = 0x0C63;
-	public static final int GL_PIXEL_MAP_I_TO_I = 0x0C70;
-	public static final int GL_PIXEL_MAP_S_TO_S = 0x0C71;
-	public static final int GL_PIXEL_MAP_I_TO_R = 0x0C72;
-	public static final int GL_PIXEL_MAP_I_TO_G = 0x0C73;
-	public static final int GL_PIXEL_MAP_I_TO_B = 0x0C74;
-	public static final int GL_PIXEL_MAP_I_TO_A = 0x0C75;
-	public static final int GL_PIXEL_MAP_R_TO_R = 0x0C76;
-	public static final int GL_PIXEL_MAP_G_TO_G = 0x0C77;
-	public static final int GL_PIXEL_MAP_B_TO_B = 0x0C78;
-	public static final int GL_PIXEL_MAP_A_TO_A = 0x0C79;
-	public static final int GL_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0;
-	public static final int GL_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1;
-	public static final int GL_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2;
-	public static final int GL_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3;
-	public static final int GL_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4;
-	public static final int GL_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5;
-	public static final int GL_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6;
-	public static final int GL_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7;
-	public static final int GL_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8;
-	public static final int GL_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9;
-	public static final int GL_UNPACK_SWAP_BYTES = 0x0CF0;
-	public static final int GL_UNPACK_LSB_FIRST = 0x0CF1;
-	public static final int GL_UNPACK_ROW_LENGTH = 0x0CF2;
-	public static final int GL_UNPACK_SKIP_ROWS = 0x0CF3;
-	public static final int GL_UNPACK_SKIP_PIXELS = 0x0CF4;
-	public static final int GL_UNPACK_ALIGNMENT = 0x0CF5;
-	public static final int GL_PACK_SWAP_BYTES = 0x0D00;
-	public static final int GL_PACK_LSB_FIRST = 0x0D01;
-	public static final int GL_PACK_ROW_LENGTH = 0x0D02;
-	public static final int GL_PACK_SKIP_ROWS = 0x0D03;
-	public static final int GL_PACK_SKIP_PIXELS = 0x0D04;
-	public static final int GL_PACK_ALIGNMENT = 0x0D05;
-	public static final int GL_MAP_COLOR = 0x0D10;
-	public static final int GL_MAP_STENCIL = 0x0D11;
-	public static final int GL_INDEX_SHIFT = 0x0D12;
-	public static final int GL_INDEX_OFFSET = 0x0D13;
-	public static final int GL_RED_SCALE = 0x0D14;
-	public static final int GL_RED_BIAS = 0x0D15;
-	public static final int GL_ZOOM_X = 0x0D16;
-	public static final int GL_ZOOM_Y = 0x0D17;
-	public static final int GL_GREEN_SCALE = 0x0D18;
-	public static final int GL_GREEN_BIAS = 0x0D19;
-	public static final int GL_BLUE_SCALE = 0x0D1A;
-	public static final int GL_BLUE_BIAS = 0x0D1B;
-	public static final int GL_ALPHA_SCALE = 0x0D1C;
-	public static final int GL_ALPHA_BIAS = 0x0D1D;
-	public static final int GL_DEPTH_SCALE = 0x0D1E;
-	public static final int GL_DEPTH_BIAS = 0x0D1F;
-	public static final int GL_MAX_EVAL_ORDER = 0x0D30;
-	public static final int GL_MAX_LIGHTS = 0x0D31;
-	public static final int GL_MAX_CLIP_PLANES = 0x0D32;
-	public static final int GL_MAX_TEXTURE_SIZE = 0x0D33;
-	public static final int GL_MAX_PIXEL_MAP_TABLE = 0x0D34;
-	public static final int GL_MAX_ATTRIB_STACK_DEPTH = 0x0D35;
-	public static final int GL_MAX_MODELVIEW_STACK_DEPTH = 0x0D36;
-	public static final int GL_MAX_NAME_STACK_DEPTH = 0x0D37;
-	public static final int GL_MAX_PROJECTION_STACK_DEPTH = 0x0D38;
-	public static final int GL_MAX_TEXTURE_STACK_DEPTH = 0x0D39;
-	public static final int GL_MAX_VIEWPORT_DIMS = 0x0D3A;
-	public static final int GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B;
-	public static final int GL_SUBPIXEL_BITS = 0x0D50;
-	public static final int GL_INDEX_BITS = 0x0D51;
-	public static final int GL_RED_BITS = 0x0D52;
-	public static final int GL_GREEN_BITS = 0x0D53;
-	public static final int GL_BLUE_BITS = 0x0D54;
-	public static final int GL_ALPHA_BITS = 0x0D55;
-	public static final int GL_DEPTH_BITS = 0x0D56;
-	public static final int GL_STENCIL_BITS = 0x0D57;
-	public static final int GL_ACCUM_RED_BITS = 0x0D58;
-	public static final int GL_ACCUM_GREEN_BITS = 0x0D59;
-	public static final int GL_ACCUM_BLUE_BITS = 0x0D5A;
-	public static final int GL_ACCUM_ALPHA_BITS = 0x0D5B;
-	public static final int GL_NAME_STACK_DEPTH = 0x0D70;
-	public static final int GL_AUTO_NORMAL = 0x0D80;
-	public static final int GL_MAP1_COLOR_4 = 0x0D90;
-	public static final int GL_MAP1_INDEX = 0x0D91;
-	public static final int GL_MAP1_NORMAL = 0x0D92;
-	public static final int GL_MAP1_TEXTURE_COORD_1 = 0x0D93;
-	public static final int GL_MAP1_TEXTURE_COORD_2 = 0x0D94;
-	public static final int GL_MAP1_TEXTURE_COORD_3 = 0x0D95;
-	public static final int GL_MAP1_TEXTURE_COORD_4 = 0x0D96;
-	public static final int GL_MAP1_VERTEX_3 = 0x0D97;
-	public static final int GL_MAP1_VERTEX_4 = 0x0D98;
-	public static final int GL_MAP2_COLOR_4 = 0x0DB0;
-	public static final int GL_MAP2_INDEX = 0x0DB1;
-	public static final int GL_MAP2_NORMAL = 0x0DB2;
-	public static final int GL_MAP2_TEXTURE_COORD_1 = 0x0DB3;
-	public static final int GL_MAP2_TEXTURE_COORD_2 = 0x0DB4;
-	public static final int GL_MAP2_TEXTURE_COORD_3 = 0x0DB5;
-	public static final int GL_MAP2_TEXTURE_COORD_4 = 0x0DB6;
-	public static final int GL_MAP2_VERTEX_3 = 0x0DB7;
-	public static final int GL_MAP2_VERTEX_4 = 0x0DB8;
-	public static final int GL_MAP1_GRID_DOMAIN = 0x0DD0;
-	public static final int GL_MAP1_GRID_SEGMENTS = 0x0DD1;
-	public static final int GL_MAP2_GRID_DOMAIN = 0x0DD2;
-	public static final int GL_MAP2_GRID_SEGMENTS = 0x0DD3;
-	public static final int GL_TEXTURE_1D = 0x0DE0;
-	public static final int GL_TEXTURE_2D = 0x0DE1;
-	public static final int GL_FEEDBACK_BUFFER_POINTER = 0x0DF0;
-	public static final int GL_FEEDBACK_BUFFER_SIZE = 0x0DF1;
-	public static final int GL_FEEDBACK_BUFFER_TYPE = 0x0DF2;
-	public static final int GL_SELECTION_BUFFER_POINTER = 0x0DF3;
-	public static final int GL_SELECTION_BUFFER_SIZE = 0x0DF4;
-	/*      GL_TEXTURE_BINDING_1D */
-	/*      GL_TEXTURE_BINDING_2D */
-	/*      GL_VERTEX_ARRAY */
-	/*      GL_NORMAL_ARRAY */
-	/*      GL_COLOR_ARRAY */
-	/*      GL_INDEX_ARRAY */
-	/*      GL_TEXTURE_COORD_ARRAY */
-	/*      GL_EDGE_FLAG_ARRAY */
-	/*      GL_VERTEX_ARRAY_SIZE */
-	/*      GL_VERTEX_ARRAY_TYPE */
-	/*      GL_VERTEX_ARRAY_STRIDE */
-	/*      GL_NORMAL_ARRAY_TYPE */
-	/*      GL_NORMAL_ARRAY_STRIDE */
-	/*      GL_COLOR_ARRAY_SIZE */
-	/*      GL_COLOR_ARRAY_TYPE */
-	/*      GL_COLOR_ARRAY_STRIDE */
-	/*      GL_INDEX_ARRAY_TYPE */
-	/*      GL_INDEX_ARRAY_STRIDE */
-	/*      GL_TEXTURE_COORD_ARRAY_SIZE */
-	/*      GL_TEXTURE_COORD_ARRAY_TYPE */
-	/*      GL_TEXTURE_COORD_ARRAY_STRIDE */
-	/*      GL_EDGE_FLAG_ARRAY_STRIDE */
-	/*      GL_POLYGON_OFFSET_FACTOR */
-	/*      GL_POLYGON_OFFSET_UNITS */
-
-	/* GetTextureParameter */
-	/*      GL_TEXTURE_MAG_FILTER */
-	/*      GL_TEXTURE_MIN_FILTER */
-	/*      GL_TEXTURE_WRAP_S */
-	/*      GL_TEXTURE_WRAP_T */
-	public static final int GL_TEXTURE_WIDTH = 0x1000;
-	public static final int GL_TEXTURE_HEIGHT = 0x1001;
-	public static final int GL_TEXTURE_INTERNAL_FORMAT = 0x1003;
-	public static final int GL_TEXTURE_BORDER_COLOR = 0x1004;
-	public static final int GL_TEXTURE_BORDER = 0x1005;
-	/*      GL_TEXTURE_RED_SIZE */
-	/*      GL_TEXTURE_GREEN_SIZE */
-	/*      GL_TEXTURE_BLUE_SIZE */
-	/*      GL_TEXTURE_ALPHA_SIZE */
-	/*      GL_TEXTURE_LUMINANCE_SIZE */
-	/*      GL_TEXTURE_INTENSITY_SIZE */
-	/*      GL_TEXTURE_PRIORITY */
-	/*      GL_TEXTURE_RESIDENT */
-
-	/* HintMode */
-	public static final int GL_DONT_CARE = 0x1100;
-	public static final int GL_FASTEST = 0x1101;
-	public static final int GL_NICEST = 0x1102;
-
-	/* HintTarget */
-	/*      GL_PERSPECTIVE_CORRECTION_HINT */
-	/*      GL_POINT_SMOOTH_HINT */
-	/*      GL_LINE_SMOOTH_HINT */
-	/*      GL_POLYGON_SMOOTH_HINT */
-	/*      GL_FOG_HINT */
-	/*      GL_PHONG_HINT */
-
-	/* IndexPointerType */
-	/*      GL_SHORT */
-	/*      GL_INT */
-	/*      GL_FLOAT */
-	/*      GL_DOUBLE */
-
-	/* LightModelParameter */
-	/*      GL_LIGHT_MODEL_AMBIENT */
-	/*      GL_LIGHT_MODEL_LOCAL_VIEWER */
-	/*      GL_LIGHT_MODEL_TWO_SIDE */
-
-	/* LightName */
-	public static final int GL_LIGHT0 = 0x4000;
-	public static final int GL_LIGHT1 = 0x4001;
-	public static final int GL_LIGHT2 = 0x4002;
-	public static final int GL_LIGHT3 = 0x4003;
-	public static final int GL_LIGHT4 = 0x4004;
-	public static final int GL_LIGHT5 = 0x4005;
-	public static final int GL_LIGHT6 = 0x4006;
-	public static final int GL_LIGHT7 = 0x4007;
-
-	/* LightParameter */
-	public static final int GL_AMBIENT = 0x1200;
-	public static final int GL_DIFFUSE = 0x1201;
-	public static final int GL_SPECULAR = 0x1202;
-	public static final int GL_POSITION = 0x1203;
-	public static final int GL_SPOT_DIRECTION = 0x1204;
-	public static final int GL_SPOT_EXPONENT = 0x1205;
-	public static final int GL_SPOT_CUTOFF = 0x1206;
-	public static final int GL_CONSTANT_ATTENUATION = 0x1207;
-	public static final int GL_LINEAR_ATTENUATION = 0x1208;
-	public static final int GL_QUADRATIC_ATTENUATION = 0x1209;
-
-	/* InterleavedArrays */
-	/*      GL_V2F */
-	/*      GL_V3F */
-	/*      GL_C4UB_V2F */
-	/*      GL_C4UB_V3F */
-	/*      GL_C3F_V3F */
-	/*      GL_N3F_V3F */
-	/*      GL_C4F_N3F_V3F */
-	/*      GL_T2F_V3F */
-	/*      GL_T4F_V4F */
-	/*      GL_T2F_C4UB_V3F */
-	/*      GL_T2F_C3F_V3F */
-	/*      GL_T2F_N3F_V3F */
-	/*      GL_T2F_C4F_N3F_V3F */
-	/*      GL_T4F_C4F_N3F_V4F */
-
-	/* ListMode */
-	public static final int GL_COMPILE = 0x1300;
-	public static final int GL_COMPILE_AND_EXECUTE = 0x1301;
-
-	/* ListNameType */
-	/*      GL_BYTE */
-	/*      GL_UNSIGNED_BYTE */
-	/*      GL_SHORT */
-	/*      GL_UNSIGNED_SHORT */
-	/*      GL_INT */
-	/*      GL_UNSIGNED_INT */
-	/*      GL_FLOAT */
-	/*      GL_2_BYTES */
-	/*      GL_3_BYTES */
-	/*      GL_4_BYTES */
-
-	/* LogicOp */
-	public static final int GL_CLEAR = 0x1500;
-	public static final int GL_AND = 0x1501;
-	public static final int GL_AND_REVERSE = 0x1502;
-	public static final int GL_COPY = 0x1503;
-	public static final int GL_AND_INVERTED = 0x1504;
-	public static final int GL_NOOP = 0x1505;
-	public static final int GL_XOR = 0x1506;
-	public static final int GL_OR = 0x1507;
-	public static final int GL_NOR = 0x1508;
-	public static final int GL_EQUIV = 0x1509;
-	public static final int GL_INVERT = 0x150A;
-	public static final int GL_OR_REVERSE = 0x150B;
-	public static final int GL_COPY_INVERTED = 0x150C;
-	public static final int GL_OR_INVERTED = 0x150D;
-	public static final int GL_NAND = 0x150E;
-	public static final int GL_SET = 0x150F;
-
-	/* MapTarget */
-	/*      GL_MAP1_COLOR_4 */
-	/*      GL_MAP1_INDEX */
-	/*      GL_MAP1_NORMAL */
-	/*      GL_MAP1_TEXTURE_COORD_1 */
-	/*      GL_MAP1_TEXTURE_COORD_2 */
-	/*      GL_MAP1_TEXTURE_COORD_3 */
-	/*      GL_MAP1_TEXTURE_COORD_4 */
-	/*      GL_MAP1_VERTEX_3 */
-	/*      GL_MAP1_VERTEX_4 */
-	/*      GL_MAP2_COLOR_4 */
-	/*      GL_MAP2_INDEX */
-	/*      GL_MAP2_NORMAL */
-	/*      GL_MAP2_TEXTURE_COORD_1 */
-	/*      GL_MAP2_TEXTURE_COORD_2 */
-	/*      GL_MAP2_TEXTURE_COORD_3 */
-	/*      GL_MAP2_TEXTURE_COORD_4 */
-	/*      GL_MAP2_VERTEX_3 */
-	/*      GL_MAP2_VERTEX_4 */
-
-	/* MaterialFace */
-	/*      GL_FRONT */
-	/*      GL_BACK */
-	/*      GL_FRONT_AND_BACK */
-
-	/* MaterialParameter */
-	public static final int GL_EMISSION = 0x1600;
-	public static final int GL_SHININESS = 0x1601;
-	public static final int GL_AMBIENT_AND_DIFFUSE = 0x1602;
-	public static final int GL_COLOR_INDEXES = 0x1603;
-	/*      GL_AMBIENT */
-	/*      GL_DIFFUSE */
-	/*      GL_SPECULAR */
-
-	/* MatrixMode */
-	public static final int GL_MODELVIEW = 0x1700;
-	public static final int GL_PROJECTION = 0x1701;
-	public static final int GL_TEXTURE = 0x1702;
-
-	/* MeshMode1 */
-	/*      GL_POINT */
-	/*      GL_LINE */
-
-	/* MeshMode2 */
-	/*      GL_POINT */
-	/*      GL_LINE */
-	/*      GL_FILL */
-
-	/* NormalPointerType */
-	/*      GL_BYTE */
-	/*      GL_SHORT */
-	/*      GL_INT */
-	/*      GL_FLOAT */
-	/*      GL_DOUBLE */
-
-	/* PixelCopyType */
-	public static final int GL_COLOR = 0x1800;
-	public static final int GL_DEPTH = 0x1801;
-	public static final int GL_STENCIL = 0x1802;
-
-	/* PixelFormat */
-	public static final int GL_COLOR_INDEX = 0x1900;
-	public static final int GL_STENCIL_INDEX = 0x1901;
-	public static final int GL_DEPTH_COMPONENT = 0x1902;
-	public static final int GL_RED = 0x1903;
-	public static final int GL_GREEN = 0x1904;
-	public static final int GL_BLUE = 0x1905;
-	public static final int GL_ALPHA = 0x1906;
-	public static final int GL_RGB = 0x1907;
-	public static final int GL_RGBA = 0x1908;
-	public static final int GL_LUMINANCE = 0x1909;
-	public static final int GL_LUMINANCE_ALPHA = 0x190A;
-
-	/* PixelMap */
-	/*      GL_PIXEL_MAP_I_TO_I */
-	/*      GL_PIXEL_MAP_S_TO_S */
-	/*      GL_PIXEL_MAP_I_TO_R */
-	/*      GL_PIXEL_MAP_I_TO_G */
-	/*      GL_PIXEL_MAP_I_TO_B */
-	/*      GL_PIXEL_MAP_I_TO_A */
-	/*      GL_PIXEL_MAP_R_TO_R */
-	/*      GL_PIXEL_MAP_G_TO_G */
-	/*      GL_PIXEL_MAP_B_TO_B */
-	/*      GL_PIXEL_MAP_A_TO_A */
-
-	/* PixelStore */
-	/*      GL_UNPACK_SWAP_BYTES */
-	/*      GL_UNPACK_LSB_FIRST */
-	/*      GL_UNPACK_ROW_LENGTH */
-	/*      GL_UNPACK_SKIP_ROWS */
-	/*      GL_UNPACK_SKIP_PIXELS */
-	/*      GL_UNPACK_ALIGNMENT */
-	/*      GL_PACK_SWAP_BYTES */
-	/*      GL_PACK_LSB_FIRST */
-	/*      GL_PACK_ROW_LENGTH */
-	/*      GL_PACK_SKIP_ROWS */
-	/*      GL_PACK_SKIP_PIXELS */
-	/*      GL_PACK_ALIGNMENT */
-
-	/* PixelTransfer */
-	/*      GL_MAP_COLOR */
-	/*      GL_MAP_STENCIL */
-	/*      GL_INDEX_SHIFT */
-	/*      GL_INDEX_OFFSET */
-	/*      GL_RED_SCALE */
-	/*      GL_RED_BIAS */
-	/*      GL_GREEN_SCALE */
-	/*      GL_GREEN_BIAS */
-	/*      GL_BLUE_SCALE */
-	/*      GL_BLUE_BIAS */
-	/*      GL_ALPHA_SCALE */
-	/*      GL_ALPHA_BIAS */
-	/*      GL_DEPTH_SCALE */
-	/*      GL_DEPTH_BIAS */
-
-	/* PixelType */
-	public static final int GL_BITMAP = 0x1A00;
-	/*      GL_BYTE */
-	/*      GL_UNSIGNED_BYTE */
-	/*      GL_SHORT */
-	/*      GL_UNSIGNED_SHORT */
-	/*      GL_INT */
-	/*      GL_UNSIGNED_INT */
-	/*      GL_FLOAT */
-
-	/* PolygonMode */
-	public static final int GL_POINT = 0x1B00;
-	public static final int GL_LINE = 0x1B01;
-	public static final int GL_FILL = 0x1B02;
-
-	/* ReadBufferMode */
-	/*      GL_FRONT_LEFT */
-	/*      GL_FRONT_RIGHT */
-	/*      GL_BACK_LEFT */
-	/*      GL_BACK_RIGHT */
-	/*      GL_FRONT */
-	/*      GL_BACK */
-	/*      GL_LEFT */
-	/*      GL_RIGHT */
-	/*      GL_AUX0 */
-	/*      GL_AUX1 */
-	/*      GL_AUX2 */
-	/*      GL_AUX3 */
-
-	/* RenderingMode */
-	public static final int GL_RENDER = 0x1C00;
-	public static final int GL_FEEDBACK = 0x1C01;
-	public static final int GL_SELECT = 0x1C02;
-
-	/* ShadingModel */
-	public static final int GL_FLAT = 0x1D00;
-	public static final int GL_SMOOTH = 0x1D01;
-
-	/* StencilFunction */
-	/*      GL_NEVER */
-	/*      GL_LESS */
-	/*      GL_EQUAL */
-	/*      GL_LEQUAL */
-	/*      GL_GREATER */
-	/*      GL_NOTEQUAL */
-	/*      GL_GEQUAL */
-	/*      GL_ALWAYS */
-
-	/* StencilOp */
-	/*      GL_ZERO */
-	public static final int GL_KEEP = 0x1E00;
-	public static final int GL_REPLACE = 0x1E01;
-	public static final int GL_INCR = 0x1E02;
-	public static final int GL_DECR = 0x1E03;
-	/*      GL_INVERT */
-
-	/* StringName */
-	public static final int GL_VENDOR = 0x1F00;
-	public static final int GL_RENDERER = 0x1F01;
-	public static final int GL_VERSION = 0x1F02;
-	public static final int GL_EXTENSIONS = 0x1F03;
-
-	/* TextureCoordName */
-	public static final int GL_S = 0x2000;
-	public static final int GL_T = 0x2001;
-	public static final int GL_R = 0x2002;
-	public static final int GL_Q = 0x2003;
-
-	/* TexCoordPointerType */
-	/*      GL_SHORT */
-	/*      GL_INT */
-	/*      GL_FLOAT */
-	/*      GL_DOUBLE */
-
-	/* TextureEnvMode */
-	public static final int GL_MODULATE = 0x2100;
-	public static final int GL_DECAL = 0x2101;
-	/*      GL_BLEND */
-	/*      GL_REPLACE */
-
-	/* TextureEnvParameter */
-	public static final int GL_TEXTURE_ENV_MODE = 0x2200;
-	public static final int GL_TEXTURE_ENV_COLOR = 0x2201;
-
-	/* TextureEnvTarget */
-	public static final int GL_TEXTURE_ENV = 0x2300;
-
-	/* TextureGenMode */
-	public static final int GL_EYE_LINEAR = 0x2400;
-	public static final int GL_OBJECT_LINEAR = 0x2401;
-	public static final int GL_SPHERE_MAP = 0x2402;
-
-	/* TextureGenParameter */
-	public static final int GL_TEXTURE_GEN_MODE = 0x2500;
-	public static final int GL_OBJECT_PLANE = 0x2501;
-	public static final int GL_EYE_PLANE = 0x2502;
-
-	/* TextureMagFilter */
-	public static final int GL_NEAREST = 0x2600;
-	public static final int GL_LINEAR = 0x2601;
-
-	/* TextureMinFilter */
-	/*      GL_NEAREST */
-	/*      GL_LINEAR */
-	public static final int GL_NEAREST_MIPMAP_NEAREST = 0x2700;
-	public static final int GL_LINEAR_MIPMAP_NEAREST = 0x2701;
-	public static final int GL_NEAREST_MIPMAP_LINEAR = 0x2702;
-	public static final int GL_LINEAR_MIPMAP_LINEAR = 0x2703;
-
-	/* TextureParameterName */
-	public static final int GL_TEXTURE_MAG_FILTER = 0x2800;
-	public static final int GL_TEXTURE_MIN_FILTER = 0x2801;
-	public static final int GL_TEXTURE_WRAP_S = 0x2802;
-	public static final int GL_TEXTURE_WRAP_T = 0x2803;
-	/*      GL_TEXTURE_BORDER_COLOR */
-	/*      GL_TEXTURE_PRIORITY */
-
-	/* TextureTarget */
-	/*      GL_TEXTURE_1D */
-	/*      GL_TEXTURE_2D */
-	/*      GL_PROXY_TEXTURE_1D */
-	/*      GL_PROXY_TEXTURE_2D */
-
-	/* TextureWrapMode */
-	public static final int GL_CLAMP = 0x2900;
-	public static final int GL_REPEAT = 0x2901;
-
-	/* VertexPointerType */
-	/*      GL_SHORT */
-	/*      GL_INT */
-	/*      GL_FLOAT */
-	/*      GL_DOUBLE */
-
-	/* ClientAttribMask */
-	public static final int GL_CLIENT_PIXEL_STORE_BIT = 0x00000001;
-	public static final int GL_CLIENT_VERTEX_ARRAY_BIT = 0x00000002;
-	public static final int GL_CLIENT_ALL_ATTRIB_BITS = 0xffffffff;
-
-	/* polygon_offset */
-	public static final int GL_POLYGON_OFFSET_FACTOR = 0x8038;
-	public static final int GL_POLYGON_OFFSET_UNITS = 0x2A00;
-	public static final int GL_POLYGON_OFFSET_POINT = 0x2A01;
-	public static final int GL_POLYGON_OFFSET_LINE = 0x2A02;
-	public static final int GL_POLYGON_OFFSET_FILL = 0x8037;
-
-	/* texture */
-	public static final int GL_ALPHA4 = 0x803B;
-	public static final int GL_ALPHA8 = 0x803C;
-	public static final int GL_ALPHA12 = 0x803D;
-	public static final int GL_ALPHA16 = 0x803E;
-	public static final int GL_LUMINANCE4 = 0x803F;
-	public static final int GL_LUMINANCE8 = 0x8040;
-	public static final int GL_LUMINANCE12 = 0x8041;
-	public static final int GL_LUMINANCE16 = 0x8042;
-	public static final int GL_LUMINANCE4_ALPHA4 = 0x8043;
-	public static final int GL_LUMINANCE6_ALPHA2 = 0x8044;
-	public static final int GL_LUMINANCE8_ALPHA8 = 0x8045;
-	public static final int GL_LUMINANCE12_ALPHA4 = 0x8046;
-	public static final int GL_LUMINANCE12_ALPHA12 = 0x8047;
-	public static final int GL_LUMINANCE16_ALPHA16 = 0x8048;
-	public static final int GL_INTENSITY = 0x8049;
-	public static final int GL_INTENSITY4 = 0x804A;
-	public static final int GL_INTENSITY8 = 0x804B;
-	public static final int GL_INTENSITY12 = 0x804C;
-	public static final int GL_INTENSITY16 = 0x804D;
-	public static final int GL_R3_G3_B2 = 0x2A10;
-	public static final int GL_RGB4 = 0x804F;
-	public static final int GL_RGB5 = 0x8050;
-	public static final int GL_RGB8 = 0x8051;
-	public static final int GL_RGB10 = 0x8052;
-	public static final int GL_RGB12 = 0x8053;
-	public static final int GL_RGB16 = 0x8054;
-	public static final int GL_RGBA2 = 0x8055;
-	public static final int GL_RGBA4 = 0x8056;
-	public static final int GL_RGB5_A1 = 0x8057;
-	public static final int GL_RGBA8 = 0x8058;
-	public static final int GL_RGB10_A2 = 0x8059;
-	public static final int GL_RGBA12 = 0x805A;
-	public static final int GL_RGBA16 = 0x805B;
-	public static final int GL_TEXTURE_RED_SIZE = 0x805C;
-	public static final int GL_TEXTURE_GREEN_SIZE = 0x805D;
-	public static final int GL_TEXTURE_BLUE_SIZE = 0x805E;
-	public static final int GL_TEXTURE_ALPHA_SIZE = 0x805F;
-	public static final int GL_TEXTURE_LUMINANCE_SIZE = 0x8060;
-	public static final int GL_TEXTURE_INTENSITY_SIZE = 0x8061;
-	public static final int GL_PROXY_TEXTURE_1D = 0x8063;
-	public static final int GL_PROXY_TEXTURE_2D = 0x8064;
-
-	/* texture_object */
-	public static final int GL_TEXTURE_PRIORITY = 0x8066;
-	public static final int GL_TEXTURE_RESIDENT = 0x8067;
-	public static final int GL_TEXTURE_BINDING_1D = 0x8068;
-	public static final int GL_TEXTURE_BINDING_2D = 0x8069;
-
-	/* vertex_array */
-	public static final int GL_VERTEX_ARRAY = 0x8074;
-	public static final int GL_NORMAL_ARRAY = 0x8075;
-	public static final int GL_COLOR_ARRAY = 0x8076;
-	public static final int GL_INDEX_ARRAY = 0x8077;
-	public static final int GL_TEXTURE_COORD_ARRAY = 0x8078;
-	public static final int GL_EDGE_FLAG_ARRAY = 0x8079;
-	public static final int GL_VERTEX_ARRAY_SIZE = 0x807A;
-	public static final int GL_VERTEX_ARRAY_TYPE = 0x807B;
-	public static final int GL_VERTEX_ARRAY_STRIDE = 0x807C;
-	public static final int GL_NORMAL_ARRAY_TYPE = 0x807E;
-	public static final int GL_NORMAL_ARRAY_STRIDE = 0x807F;
-	public static final int GL_COLOR_ARRAY_SIZE = 0x8081;
-	public static final int GL_COLOR_ARRAY_TYPE = 0x8082;
-	public static final int GL_COLOR_ARRAY_STRIDE = 0x8083;
-	public static final int GL_INDEX_ARRAY_TYPE = 0x8085;
-	public static final int GL_INDEX_ARRAY_STRIDE = 0x8086;
-	public static final int GL_TEXTURE_COORD_ARRAY_SIZE = 0x8088;
-	public static final int GL_TEXTURE_COORD_ARRAY_TYPE = 0x8089;
-	public static final int GL_TEXTURE_COORD_ARRAY_STRIDE = 0x808A;
-	public static final int GL_EDGE_FLAG_ARRAY_STRIDE = 0x808C;
-	public static final int GL_VERTEX_ARRAY_POINTER = 0x808E;
-	public static final int GL_NORMAL_ARRAY_POINTER = 0x808F;
-	public static final int GL_COLOR_ARRAY_POINTER = 0x8090;
-	public static final int GL_INDEX_ARRAY_POINTER = 0x8091;
-	public static final int GL_TEXTURE_COORD_ARRAY_POINTER = 0x8092;
-	public static final int GL_EDGE_FLAG_ARRAY_POINTER = 0x8093;
-	public static final int GL_V2F = 0x2A20;
-	public static final int GL_V3F = 0x2A21;
-	public static final int GL_C4UB_V2F = 0x2A22;
-	public static final int GL_C4UB_V3F = 0x2A23;
-	public static final int GL_C3F_V3F = 0x2A24;
-	public static final int GL_N3F_V3F = 0x2A25;
-	public static final int GL_C4F_N3F_V3F = 0x2A26;
-	public static final int GL_T2F_V3F = 0x2A27;
-	public static final int GL_T4F_V4F = 0x2A28;
-	public static final int GL_T2F_C4UB_V3F = 0x2A29;
-	public static final int GL_T2F_C3F_V3F = 0x2A2A;
-	public static final int GL_T2F_N3F_V3F = 0x2A2B;
-	public static final int GL_T2F_C4F_N3F_V3F = 0x2A2C;
-	public static final int GL_T4F_C4F_N3F_V4F = 0x2A2D;
-
-	/* Extensions */
-	public static final int GL_EXT_vertex_array = 1;
-	public static final int GL_EXT_bgra = 1;
-	public static final int GL_EXT_paletted_texture = 1;
-	public static final int GL_WIN_swap_hint = 1;
-	public static final int GL_WIN_draw_range_elements = 1;
-	// public static final int GL_WIN_phong_shading              = 1;
-	// public static final int GL_WIN_specular_fog               = 1;
-
-	/* EXT_vertex_array */
-	public static final int GL_VERTEX_ARRAY_EXT = 0x8074;
-	public static final int GL_NORMAL_ARRAY_EXT = 0x8075;
-	public static final int GL_COLOR_ARRAY_EXT = 0x8076;
-	public static final int GL_INDEX_ARRAY_EXT = 0x8077;
-	public static final int GL_TEXTURE_COORD_ARRAY_EXT = 0x8078;
-	public static final int GL_EDGE_FLAG_ARRAY_EXT = 0x8079;
-	public static final int GL_VERTEX_ARRAY_SIZE_EXT = 0x807A;
-	public static final int GL_VERTEX_ARRAY_TYPE_EXT = 0x807B;
-	public static final int GL_VERTEX_ARRAY_STRIDE_EXT = 0x807C;
-	public static final int GL_VERTEX_ARRAY_COUNT_EXT = 0x807D;
-	public static final int GL_NORMAL_ARRAY_TYPE_EXT = 0x807E;
-	public static final int GL_NORMAL_ARRAY_STRIDE_EXT = 0x807F;
-	public static final int GL_NORMAL_ARRAY_COUNT_EXT = 0x8080;
-	public static final int GL_COLOR_ARRAY_SIZE_EXT = 0x8081;
-	public static final int GL_COLOR_ARRAY_TYPE_EXT = 0x8082;
-	public static final int GL_COLOR_ARRAY_STRIDE_EXT = 0x8083;
-	public static final int GL_COLOR_ARRAY_COUNT_EXT = 0x8084;
-	public static final int GL_INDEX_ARRAY_TYPE_EXT = 0x8085;
-	public static final int GL_INDEX_ARRAY_STRIDE_EXT = 0x8086;
-	public static final int GL_INDEX_ARRAY_COUNT_EXT = 0x8087;
-	public static final int GL_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088;
-	public static final int GL_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089;
-	public static final int GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A;
-	public static final int GL_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B;
-	public static final int GL_EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C;
-	public static final int GL_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D;
-	public static final int GL_VERTEX_ARRAY_POINTER_EXT = 0x808E;
-	public static final int GL_NORMAL_ARRAY_POINTER_EXT = 0x808F;
-	public static final int GL_COLOR_ARRAY_POINTER_EXT = 0x8090;
-	public static final int GL_INDEX_ARRAY_POINTER_EXT = 0x8091;
-	public static final int GL_TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092;
-	public static final int GL_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093;
-	public static final int GL_DOUBLE_EXT = GL_DOUBLE;
-
-	/* EXT_bgra */
-	public static final int GL_BGR_EXT = 0x80E0;
-	public static final int GL_BGRA_EXT = 0x80E1;
-
-	/* EXT_paletted_texture */
-
-	/* These must match the GL_COLOR_TABLE_*_SGI enumerants */
-	public static final int GL_COLOR_TABLE_FORMAT_EXT = 0x80D8;
-	public static final int GL_COLOR_TABLE_WIDTH_EXT = 0x80D9;
-	public static final int GL_COLOR_TABLE_RED_SIZE_EXT = 0x80DA;
-	public static final int GL_COLOR_TABLE_GREEN_SIZE_EXT = 0x80DB;
-	public static final int GL_COLOR_TABLE_BLUE_SIZE_EXT = 0x80DC;
-	public static final int GL_COLOR_TABLE_ALPHA_SIZE_EXT = 0x80DD;
-	public static final int GL_COLOR_TABLE_LUMINANCE_SIZE_EXT = 0x80DE;
-	public static final int GL_COLOR_TABLE_INTENSITY_SIZE_EXT = 0x80DF;
-
-	public static final int GL_COLOR_INDEX1_EXT = 0x80E2;
-	public static final int GL_COLOR_INDEX2_EXT = 0x80E3;
-	public static final int GL_COLOR_INDEX4_EXT = 0x80E4;
-	public static final int GL_COLOR_INDEX8_EXT = 0x80E5;
-	public static final int GL_COLOR_INDEX12_EXT = 0x80E6;
-	public static final int GL_COLOR_INDEX16_EXT = 0x80E7;
-
-	/* WIN_draw_range_elements */
-	public static final int GL_MAX_ELEMENTS_VERTICES_WIN = 0x80E8;
-	public static final int GL_MAX_ELEMENTS_INDICES_WIN = 0x80E9;
-
-	/* WIN_phong_shading */
-	public static final int GL_PHONG_WIN = 0x80EA;
-	public static final int GL_PHONG_HINT_WIN = 0x80EB;
-
-	/* WIN_specular_fog */
-	public static final int GL_FOG_SPECULAR_TEXTURE_WIN = 0x80EC;
-
-	/* For compatibility with OpenGL v1.0 */
-	public static final int GL_LOGIC_OP = GL_INDEX_LOGIC_OP;
-	public static final int GL_TEXTURE_COMPONENTS = GL_TEXTURE_INTERNAL_FORMAT;
-
-	public static final native void glAccum (int op, float value);
-	public static final native void glAlphaFunc (int func, float ref);
-	public static final native boolean glAreTexturesResident (int n, int[] textures, boolean[] residences);
-	public static final native void glArrayElement (int index);
-	public static final native int glBegin (int mode);
-	public static final native int glEnd ();
-	public static final native void glBindTexture (int target, int texture);
-	public static final native void glBitmap (int width, int height, float xorig, float yorig, float xmove, float ymove, byte[] bitmap);
-	public static final native void glBlendFunc (int sfactor, int dfactor);
-	public static final native void glCallList (int list);
-	public static final native void glCallLists (int n, int type, byte[] lists);
-	public static final native void glCallLists (int n, int type, char[] lists);
-	public static final native void glCallLists (int n, int type, int[] lists);
-	public static final native void glClear (int mask);
-	public static final native void glClearAccum (float red, float green, float blue, float alpha);
-	public static final native void glClearColor (float red, float green, float blue, float alpha);
-	public static final native void glClearDepth (double depth);
-	public static final native void glClearIndex (float c);
-	public static final native void glClearStencil (int s);
-	public static final native void glClipPlane (int plane, double[] equation);
-	public static final native void glColor3b (byte red, byte green, byte blue);
-	public static final native void glColor3d (double red, double green, double blue);
-	public static final native void glColor3f (float red, float green, float blue);
-	public static final native void glColor3i (int red, int green, int blue);
-	public static final native void glColor3s (short red, short green, short blue);
-	public static final native void glColor3ub (byte red, byte green, byte blue);
-	public static final native void glColor3ui (int red, int green, int blue);
-	public static final native void glColor3us (short red, short green, short blue);
-	public static final native void glColor4b (byte red, byte green, byte blue, byte alpha);
-	public static final native void glColor4d (double red, double green, double blue, double alpha);
-	public static final native void glColor4f (float red, float green, float blue, float alpha);
-	public static final native void glColor4i (int red, int green, int blue, int alpha);
-	public static final native void glColor4s (short red, short green, short blue, short alpha);
-	public static final native void glColor4ub (byte red, byte green, byte blue, byte alpha);
-	public static final native void glColor4ui (int red, int green, int blue, int alpha);
-	public static final native void glColor4us (short red, short green, short blue, short alpha);
-	public static final native void glColor3bv (byte[] v);
-	public static final native void glColor3dv (double[] v);
-	public static final native void glColor3fv (float[] v);
-	public static final native void glColor3iv (int[] v);
-	public static final native void glColor3sv (short[] v);
-	public static final native void glColor3ubv (byte[] v);
-	public static final native void glColor3uiv (int[] v);
-	public static final native void glColor3usv (short[] v);
-	public static final native void glColor4bv (byte[] v);
-	public static final native void glColor4dv (double[] v);
-	public static final native void glColor4fv (float[] v);
-	public static final native void glColor4iv (int[] v);
-	public static final native void glColor4ubv (byte[] v);
-	public static final native void glColor4uiv (int[] v);
-	public static final native void glColor4usv (short[] v);
-	public static final native void glColor4ubv (short[] v);
-	public static final native void glColorMask (boolean red, boolean green, boolean blue, boolean alpha);
-	public static final native void glColorMaterial (int face, int mode);
-	public static final native void glColorPointer (int size, int type, int stride, int[] pointer);
-	//public static final native void glColorTableEXT (int target, int internalFormat, int width, int format, int type, int[] data);
-	//public static final native void glColorSubTableEXT (int target, int start, int count, int format, int type, int[] data);
-	public static final native void glCopyPixels (int x, int y, int width, int height, int type);
-	public static final native void glCopyTexImage1D (int target, int level, int internalFormat, int x, int y, int width, int border);
-	public static final native void glCopyTexImage2D (int target, int level, int internalFormat, int x, int y, int width, int height, int border);
-	public static final native void glCopyTexSubImage1D (int target, int level, int xoffset, int x, int y, int width); 
-	public static final native void glCopyTexSubImage2D (int target, int level, int xoffset, int yoffset, int x, int y, int width, int height);
-	public static final native void glCullFace (int mode);
-	public static final native void glDeleteLists (int list, int range);
-	public static final native void glDeleteTextures (int n, int[] textures);
-	public static final native void glDepthFunc (int func);
-	public static final native void glDepthMask (boolean flag);
-	public static final native void glDepthRange (double znear, double zfar);
-	public static final native void glDrawArrays (int mode, int first, int count);
-	public static final native void glDrawBuffer (int mode);
-	public static final native void glDrawElements (int mode, int count, int type, int[] indices); /* MULTIPLES TYPES */
-	public static final native void glDrawPixels (int width, int height, int format, int type, int[] pixels); /* MULTIPLES TYPES */
-	public static final native void glEdgeFlag (boolean flag);
-	public static final native void glEdgeFlagv (boolean[] flag);
-	public static final native void glEdgeFlagPointer (int stride, boolean[] pointer);
-	public static final native void glEnable (int cap);
-	public static final native void glDisable (int cap);
-	public static final native void glEnableClientState (int array);
-	public static final native void glDisableClientState (int array);
-	public static final native void glEvalCoord1d (double u);
-	public static final native void glEvalCoord1f (float u);
-	public static final native void glEvalCoord2d (double u, double v);
-	public static final native void glEvalCoord2f (float u, float v);
-	public static final native void glEvalCoord1dv (double[] u);
-	public static final native void glEvalCoord1fv (float[] u);
-	public static final native void glEvalCoord2dv (double[] u);
-	public static final native void glEvalCoord2fv (float[] u);
-	public static final native void glEvalMesh1 (int mode, int i1, int i2);
-	public static final native void glEvalMesh2 (int mode, int i1, int i2, int j1, int j2);
-	public static final native void glEvalPoint1 (int i);
-	public static final native void glEvalPoint2 (int i, int j);
-	public static final native void glFeedbackBuffer (int size, int type, float[] buffer);
-	public static final native void glFinish ();
-	public static final native void glFlush ();
-	public static final native void glFogf (int pname, float param);
-	public static final native void glFogi (int pname, int param);
-	public static final native void glFogfv (int pname, float[] params);
-	public static final native void glFogiv (int pname, int[] params);
-	public static final native void glFrontFace (int mode);
-	public static final native void glFrustum (double left, double right, double bottom, double top, double znear, double zfar);
-	public static final native int glGenLists (int range);
-	public static final native void glGenTextures (int n, int[] textures);
-	public static final native void glGetBooleanv (int pname, boolean[] params);
-	public static final native void glGetDoublev (int pname, double[] params);
-	public static final native void glGetFloatv (int pname, float[] params);
-	public static final native void glGetIntegerv (int pname, int[] params);
-	public static final native void glGetClipPlane (int plane, double[] equation);
-	//public static final native void glGetColorTableEXT (int target, int format, int type, int[] data);
-	//public static final native void glGetColorTableParameterfvEXT (int target, int pname, float[] params);
-	//public static final native void glGetColorTableParameterivEXT (int target, int pname, int[] params);
-	public static final native int glGetError ();
-	public static final native void glGetLightfv (int light, int pname, float[] params);
-	public static final native void glGetLightiv (int light, int pname, int[] params);
-	public static final native void glGetMapdv (int tagert, int query, double[] v);
-	public static final native void glGetMapfv (int tagert, int query, float[] v);
-	public static final native void glGetMapiv (int tagert, int query, int[] v);
-	public static final native void glGetMaterialfv (int face, int pname, float[] params);
-	public static final native void glGetMaterialiv (int face, int pname, int[] params);
-	public static final native void glGetPixelMapfv (int map, float[] values);
-	public static final native void glGetPixelMapuiv (int map, int[] values);
-	public static final native void glGetPixelMapusv (int map, short[] values);
-	public static final native void glGetPointerv (int pname, int[] params);
-	/* TEST */
-	public static final native void glGetPolygonStipple (byte[] mask);
-	public static final native int glGetString (int name);
-	/* SHOULD RETURN A STRING */
-	public static final native void glGetTexEnvfv (int target, int pname, float[] params);
-	public static final native void glGetTexEnviv (int target, int pname, int[] params);
-	public static final native void glGetTexGendv (int coord, int pname, double[] params);
-	public static final native void glGetTexGenfv (int coord, int pname, float[] params);
-	public static final native void glGetTexGeniv (int coord, int pname, int[] params);
-	public static final native void glGetTexImage (int target, int level, int format, int type, int[] pixels); /* MULTIPLES TYPES ARRAY */
-	public static final native void glGetTexLevelParameterfv (int target, int level, int pname, float[] params);
-	public static final native void glGetTexLevelParameteriv (int target, int level, int pname, int[] params);
-	public static final native void glGetTexParameterfv (int target, int pname, float[] params);
-	public static final native void glGetTexParameteriv (int target, int pname, int[] params);
-	public static final native void glHint (int target, int mode);
-	public static final native void glIndexd (double c);
-	public static final native void glIndexf (float c);
-	public static final native void glIndexi (int c);
-	public static final native void glIndexs (short c);
-	public static final native void glIndexdv (double[] c);
-	public static final native void glIndexfv (float[] c);
-	public static final native void glIndexiv (int[] c);
-	public static final native void glIndexsv (short[] c);
-	public static final native void glIndexMask (int mask);
-	public static final native void glIndexPointer (int type, int stride, int[] pointer);
-	/* MULTIPLES TYPES */
-	public static final native void glInitNames ();
-	public static final native void glInterleavedArrays (int format, int stride, int[] pointer);
-	/* CHECK */
-	public static final native boolean glIsEnabled (int cap);
-	public static final native boolean glIsList (int list);
-	public static final native boolean glIsTexture (int texture);
-	public static final native void glLightf (int light, int pname, float param);
-	public static final native void glLighti (int light, int pname, int param);
-	public static final native void glLightfv (int light, int pname, float[] param);
-	//public static final native void glLightfv (int light, int pname, int param);
-	public static final native void glLightiv (int light, int pname, int[] param);
-	public static final native void glLightModelf (int pname, float param);
-	public static final native void glLightModeli (int pname, int param);
-	public static final native void glLightModelfv (int pname, float[] param);
-	public static final native void glLightModeliv (int pname, int[] param);
-	public static final native void glLineStipple (int factor, short pattern);
-	public static final native void glLineWidth (float width);
-	public static final native void glListBase (int base);
-	public static final native void glLoadIdentity ();
-	public static final native void glLoadMatrixd (double[] m);
-	public static final native void glLoadMatrixf (float[] m);
-	public static final native void glLoadName (int name);
-	public static final native void glLogicOp (int opcode);
-	public static final native void glMap1d (int target, double u1, double u2, int stride, int order, double[] points);
-	public static final native void glMap1f (int target, float u1, float u2, int stride, int order, float[] points);
-	public static final native void glMap2d (int target, double u1, double u2, int ustride, int uorder, double v1, double v2, int vstride, int vorder, double[] points);
-	public static final native void glMap2f (int target, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, float[] points);
-	public static final native void glMapGrid1d (int un, double u1, double u2);
-	public static final native void glMapGrid1f (int un, float u1, float u2);
-	public static final native void glMapGrid2d (int un, double u1, double u2, int vm, double v1, double v2);
-	public static final native void glMapGrid2f (int un, float u1, float u2, int vm, float v1, float v2);
-	public static final native void glMaterialf (int face, int pname, float param);
-	public static final native void glMateriali (int face, int pname, int param);
-	public static final native void glMaterialfv (int face, int pname, float[] param);
-	public static final native void glMaterialiv (int face, int pname, int[] param);
-	public static final native void glMatrixMode (int mode);
-	public static final native void glMultMatrixd (double[] m);
-	public static final native void glMultMatrixf (float[] m);
-	public static final native void glNewList (int list, int mode);
-	public static final native void glEndList ();
-	public static final native void glNormal3b (byte nx, byte ny, byte nz);
-	public static final native void glNormal3d (double nx, double ny, double nz);
-	public static final native void glNormal3f (float nx, float ny, float nz);
-	public static final native void glNormal3i (int nx, int ny, int nz);
-	public static final native void glNormal3s (short nx, short ny, short nz);
-	public static final native void glNormal3bv (byte[] v);
-	public static final native void glNormal3dv (double[] v);
-	public static final native void glNormal3fv (float[] v);
-	public static final native void glNormal3iv (int[] v);
-	public static final native void glNormal3sv (short[] v);
-	public static final native void glNormalPointer (int type, int stride, int[] pointer); /* MULTIPLES TYPES ARRAY */
-	public static final native void glOrtho (double left, double right, double bottom, double top, double znear, double zfar);
-	public static final native void glPassThrough (float token);
-	public static final native void glPixelMapfv (int map, int mapsize, float[] values);
-	public static final native void glPixelMapuiv (int map, int mapsize, int[] values);
-	public static final native void glPixelMapusv (int map, int mapsize, short[] values);
-	public static final native void glPixelStoref (int pname, float param);
-	public static final native void glPixelStorei (int pname, int param);
-	public static final native void glPixelTransferf (int pname, float param);
-	public static final native void glPixelTransferi (int pname, int param);
-	public static final native void glPixelZoom (float xfactor, float yfactor);
-	public static final native void glPointSize (float size);
-	public static final native void glPolygonMode (int face, int mode);
-	public static final native void glPolygonOffset (float factor, float units);
-	public static final native void glPolygonStipple (byte[] mask);
-	public static final native void glPrioritizeTextures (int n, int[] textures, float[] priorities);
-	public static final native void glPushAttrib (int mask);
-	public static final native void glPopAttrib ();
-	public static final native void glPushClientAttrib (int mask);
-	public static final native void glPopClientAttrib ();
-	public static final native void glPushMatrix ();
-	public static final native void glPopMatrix ();
-	public static final native void glPushName (int name);
-	public static final native void glPopName ();
-	public static final native void glRasterPos2d (double x, double y);
-	public static final native void glRasterPos2f (float x, float y);
-	public static final native void glRasterPos2i (int x, int y);
-	public static final native void glRasterPos2s (short x, short y);
-	public static final native void glRasterPos3d (double x, double y, double z);
-	public static final native void glRasterPos3f (float x, float y, float z);
-	public static final native void glRasterPos3i (int x, int y, int z);
-	public static final native void glRasterPos3s (short x, short y, short z);
-	public static final native void glRasterPos4d (double x, double y, double z, double w);
-	public static final native void glRasterPos4f (float x, float y, float z, float w);
-	public static final native void glRasterPos4i (int x, int y, int z, int w);
-	public static final native void glRasterPos4s (short x, short y, short z, short w);
-	public static final native void glRasterPos2dv (double[] v);
-	public static final native void glRasterPos2fv (float[] v);
-	public static final native void glRasterPos2iv (int[] v);
-	public static final native void glRasterPos2sv (short[] v);
-	public static final native void glRasterPos3dv (double[] v);
-	public static final native void glRasterPos3fv (float[] v);
-	public static final native void glRasterPos3iv (int[] v);
-	public static final native void glRasterPos3sv (short[] v);
-	public static final native void glRasterPos4dv (double[] v);
-	public static final native void glRasterPos4fv (float[] v);
-	public static final native void glRasterPos4iv (int[] v);
-	public static final native void glRasterPos4sv (short[] v);
-	public static final native void glReadBuffer (int mode);
-	public static final native void glReadPixels (int x, int y, int width, int height, int format, int type, int[] pixels); /* MULTIPLES TYPES ARRAY */
-	public static final native void glRectd (double x1, double y1, double x2, double y2);
-	public static final native void glRectf (float x1, float y1, float x2, float y2);
-	public static final native void glRecti (int x1, int y1, int x2, int y2);
-	public static final native void glRects (short x1, short y1, short x2, short y2);
-	public static final native void glRectdv (double[] v1, double[] v2);
-	public static final native void glRectfv (float[] v1, float[] v2);
-	public static final native void glRectiv (int[] v1, int[] v2);
-	public static final native void glRectsv (short[] v, short[] v2);
-	public static final native int glRenderMode (int mode);
-	public static final native void glRotated (double angle, double x, double y, double z);
-	public static final native void glRotatef (float angle, float x, float y, float z);
-	public static final native void glScaled (double x, double y, double z);
-	public static final native void glScalef (float x, float y, float z);
-	public static final native void glScissor (int x, int y, int width, int height);
-	//public static final native void glSelectBuffer (int size, int[] buffer);
-	public static final native void glSelectBuffer (int size, int buffer);
-	public static final native void glShadeModel (int mode);
-	public static final native void glStencilFunc (int func, int ref, int mask);
-	public static final native void glStencilMask (int mask);
-	public static final native void glStencilOp (int fail, int zfail, int zpass);
-	public static final native void glTexCoord1d (double s);
-	public static final native void glTexCoord1f (float s);
-	public static final native void glTexCoord1i (int s);
-	public static final native void glTexCoord1s (short s);
-	public static final native void glTexCoord2d (double s, double t);
-	public static final native void glTexCoord2f (float s, float t);
-	public static final native void glTexCoord2i (int s, int t);
-	public static final native void glTexCoord2s (short s, short t);
-	public static final native void glTexCoord3d (double s, double t, double r);
-	public static final native void glTexCoord3f (float s, float t, float r);
-	public static final native void glTexCoord3i (int s, int t, int r);
-	public static final native void glTexCoord3s (short s, short t, short r);
-	public static final native void glTexCoord4d (double s, double t, double r, double q);
-	public static final native void glTexCoord4f (float s, float t, float r, float q);
-	public static final native void glTexCoord4i (int s, int t, int r, int q);
-	public static final native void glTexCoord4s (short s, short t, short r, short q);
-	public static final native void glTexCoord1dv (double[] v);
-	public static final native void glTexCoord1fv (float[] v);
-	public static final native void glTexCoord1iv (int[] v);
-	public static final native void glTexCoord1sv (short[] v);
-	public static final native void glTexCoord2dv (double[] v);
-	public static final native void glTexCoord2fv (float[] v);
-	public static final native void glTexCoord2iv (int[] v);
-	public static final native void glTexCoord2sv (short[] v);
-	public static final native void glTexCoord3dv (double[] v);
-	public static final native void glTexCoord3fv (float[] v);
-	public static final native void glTexCoord3iv (int[] v);
-	public static final native void glTexCoord3sv (short[] v);
-	public static final native void glTexCoord4dv (double[] v);
-	public static final native void glTexCoord4fv (float[] v);
-	public static final native void glTexCoord4iv (int[] v);
-	public static final native void glTexCoord4sv (short[] v);
-	public static final native void glTexCoordPointer (int size, int type, int stride, int[] pointer); /*MULTIPLES ARRAYS - CHECK MSDK, COUNT PARAM MISSING */
-	public static final native void glTexEnvf (int target, int pname, float param);
-	public static final native void glTexEnvi (int target, int pname, int param);
-	public static final native void glTexEnvfv (int target, int pname, float[] params);
-	public static final native void glTexEnviv (int target, int pname, int[] params);
-	public static final native void glTexGend (int coord, int pname, double param);
-	public static final native void glTexGenf (int coord, int pname, float param);
-	public static final native void glTexGeni (int coord, int pname, int param);
-	public static final native void glTexGendv (int coord, int pname, double[] params);
-	public static final native void glTexGenfv (int coord, int pname, float[] params);
-	public static final native void glTexGeniv (int coord, int pname, int[] params);
-	public static final native void glTexImage1D (int target, int level, int internalFormat, int width, int border, int format, int type, int[] pixels); /* MULTIPLES ARRAYS */
-	public static final native void glTexImage2D (int target, int level, int internalFormat, int width, int height, int border, int format, int type, byte[] pixels); /* MULTIPLES ARRAYS */
-	public static final native void glTexParameterf (int target, int pname, float param);
-	public static final native void glTexParameteri (int target, int pname, int param);
-	public static final native void glTexParameterfv (int target, int pname, float[] params);
-	public static final native void glTexParameteriv (int target, int pname, int[] params);
-	public static final native void glTexSubImage1D (int target, int level, int xoffset, int width, int format, int type, int[] pixels); /* MULTIPLES ARRAYS */
-	public static final native void glTexSubImage2D (int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, int[] pixels); /* MULTIPLES ARRAYS */
-	public static final native void glTranslated (double x, double y, double z);
-	public static final native void glTranslatef (float x, float y, float z);
-	public static final native void glVertex2d (double x, double y);
-	public static final native void glVertex2f (float x, float y);
-	public static final native void glVertex2i (int x, int y);
-	public static final native void glVertex2s (short x, short y);
-	public static final native void glVertex3d (double x, double y, double z);
-	public static final native void glVertex3f (float x, float y, float z);
-	public static final native void glVertex3i (int x, int y, int z);
-	public static final native void glVertex3s (short x, short y, short z);
-	public static final native void glVertex4d (double x, double y, double z, double w);
-	public static final native void glVertex4f (float x, float y, float z, float w);
-	public static final native void glVertex4i (int x, int y, int z, int w);
-	public static final native void glVertex4s (short x, short y, short z, short w);
-	public static final native void glVertex2dv (double[] v);
-	public static final native void glVertex2fv (float[] v);
-	public static final native void glVertex2iv (int[] v);
-	public static final native void glVertex2sv (short[] v);
-	public static final native int glVertex3dv (double[] v);
-	public static final native int glVertex3dv (int v);
-	public static final native void glVertex3fv (float[] v);
-	public static final native void glVertex3iv (int[] v);
-	public static final native void glVertex3sv (short[] v);
-	public static final native int glVertex4dv (double[] v);
-	public static final native void glVertex4fv (float[] v);
-	public static final native void glVertex4iv (int[] v);
-	public static final native void glVertex4sv (short[] v);
-	public static final native void glVertexPointer (int size, int type, int stride, int[] pointer); /* MULTIPLES ARRAYS */
-	public static final native void glViewport (int x, int y, int width, int height);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GLU.java b/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GLU.java
deleted file mode 100644
index 2f83700..0000000
--- a/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GLU.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl;
-
-
-public class GLU {
-
-	/* Version */
-	public static final int GLU_VERSION_1_1 = 1;
-	public static final int GLU_VERSION_1_2 = 1;
-	
-	/* Errors: (return value 0 = no error) */
-	public static final int GLU_INVALID_ENUM = 100900;
-	public static final int GLU_INVALID_VALUE = 100901;
-	public static final int GLU_OUT_OF_MEMORY = 100902;
-	public static final int GLU_INCOMPATIBLE_GL_VERSION = 100903;
-	
-	/* StringName */
-	public static final int GLU_VERSION = 100800;
-	public static final int GLU_EXTENSIONS = 100801;
-	
-	
-	/****           Quadric constants               ****/
-	
-	/* QuadricNormal */
-	public static final int GLU_SMOOTH = 100000;
-	public static final int GLU_FLAT = 100001;
-	public static final int GLU_NONE = 100002;
-	
-	/* QuadricDrawStyle */
-	public static final int GLU_POINT = 100010;
-	public static final int GLU_LINE = 100011;
-	public static final int GLU_FILL = 100012;
-	public static final int GLU_SILHOUETTE = 100013;
-	
-	/* QuadricOrientation */
-	public static final int GLU_OUTSIDE = 100020;
-	public static final int GLU_INSIDE = 100021;
-	
-	/* Callback types: */
-	/*      GLU_ERROR               100103 */
-	
-	
-	/****           Tesselation constants           ****/
-	
-	public static final double GLU_TESS_MAX_COORD = 1.0e150;
-	
-	/* TessProperty */
-	public static final int GLU_TESS_WINDING_RULE = 100140;
-	public static final int GLU_TESS_BOUNDARY_ONLY = 100141;
-	public static final int GLU_TESS_TOLERANCE = 100142;
-	
-	/* TessWinding */
-	public static final int GLU_TESS_WINDING_ODD = 100130;
-	public static final int GLU_TESS_WINDING_NONZERO = 100131;
-	public static final int GLU_TESS_WINDING_POSITIVE = 100132;
-	public static final int GLU_TESS_WINDING_NEGATIVE = 100133;
-	public static final int GLU_TESS_WINDING_ABS_GEQ_TWO = 100134;
-	
-	/* TessCallback */
-	public static final int GLU_TESS_BEGIN = 100100;  /* void (CALLBACK*)(GLenum    type)  */
-	public static final int GLU_TESS_VERTEX = 100101;  /* void (CALLBACK*)(void      *data) */
-	public static final int GLU_TESS_END = 100102;  /* void (CALLBACK*)(void)            */
-	public static final int GLU_TESS_ERROR = 100103;  /* void (CALLBACK*)(GLenum    errno) */
-	public static final int GLU_TESS_EDGE_FLAG = 100104;  /* void (CALLBACK*)(GLboolean boundaryEdge)  */
-	public static final int GLU_TESS_COMBINE = 100105;  /* void (CALLBACK*)(GLdouble  coords[3],
-	                                                            void      *data[4],
-	                                                            GLfloat   weight[4],
-	                                                            void      **dataOut)     */
-	public static final int GLU_TESS_BEGIN_DATA = 100106;  /* void (CALLBACK*)(GLenum    type,  
-	                                                            void      *polygon_data) */
-	public static final int GLU_TESS_VERTEX_DATA = 100107;  /* void (CALLBACK*)(void      *data, 
-	                                                            void      *polygon_data) */
-	public static final int GLU_TESS_END_DATA = 100108;  /* void (CALLBACK*)(void      *polygon_data) */
-	public static final int GLU_TESS_ERROR_DATA = 100109;  /* void (CALLBACK*)(GLenum    errno, 
-	                                                            void      *polygon_data) */
-	public static final int GLU_TESS_EDGE_FLAG_DATA = 100110;  /* void (CALLBACK*)(GLboolean boundaryEdge,
-	                                                            void      *polygon_data) */
-	public static final int GLU_TESS_COMBINE_DATA = 100111;  /* void (CALLBACK*)(GLdouble  coords[3],
-	                                                            void      *data[4],
-	                                                            GLfloat   weight[4],
-	                                                            void      **dataOut,
-	                                                            void      *polygon_data) */
-	
-	/* TessError */
-	public static final int GLU_TESS_ERROR1 = 100151;
-	public static final int GLU_TESS_ERROR2 = 100152;
-	public static final int GLU_TESS_ERROR3 = 100153;
-	public static final int GLU_TESS_ERROR4 = 100154;
-	public static final int GLU_TESS_ERROR5 = 100155;
-	public static final int GLU_TESS_ERROR6 = 100156;
-	public static final int GLU_TESS_ERROR7 = 100157;
-	public static final int GLU_TESS_ERROR8 = 100158;
-	
-	public static final int GLU_TESS_MISSING_BEGIN_POLYGON = GLU_TESS_ERROR1;
-	public static final int GLU_TESS_MISSING_BEGIN_CONTOUR = GLU_TESS_ERROR2;
-	public static final int GLU_TESS_MISSING_END_POLYGON = GLU_TESS_ERROR3;
-	public static final int GLU_TESS_MISSING_END_CONTOUR = GLU_TESS_ERROR4;
-	public static final int GLU_TESS_COORD_TOO_LARGE = GLU_TESS_ERROR5;
-	public static final int GLU_TESS_NEED_COMBINE_CALLBACK = GLU_TESS_ERROR6;
-	
-	/****           NURBS constants                 ****/
-	
-	/* NurbsProperty */
-	public static final int GLU_AUTO_LOAD_MATRIX = 100200;
-	public static final int GLU_CULLING = 100201;
-	public static final int GLU_SAMPLING_TOLERANCE = 100203;
-	public static final int GLU_DISPLAY_MODE = 100204;
-	public static final int GLU_PARAMETRIC_TOLERANCE = 100202;
-	public static final int GLU_SAMPLING_METHOD = 100205;
-	public static final int GLU_U_STEP = 100206;
-	public static final int GLU_V_STEP = 100207;
-	
-	/* NurbsSampling */
-	public static final int GLU_PATH_LENGTH = 100215;
-	public static final int GLU_PARAMETRIC_ERROR = 100216;
-	public static final int GLU_DOMAIN_DISTANCE = 100217;
-	
-	
-	/* NurbsTrim */
-	public static final int GLU_MAP1_TRIM_2 = 100210;
-	public static final int GLU_MAP1_TRIM_3 = 100211;
-	
-	/* NurbsDisplay */
-	/*      GLU_FILL                100012 */
-	public static final int GLU_OUTLINE_POLYGON = 100240;
-	public static final int GLU_OUTLINE_PATCH = 100241;
-	
-	/* NurbsCallback */
-	/*      GLU_ERROR               100103 */
-	
-	/* NurbsErrors */
-	public static final int GLU_NURBS_ERROR1 = 100251;
-	public static final int GLU_NURBS_ERROR2 = 100252;
-	public static final int GLU_NURBS_ERROR3 = 100253;
-	public static final int GLU_NURBS_ERROR4 = 100254;
-	public static final int GLU_NURBS_ERROR5 = 100255;
-	public static final int GLU_NURBS_ERROR6 = 100256;
-	public static final int GLU_NURBS_ERROR7 = 100257;
-	public static final int GLU_NURBS_ERROR8 = 100258;
-	public static final int GLU_NURBS_ERROR9 = 100259;
-	public static final int GLU_NURBS_ERROR10 = 100260;
-	public static final int GLU_NURBS_ERROR11 = 100261;
-	public static final int GLU_NURBS_ERROR12 = 100262;
-	public static final int GLU_NURBS_ERROR13 = 100263;
-	public static final int GLU_NURBS_ERROR14 = 100264;
-	public static final int GLU_NURBS_ERROR15 = 100265;
-	public static final int GLU_NURBS_ERROR16 = 100266;
-	public static final int GLU_NURBS_ERROR17 = 100267;
-	public static final int GLU_NURBS_ERROR18 = 100268;
-	public static final int GLU_NURBS_ERROR19 = 100269;
-	public static final int GLU_NURBS_ERROR20 = 100270;
-	public static final int GLU_NURBS_ERROR21 = 100271;
-	public static final int GLU_NURBS_ERROR22 = 100272;
-	public static final int GLU_NURBS_ERROR23 = 100273;
-	public static final int GLU_NURBS_ERROR24 = 100274;
-	public static final int GLU_NURBS_ERROR25 = 100275;
-	public static final int GLU_NURBS_ERROR26 = 100276;
-	public static final int GLU_NURBS_ERROR27 = 100277;
-	public static final int GLU_NURBS_ERROR28 = 100278;
-	public static final int GLU_NURBS_ERROR29 = 100279;
-	public static final int GLU_NURBS_ERROR30 = 100280;
-	public static final int GLU_NURBS_ERROR31 = 100281;
-	public static final int GLU_NURBS_ERROR32 = 100282;
-	public static final int GLU_NURBS_ERROR33 = 100283;
-	public static final int GLU_NURBS_ERROR34 = 100284;
-	public static final int GLU_NURBS_ERROR35 = 100285;
-	public static final int GLU_NURBS_ERROR36 = 100286;
-	public static final int GLU_NURBS_ERROR37 = 100287;
-	
-	/* Contours types -- obsolete! */
-	public static final int GLU_CW = 100120;
-	public static final int GLU_CCW = 100121;
-	public static final int GLU_INTERIOR = 100122;
-	public static final int GLU_EXTERIOR = 100123;
-	public static final int GLU_UNKNOWN = 100124;
-	
-	/* Names without "TESS_" prefix */
-	public static final int GLU_BEGIN = GLU_TESS_BEGIN;
-	public static final int GLU_VERTEX = GLU_TESS_VERTEX;
-	public static final int GLU_END = GLU_TESS_END;
-	public static final int GLU_ERROR = GLU_TESS_ERROR;
-	public static final int GLU_EDGE_FLAG = GLU_TESS_EDGE_FLAG;
-	
-	
-	public static final native void gluBeginCurve (int nobj);
-	public static final native void gluEndCurve (int nobj);
-	public static final native void gluBeginPolygon (int tess);
-	public static final native void gluEndPolygon (int tess);
-	public static final native void gluBeginSurface (int nobj);
-	public static final native void gluEndSurface (int nobj);
-	public static final native void gluBeginTrim (int nobj);
-	public static final native void gluEndTrim (int nobj);
-	public static final native int gluBuild1DMipmaps (int target, int componenets, int width, int format, int type, int data); /* MULTIPLES TYPES ARRAY */
-	public static final native int gluBuild2DMipmaps (int target, int componenets, int width, int height, int format, int type, byte[] data); /* MULTIPLES TYPES ARRAY */
-	public static final native void gluCylinder (int qobj, double baseRadius, double topRadius, double height, int slices, int stacks);
-	public static final native void gluDeleteNurbsRenderer (int nobj);
-	public static final native void gluDeleteQuadric (int qobj);
-	public static final native void gluDeleteTess (int tess);
-	public static final native void gluDisk (int qobj, double innerRadius, double outerRadius, int slices, int loops);
-	public static final native int gluErrorString (int errCode);  /* SHOULD RETURN A STRING */
-	public static final native void gluGetNurbsProperty (int nobj, int property, float[] value);
-	public static final native int gluGetString (int name); /* SHOULD RETURN A STRING */
-	public static final native void gluGetTessProperty (int tess, int which, double[] value);
-	public static final native void gluLoadSamplingMatrices (int nobj, float[] modelMatrix, float[] projMatrix, int[] viewport);
-	public static final native void gluLookAt (double eyex, double eyey, double eyez, double centerx, double centery, double centerz, double upx, double upy, double upz);
-	public static final native int gluNewNurbsRenderer ();
-	public static final native int gluNewQuadric ();
-	public static final native int gluNewTess ();
-	public static final native void gluNextContour (int tess, int type);
-	public static final native void gluNurbsCallback (int nobj, int which, int fn);
-	public static final native void gluNurbsCurve (int nobj, int nknots, float[] knot, int stride, float[] ctlarray, int order, int type);
-	public static final native void gluNurbsProperty (int nobj, int property, float value);
-	public static final native void gluNurbsSurface (int nobj, int sknot_count, float[] sknot, int tknot_count, float[] tknot, int s_stride, int t_stride, float[] ctlarray, int sorder, int torder, int type);
-	public static final native void gluOrtho2D (double left, double right, double bottom, double top);
-	public static final native void gluPartialDisk (int qobj, double innerRadius, double outerRadius, int slices, int loops, double startAngle, double sweepAngle);
-	public static final native void gluPerspective (double fovy, double aspect, double zNear, double zFar);
-	public static final native void gluPickMatrix (double x, double y, double width, double height, int[] viewport);
-	public static final native int gluProject (double objx, double objy, double objz,double[] modelMatrix, double[] projMatrix, int[] viewport, double[] winx, double[] winy, double[] winz);
-	public static final native void gluPwlCurve (int nobj, int count, float[] array, int stride, int type);
-	public static final native void gluQuadricCallback (int qobj, int which, int fn);
-	public static final native void gluQuadricDrawStyle (int qobj, int drawStyle);
-	public static final native void gluQuadricNormals (int qobj, int normals);
-	public static final native void gluQuadricOrientation (int qobj, int orientation);
-	public static final native void gluQuadricTexture (int qobj, boolean textureCoords);
-	public static final native int gluScaleImage (int format, int widthin, int heightin, int typein, int datain, int widthout, int heightout, int typeout, int dataout); /*MULTIPLES TYPES ARRAYS*/
-	public static final native void gluSphere (int qobj, double radius, int slices, int stacks);
-	public static final native void gluTessBeginContour (int tess);
-	public static final native void gluTessEndContour (int tess);
-	public static final native void gluTessBeginPolygon (int tess, int polygon_data);
-	public static final native void gluTessEndPolygon (int tess);
-	public static final native void gluTessCallback (int tess, int which, int fn);
-	public static final native void gluTessNormal (int tess, double x, double y, double z);
-	public static final native void gluTessProperty (int tess, int property, double value); /* CHECK MSDN, VALUE'S TYPE IS DOUBLE */
-	public static final native void gluTessVertex (int tess, double[] coords, int data);
-	public static final native int gluUnProject (double winx, double winy, double winz, double[] modelMatrix, double[] projMatrix, int[] viewport, double[] objx, double[] objy, double[] objz);
-}
diff --git a/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GLYPHMETRICSFLOAT.java b/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GLYPHMETRICSFLOAT.java
deleted file mode 100644
index 4da0a94..0000000
--- a/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GLYPHMETRICSFLOAT.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl;
-
-
-public class GLYPHMETRICSFLOAT {
-    public float gmfBlackBoxX;
-    public float gmfBlackBoxY;
-    public float gmfptGlyphOrigin_x;
-    public float gmfptGlyphOrigin_y;
-    public float gmfCellIncX;
-    public float gmfCellIncY;
-	public static final int sizeof = 24;
-}
diff --git a/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/ImageDataUtil.java b/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/ImageDataUtil.java
deleted file mode 100644
index d900285..0000000
--- a/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/ImageDataUtil.java
+++ /dev/null
@@ -1,524 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl;
-
-
-public class ImageDataUtil {
-	/**
-	 * Alpha mode, values 0 - 255 specify global alpha level
-	 */
-	static final int
-		ALPHA_OPAQUE = 255,           // Fully opaque (ignores any alpha data)
-		ALPHA_TRANSPARENT = 0,        // Fully transparent (ignores any alpha data)
-		ALPHA_CHANNEL_SEPARATE = -1,  // Use alpha channel from separate alphaData
-		ALPHA_CHANNEL_SOURCE = -2,    // Use alpha channel embedded in sourceData
-		ALPHA_MASK_UNPACKED = -3,     // Use transparency mask formed by bytes in alphaData (non-zero is opaque)
-		ALPHA_MASK_PACKED = -4,       // Use transparency mask formed by packed bits in alphaData
-		ALPHA_MASK_INDEX = -5,        // Consider source palette indices transparent if in alphaData array
-		ALPHA_MASK_RGB = -6;          // Consider source RGBs transparent if in RGB888 format alphaData array
-		
-	/**
-	 * Data types (internal)
-	 */
-	private static final int
-		// direct / true color formats with arbitrary masks & shifts
-		TYPE_GENERIC_8 = 0,
-		TYPE_GENERIC_16_MSB = 1,
-		TYPE_GENERIC_16_LSB = 2,
-		TYPE_GENERIC_24 = 3,
-		TYPE_GENERIC_32_MSB = 4,
-		TYPE_GENERIC_32_LSB = 5,
-		// palette indexed color formats
-		TYPE_INDEX_8 = 6,
-		TYPE_INDEX_4 = 7,
-		TYPE_INDEX_2 = 8,
-		TYPE_INDEX_1_MSB = 9,
-		TYPE_INDEX_1_LSB = 10;
-		
-	/**
-	 * Byte and bit order constants.
-	 */
-	static final int LSB_FIRST = 0;
-	static final int MSB_FIRST = 1;
-	
-	/**
-	 * Blit operation bits to be OR'ed together to specify the desired operation.
-	 */
-	static final int
-		BLIT_SRC = 1,     // copy source directly, else applies logic operations
-		BLIT_ALPHA = 2,   // enable alpha blending
-		BLIT_DITHER = 4;  // enable dithering in low color modes
-		
-	/**
-	 * Arbitrary channel width data to 8-bit conversion table.
-	 */
-	static final byte[][] ANY_TO_EIGHT = new byte[9][];
-	static {
-		for (int b = 0; b < 9; ++b) {
-			byte[] data = ANY_TO_EIGHT[b] = new byte[1 << b];
-			if (b == 0) continue;
-			int inc = 0;
-			for (int bit = 0x10000; (bit >>= b) != 0;) inc |= bit;
-			for (int v = 0, p = 0; v < 0x10000; v+= inc) data[p++] = (byte)(v >> 8);
-		}
-	}
-
-	/**
-	 * Blits a direct palette image into a direct palette image.
-	 * <p>
-	 * Note: When the source and destination depth, order and masks
-	 * are pairwise equal and the blitter operation is BLIT_SRC,
-	 * the masks are ignored.  Hence when not changing the image
-	 * data format, 0 may be specified for the masks.
-	 * </p>
-	 * 
-	 * @param op the blitter operation: a combination of BLIT_xxx flags
-	 *        (see BLIT_xxx constants)
-	 * @param srcData the source byte array containing image data
-	 * @param srcDepth the source depth: one of 8, 16, 24, 32
-	 * @param srcStride the source number of bytes per line
-	 * @param srcOrder the source byte ordering: one of MSB_FIRST or LSB_FIRST;
-	 *        ignored if srcDepth is not 16 or 32
-	 * @param srcX the top-left x-coord of the source blit region
-	 * @param srcY the top-left y-coord of the source blit region
-	 * @param srcWidth the width of the source blit region
-	 * @param srcHeight the height of the source blit region
-	 * @param srcRedMask the source red channel mask
-	 * @param srcGreenMask the source green channel mask
-	 * @param srcBlueMask the source blue channel mask
-	 * @param alphaMode the alpha blending or mask mode, may be
-	 *        an integer 0-255 for global alpha; ignored if BLIT_ALPHA
-	 *        not specified in the blitter operations
-	 *        (see ALPHA_MODE_xxx constants)
-	 * @param alphaData the alpha blending or mask data, varies depending
-	 *        on the value of alphaMode and sometimes ignored
-	 * @param alphaStride the alpha data number of bytes per line
-	 * @param alphaX the top-left x-coord of the alpha blit region
-	 * @param alphaY the top-left y-coord of the alpha blit region
-	 * @param destData the destination byte array containing image data
-	 * @param destDepth the destination depth: one of 8, 16, 24, 32
-	 * @param destStride the destination number of bytes per line
-	 * @param destOrder the destination byte ordering: one of MSB_FIRST or LSB_FIRST;
-	 *        ignored if destDepth is not 16 or 32
-	 * @param destX the top-left x-coord of the destination blit region
-	 * @param destY the top-left y-coord of the destination blit region
-	 * @param destWidth the width of the destination blit region
-	 * @param destHeight the height of the destination blit region
-	 * @param destRedMask the destination red channel mask
-	 * @param destGreenMask the destination green channel mask
-	 * @param destBlueMask the destination blue channel mask
-	 * @param flipX if true the resulting image is flipped along the vertical axis
-	 * @param flipY if true the resulting image is flipped along the horizontal axis
-	 */
-	static void blit(int op,
-		byte[] srcData, int srcDepth, int srcStride, int srcOrder,
-		int srcX, int srcY, int srcWidth, int srcHeight,
-		int srcRedMask, int srcGreenMask, int srcBlueMask,
-		int alphaMode, byte[] alphaData, int alphaStride, int alphaX, int alphaY,
-		byte[] destData, int destDepth, int destStride, int destOrder,
-		int destX, int destY, int destWidth, int destHeight,
-		int destRedMask, int destGreenMask, int destBlueMask,
-		boolean flipX, boolean flipY) {
-		if ((destWidth <= 0) || (destHeight <= 0) || (alphaMode == ALPHA_TRANSPARENT)) return;
-
-		// these should be supplied as params later
-		final int srcAlphaMask = 0, destAlphaMask = 0;
-
-		/*** Prepare scaling data ***/
-		final int dwm1 = destWidth - 1;
-		final int sfxi = (dwm1 != 0) ? (int)((((long)srcWidth << 16) - 1) / dwm1) : 0;
-		final int dhm1 = destHeight - 1;
-		final int sfyi = (dhm1 != 0) ? (int)((((long)srcHeight << 16) - 1) / dhm1) : 0;
-
-		/*** Prepare source-related data ***/
-		final int sbpp, stype;
-		switch (srcDepth) {
-			case 8:
-				sbpp = 1;
-				stype = TYPE_GENERIC_8;
-				break;
-			case 16:
-				sbpp = 2;
-				stype = (srcOrder == MSB_FIRST) ? TYPE_GENERIC_16_MSB : TYPE_GENERIC_16_LSB;
-				break;
-			case 24:
-				sbpp = 3;
-				stype = TYPE_GENERIC_24;
-				break;
-			case 32:
-				sbpp = 4;
-				stype = (srcOrder == MSB_FIRST) ? TYPE_GENERIC_32_MSB : TYPE_GENERIC_32_LSB;
-				break;
-			default:
-				//throw new IllegalArgumentException("Invalid source type");
-				return;
-		}			
-		int spr = srcY * srcStride + srcX * sbpp;
-
-		/*** Prepare destination-related data ***/
-		final int dbpp, dtype;
-		switch (destDepth) {
-			case 8:
-				dbpp = 1;
-				dtype = TYPE_GENERIC_8;
-				break;
-			case 16:
-				dbpp = 2;
-				dtype = (destOrder == MSB_FIRST) ? TYPE_GENERIC_16_MSB : TYPE_GENERIC_16_LSB;
-				break;
-			case 24:
-				dbpp = 3;
-				dtype = TYPE_GENERIC_24;
-				break;
-			case 32:
-				dbpp = 4;
-				dtype = (destOrder == MSB_FIRST) ? TYPE_GENERIC_32_MSB : TYPE_GENERIC_32_LSB;
-				break;
-			default:
-				//throw new IllegalArgumentException("Invalid destination type");
-				return;
-		}			
-		int dpr = ((flipY) ? destY + dhm1 : destY) * destStride + ((flipX) ? destX + dwm1 : destX) * dbpp;
-		final int dprxi = (flipX) ? -dbpp : dbpp;
-		final int dpryi = (flipY) ? -destStride : destStride;
-
-		/*** Prepare special processing data ***/
-		int apr;
-		if ((op & BLIT_ALPHA) != 0) {
-			switch (alphaMode) {
-				case ALPHA_MASK_UNPACKED:
-				case ALPHA_CHANNEL_SEPARATE:
-					if (alphaData == null) alphaMode = 0x10000;
-					apr = alphaY * alphaStride + alphaX;
-					break;
-				case ALPHA_MASK_PACKED:
-					if (alphaData == null) alphaMode = 0x10000;
-					alphaStride <<= 3;
-					apr = alphaY * alphaStride + alphaX;
-					break;
-				case ALPHA_MASK_INDEX:
-					//throw new IllegalArgumentException("Invalid alpha type");
-					return;
-				case ALPHA_MASK_RGB:
-					if (alphaData == null) alphaMode = 0x10000;
-					apr = 0;
-					break;
-				default:
-					alphaMode = (alphaMode << 16) / 255; // prescale
-				case ALPHA_CHANNEL_SOURCE:
-					apr = 0;
-					break;
-			}
-		} else {
-			alphaMode = 0x10000;
-			apr = 0;
-		}
-
-		/*** Blit ***/
-		int dp = dpr;
-		int sp = spr;
-		if ((alphaMode == 0x10000) && (stype == dtype) &&
-			(srcRedMask == destRedMask) && (srcGreenMask == destGreenMask) &&
-			(srcBlueMask == destBlueMask) && (srcAlphaMask == destAlphaMask)) {
-			/*** Fast blit (straight copy) ***/
-			switch (sbpp) {
-				case 1:
-					for (int dy = destHeight, sfy = sfyi; dy > 0; --dy, sp = spr += (sfy >>> 16) * srcStride, sfy = (sfy & 0xffff) + sfyi, dp = dpr += dpryi) {
-						for (int dx = destWidth, sfx = sfxi; dx > 0; --dx, dp += dprxi, sfx = (sfx & 0xffff) + sfxi) {
-							destData[dp] = srcData[sp];
-							sp += (sfx >>> 16);
-						}
-					}
-					break;					
-				case 2:
-					for (int dy = destHeight, sfy = sfyi; dy > 0; --dy, sp = spr += (sfy >>> 16) * srcStride, sfy = (sfy & 0xffff) + sfyi, dp = dpr += dpryi) {
-						for (int dx = destWidth, sfx = sfxi; dx > 0; --dx, dp += dprxi, sfx = (sfx & 0xffff) + sfxi) {
-							destData[dp] = srcData[sp];
-							destData[dp + 1] = srcData[sp + 1];
-							sp += (sfx >>> 16) * 2;
-						}
-					}
-					break;
-				case 3:
-					for (int dy = destHeight, sfy = sfyi; dy > 0; --dy, sp = spr += (sfy >>> 16) * srcStride, sfy = (sfy & 0xffff) + sfyi, dp = dpr += dpryi) {
-						for (int dx = destWidth, sfx = sfxi; dx > 0; --dx, dp += dprxi, sfx = (sfx & 0xffff) + sfxi) {
-							destData[dp] = srcData[sp];
-							destData[dp + 1] = srcData[sp + 1];
-							destData[dp + 2] = srcData[sp + 2];
-							sp += (sfx >>> 16) * 3;
-						}
-					}
-					break;
-				case 4:
-					for (int dy = destHeight, sfy = sfyi; dy > 0; --dy, sp = spr += (sfy >>> 16) * srcStride, sfy = (sfy & 0xffff) + sfyi, dp = dpr += dpryi) {
-						for (int dx = destWidth, sfx = sfxi; dx > 0; --dx, dp += dprxi, sfx = (sfx & 0xffff) + sfxi) {
-							destData[dp] = srcData[sp];
-							destData[dp + 1] = srcData[sp + 1];
-							destData[dp + 2] = srcData[sp + 2];
-							destData[dp + 3] = srcData[sp + 3];
-							sp += (sfx >>> 16) * 4;
-						}
-					}
-					break;
-			}
-			return;
-		}
-		/*** Comprehensive blit (apply transformations) ***/
-		final int srcRedShift = getChannelShift(srcRedMask);
-		final byte[] srcReds = ANY_TO_EIGHT[getChannelWidth(srcRedMask, srcRedShift)];
-		final int srcGreenShift = getChannelShift(srcGreenMask);
-		final byte[] srcGreens = ANY_TO_EIGHT[getChannelWidth(srcGreenMask, srcGreenShift)];
-		final int srcBlueShift = getChannelShift(srcBlueMask);
-		final byte[] srcBlues = ANY_TO_EIGHT[getChannelWidth(srcBlueMask, srcBlueShift)];
-		final int srcAlphaShift = getChannelShift(srcAlphaMask);
-		final byte[] srcAlphas = ANY_TO_EIGHT[getChannelWidth(srcAlphaMask, srcAlphaShift)];
-
-		final int destRedShift = getChannelShift(destRedMask);
-		final int destRedWidth = getChannelWidth(destRedMask, destRedShift);
-		final byte[] destReds = ANY_TO_EIGHT[destRedWidth];
-		final int destRedPreShift = 8 - destRedWidth;
-		final int destGreenShift = getChannelShift(destGreenMask);
-		final int destGreenWidth = getChannelWidth(destGreenMask, destGreenShift);
-		final byte[] destGreens = ANY_TO_EIGHT[destGreenWidth];
-		final int destGreenPreShift = 8 - destGreenWidth;
-		final int destBlueShift = getChannelShift(destBlueMask);
-		final int destBlueWidth = getChannelWidth(destBlueMask, destBlueShift);
-		final byte[] destBlues = ANY_TO_EIGHT[destBlueWidth];
-		final int destBluePreShift = 8 - destBlueWidth;
-		final int destAlphaShift = getChannelShift(destAlphaMask);
-		final int destAlphaWidth = getChannelWidth(destAlphaMask, destAlphaShift);
-		final byte[] destAlphas = ANY_TO_EIGHT[destAlphaWidth];
-		final int destAlphaPreShift = 8 - destAlphaWidth;
-
-		int ap = apr, alpha = alphaMode;
-		int r = 0, g = 0, b = 0, a = 0;
-		int rq = 0, gq = 0, bq = 0, aq = 0;
-		for (int dy = destHeight, sfy = sfyi; dy > 0; --dy,
-				sp = spr += (sfy >>> 16) * srcStride,
-				ap = apr += (sfy >>> 16) * alphaStride,
-				sfy = (sfy & 0xffff) + sfyi,
-				dp = dpr += dpryi) {
-			for (int dx = destWidth, sfx = sfxi; dx > 0; --dx,
-					dp += dprxi,
-					sfx = (sfx & 0xffff) + sfxi) {
-				/*** READ NEXT PIXEL ***/
-				switch (stype) {
-					case TYPE_GENERIC_8: {
-						final int data = srcData[sp] & 0xff;
-						sp += (sfx >>> 16);
-						r = srcReds[(data & srcRedMask) >>> srcRedShift] & 0xff;
-						g = srcGreens[(data & srcGreenMask) >>> srcGreenShift] & 0xff;
-						b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
-						a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
-					} break;
-					case TYPE_GENERIC_16_MSB: {
-						final int data = ((srcData[sp] & 0xff) << 8) | (srcData[sp + 1] & 0xff);
-						sp += (sfx >>> 16) * 2;
-						r = srcReds[(data & srcRedMask) >>> srcRedShift] & 0xff;
-						g = srcGreens[(data & srcGreenMask) >>> srcGreenShift] & 0xff;
-						b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
-						a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
-					} break;
-					case TYPE_GENERIC_16_LSB: {
-						final int data = ((srcData[sp + 1] & 0xff) << 8) | (srcData[sp] & 0xff);
-						sp += (sfx >>> 16) * 2;
-						r = srcReds[(data & srcRedMask) >>> srcRedShift] & 0xff;
-						g = srcGreens[(data & srcGreenMask) >>> srcGreenShift] & 0xff;
-						b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
-						a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
-					} break;
-					case TYPE_GENERIC_24: {
-						final int data = (( ((srcData[sp] & 0xff) << 8) |
-							(srcData[sp + 1] & 0xff)) << 8) |
-							(srcData[sp + 2] & 0xff);
-						sp += (sfx >>> 16) * 3;
-						r = srcReds[(data & srcRedMask) >>> srcRedShift] & 0xff;
-						g = srcGreens[(data & srcGreenMask) >>> srcGreenShift] & 0xff;
-						b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
-						a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
-					} break;
-					case TYPE_GENERIC_32_MSB: {
-						final int data = (( (( ((srcData[sp] & 0xff) << 8) |
-							(srcData[sp + 1] & 0xff)) << 8) |
-							(srcData[sp + 2] & 0xff)) << 8) |
-							(srcData[sp + 3] & 0xff);
-						sp += (sfx >>> 16) * 4;
-						r = srcReds[(data & srcRedMask) >>> srcRedShift] & 0xff;
-						g = srcGreens[(data & srcGreenMask) >>> srcGreenShift] & 0xff;
-						b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
-						a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
-					} break;
-					case TYPE_GENERIC_32_LSB: {
-						final int data = (( (( ((srcData[sp + 3] & 0xff) << 8) |
-							(srcData[sp + 2] & 0xff)) << 8) |
-							(srcData[sp + 1] & 0xff)) << 8) |
-							(srcData[sp] & 0xff);
-						sp += (sfx >>> 16) * 4;
-						r = srcReds[(data & srcRedMask) >>> srcRedShift] & 0xff;
-						g = srcGreens[(data & srcGreenMask) >>> srcGreenShift] & 0xff;
-						b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
-						a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
-					} break;
-				}
-
-				/*** DO SPECIAL PROCESSING IF REQUIRED ***/
-				switch (alphaMode) {
-					case ALPHA_CHANNEL_SEPARATE:
-						alpha = ((alphaData[ap] & 0xff) << 16) / 255;
-						ap += (sfx >> 16);
-						break;
-					case ALPHA_CHANNEL_SOURCE:
-						alpha = (a << 16) / 255;
-						break;
-					case ALPHA_MASK_UNPACKED:
-						alpha = (alphaData[ap] != 0) ? 0x10000 : 0;
-						ap += (sfx >> 16);
-						break;						
-					case ALPHA_MASK_PACKED:
-						alpha = (alphaData[ap >> 3] << ((ap & 7) + 9)) & 0x10000;
-						ap += (sfx >> 16);
-						break;
-					case ALPHA_MASK_RGB:
-						alpha = 0x10000;
-						for (int i = 0; i < alphaData.length; i += 3) {
-							if ((r == alphaData[i]) && (g == alphaData[i + 1]) && (b == alphaData[i + 2])) {
-								alpha = 0x0000;
-								break;
-							}
-						}
-						break;
-				}
-				if (alpha != 0x10000) {
-					if (alpha == 0x0000) continue;
-					switch (dtype) {
-						case TYPE_GENERIC_8: {
-							final int data = destData[dp] & 0xff;
-							rq = destReds[(data & destRedMask) >>> destRedShift] & 0xff;
-							gq = destGreens[(data & destGreenMask) >>> destGreenShift] & 0xff;
-							bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
-							aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
-						} break;
-						case TYPE_GENERIC_16_MSB: {
-							final int data = ((destData[dp] & 0xff) << 8) | (destData[dp + 1] & 0xff);
-							rq = destReds[(data & destRedMask) >>> destRedShift] & 0xff;
-							gq = destGreens[(data & destGreenMask) >>> destGreenShift] & 0xff;
-							bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
-							aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
-						} break;
-						case TYPE_GENERIC_16_LSB: {
-							final int data = ((destData[dp + 1] & 0xff) << 8) | (destData[dp] & 0xff);
-							rq = destReds[(data & destRedMask) >>> destRedShift] & 0xff;
-							gq = destGreens[(data & destGreenMask) >>> destGreenShift] & 0xff;
-							bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
-							aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
-						} break;
-						case TYPE_GENERIC_24: {
-							final int data = (( ((destData[dp] & 0xff) << 8) |
-								(destData[dp + 1] & 0xff)) << 8) |
-								(destData[dp + 2] & 0xff);
-							rq = destReds[(data & destRedMask) >>> destRedShift] & 0xff;
-							gq = destGreens[(data & destGreenMask) >>> destGreenShift] & 0xff;
-							bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
-							aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
-						} break;
-						case TYPE_GENERIC_32_MSB: {
-							final int data = (( (( ((destData[dp] & 0xff) << 8) |
-								(destData[dp + 1] & 0xff)) << 8) |
-								(destData[dp + 2] & 0xff)) << 8) |
-								(destData[dp + 3] & 0xff);
-							rq = destReds[(data & destRedMask) >>> destRedShift] & 0xff;
-							gq = destGreens[(data & destGreenMask) >>> destGreenShift] & 0xff;
-							bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
-							aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
-						} break;
-						case TYPE_GENERIC_32_LSB: {
-							final int data = (( (( ((destData[dp + 3] & 0xff) << 8) |
-								(destData[dp + 2] & 0xff)) << 8) |
-								(destData[dp + 1] & 0xff)) << 8) |
-								(destData[dp] & 0xff);
-							rq = destReds[(data & destRedMask) >>> destRedShift] & 0xff;
-							gq = destGreens[(data & destGreenMask) >>> destGreenShift] & 0xff;
-							bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
-							aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
-						} break;
-					}
-					// Perform alpha blending
-					a = aq + ((a - aq) * alpha >> 16);
-					r = rq + ((r - rq) * alpha >> 16);
-					g = gq + ((g - gq) * alpha >> 16);
-					b = bq + ((b - bq) * alpha >> 16);
-				}
-
-				/*** WRITE NEXT PIXEL ***/
-				final int data = 
-					(r >>> destRedPreShift << destRedShift) |
-					(g >>> destGreenPreShift << destGreenShift) |
-					(b >>> destBluePreShift << destBlueShift) |
-					(a >>> destAlphaPreShift << destAlphaShift);
-				switch (dtype) {
-					case TYPE_GENERIC_8: {
-						destData[dp] = (byte) data;
-					} break;
-					case TYPE_GENERIC_16_MSB: {
-						destData[dp] = (byte) (data >>> 8);
-						destData[dp + 1] = (byte) (data & 0xff);
-					} break;
-					case TYPE_GENERIC_16_LSB: {
-						destData[dp] = (byte) (data & 0xff);
-						destData[dp + 1] = (byte) (data >>> 8);
-					} break;
-					case TYPE_GENERIC_24: {
-						destData[dp] = (byte) (data >>> 16);
-						destData[dp + 1] = (byte) (data >>> 8);
-						destData[dp + 2] = (byte) (data & 0xff);
-					} break;
-					case TYPE_GENERIC_32_MSB: {
-						destData[dp] = (byte) (data >>> 24);
-						destData[dp + 1] = (byte) (data >>> 16);
-						destData[dp + 2] = (byte) (data >>> 8);
-						destData[dp + 3] = (byte) (data & 0xff);
-					} break;
-					case TYPE_GENERIC_32_LSB: {
-						destData[dp] = (byte) (data & 0xff);
-						destData[dp + 1] = (byte) (data >>> 8);
-						destData[dp + 2] = (byte) (data >>> 16);
-						destData[dp + 3] = (byte) (data >>> 24);
-					} break;
-				}
-			}
-		}			
-	}
-
-	/**
-	 * Computes the required channel shift from a mask.
-	 */
-	static int getChannelShift(int mask) {
-		if (mask == 0) return 0;
-		int i;
-		for (i = 0; ((mask & 1) == 0) && (i < 32); ++i) {
-			mask >>>= 1;
-		}
-		return i;
-	}
-	
-	/**
-	 * Computes the required channel width (depth) from a mask.
-	 */
-	static int getChannelWidth(int mask, int shift) {
-		if (mask == 0) return 0;
-		int i;
-		mask >>>= shift;
-		for (i = shift; ((mask & 1) != 0) && (i < 32); ++i) {
-			mask >>>= 1;
-		}
-		return i - shift;
-	}
-}
diff --git a/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/Library.java b/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/Library.java
deleted file mode 100644
index 7a486e3..0000000
--- a/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/Library.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl;
-
-
-public class Library {
-
-/**
- * Returns the platform name.
- *
- * @return the platform name of the currently running SWT
- */
-static String getPlatform () {
-	String [] names = new String [] {"motif", "gtk", "win32", "photon", "carbon"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-	for (int i = 0; i < names.length; i++) {
-		try {
-			Class.forName("org.eclipse.swt.internal."+names[i]+".OS"); //$NON-NLS-1$ //$NON-NLS-2$
-			return names[i];
-		} catch (ClassNotFoundException e) {
-		}
-	}
-	return "unknown"; //$NON-NLS-1$
-}
-
-/**
- * Loads the shared library that matches the version of the
- * Java code which is currently running.  SWT shared libraries
- * follow an encoding scheme where the major, minor and revision
- * numbers are embedded in the library name and this along with
- * <code>name</code> is used to load the library.  If this fails,
- * <code>name</code> is used in another attempt to load the library,
- * this time ignoring the SWT version encoding scheme.
- *
- * @param name the name of the library to load
- */
-public static void loadLibrary (String name) {
-	/*
-     * Include platform name to support different windowing systems
-     * on same operating system.
-	 */
-	String platform = getPlatform ();
-	
-	try {
-		String newName = name + "-" + platform; //$NON-NLS-1$ //$NON-NLS-2$
-		System.loadLibrary (newName);
-		return;
-	} catch (UnsatisfiedLinkError e1) {		
-		throw e1;
-	}
-}
-
-}
diff --git a/bundles/org.eclipse.swt.opengl/gtk/gl_library/build.sh b/bundles/org.eclipse.swt.opengl/gtk/gl_library/build.sh
deleted file mode 100644
index 9133ca2..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/gl_library/build.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#*******************************************************************************
-
-#!/bin/sh
-
-make -f make_gtk.mak ${1+"$@"}
diff --git a/bundles/org.eclipse.swt.opengl/gtk/gl_library/glx.c b/bundles/org.eclipse.swt.opengl/gtk/gl_library/glx.c
deleted file mode 100644
index 03cc1c2..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/gl_library/glx.c
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-#include <GL/glx.h>
-#include <string.h>
-#include "swt.h"
-#include "structs.h"
-
-#define XGL_NATIVE(func) Java_org_eclipse_swt_opengl_internal_gtk_XGL_##func
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXChooseVisual)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc;
-
-	NATIVE_ENTER(env, that, "glXChooseVisual\n")
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	rc = (jint)glXChooseVisual((Display *)arg0, arg1, (int *)lparg2);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glXChooseVisual\n")
-	return rc;
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXCopyContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	NATIVE_ENTER(env, that, "glXCopyContext\n")
-	glXCopyContext((Display *)arg0, (GLXContext)arg1, (GLXContext)arg2, arg3);
-	NATIVE_EXIT(env, that, "glXCopyContext\n")
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXCreateContext)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jboolean arg3)
-{
-	XVisualInfo _arg1, *lparg1=NULL;
-	jint rc;
-
-	NATIVE_ENTER(env, that, "glXCreateContext\n")
-	if (arg1) lparg1 = getXVisualInfoFields(env, arg1, &_arg1);
-	rc = (jint)glXCreateContext((Display *)arg0, lparg1, (GLXContext)arg2, arg3);
-	if (arg1) setXVisualInfoFields(env, arg1, lparg1);
-	NATIVE_EXIT(env, that, "glXCreateContext\n")
-	return rc;
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXCreateGLXPixmap)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XVisualInfo _arg1, *lparg1=NULL;
-	jint rc;
-
-	NATIVE_ENTER(env, that, "glXCreateGLXPixmap\n")
-	if (arg1) lparg1 = getXVisualInfoFields(env, arg1, &_arg1);
-	rc = (jint)glXCreateGLXPixmap((Display *)arg0, lparg1, arg2);
-	if (arg1) setXVisualInfoFields(env, arg1, lparg1);
-	NATIVE_EXIT(env, that, "glXCreateGLXPixmap\n")
-	return rc;
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXDestroyContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "glXDestroyContext\n")
-	glXDestroyContext((Display *)arg0, (GLXContext)arg1);
-	NATIVE_EXIT(env, that, "glXDestroyContext\n")
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXDestroyGLXPixmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "glXDestroyGLXPixmap\n")
-	glXDestroyGLXPixmap((Display *)arg0, arg1);
-	NATIVE_EXIT(env, that, "glXDestroyGLXPixmap\n")
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXGetClientString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-    jint rc;
-	NATIVE_ENTER(env, that, "glXGetClientString\n")
-	rc = (jint)glXGetClientString((Display *)arg0, arg1);
-	NATIVE_EXIT(env, that, "glXGetClientString\n")
-	return rc;
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXGetConfig)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jintArray arg3)
-{
-	XVisualInfo _arg1, *lparg1=NULL;
-	jint *lparg3=NULL;
-	jint rc;
-
-	NATIVE_ENTER(env, that, "glXGetConfig\n")
-	if (arg1) lparg1 = getXVisualInfoFields(env, arg1, &_arg1);
-	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	rc = (jint)glXGetConfig((Display *)arg0, lparg1, arg2, (int *)lparg3);
-	if (arg1) setXVisualInfoFields(env, arg1, lparg1);
-	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	NATIVE_EXIT(env, that, "glXGetConfig\n")
-	return rc;
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXGetCurrentContext)
-	(JNIEnv *env, jclass that)
-{
-    jint rc;
-	NATIVE_ENTER(env, that, "glXGetCurrentContext\n")
-	rc = (jint)glXGetCurrentContext();
-	NATIVE_EXIT(env, that, "glXGetCurrentContext\n")
-	return rc;
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXGetCurrentDrawable)
-	(JNIEnv *env, jclass that)
-{
-    jint rc;
-	NATIVE_ENTER(env, that, "glXGetCurrentDrawable\n")
-	rc = (jint)glXGetCurrentDrawable();
-	NATIVE_EXIT(env, that, "glXGetCurrentDrawable\n")
-	return rc;
-}
-
-JNIEXPORT jboolean JNICALL XGL_NATIVE(glXIsDirect)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-    jboolean result;
-	NATIVE_ENTER(env, that, "glXIsDirect\n")
-	result = (jboolean)glXIsDirect((Display *)arg0, (GLXContext)arg1);
-	NATIVE_EXIT(env, that, "glXIsDirect\n")
-	return result;
-}
-
-JNIEXPORT jboolean JNICALL XGL_NATIVE(glXMakeCurrent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-    jboolean result;
-	NATIVE_ENTER(env, that, "glXMakeCurrent\n")
-	result = (jboolean)glXMakeCurrent((Display *)arg0, (GLXDrawable)arg1, (GLXContext)arg2);
-	NATIVE_EXIT(env, that, "glXMakeCurrent\n")
-	return result;
-}
-
-JNIEXPORT jboolean JNICALL XGL_NATIVE(glXQueryExtension)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jboolean rc;
-
-	NATIVE_ENTER(env, that, "glXQueryExtension\n")
-	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	rc = (jboolean)glXQueryExtension((Display *)arg0, (int *)lparg1, (int *)lparg2);
-	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glXQueryExtension\n")
-	return rc;
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXQueryExtensionsString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-    jint rc;
-	NATIVE_ENTER(env, that, "glXQueryExtensionsString\n")
-	rc = (jint)glXQueryExtensionsString((Display *)arg0, arg1);
-	NATIVE_EXIT(env, that, "glXQueryExtensionsString\n")
-	return rc;
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXQueryServerString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-    jint rc;
-	NATIVE_ENTER(env, that, "glXQueryServerString\n")
-	rc = (jint)glXQueryServerString((Display *)arg0, arg1, arg2);
-	NATIVE_EXIT(env, that, "glXQueryServerString\n")
-	return rc;
-}
-
-JNIEXPORT jboolean JNICALL XGL_NATIVE(glXQueryVersion)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jboolean rc;
-
-	NATIVE_ENTER(env, that, "glXQueryVersion\n")
-	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	rc = (jboolean)glXQueryVersion((Display *)arg0, (int *)lparg1, (int *)lparg2);
-	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	NATIVE_EXIT(env, that, "glXQueryVersion\n")
-	return rc;
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXSwapBuffers)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	NATIVE_ENTER(env, that, "glXSwapBuffers\n")
-	glXSwapBuffers((Display *)arg0, (GLXDrawable)arg1);
-	NATIVE_EXIT(env, that, "glXSwapBuffers\n")
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXUseXFont)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	NATIVE_ENTER(env, that, "glXUseXFont\n")
-	glXUseXFont(arg0, arg1, arg2, arg3);
-	NATIVE_EXIT(env, that, "glXUseXFont\n")
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXWaitGL)
-	(JNIEnv *env, jclass that)
-{
-	NATIVE_ENTER(env, that, "glXWaitGL\n")
-	glXWaitGL();
-	NATIVE_EXIT(env, that, "glXWaitGL\n")
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXWaitX)
-	(JNIEnv *env, jclass that)
-{
-	NATIVE_ENTER(env, that, "glXWaitX\n")
-	glXWaitX();
-	NATIVE_EXIT(env, that, "glXWaitX\n")
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(memmove__Lorg_eclipse_swt_opengl_internal_gtk_XVisualInfo_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XVisualInfo _arg0, *lparg0=NULL;
-
-	NATIVE_ENTER(env, that, "memmove__Lorg_eclipse_swt_opengl_internal_gtk_XVisualInfo_2II\n")
-	if (arg0) lparg0 = &_arg0;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-	if (arg0) setXVisualInfoFields(env, arg0, lparg0);
-	NATIVE_EXIT(env, that, "memmove__Lorg_eclipse_swt_opengl_internal_gtk_XVisualInfo_2II\n")
-}
diff --git a/bundles/org.eclipse.swt.opengl/gtk/gl_library/make_gtk.mak b/bundles/org.eclipse.swt.opengl/gtk/gl_library/make_gtk.mak
deleted file mode 100644
index d765b8b..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/gl_library/make_gtk.mak
+++ /dev/null
@@ -1,52 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#*******************************************************************************
-
-# Define the installation directories for various products.
-JAVA_HOME   = /bluebird/teamswt/swt-builddir/ive/bin
-
-CC=gcc
-LD=gcc
-
-# Define the various shared libraries to be made.
-WS_PREFIX    = gtk
-GL_PREFIX   = gl
-GL_DLL      = lib$(GL_PREFIX)-$(WS_PREFIX).so
-GL_OBJ      = gl.o glu.o structs.o glx.o
-GL_LIB      = -shared -L/usr/X11R6/lib -lGL -lGLU -lm
-XGTK_PREFIX   = xgtk
-XGTK_DLL      = lib$(XGTK_PREFIX)-$(WS_PREFIX).so
-XGTK_OBJ      = xgtk.o
-XGTK_LIB      = -shared  `pkg-config --libs gtk+-2.0 gthread-2.0`
-
-#
-# The following CFLAGS are for compiling the SWT OpenGL libraries.
-#
-CFLAGS =  -O -Wall \
-	-I./ \
-	-I$(JAVA_HOME)/include \
-	`pkg-config --cflags gtk+-2.0`
-
-all: make_gl make_xgtk
-
-make_gl: $(GL_DLL)
-	$(LD) $(GL_LIB) -o $(GL_DLL) $(GL_OBJ)
-
-$(GL_DLL): $(GL_OBJ)
-	$(CC) $(CFLAGS) -c glx.c
-
-make_xgtk: $(XGTK_DLL)
-	$(LD) $(XGTK_LIB) -o $(XGTK_DLL) $(XGTK_OBJ)
-
-$(XGTK_DLL): $(XGTK_OBJ)
-	$(CC) $(CFLAGS) -c xgtk.c
-
-clean:
-	rm -f *.so *.o
diff --git a/bundles/org.eclipse.swt.opengl/gtk/gl_library/structs.c b/bundles/org.eclipse.swt.opengl/gtk/gl_library/structs.c
deleted file mode 100644
index 368852d..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/gl_library/structs.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials 

- * are made available under the terms of the Common Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/cpl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-#include <X11/X.h>

-#include <X11/Xlib.h>

-#include "swt.h"

-#include "structs.h"

-

-typedef struct XVisualInfo_FID_CACHE {

-	int cached;

-	jclass clazz;

-	jfieldID visual, visualid, screen, depth, cclass, red_mask, green_mask, blue_mask, colormap_size, bits_per_rgb;

-} XVisualInfo_FID_CACHE;

-typedef XVisualInfo_FID_CACHE *PXVisualInfo_FID_CACHE;

-

-XVisualInfo_FID_CACHE XVisualInfoFc;

-

-void cacheXVisualInfoFids(JNIEnv *env, jobject lpObject, PXVisualInfo_FID_CACHE lpCache)

-{

-	if (lpCache->cached) return;

-	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);

-	lpCache->visual = (*env)->GetFieldID(env, lpCache->clazz, "visual", "I");

-	lpCache->visualid = (*env)->GetFieldID(env, lpCache->clazz, "visualid", "I");

-	lpCache->screen = (*env)->GetFieldID(env, lpCache->clazz, "screen", "I");

-	lpCache->depth = (*env)->GetFieldID(env, lpCache->clazz, "depth", "I");

-	lpCache->cclass = (*env)->GetFieldID(env, lpCache->clazz, "cclass", "I");

-	lpCache->red_mask = (*env)->GetFieldID(env, lpCache->clazz, "red_mask", "I");

-	lpCache->green_mask = (*env)->GetFieldID(env, lpCache->clazz, "green_mask", "I");

-	lpCache->blue_mask = (*env)->GetFieldID(env, lpCache->clazz, "blue_mask", "I");

-	lpCache->colormap_size = (*env)->GetFieldID(env, lpCache->clazz, "colormap_size", "I");

-	lpCache->bits_per_rgb = (*env)->GetFieldID(env, lpCache->clazz, "bits_per_rgb", "I");

-	lpCache->cached = 1;

-}

-

-XVisualInfo *getXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct)

-{

-	PXVisualInfo_FID_CACHE lpCache = &XVisualInfoFc;

-	if (!lpCache->cached) cacheXVisualInfoFids(env, lpObject, lpCache);

-	lpStruct->visual = (Visual *)(*env)->GetIntField(env, lpObject, lpCache->visual);

-	lpStruct->visualid = (*env)->GetIntField(env, lpObject, lpCache->visualid);

-	lpStruct->screen = (*env)->GetIntField(env, lpObject, lpCache->screen);

-	lpStruct->depth = (*env)->GetIntField(env, lpObject, lpCache->depth);

-	lpStruct->class = (*env)->GetIntField(env, lpObject, lpCache->cclass);

-	lpStruct->red_mask = (*env)->GetIntField(env, lpObject, lpCache->red_mask);

-	lpStruct->green_mask = (*env)->GetIntField(env, lpObject, lpCache->green_mask);

-	lpStruct->blue_mask = (*env)->GetIntField(env, lpObject, lpCache->blue_mask);

-	lpStruct->colormap_size = (*env)->GetIntField(env, lpObject, lpCache->colormap_size);

-	lpStruct->bits_per_rgb = (*env)->GetIntField(env, lpObject, lpCache->bits_per_rgb);

-	return lpStruct;

-}

-

-void setXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct)

-{

-	PXVisualInfo_FID_CACHE lpCache = &XVisualInfoFc;

-	if (!lpCache->cached) cacheXVisualInfoFids(env, lpObject, lpCache);

-	(*env)->SetIntField(env, lpObject, lpCache->visual, (jint)lpStruct->visual);

-	(*env)->SetIntField(env, lpObject, lpCache->visualid, (jint)lpStruct->visualid);

-	(*env)->SetIntField(env, lpObject, lpCache->screen, (jint)lpStruct->screen);

-	(*env)->SetIntField(env, lpObject, lpCache->depth, (jint)lpStruct->depth);

-	(*env)->SetIntField(env, lpObject, lpCache->cclass, (jint)lpStruct->class);

-	(*env)->SetIntField(env, lpObject, lpCache->red_mask, (jint)lpStruct->red_mask);

-	(*env)->SetIntField(env, lpObject, lpCache->green_mask, (jint)lpStruct->green_mask);

-	(*env)->SetIntField(env, lpObject, lpCache->blue_mask, (jint)lpStruct->blue_mask);

-	(*env)->SetIntField(env, lpObject, lpCache->colormap_size, (jint)lpStruct->colormap_size);

-	(*env)->SetIntField(env, lpObject, lpCache->bits_per_rgb, (jint)lpStruct->bits_per_rgb);

-}

diff --git a/bundles/org.eclipse.swt.opengl/gtk/gl_library/structs.h b/bundles/org.eclipse.swt.opengl/gtk/gl_library/structs.h
deleted file mode 100644
index 8079149..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/gl_library/structs.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials 

- * are made available under the terms of the Common Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/cpl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-#include <X11/X.h>

-#include <X11/Xutil.h>

-

-XVisualInfo *getXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct);

-void setXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct);

-

diff --git a/bundles/org.eclipse.swt.opengl/gtk/gl_library/xgtk.c b/bundles/org.eclipse.swt.opengl/gtk/gl_library/xgtk.c
deleted file mode 100644
index 0f97a78..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/gl_library/xgtk.c
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-#include "swt.h"
-#include <gdk/gdkx.h>
-#include <stdlib.h>
-
-#define XGTK_NATIVE(func) Java_org_eclipse_swt_opengl_internal_gtk_XGTK_##func
-
-#ifndef NO_free
-JNIEXPORT void JNICALL XGTK_NATIVE(free)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	NATIVE_ENTER(env, that, "free\n")
-	free((char *)arg0);
-	NATIVE_EXIT(env, that, "free\n")
-}
-#endif
-
-#ifndef NO_malloc
-JNIEXPORT jint JNICALL XGTK_NATIVE(malloc)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc;
-	NATIVE_ENTER(env, that, "malloc\n")
-	rc = (jint)malloc(arg0);
-	NATIVE_EXIT(env, that, "malloc\n")
-	return rc;
-}
-#endif
-
-#ifndef NO_gdk_1x11_1gc_1get_1xdisplay
-JNIEXPORT int JNICALL XGTK_NATIVE(gdk_1x11_1gc_1get_1xdisplay)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc;
-	NATIVE_ENTER(env, that, "gdk_1x11_1gc_1get_1xdisplay\n")
-	rc = (jint)gdk_x11_gc_get_xdisplay((GdkGC *)arg0);
-	NATIVE_EXIT(env, that, "gdk_1x11_1gc_1get_1xdisplay\n")
-	return rc;
-}
-#endif
-
-#ifndef NO_gdk_1x11_1drawable_1get_1xid
-JNIEXPORT int JNICALL XGTK_NATIVE(gdk_1x11_1drawable_1get_1xid)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc;
-	NATIVE_ENTER(env, that, "gdk_1x11_1drawable_1get_1xid\n")
-	rc = (jint)gdk_x11_drawable_get_xid((GdkDrawable *)arg0);
-	NATIVE_EXIT(env, that, "gdk_1x11_1drawable_1get_1xid\n")
-	return rc;
-}
-#endif
-
-#ifndef NO_XDefaultScreen
-JNIEXPORT jint JNICALL XGTK_NATIVE(XDefaultScreen)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc;
-	NATIVE_ENTER(env, that, "XDefaultScreen\n")
-	rc = (jint)XDefaultScreen((Display *)arg0);
-	NATIVE_EXIT(env, that, "XDefaultScreen\n")
-	return rc;
-}
-#endif
-
-#ifndef NO_XDefaultScreenOfDisplay
-JNIEXPORT jint JNICALL XGTK_NATIVE(XDefaultScreenOfDisplay)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc;
-	NATIVE_ENTER(env, that, "XDefaultScreenOfDisplay\n")
-	rc = (jint)XDefaultScreenOfDisplay((Display *)arg0);
-	NATIVE_EXIT(env, that, "XDefaultScreenOfDisplay\n")
-	return rc;
-}
-#endif
-
-#ifndef NO_XDefaultDepthOfScreen
-JNIEXPORT jint JNICALL XGTK_NATIVE(XDefaultDepthOfScreen)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc;
-	NATIVE_ENTER(env, that, "XDefaultDepthOfScreen\n")
-	rc = (jint)XDefaultDepthOfScreen((Screen *)arg0);
-	NATIVE_EXIT(env, that, "XDefaultDepthOfScreen\n")
-	return rc;
-}
-#endif
-
-#ifndef NO_XFree
-JNIEXPORT jint JNICALL XGTK_NATIVE(XFree)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc;
-	NATIVE_ENTER(env, that, "XFree\n")
-	rc = (jint)XFree((char *)arg0);
-	NATIVE_EXIT(env, that, "XFree\n")
-	return rc;
-}
-#endif
diff --git a/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/GLContext.java b/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/GLContext.java
deleted file mode 100644
index 0acee0d..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/GLContext.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.gtk.*;
-import org.eclipse.swt.opengl.internal.gtk.*;
-
-/**
- * Instances of <code>GLContext</code> are used to draw on swt <code>Drawable</code>s 
- * through invocations of provided OpenGL functions.
- * <p>
- * Application code must explicitly invoke the <code>GLContext.dispose ()</code> 
- * method to release the operating system resources managed by each instance
- * when those instances are no longer required. This is <em>particularly</em>
- * important on Windows95 and Windows98 where the operating system has a limited
- * number of device contexts available.
- * </p>
- */
-public class GLContext {
-	int handle;
-	int gc;
-	GCData data;
-	Drawable drawable;
-	int selectBufferPtr = 0;
-
-	static final int MSB_FIRST = 1;
-	static final int LSB_FIRST = 2;
-
-	/**
-	 * Constructs a new instance of this class which has been
-	 * configured to draw on the specified drawable.
-	 * <p>
-	 * You must dispose the <code>GLContext</code> when it is no longer required. 
-	 * </p>
-	 * 
-	 * @param drawable the drawable to draw on
-	 * @exception IllegalArgumentException <ul>
-	 *    <li>ERROR_NULL_ARGUMENT - if the drawable is null</li>
-	 * </ul>
-	 * @exception SWTError <ul>
-	 *    <li>ERROR_NO_HANDLES if a handle could not be obtained for gc creation</li>
-	 *    <li>ERROR_UNSUPPORTED_DEPTH - if the current display depth is not supported</li>
-	 * </ul>
-	 */
-	public GLContext (Drawable drawable) {
-		if (drawable == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-		this.drawable = drawable;
-		data = new GCData ();
-		gc = drawable.internal_new_GC (data);
-		if (gc == 0) SWT.error (SWT.ERROR_NO_HANDLES);
-		int xDisplay = XGTK.gdk_x11_gc_get_xdisplay (gc);
-		int screen = XGTK.XDefaultScreen (xDisplay);
-		int depth = XGTK.XDefaultDepthOfScreen (XGTK.XDefaultScreenOfDisplay (xDisplay));
-		int attrib [] = {
-			XGL.GLX_LEVEL,
-			0,
-			XGL.GLX_RGBA,
-			XGL.GLX_DOUBLEBUFFER,
-			XGL.GLX_DEPTH_SIZE,
-			depth,
-			0
-		};
-		int infoPtr = XGL.glXChooseVisual (xDisplay, screen, attrib);
-		if (infoPtr == 0) SWT.error (SWT.ERROR_UNSUPPORTED_DEPTH);
-		XVisualInfo info = new XVisualInfo ();
-		XGL.memmove (info, infoPtr, XVisualInfo.sizeof);
-		XGTK.XFree (infoPtr);
-		handle = XGL.glXCreateContext (xDisplay, info, 0, false);
-		if (handle == 0) SWT.error (SWT.ERROR_NO_HANDLES);
-	}
-	
-	public ImageData convertImageData (ImageData source) {
-		PaletteData palette = new PaletteData (0xff0000, 0xff00, 0xff);
-		ImageData newSource = new ImageData (source.width, source.height, 24, palette);
-		ImageDataUtil.blit (
-			1,
-			source.data,
-			source.depth,
-			source.bytesPerLine,
-			(source.depth != 16) ? MSB_FIRST : LSB_FIRST,
-			0,
-			0,
-			source.width,
-			source.height,
-			source.palette.redMask,
-			source.palette.greenMask,
-			source.palette.blueMask,
-			255,
-			null,
-			0,
-			0,
-			0,
-			newSource.data,
-			newSource.depth,
-			newSource.bytesPerLine,
-			(newSource.depth != 16) ? MSB_FIRST : LSB_FIRST,
-			0,
-			0,
-			newSource.width,
-			newSource.height,
-			newSource.palette.redMask,
-			newSource.palette.greenMask,
-			newSource.palette.blueMask,
-			false,
-			true);
-
-		return newSource;
-	}
-
-	/**
-	 * Disposes of the operating system resources associated with
-	 * the receiver. Applications must dispose of all <code>GLContext</code>s
-	 * that they allocate.
-	 */
-	public void dispose () {
-		if (handle == 0) return;
-		int xDisplay = XGTK.gdk_x11_gc_get_xdisplay (gc);
-		if (XGL.glXGetCurrentContext () == handle) {
-			int display = XGTK.gdk_x11_gc_get_xdisplay (gc);
-			XGL.glXMakeCurrent (display, 0, 0);
-		}
-		if (selectBufferPtr != 0) XGTK.free (selectBufferPtr);
-		XGL.glXDestroyContext (xDisplay, handle);
-		handle = 0;
-		// drawable may be disposed
-		try {
-			drawable.internal_dispose_GC (gc, data);
-		} catch (SWTException e) {
-		}
-		gc = 0;
-		data.clipRgn = data.context = data.drawable = 0;
-		data.font = data.layout = data.style = 0;
-		drawable = null;
-		data.device = null;
-		data.image = null;
-		data = null;
-	}
-
-	public int[] getSelectBuffer (int selectBufferPtr, int[] selectBuffer) {
-		OS.memmove (selectBuffer, selectBufferPtr, selectBuffer.length * 4);
-		return selectBuffer;
-	}
-
-	public int getSelectBufferPtr (int[] selectBuffer) {
-		if (selectBufferPtr == 0) {
-			selectBufferPtr = XGTK.malloc (selectBuffer.length * 4);
-		}
-		OS.memmove (selectBufferPtr, selectBuffer, selectBuffer.length * 4);
-		return selectBufferPtr;
-	}
-
-	/**
-	 * Returns a boolean indicating whether the receiver is the current
-	 * <code>GLContext</code>.
-	 *  
-	 * @return true if the receiver is the current <code>GLContext</code>,
-	 * false otherwise
-	 * @exception SWTError <ul>
-	 *    <li>ERROR_GRAPHIC_DISPOSED if the receiver is disposed</li>
-	 * </ul>
-	 */
-	public boolean isCurrent () {
-		if (isDisposed ()) 	SWT.error (SWT.ERROR_GRAPHIC_DISPOSED);
-		return XGL.glXGetCurrentContext () == handle;
-	}
-
-	/**
-	 * Returns a boolean indicating whether the <code>GLContext</code> has been
-	 * disposed.
-	 * <p>
-	 * This method gets the dispose state for the <code>GLContext</code>.
-	 * When a <code>GLContext</code> has been disposed, it is an error to
-	 * invoke any other method using the <code>GLContext</code>.
-	 *
-	 * @return true if the <code>GLContext</code> is disposed, false otherwise
-	 */
-	public boolean isDisposed () {
-		return handle == 0;
-	}
-
-	/**
-	 * Loads the specified bitmap font.
-	 * 
-	 * @param fdata
-	 * @param device
-	 * @param base
-	 * @param first
-	 * @param count
-	 */
-	public void loadBitmapFont (FontData fdata, Device device, int base, int startIndex, int length) {
-		/* Temporary code, due some problems when running on UTF-8 loadBitmapFont ()
-		 * is restrict to works only for ascii. 
-		 * Note: en_US.ISO8859-1 also code be used.
-		 */
-//		fdata.setLocale ("C");
-//		Font font = new Font (device, fdata);
-//		int fontList = font.handle;
-//		int[] buffer = new int [1];
-//		if (!OS.XmFontListInitFontContext (buffer, fontList)) return;
-//		int context = buffer [0];
-//		XFontStruct fontStruct = new XFontStruct ();
-//		int fontListEntry;
-//		int[] fontStructPtr = new int [1];
-//		int[] fontNamePtr = new int [1];
-//		int xfont = 0;
-//		// go through each entry in the font list
-//		while ((fontListEntry = OS.XmFontListNextEntry (context)) != 0) {
-//			int fontPtr = OS.XmFontListEntryGetFont (fontListEntry, buffer);
-//			if (buffer [0] == OS.XmFONT_IS_FONT) {
-//				// FontList contains a single font
-//				OS.memmove (fontStruct, fontPtr, 20 * 4);
-//				xfont = fontStruct.fid;
-//			} else {
-//				// FontList contains a fontSet
-//				int nFonts = OS.XFontsOfFontSet (fontPtr, fontStructPtr, fontNamePtr);
-//				int[] fontStructs = new int [nFonts];
-//				OS.memmove (fontStructs, fontStructPtr [0], nFonts * 4);
-//				// Go through each fontStruct in the font set.
-//				for (int i = 0; i < nFonts; i++) {
-//					OS.memmove (fontStruct, fontStructs [i], XFontStruct.sizeof);
-//					xfont = fontStruct.fid;
-//				}
-//			}
-//		}
-//		if (xfont != 0) {
-//			XGL.glXUseXFont (xfont, startIndex, length, base);
-//		}
-//		font.dispose ();
-//		OS.XmFontListFreeFontContext (context);
-	}
-
-	/**
-	 * Loads the specified outline font.
-	 * 
-	 * @param fdata
-	 * @param device
-	 * @param base
-	 * @param first
-	 * @param count
-	 * @param deviation
-	 * @param extrusion
-	 * @param format
-	 * @param lpgmf
-	 */
-	public void loadOutlineFont (FontData fdata, Device device, int base, int first,
-	int count, float deviation, float extrusion, int format, GLYPHMETRICSFLOAT[] lpgmf) {
-		// stub
-	}
-
-	/**
-	 * Resizes the receiver.
-	 * 
-	 * @param x
-	 * @param y
-	 * @param width
-	 * @param height
-	 */
-	public void resize (int x, int y, int width, int height) {
-		if (height == 0) height = 1;
-		GL.glViewport (x, y, width, height);
-		GL.glMatrixMode (GL.GL_PROJECTION);
-		GL.glLoadIdentity ();
-		GLU.gluPerspective (45.0f, (float) width / (float) height, 0.1f, 100.0f);
-		GL.glMatrixMode (GL.GL_MODELVIEW);
-		GL.glLoadIdentity ();
-	}
-
-	/**
-	 * Sets the receiver to be the current <code>GLContext</code>.
-	 * 
-	 * @exception SWTError <ul>
-	 *    <li>ERROR_GRAPHIC_DISPOSED if the receiver is disposed</li>
-	 * </ul>
-	 */
-	public void setCurrent () {
-		if (isDisposed ()) SWT.error (SWT.ERROR_GRAPHIC_DISPOSED);
-		if (XGL.glXGetCurrentContext () == handle) return;
-		int display = XGTK.gdk_x11_gc_get_xdisplay (gc);
-		int drawable = XGTK.gdk_x11_drawable_get_xid (data.drawable);
-		XGL.glXMakeCurrent (display, drawable, handle);
-	}
-
-	/**
-	 * Swaps the receiver's buffers.
-	 * 
-	 * @exception SWTError <ul>
-	 *    <li>ERROR_GRAPHIC_DISPOSED if the receiver is disposed</li>
-	 * </ul>
-	 */
-	public void swapBuffers () {
-		if (isDisposed ()) SWT.error (SWT.ERROR_GRAPHIC_DISPOSED);
-		int display = XGTK.gdk_x11_gc_get_xdisplay (gc);
-		int drawable = XGTK.gdk_x11_drawable_get_xid(data.drawable);
-		XGL.glXSwapBuffers (display, drawable);
-	}
-}
diff --git a/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/internal/gtk/XGL.java b/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/internal/gtk/XGL.java
deleted file mode 100644
index 46f07b9..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/internal/gtk/XGL.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.internal.gtk;
-
-import org.eclipse.swt.opengl.Library;
-
-public class XGL {
-	
-static {
-	Library.loadLibrary("gl");
-}
-
-public static final int GLX_VERSION_1_1 = 1;
-public static final int GLX_VERSION_1_2 = 1;
-public static final int GLX_VERSION_1_3 = 1;
-
-/*
-** Visual Config Attributes (glXGetConfig, glXGetFBConfigAttrib)
-*/
-public static final int GLX_USE_GL		= 1;	/* support GLX rendering */
-public static final int GLX_BUFFER_SIZE		= 2;	/* depth of the color buffer */
-public static final int GLX_LEVEL		= 3;	/* level in plane stacking */
-public static final int GLX_RGBA		= 4;	/* true if RGBA mode */
-public static final int GLX_DOUBLEBUFFER	= 5;	/* double buffering supported */
-public static final int GLX_STEREO		= 6;	/* stereo buffering supported */
-public static final int GLX_AUX_BUFFERS		= 7;	/* number of aux buffers */
-public static final int GLX_RED_SIZE		= 8;	/* number of red component bits */
-public static final int GLX_GREEN_SIZE		= 9;	/* number of green component bits */
-public static final int GLX_BLUE_SIZE		= 10;	/* number of blue component bits */
-public static final int GLX_ALPHA_SIZE		= 11;	/* number of alpha component bits */
-public static final int GLX_DEPTH_SIZE		= 12;	/* number of depth bits */
-public static final int GLX_STENCIL_SIZE	= 13;	/* number of stencil bits */
-public static final int GLX_ACCUM_RED_SIZE	= 14;	/* number of red accum bits */
-public static final int GLX_ACCUM_GREEN_SIZE	= 15;	/* number of green accum bits */
-public static final int GLX_ACCUM_BLUE_SIZE	= 16;	/* number of blue accum bits */
-public static final int GLX_ACCUM_ALPHA_SIZE	= 17;	/* number of alpha accum bits */
-/*
-** FBConfig-specific attributes
-*/
-public static final int GLX_X_VISUAL_TYPE		= 0x22;
-public static final int GLX_CONFIG_CAVEAT		= 0x20;	/* Like visual_info VISUAL_CAVEAT_EXT */
-public static final int GLX_TRANSPARENT_TYPE		= 0x23;
-public static final int GLX_TRANSPARENT_INDEX_VALUE	= 0x24;
-public static final int GLX_TRANSPARENT_RED_VALUE	= 0x25;
-public static final int GLX_TRANSPARENT_GREEN_VALUE	= 0x26;
-public static final int GLX_TRANSPARENT_BLUE_VALUE	= 0x27;
-public static final int GLX_TRANSPARENT_ALPHA_VALUE	= 0x28;
-public static final int GLX_DRAWABLE_TYPE		= 0x8010;
-public static final int GLX_RENDER_TYPE			= 0x8011;
-public static final int GLX_X_RENDERABLE		= 0x8012;
-public static final int GLX_FBCONFIG_ID			= 0x8013;
-public static final int GLX_MAX_PBUFFER_WIDTH		= 0x8016;
-public static final int GLX_MAX_PBUFFER_HEIGHT		= 0x8017;
-public static final int GLX_MAX_PBUFFER_PIXELS		= 0x8018;
-public static final int GLX_VISUAL_ID			= 0x800B;
-
-/*
-** Error return values from glXGetConfig.  Success is indicated by
-** a value of 0.
-*/
-public static final int GLX_BAD_SCREEN		= 1;	/* screen # is bad */
-public static final int GLX_BAD_ATTRIBUTE	= 2;	/* attribute to get is bad */
-public static final int GLX_NO_EXTENSION	= 3;	/* no glx extension on server */
-public static final int GLX_BAD_VISUAL		= 4;	/* visual # not known by GLX */
-public static final int GLX_BAD_CONTEXT		= 5;	/* returned only by import_context EXT? */
-public static final int GLX_BAD_VALUE		= 6;	/* returned only by glXSwapIntervalSGI? */
-public static final int GLX_BAD_ENUM		= 7;	/* unused? */
-
-/* FBConfig attribute values */
-
-/*
-** Generic "don't care" value for glX ChooseFBConfig attributes (except
-** GLX_LEVEL)
-*/
-public static final int GLX_DONT_CARE			= 0xFFFFFFFF;
-
-/* GLX_RENDER_TYPE bits */
-public static final int GLX_RGBA_BIT			= 0x00000001;
-public static final int GLX_COLOR_INDEX_BIT		= 0x00000002;
-
-/* GLX_DRAWABLE_TYPE bits */
-public static final int GLX_WINDOW_BIT			= 0x00000001;
-public static final int GLX_PIXMAP_BIT			= 0x00000002;
-public static final int GLX_PBUFFER_BIT			= 0x00000004;
-
-/* GLX_CONFIG_CAVEAT attribute values */
-public static final int GLX_NONE			= 0x8000;
-public static final int GLX_SLOW_CONFIG			= 0x8001;
-public static final int GLX_NON_CONFORMANT_CONFIG	= 0x800D;
-
-/* GLX_X_VISUAL_TYPE attribute values */
-public static final int GLX_TRUE_COLOR			= 0x8002;
-public static final int GLX_DIRECT_COLOR		= 0x8003;
-public static final int GLX_PSEUDO_COLOR		= 0x8004;
-public static final int GLX_STATIC_COLOR		= 0x8005;
-public static final int GLX_GRAY_SCALE			= 0x8006;
-public static final int GLX_STATIC_GRAY			= 0x8007;
-
-/* GLX_TRANSPARENT_TYPE attribute values */
-/* public static final int GLX_NONE			   0x8000 */
-public static final int GLX_TRANSPARENT_RGB		= 0x8008;
-public static final int GLX_TRANSPARENT_INDEX		= 0x8009;
-
-/* glXCreateGLXPbuffer attributes */
-public static final int GLX_PRESERVED_CONTENTS		= 0x801B;
-public static final int GLX_LARGEST_PBUFFER		= 0x801C;
-public static final int GLX_PBUFFER_HEIGHT		= 0x8040;	/* New for GLX 1.3 */
-public static final int GLX_PBUFFER_WIDTH		= 0x8041;	/* New for GLX 1.3 */
-
-/* glXQueryGLXPBuffer attributes */
-public static final int GLX_WIDTH			= 0x801D;
-public static final int GLX_HEIGHT			= 0x801E;
-public static final int GLX_EVENT_MASK			= 0x801F;
-
-/* glXCreateNewContext render_type attribute values */
-public static final int GLX_RGBA_TYPE			= 0x8014;
-public static final int GLX_COLOR_INDEX_TYPE		= 0x8015;
-
-/* glXQueryContext attributes */
-/* public static final int GLX_FBCONFIG_ID		  0x8013 */
-/* public static final int GLX_RENDER_TYPE		  0x8011 */
-public static final int GLX_SCREEN			= 0x800C;
-
-/* glXSelectEvent event mask bits */
-public static final int GLX_PBUFFER_CLOBBER_MASK	= 0x08000000;
-
-/* GLXPbufferClobberEvent event_type values */
-public static final int GLX_DAMAGED			= 0x8020;
-public static final int GLX_SAVED			= 0x8021;
-
-/* GLXPbufferClobberEvent draw_type values */
-public static final int GLX_WINDOW			= 0x8022;
-public static final int GLX_PBUFFER			= 0x8023;
-
-/* GLXPbufferClobberEvent buffer_mask bits */
-public static final int GLX_FRONT_LEFT_BUFFER_BIT	= 0x00000001;
-public static final int GLX_FRONT_RIGHT_BUFFER_BIT	= 0x00000002;
-public static final int GLX_BACK_LEFT_BUFFER_BIT	= 0x00000004;
-public static final int GLX_BACK_RIGHT_BUFFER_BIT	= 0x00000008;
-public static final int GLX_AUX_BUFFERS_BIT		= 0x00000010;
-public static final int GLX_DEPTH_BUFFER_BIT		= 0x00000020;
-public static final int GLX_STENCIL_BUFFER_BIT		= 0x00000040;
-public static final int GLX_ACCUM_BUFFER_BIT		= 0x00000080;
-
-/*
-** Extension return values from glXGetConfig.  These are also
-** accepted as parameter values for glXChooseVisual.
-*/
-
-public static final int GLX_X_VISUAL_TYPE_EXT	= 0x22;	/* visual_info extension type */
-public static final int GLX_TRANSPARENT_TYPE_EXT = 0x23;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_INDEX_VALUE_EXT = 0x24;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_RED_VALUE_EXT	= 0x25;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_GREEN_VALUE_EXT = 0x26;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_BLUE_VALUE_EXT	= 0x27;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_ALPHA_VALUE_EXT = 0x28;	/* visual_info extension */
-
-/* Property values for visual_type */
-public static final int GLX_TRUE_COLOR_EXT	= 0x8002;
-public static final int GLX_DIRECT_COLOR_EXT	= 0x8003;
-public static final int GLX_PSEUDO_COLOR_EXT	= 0x8004;
-public static final int GLX_STATIC_COLOR_EXT	= 0x8005;
-public static final int GLX_GRAY_SCALE_EXT	= 0x8006;
-public static final int GLX_STATIC_GRAY_EXT	= 0x8007;
-
-/* Property values for transparent pixel */
-public static final int GLX_NONE_EXT		= 0x8000;
-public static final int GLX_TRANSPARENT_RGB_EXT		= 0x8008;
-public static final int GLX_TRANSPARENT_INDEX_EXT	= 0x8009;
-
-/* Property values for visual_rating */
-public static final int GLX_VISUAL_CAVEAT_EXT		= 0x20;  /* visual_rating extension type */
-public static final int GLX_SLOW_VISUAL_EXT		= 0x8001;
-public static final int GLX_NON_CONFORMANT_VISUAL_EXT	= 0x800D;
-
-/*
-** Names for attributes to glXGetClientString.
-*/
-public static final int GLX_VENDOR		= 0x1;
-public static final int GLX_VERSION		= 0x2;
-public static final int GLX_EXTENSIONS		= 0x3;
-
-/*
-** Names for attributes to glXQueryContextInfoEXT.
-*/
-public static final int GLX_SHARE_CONTEXT_EXT	= 0x800A;	/* id of share context */
-public static final int GLX_VISUAL_ID_EXT	= 0x800B;	/* id of context's visual */
-public static final int GLX_SCREEN_EXT		= 0x800C;	/* screen number */
-
-/* GLX Extension Strings */
-public static final int GLX_EXT_import_context	= 1;
-public static final int GLX_EXT_visual_info	= 1;
-public static final int GLX_EXT_visual_rating	= 1;
-public static final int GLX_ARB_get_proc_address = 1;
-
-public static final native int glXChooseVisual(int dpy, int screen, int[] attribList);
-public static final native void glXCopyContext(int dpy, int src, int dst, int mask);
-//public static final native int glXCreateContext(int dpy, int vis, int shareList, boolean direct);
-public static final native int glXCreateContext(int dpy, XVisualInfo vis, int shareList, boolean direct);
-public static final native int glXCreateGLXPixmap(int dpy, XVisualInfo vis, int pixmap);
-public static final native void glXDestroyContext(int dpy, int ctx);
-public static final native void glXDestroyGLXPixmap(int dpy, int pix);
-public static final native int glXGetConfig(int dpy, XVisualInfo vis, int attrib, int[] value);
-public static final native int glXGetCurrentContext();
-public static final native int glXGetCurrentDrawable();
-public static final native boolean glXIsDirect(int dpy, int ctx);
-public static final native boolean glXMakeCurrent(int dpy, int drawable, int ctx);
-public static final native boolean glXQueryExtension(int dpy, int[] errorBase, int[] eventBase);
-public static final native boolean glXQueryVersion(int dpy, int[] major, int[] minor);
-public static final native void glXSwapBuffers(int dpy, int drawable);
-public static final native void glXUseXFont(int font, int first, int count, int listBase);
-public static final native void glXWaitGL();
-public static final native void glXWaitX();
-public static final native int glXGetClientString(int dpy, int name);
-public static final native int glXQueryServerString(int dpy, int screen, int name);
-public static final native int glXQueryExtensionsString(int dpy, int screen);
-public static final native void memmove(XVisualInfo dest, int src, int size);
-}
diff --git a/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/internal/gtk/XGTK.java b/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/internal/gtk/XGTK.java
deleted file mode 100644
index d6c017a..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/internal/gtk/XGTK.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.internal.gtk;
-
-import org.eclipse.swt.opengl.Library;
-
-public class XGTK {
-	
-	static {
-		Library.loadLibrary("xgtk");
-	}
-	
-	public static final synchronized native int gdk_x11_gc_get_xdisplay(int gc);
-	public static final synchronized native int gdk_x11_drawable_get_xid(int gc);
-	public static final synchronized native int XDefaultScreen(int display);
-	public static final synchronized native int XDefaultScreenOfDisplay(int display);
-	public static final synchronized native int XDefaultDepthOfScreen(int screen);
-	public static final synchronized native int XFree(int address);
-	public static final synchronized native void free(int ptr);
-	public static final synchronized native int malloc(int size);
-}
diff --git a/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/internal/gtk/XVisualInfo.java b/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/internal/gtk/XVisualInfo.java
deleted file mode 100644
index cc89f20..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/internal/gtk/XVisualInfo.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.internal.gtk;
-
- 
-public class XVisualInfo {
-	public int visual;
-	public int visualid;
-	public int screen;
-	public int depth;
-	public int cclass;
-	public int red_mask, green_mask, blue_mask;
-	public int colormap_size;
-	public int bits_per_rgb;
-	public static final int sizeof = 40;
-}
diff --git a/bundles/org.eclipse.swt.opengl/motif/gl_library/build.csh b/bundles/org.eclipse.swt.opengl/motif/gl_library/build.csh
deleted file mode 100644
index dd0b6d9..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/gl_library/build.csh
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.swt.opengl/motif/gl_library/glx.c b/bundles/org.eclipse.swt.opengl/motif/gl_library/glx.c
deleted file mode 100644
index 4fca4eb..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/gl_library/glx.c
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-#include <GL/glx.h>
-#include "swt.h"
-#include "structs.h"
-
-#define XGL_NATIVE(func) Java_org_eclipse_swt_opengl_internal_motif_XGL_##func
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXChooseVisual)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc;
-
-	DEBUG_CALL("glXChooseVisual\n")
-
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	rc = (jint)glXChooseVisual((Display *)arg0, arg1, (int *)lparg2);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	return rc;
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXCopyContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	DEBUG_CALL("glXCopyContext\n")
-
-	glXCopyContext((Display *)arg0, (GLXContext)arg1, (GLXContext)arg2, arg3);
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXCreateContext)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jboolean arg3)
-{
-	XVisualInfo _arg1, *lparg1=NULL;
-	jint rc;
-
-	DEBUG_CALL("glXCreateContext\n")
-
-	if (arg1) lparg1 = getXVisualInfoFields(env, arg1, &_arg1);
-	rc = (jint)glXCreateContext((Display *)arg0, lparg1, (GLXContext)arg2, arg3);
-	if (arg1) setXVisualInfoFields(env, arg1, lparg1);
-	return rc;
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXCreateGLXPixmap)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XVisualInfo _arg1, *lparg1=NULL;
-	jint rc;
-
-	DEBUG_CALL("glXCreateGLXPixmap\n")
-
-	if (arg1) lparg1 = getXVisualInfoFields(env, arg1, &_arg1);
-	rc = (jint)glXCreateGLXPixmap((Display *)arg0, lparg1, arg2);
-	if (arg1) setXVisualInfoFields(env, arg1, lparg1);
-	return rc;
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXDestroyContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("glXDestroyContext\n")
-
-	glXDestroyContext((Display *)arg0, (GLXContext)arg1);
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXDestroyGLXPixmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("glXDestroyGLXPixmap\n")
-
-	glXDestroyGLXPixmap((Display *)arg0, arg1);
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXGetClientString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("glXGetClientString\n")
-
-	return (jint)glXGetClientString((Display *)arg0, arg1);
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXGetConfig)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jintArray arg3)
-{
-	XVisualInfo _arg1, *lparg1=NULL;
-	jint *lparg3=NULL;
-	jint rc;
-
-	DEBUG_CALL("glXGetConfig\n")
-
-	if (arg1) lparg1 = getXVisualInfoFields(env, arg1, &_arg1);
-	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	rc = (jint)glXGetConfig((Display *)arg0, lparg1, arg2, (int *)lparg3);
-	if (arg1) setXVisualInfoFields(env, arg1, lparg1);
-	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	return rc;
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXGetCurrentContext)
-	(JNIEnv *env, jclass that)
-{
-	DEBUG_CALL("glXGetCurrentContext\n")
-
-	return (jint)glXGetCurrentContext();
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXGetCurrentDrawable)
-	(JNIEnv *env, jclass that)
-{
-	DEBUG_CALL("glXGetCurrentDrawable\n")
-
-	return (jint)glXGetCurrentDrawable();
-}
-
-JNIEXPORT jboolean JNICALL XGL_NATIVE(glXIsDirect)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("glXIsDirect\n")
-
-	return (jboolean)glXIsDirect((Display *)arg0, (GLXContext)arg1);
-}
-
-JNIEXPORT jboolean JNICALL XGL_NATIVE(glXMakeCurrent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	DEBUG_CALL("glXMakeCurrent\n")
-
-	return (jboolean)glXMakeCurrent((Display *)arg0, (GLXDrawable)arg1, (GLXContext)arg2);
-}
-
-JNIEXPORT jboolean JNICALL XGL_NATIVE(glXQueryExtension)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jboolean rc;
-
-	DEBUG_CALL("glXQueryExtension\n")
-
-	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	rc = (jboolean)glXQueryExtension((Display *)arg0, (int *)lparg1, (int *)lparg2);
-	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	return rc;
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXQueryExtensionsString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("glXQueryExtensionsString\n")
-
-	return (jint)glXQueryExtensionsString((Display *)arg0, arg1);
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXQueryServerString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	DEBUG_CALL("glXQueryServerString\n")
-
-	return (jint)glXQueryServerString((Display *)arg0, arg1, arg2);
-}
-
-JNIEXPORT jboolean JNICALL XGL_NATIVE(glXQueryVersion)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jboolean rc;
-
-	DEBUG_CALL("glXQueryVersion\n")
-
-	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	rc = (jboolean)glXQueryVersion((Display *)arg0, (int *)lparg1, (int *)lparg2);
-	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	return rc;
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXSwapBuffers)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("glXSwapBuffers\n")
-
-	glXSwapBuffers((Display *)arg0, (GLXDrawable)arg1);
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXUseXFont)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	DEBUG_CALL("glXUseXFont\n")
-
-	glXUseXFont(arg0, arg1, arg2, arg3);
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXWaitGL)
-	(JNIEnv *env, jclass that)
-{
-	DEBUG_CALL("glXWaitGL\n")
-
-	glXWaitGL();
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXWaitX)
-	(JNIEnv *env, jclass that)
-{
-	DEBUG_CALL("glXWaitX\n")
-
-	glXWaitX();
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(memmove__Lorg_eclipse_swt_opengl_internal_motif_XVisualInfo_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XVisualInfo _arg0, *lparg0=NULL;
-
-	DEBUG_CALL("memmove__Lorg_eclipse_swt_opengl_internal_motif_XVisualInfo_2II\n")
-
-	if (arg0) lparg0 = &_arg0;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-	if (arg0) setXVisualInfoFields(env, arg0, lparg0);
-}
diff --git a/bundles/org.eclipse.swt.opengl/motif/gl_library/make_aix.mak b/bundles/org.eclipse.swt.opengl/motif/gl_library/make_aix.mak
deleted file mode 100644
index 6928cab..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/gl_library/make_aix.mak
+++ /dev/null
@@ -1,40 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#*******************************************************************************
-
-# Define the installation directories for various products.
-#    JAVA_HOME  - The JDK > 1.3
-JAVA_HOME   = /usr/java131
-
-# Define the various shared libraries to be made.
-SWT_PREFIX   = swt
-WS_PREFIX    = motif
-SWT_DLL      = lib$(SWT_PREFIX)-$(WS_PREFIX).so
-SWT_OBJ      = gl.o glu.o structs.o glx.o
-SWT_LIB      = -G -bnoentry -lc_r -lC_r -lm -bexpall -lMrm -lX11 -lXext -liconv -lGL -lGLU
-
-#
-# The following CFLAGS are for compiling the SWT OpenGL library.
-#
-CFLAGS = -O -s \
-	-DAIX \
-	-DNO_XINERAMA_EXTENSIONS \
-	-q mbcs -qlanglvl=extended -qmaxmem=8192 \
-	-I$(JAVA_HOME)/include
-
-all: make_swt
-
-make_swt: $(SWT_DLL)
-
-$(SWT_DLL): $(SWT_OBJ)
-	ld $(SWT_LIB) -o $(SWT_DLL) $(SWT_OBJ)
-
-clean:
-	rm -f *.o *.so *.a
diff --git a/bundles/org.eclipse.swt.opengl/motif/gl_library/make_hpux.mak b/bundles/org.eclipse.swt.opengl/motif/gl_library/make_hpux.mak
deleted file mode 100644
index 16648de..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/gl_library/make_hpux.mak
+++ /dev/null
@@ -1,44 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#*******************************************************************************
-
-# Define the installation directories for various products.
-JAVA_HOME  = /opt/java1.3
-
-# Define the various shared libraries to be made.
-SWT_PREFIX   = gl
-WS_PREFIX    = motif
-SWT_DLL      = lib$(SWT_PREFIX)-$(WS_PREFIX).sl
-SWT_OBJ      = gl.o glu.o structs.o glx.o
-SWT_LIB      = -L/usr/lib -L/opt/graphics/OpenGL/lib -G -lGL -lGLU -lc -ldld -lm
-
-#
-# The following CFLAGS are for compiling the SWT OpenGL library.
-#
-# Note:
-#   The flag -xarch=generic ensure the compiled modules will be targeted
-#   for 32-bit architectures. If this flag is not
-#
-CFLAGS = -Ae +z \
-	-DNO_XINERAMA_EXTENSIONS \
-	-D_HPUX -D_POSIX_C_SOURCE=199506L \
-	-I./ \
-	-I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/hp-ux \
-	-I/opt/graphics/OpenGL/include
-
-all: make_swt
-
-make_swt: $(SWT_DLL)
-
-$(SWT_DLL): $(SWT_OBJ)
-	ld -b -z -o $@ $(SWT_OBJ) $(SWT_LIB)
-
-clean:
-	rm -f *.sl *.o
diff --git a/bundles/org.eclipse.swt.opengl/motif/gl_library/make_linux.mak b/bundles/org.eclipse.swt.opengl/motif/gl_library/make_linux.mak
deleted file mode 100644
index 755895f..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/gl_library/make_linux.mak
+++ /dev/null
@@ -1,38 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#*******************************************************************************
-
-# Define the installation directories for various products.
-JAVA_HOME   = /bluebird/teamswt/swt-builddir/ive/bin
-
-
-# Define the various shared libraries to be made.
-SWT_PREFIX   = gl
-WS_PREFIX    = motif
-SWT_DLL      = lib$(SWT_PREFIX)-$(WS_PREFIX).so
-SWT_OBJ      = gl.o glu.o structs.o glx.o
-SWT_LIB      = -shared -L/usr/X11R6/lib -lGL -lGLU -lm
-
-#
-# The following CFLAGS are for compiling the SWT OpenGL library.
-#
-CFLAGS = -O -s \
-	-I./ \
-	-I$(JAVA_HOME)/include
-
-all: make_swt
-
-make_swt: $(SWT_DLL)
-
-$(SWT_DLL): $(SWT_OBJ)
-	ld -o $@ $(SWT_OBJ) $(SWT_LIB)
-
-clean:
-	rm -f *.so *.o
diff --git a/bundles/org.eclipse.swt.opengl/motif/gl_library/make_solaris.mak b/bundles/org.eclipse.swt.opengl/motif/gl_library/make_solaris.mak
deleted file mode 100644
index 1b08b07..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/gl_library/make_solaris.mak
+++ /dev/null
@@ -1,45 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#*******************************************************************************
-
-# Define the installation directories for various products.
-JAVA_HOME   = /bluebird/teamswt/swt-builddir/ive/bin
-
-# Define the various shared libraries to be made.
-SWT_PREFIX   = gl
-WS_PREFIX    = motif
-SWT_DLL      = lib$(SWT_PREFIX)-$(WS_PREFIX).so
-SWT_OBJ      = gl.o glu.o structs.o glx.o
-SWT_LIB      = -G -L/usr/lib -lm -lGL -lGLU
-
-#
-# The following CFLAGS are for compiling the SWT OpenGL library.
-#
-# Note:
-#   The flag -xarch=generic ensure the compiled modules will be targeted
-#   for 32-bit architectures.
-#
-CFLAGS = -O -s \
-	-xarch=generic \
-	-KPIC \
-	-I./ \
-	-I$(JAVA_HOME)/include
-
-all: make_swt
-
-make_swt: $(SWT_DLL)
-
-$(SWT_DLL): $(SWT_OBJ)
-	ld -o $@ $(SWT_OBJ) $(SWT_LIB)
-
-clean:
-	rm -f *.so *.o
-
-
diff --git a/bundles/org.eclipse.swt.opengl/motif/gl_library/structs.c b/bundles/org.eclipse.swt.opengl/motif/gl_library/structs.c
deleted file mode 100644
index bf8db55..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/gl_library/structs.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-#include <X11/X.h>
-#include <X11/Xlib.h>
-#include "swt.h"
-#include "structs.h"
-
-typedef struct XVisualInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID visual, visualid, screen, depth, cclass, red_mask, green_mask, blue_mask, colormap_size, bits_per_rgb;
-} XVisualInfo_FID_CACHE;
-typedef XVisualInfo_FID_CACHE *PXVisualInfo_FID_CACHE;
-
-XVisualInfo_FID_CACHE XVisualInfoFc;
-
-void cacheXVisualInfoFids(JNIEnv *env, jobject lpObject, PXVisualInfo_FID_CACHE lpCache)
-{
-	if (lpCache->cached) return;
-	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
-	lpCache->visual = (*env)->GetFieldID(env, lpCache->clazz, "visual", "I");
-	lpCache->visualid = (*env)->GetFieldID(env, lpCache->clazz, "visualid", "I");
-	lpCache->screen = (*env)->GetFieldID(env, lpCache->clazz, "screen", "I");
-	lpCache->depth = (*env)->GetFieldID(env, lpCache->clazz, "depth", "I");
-	lpCache->cclass = (*env)->GetFieldID(env, lpCache->clazz, "cclass", "I");
-	lpCache->red_mask = (*env)->GetFieldID(env, lpCache->clazz, "red_mask", "I");
-	lpCache->green_mask = (*env)->GetFieldID(env, lpCache->clazz, "green_mask", "I");
-	lpCache->blue_mask = (*env)->GetFieldID(env, lpCache->clazz, "blue_mask", "I");
-	lpCache->colormap_size = (*env)->GetFieldID(env, lpCache->clazz, "colormap_size", "I");
-	lpCache->bits_per_rgb = (*env)->GetFieldID(env, lpCache->clazz, "bits_per_rgb", "I");
-	lpCache->cached = 1;
-}
-
-XVisualInfo *getXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct)
-{
-	PXVisualInfo_FID_CACHE lpCache = &XVisualInfoFc;
-	if (!lpCache->cached) cacheXVisualInfoFids(env, lpObject, lpCache);
-	lpStruct->visual = (Visual *)(*env)->GetIntField(env, lpObject, lpCache->visual);
-	lpStruct->visualid = (*env)->GetIntField(env, lpObject, lpCache->visualid);
-	lpStruct->screen = (*env)->GetIntField(env, lpObject, lpCache->screen);
-	lpStruct->depth = (*env)->GetIntField(env, lpObject, lpCache->depth);
-	lpStruct->class = (*env)->GetIntField(env, lpObject, lpCache->cclass);
-	lpStruct->red_mask = (*env)->GetIntField(env, lpObject, lpCache->red_mask);
-	lpStruct->green_mask = (*env)->GetIntField(env, lpObject, lpCache->green_mask);
-	lpStruct->blue_mask = (*env)->GetIntField(env, lpObject, lpCache->blue_mask);
-	lpStruct->colormap_size = (*env)->GetIntField(env, lpObject, lpCache->colormap_size);
-	lpStruct->bits_per_rgb = (*env)->GetIntField(env, lpObject, lpCache->bits_per_rgb);
-	return lpStruct;
-}
-
-void setXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct)
-{
-	PXVisualInfo_FID_CACHE lpCache = &XVisualInfoFc;
-	if (!lpCache->cached) cacheXVisualInfoFids(env, lpObject, lpCache);
-	(*env)->SetIntField(env, lpObject, lpCache->visual, (jint)lpStruct->visual);
-	(*env)->SetIntField(env, lpObject, lpCache->visualid, (jint)lpStruct->visualid);
-	(*env)->SetIntField(env, lpObject, lpCache->screen, (jint)lpStruct->screen);
-	(*env)->SetIntField(env, lpObject, lpCache->depth, (jint)lpStruct->depth);
-	(*env)->SetIntField(env, lpObject, lpCache->cclass, (jint)lpStruct->class);
-	(*env)->SetIntField(env, lpObject, lpCache->red_mask, (jint)lpStruct->red_mask);
-	(*env)->SetIntField(env, lpObject, lpCache->green_mask, (jint)lpStruct->green_mask);
-	(*env)->SetIntField(env, lpObject, lpCache->blue_mask, (jint)lpStruct->blue_mask);
-	(*env)->SetIntField(env, lpObject, lpCache->colormap_size, (jint)lpStruct->colormap_size);
-	(*env)->SetIntField(env, lpObject, lpCache->bits_per_rgb, (jint)lpStruct->bits_per_rgb);
-}
diff --git a/bundles/org.eclipse.swt.opengl/motif/gl_library/structs.h b/bundles/org.eclipse.swt.opengl/motif/gl_library/structs.h
deleted file mode 100644
index 4121f7f..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/gl_library/structs.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-#include <X11/X.h>
-#include <X11/Xutil.h>
-
-XVisualInfo *getXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct);
-void setXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct);
-
diff --git a/bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/GLContext.java b/bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/GLContext.java
deleted file mode 100644
index 8bab074..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/GLContext.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.motif.*;
-import org.eclipse.swt.opengl.internal.motif.*;
-
-/**
- * Instances of <code>GLContext</code> are used to draw on swt <code>Drawable</code>s 
- * through invocations of provided OpenGL functions.
- * <p>
- * Application code must explicitly invoke the <code>GLContext.dispose ()</code> 
- * method to release the operating system resources managed by each instance
- * when those instances are no longer required. This is <em>particularly</em>
- * important on Windows95 and Windows98 where the operating system has a limited
- * number of device contexts available.
- * </p>
- */
-public class GLContext {
-	int handle;
-	int gc;
-	GCData data;
-	Drawable drawable;
-	int selectBufferPtr = 0;
-
-	static final int MSB_FIRST = 1;
-	static final int LSB_FIRST = 2;
-
-	/**
-	 * Constructs a new instance of this class which has been
-	 * configured to draw on the specified drawable.
-	 * <p>
-	 * You must dispose the <code>GLContext</code> when it is no longer required. 
-	 * </p>
-	 * 
-	 * @param drawable the drawable to draw on
-	 * @exception IllegalArgumentException <ul>
-	 *    <li>ERROR_NULL_ARGUMENT - if the drawable is null</li>
-	 * </ul>
-	 * @exception SWTError <ul>
-	 *    <li>ERROR_NO_HANDLES if a handle could not be obtained for gc creation</li>
-	 *    <li>ERROR_UNSUPPORTED_DEPTH - if the current display depth is not supported</li>
-	 * </ul>
-	 */
-	public GLContext (Drawable drawable) {
-		if (drawable == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-		this.drawable = drawable;
-		this.data = new GCData ();
-		gc = drawable.internal_new_GC (data);
-		if (gc == 0) SWT.error (SWT.ERROR_NO_HANDLES);
-		int xDisplay = data.display;
-		int screen = OS.XDefaultScreen (xDisplay);
-		int depth = OS.XDefaultDepthOfScreen (OS.XDefaultScreenOfDisplay (xDisplay));
-		int attrib [] = {
-			XGL.GLX_LEVEL,
-			0,
-			XGL.GLX_RGBA,
-			XGL.GLX_DOUBLEBUFFER,
-			XGL.GLX_DEPTH_SIZE,
-			depth,
-			0
-		};
-		int infoPtr = XGL.glXChooseVisual (xDisplay, screen, attrib);
-		if (infoPtr == 0) SWT.error (SWT.ERROR_UNSUPPORTED_DEPTH);
-		XVisualInfo info = new XVisualInfo ();
-		XGL.memmove (info, infoPtr, XVisualInfo.sizeof);
-		OS.XFree (infoPtr);
-		handle = XGL.glXCreateContext (xDisplay, info, 0, false);
-		if (handle == 0) SWT.error (SWT.ERROR_NO_HANDLES);
-	}
-	
-	public ImageData convertImageData (ImageData source) {
-		PaletteData palette = new PaletteData (0xff0000, 0xff00, 0xff);
-		ImageData newSource = new ImageData (source.width, source.height, 24, palette);
-		ImageDataUtil.blit (
-			1,
-			source.data,
-			source.depth,
-			source.bytesPerLine,
-			(source.depth != 16) ? MSB_FIRST : LSB_FIRST,
-			0,
-			0,
-			source.width,
-			source.height,
-			source.palette.redMask,
-			source.palette.greenMask,
-			source.palette.blueMask,
-			255,
-			null,
-			0,
-			0,
-			0,
-			newSource.data,
-			newSource.depth,
-			newSource.bytesPerLine,
-			(newSource.depth != 16) ? MSB_FIRST : LSB_FIRST,
-			0,
-			0,
-			newSource.width,
-			newSource.height,
-			newSource.palette.redMask,
-			newSource.palette.greenMask,
-			newSource.palette.blueMask,
-			false,
-			true);
-
-		return newSource;
-	}
-
-	/**
-	 * Disposes of the operating system resources associated with
-	 * the receiver. Applications must dispose of all <code>GLContext</code>s
-	 * that they allocate.
-	 */
-	public void dispose () {
-		if (handle == 0) return;
-		int xDisplay = data.display;
-		if (XGL.glXGetCurrentContext () == handle) {
-			XGL.glXMakeCurrent (xDisplay, 0, 0);
-		}
-		if (selectBufferPtr != 0) OS.XtFree (selectBufferPtr);
-		XGL.glXDestroyContext (xDisplay, handle);
-		handle = 0;
-		// drawable may be disposed
-		try {
-			drawable.internal_dispose_GC (gc, data);
-		} catch (SWTException e) {
-		}
-		gc = 0;
-		data.display = data.drawable = data.colormap = 0;
-		data.fontList = data.clipRgn = data.renderTable = 0;
-		drawable = null;
-		data.device = null;
-		data.image = null;
-		data.codePage = null;
-		data = null;
-	}
-
-	public int[] getSelectBuffer (int selectBufferPtr, int[] selectBuffer) {
-		OS.memmove (selectBuffer, selectBufferPtr, selectBuffer.length * 4);
-		return selectBuffer;
-	}
-
-	public int getSelectBufferPtr (int[] selectBuffer) {
-		if (selectBufferPtr == 0) {
-			selectBufferPtr = OS.XtMalloc (selectBuffer.length * 4);
-		}
-		OS.memmove (selectBufferPtr, selectBuffer, selectBuffer.length * 4);
-		return selectBufferPtr;
-	}
-
-	/**
-	 * Returns a boolean indicating whether the receiver is the current
-	 * <code>GLContext</code>.
-	 *  
-	 * @return true if the receiver is the current <code>GLContext</code>,
-	 * false otherwise
-	 * @exception SWTError <ul>
-	 *    <li>ERROR_GRAPHIC_DISPOSED if the receiver is disposed</li>
-	 * </ul>
-	 */
-	public boolean isCurrent () {
-		if (isDisposed ()) 	SWT.error (SWT.ERROR_GRAPHIC_DISPOSED);
-		return XGL.glXGetCurrentContext () == handle;
-	}
-
-	/**
-	 * Returns a boolean indicating whether the <code>GLContext</code> has been
-	 * disposed.
-	 * <p>
-	 * This method gets the dispose state for the <code>GLContext</code>.
-	 * When a <code>GLContext</code> has been disposed, it is an error to
-	 * invoke any other method using the <code>GLContext</code>.
-	 *
-	 * @return true if the <code>GLContext</code> is disposed, false otherwise
-	 */
-	public boolean isDisposed () {
-		return handle == 0;
-	}
-
-	/**
-	 * Loads the specified bitmap font.
-	 * 
-	 * @param fdata
-	 * @param device
-	 * @param base
-	 * @param first
-	 * @param count
-	 */
-	public void loadBitmapFont (FontData fdata, Device device, int base, int startIndex, int length) {
-		/* Temporaly code, due some problems when running on UTF-8 loadBitmapFont ()
-		 * is restrict to works only for ascii. 
-		 * Note: en_US.ISO8859-1 also code be used.
-		 */
-		fdata.setLocale ("C");
-		Font font = new Font (device, fdata);
-		int fontList = font.handle;
-		int[] buffer = new int [1];
-		if (!OS.XmFontListInitFontContext (buffer, fontList)) return;
-		int context = buffer [0];
-		XFontStruct fontStruct = new XFontStruct ();
-		int fontListEntry;
-		int[] fontStructPtr = new int [1];
-		int[] fontNamePtr = new int [1];
-		int xfont = 0;
-		// go through each entry in the font list
-		while ((fontListEntry = OS.XmFontListNextEntry (context)) != 0) {
-			int fontPtr = OS.XmFontListEntryGetFont (fontListEntry, buffer);
-			if (buffer [0] == OS.XmFONT_IS_FONT) {
-				// FontList contains a single font
-				OS.memmove (fontStruct, fontPtr, 20 * 4);
-				xfont = fontStruct.fid;
-			} else {
-				// FontList contains a fontSet
-				int nFonts = OS.XFontsOfFontSet (fontPtr, fontStructPtr, fontNamePtr);
-				int[] fontStructs = new int [nFonts];
-				OS.memmove (fontStructs, fontStructPtr [0], nFonts * 4);
-				// Go through each fontStruct in the font set.
-				for (int i = 0; i < nFonts; i++) {
-					OS.memmove (fontStruct, fontStructs [i], XFontStruct.sizeof);
-					xfont = fontStruct.fid;
-				}
-			}
-		}
-		if (xfont != 0) {
-			XGL.glXUseXFont (xfont, startIndex, length, base);
-		}
-		font.dispose ();
-		OS.XmFontListFreeFontContext (context);
-	}
-
-	/**
-	 * Loads the specified outline font.
-	 * 
-	 * @param fdata
-	 * @param device
-	 * @param base
-	 * @param first
-	 * @param count
-	 * @param deviation
-	 * @param extrusion
-	 * @param format
-	 * @param lpgmf
-	 */
-	public void loadOutlineFont (FontData fdata, Device device, int base, int first,
-	int count, float deviation, float extrusion, int format, GLYPHMETRICSFLOAT[] lpgmf) {
-		// stub
-	}
-
-	/**
-	 * Resizes the receiver.
-	 * 
-	 * @param x
-	 * @param y
-	 * @param width
-	 * @param height
-	 */
-	public void resize (int x, int y, int width, int height) {
-		if (height == 0) height = 1;
-		GL.glViewport (x, y, width, height);
-		GL.glMatrixMode (GL.GL_PROJECTION);
-		GL.glLoadIdentity ();
-		GLU.gluPerspective (45.0f, (float) width / (float) height, 0.1f, 100.0f);
-		GL.glMatrixMode (GL.GL_MODELVIEW);
-		GL.glLoadIdentity ();
-	}
-
-	/**
-	 * Sets the receiver to be the current <code>GLContext</code>.
-	 * 
-	 * @exception SWTError <ul>
-	 *    <li>ERROR_GRAPHIC_DISPOSED if the receiver is disposed</li>
-	 * </ul>
-	 */
-	public void setCurrent () {
-		if (isDisposed ()) SWT.error (SWT.ERROR_GRAPHIC_DISPOSED);
-		if (XGL.glXGetCurrentContext () == handle) return;
-		XGL.glXMakeCurrent (data.display, data.drawable, handle);
-	}
-
-	/**
-	 * Swaps the receiver's buffers.
-	 * 
-	 * @exception SWTError <ul>
-	 *    <li>ERROR_GRAPHIC_DISPOSED if the receiver is disposed</li>
-	 * </ul>
-	 */
-	public void swapBuffers () {
-		if (isDisposed ()) SWT.error (SWT.ERROR_GRAPHIC_DISPOSED);
-		XGL.glXSwapBuffers (data.display, data.drawable);
-	}
-}
diff --git a/bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/internal/motif/XGL.java b/bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/internal/motif/XGL.java
deleted file mode 100644
index ce3705a..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/internal/motif/XGL.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.internal.motif;
-
-import org.eclipse.swt.opengl.Library;
-
-public class XGL {
-	
-static {
-	Library.loadLibrary("gl");
-}
-
-public static final int GLX_VERSION_1_1 = 1;
-public static final int GLX_VERSION_1_2 = 1;
-public static final int GLX_VERSION_1_3 = 1;
-
-/*
-** Visual Config Attributes (glXGetConfig, glXGetFBConfigAttrib)
-*/
-public static final int GLX_USE_GL		= 1;	/* support GLX rendering */
-public static final int GLX_BUFFER_SIZE		= 2;	/* depth of the color buffer */
-public static final int GLX_LEVEL		= 3;	/* level in plane stacking */
-public static final int GLX_RGBA		= 4;	/* true if RGBA mode */
-public static final int GLX_DOUBLEBUFFER	= 5;	/* double buffering supported */
-public static final int GLX_STEREO		= 6;	/* stereo buffering supported */
-public static final int GLX_AUX_BUFFERS		= 7;	/* number of aux buffers */
-public static final int GLX_RED_SIZE		= 8;	/* number of red component bits */
-public static final int GLX_GREEN_SIZE		= 9;	/* number of green component bits */
-public static final int GLX_BLUE_SIZE		= 10;	/* number of blue component bits */
-public static final int GLX_ALPHA_SIZE		= 11;	/* number of alpha component bits */
-public static final int GLX_DEPTH_SIZE		= 12;	/* number of depth bits */
-public static final int GLX_STENCIL_SIZE	= 13;	/* number of stencil bits */
-public static final int GLX_ACCUM_RED_SIZE	= 14;	/* number of red accum bits */
-public static final int GLX_ACCUM_GREEN_SIZE	= 15;	/* number of green accum bits */
-public static final int GLX_ACCUM_BLUE_SIZE	= 16;	/* number of blue accum bits */
-public static final int GLX_ACCUM_ALPHA_SIZE	= 17;	/* number of alpha accum bits */
-/*
-** FBConfig-specific attributes
-*/
-public static final int GLX_X_VISUAL_TYPE		= 0x22;
-public static final int GLX_CONFIG_CAVEAT		= 0x20;	/* Like visual_info VISUAL_CAVEAT_EXT */
-public static final int GLX_TRANSPARENT_TYPE		= 0x23;
-public static final int GLX_TRANSPARENT_INDEX_VALUE	= 0x24;
-public static final int GLX_TRANSPARENT_RED_VALUE	= 0x25;
-public static final int GLX_TRANSPARENT_GREEN_VALUE	= 0x26;
-public static final int GLX_TRANSPARENT_BLUE_VALUE	= 0x27;
-public static final int GLX_TRANSPARENT_ALPHA_VALUE	= 0x28;
-public static final int GLX_DRAWABLE_TYPE		= 0x8010;
-public static final int GLX_RENDER_TYPE			= 0x8011;
-public static final int GLX_X_RENDERABLE		= 0x8012;
-public static final int GLX_FBCONFIG_ID			= 0x8013;
-public static final int GLX_MAX_PBUFFER_WIDTH		= 0x8016;
-public static final int GLX_MAX_PBUFFER_HEIGHT		= 0x8017;
-public static final int GLX_MAX_PBUFFER_PIXELS		= 0x8018;
-public static final int GLX_VISUAL_ID			= 0x800B;
-
-/*
-** Error return values from glXGetConfig.  Success is indicated by
-** a value of 0.
-*/
-public static final int GLX_BAD_SCREEN		= 1;	/* screen # is bad */
-public static final int GLX_BAD_ATTRIBUTE	= 2;	/* attribute to get is bad */
-public static final int GLX_NO_EXTENSION	= 3;	/* no glx extension on server */
-public static final int GLX_BAD_VISUAL		= 4;	/* visual # not known by GLX */
-public static final int GLX_BAD_CONTEXT		= 5;	/* returned only by import_context EXT? */
-public static final int GLX_BAD_VALUE		= 6;	/* returned only by glXSwapIntervalSGI? */
-public static final int GLX_BAD_ENUM		= 7;	/* unused? */
-
-/* FBConfig attribute values */
-
-/*
-** Generic "don't care" value for glX ChooseFBConfig attributes (except
-** GLX_LEVEL)
-*/
-public static final int GLX_DONT_CARE			= 0xFFFFFFFF;
-
-/* GLX_RENDER_TYPE bits */
-public static final int GLX_RGBA_BIT			= 0x00000001;
-public static final int GLX_COLOR_INDEX_BIT		= 0x00000002;
-
-/* GLX_DRAWABLE_TYPE bits */
-public static final int GLX_WINDOW_BIT			= 0x00000001;
-public static final int GLX_PIXMAP_BIT			= 0x00000002;
-public static final int GLX_PBUFFER_BIT			= 0x00000004;
-
-/* GLX_CONFIG_CAVEAT attribute values */
-public static final int GLX_NONE			= 0x8000;
-public static final int GLX_SLOW_CONFIG			= 0x8001;
-public static final int GLX_NON_CONFORMANT_CONFIG	= 0x800D;
-
-/* GLX_X_VISUAL_TYPE attribute values */
-public static final int GLX_TRUE_COLOR			= 0x8002;
-public static final int GLX_DIRECT_COLOR		= 0x8003;
-public static final int GLX_PSEUDO_COLOR		= 0x8004;
-public static final int GLX_STATIC_COLOR		= 0x8005;
-public static final int GLX_GRAY_SCALE			= 0x8006;
-public static final int GLX_STATIC_GRAY			= 0x8007;
-
-/* GLX_TRANSPARENT_TYPE attribute values */
-/* public static final int GLX_NONE			   0x8000 */
-public static final int GLX_TRANSPARENT_RGB		= 0x8008;
-public static final int GLX_TRANSPARENT_INDEX		= 0x8009;
-
-/* glXCreateGLXPbuffer attributes */
-public static final int GLX_PRESERVED_CONTENTS		= 0x801B;
-public static final int GLX_LARGEST_PBUFFER		= 0x801C;
-public static final int GLX_PBUFFER_HEIGHT		= 0x8040;	/* New for GLX 1.3 */
-public static final int GLX_PBUFFER_WIDTH		= 0x8041;	/* New for GLX 1.3 */
-
-/* glXQueryGLXPBuffer attributes */
-public static final int GLX_WIDTH			= 0x801D;
-public static final int GLX_HEIGHT			= 0x801E;
-public static final int GLX_EVENT_MASK			= 0x801F;
-
-/* glXCreateNewContext render_type attribute values */
-public static final int GLX_RGBA_TYPE			= 0x8014;
-public static final int GLX_COLOR_INDEX_TYPE		= 0x8015;
-
-/* glXQueryContext attributes */
-/* public static final int GLX_FBCONFIG_ID		  0x8013 */
-/* public static final int GLX_RENDER_TYPE		  0x8011 */
-public static final int GLX_SCREEN			= 0x800C;
-
-/* glXSelectEvent event mask bits */
-public static final int GLX_PBUFFER_CLOBBER_MASK	= 0x08000000;
-
-/* GLXPbufferClobberEvent event_type values */
-public static final int GLX_DAMAGED			= 0x8020;
-public static final int GLX_SAVED			= 0x8021;
-
-/* GLXPbufferClobberEvent draw_type values */
-public static final int GLX_WINDOW			= 0x8022;
-public static final int GLX_PBUFFER			= 0x8023;
-
-/* GLXPbufferClobberEvent buffer_mask bits */
-public static final int GLX_FRONT_LEFT_BUFFER_BIT	= 0x00000001;
-public static final int GLX_FRONT_RIGHT_BUFFER_BIT	= 0x00000002;
-public static final int GLX_BACK_LEFT_BUFFER_BIT	= 0x00000004;
-public static final int GLX_BACK_RIGHT_BUFFER_BIT	= 0x00000008;
-public static final int GLX_AUX_BUFFERS_BIT		= 0x00000010;
-public static final int GLX_DEPTH_BUFFER_BIT		= 0x00000020;
-public static final int GLX_STENCIL_BUFFER_BIT		= 0x00000040;
-public static final int GLX_ACCUM_BUFFER_BIT		= 0x00000080;
-
-/*
-** Extension return values from glXGetConfig.  These are also
-** accepted as parameter values for glXChooseVisual.
-*/
-
-public static final int GLX_X_VISUAL_TYPE_EXT	= 0x22;	/* visual_info extension type */
-public static final int GLX_TRANSPARENT_TYPE_EXT = 0x23;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_INDEX_VALUE_EXT = 0x24;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_RED_VALUE_EXT	= 0x25;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_GREEN_VALUE_EXT = 0x26;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_BLUE_VALUE_EXT	= 0x27;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_ALPHA_VALUE_EXT = 0x28;	/* visual_info extension */
-
-/* Property values for visual_type */
-public static final int GLX_TRUE_COLOR_EXT	= 0x8002;
-public static final int GLX_DIRECT_COLOR_EXT	= 0x8003;
-public static final int GLX_PSEUDO_COLOR_EXT	= 0x8004;
-public static final int GLX_STATIC_COLOR_EXT	= 0x8005;
-public static final int GLX_GRAY_SCALE_EXT	= 0x8006;
-public static final int GLX_STATIC_GRAY_EXT	= 0x8007;
-
-/* Property values for transparent pixel */
-public static final int GLX_NONE_EXT		= 0x8000;
-public static final int GLX_TRANSPARENT_RGB_EXT		= 0x8008;
-public static final int GLX_TRANSPARENT_INDEX_EXT	= 0x8009;
-
-/* Property values for visual_rating */
-public static final int GLX_VISUAL_CAVEAT_EXT		= 0x20;  /* visual_rating extension type */
-public static final int GLX_SLOW_VISUAL_EXT		= 0x8001;
-public static final int GLX_NON_CONFORMANT_VISUAL_EXT	= 0x800D;
-
-/*
-** Names for attributes to glXGetClientString.
-*/
-public static final int GLX_VENDOR		= 0x1;
-public static final int GLX_VERSION		= 0x2;
-public static final int GLX_EXTENSIONS		= 0x3;
-
-/*
-** Names for attributes to glXQueryContextInfoEXT.
-*/
-public static final int GLX_SHARE_CONTEXT_EXT	= 0x800A;	/* id of share context */
-public static final int GLX_VISUAL_ID_EXT	= 0x800B;	/* id of context's visual */
-public static final int GLX_SCREEN_EXT		= 0x800C;	/* screen number */
-
-/* GLX Extension Strings */
-public static final int GLX_EXT_import_context	= 1;
-public static final int GLX_EXT_visual_info	= 1;
-public static final int GLX_EXT_visual_rating	= 1;
-public static final int GLX_ARB_get_proc_address = 1;
-
-public static final native int glXChooseVisual(int dpy, int screen, int[] attribList);
-public static final native void glXCopyContext(int dpy, int src, int dst, int mask);
-//public static final native int glXCreateContext(int dpy, int vis, int shareList, boolean direct);
-public static final native int glXCreateContext(int dpy, XVisualInfo vis, int shareList, boolean direct);
-public static final native int glXCreateGLXPixmap(int dpy, XVisualInfo vis, int pixmap);
-public static final native void glXDestroyContext(int dpy, int ctx);
-public static final native void glXDestroyGLXPixmap(int dpy, int pix);
-public static final native int glXGetConfig(int dpy, XVisualInfo vis, int attrib, int[] value);
-public static final native int glXGetCurrentContext();
-public static final native int glXGetCurrentDrawable();
-public static final native boolean glXIsDirect(int dpy, int ctx);
-public static final native boolean glXMakeCurrent(int dpy, int drawable, int ctx);
-public static final native boolean glXQueryExtension(int dpy, int[] errorBase, int[] eventBase);
-public static final native boolean glXQueryVersion(int dpy, int[] major, int[] minor);
-public static final native void glXSwapBuffers(int dpy, int drawable);
-public static final native void glXUseXFont(int font, int first, int count, int listBase);
-public static final native void glXWaitGL();
-public static final native void glXWaitX();
-public static final native int glXGetClientString(int dpy, int name);
-public static final native int glXQueryServerString(int dpy, int screen, int name);
-public static final native int glXQueryExtensionsString(int dpy, int screen);
-public static final native void memmove(XVisualInfo dest, int src, int size);
-
-}
diff --git a/bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/internal/motif/XVisualInfo.java b/bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/internal/motif/XVisualInfo.java
deleted file mode 100644
index d6cba4a..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/internal/motif/XVisualInfo.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.internal.motif;
-
- 
-public class XVisualInfo {
-	public int visual;
-	public int visualid;
-	public int screen;
-	public int depth;
-	public int cclass;
-	public int red_mask, green_mask, blue_mask;
-	public int colormap_size;
-	public int bits_per_rgb;
-	public static final int sizeof = 40;
-}
diff --git a/bundles/org.eclipse.swt.opengl/plugin.xml b/bundles/org.eclipse.swt.opengl/plugin.xml
deleted file mode 100644
index 0e85963..0000000
--- a/bundles/org.eclipse.swt.opengl/plugin.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="org.eclipse.swt.opengl"
-   name="%pluginName"
-   version="2.1.0"
-   provider-name="%providerName">
-
-   <runtime>
-      <library name="$ws$/swt.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.swt.opengl"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.swt"/>
-   </requires>
-
-
-</plugin>
diff --git a/bundles/org.eclipse.swt.opengl/win32/gl_library/build.bat b/bundles/org.eclipse.swt.opengl/win32/gl_library/build.bat
deleted file mode 100644
index 9d6a37a..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/gl_library/build.bat
+++ /dev/null
@@ -1,34 +0,0 @@
-rem *******************************************************************************
-rem  Copyright (c) 2000, 2003 IBM Corporation and others.
-rem  All rights reserved. This program and the accompanying materials 
-rem  are made available under the terms of the Common Public License v1.0
-rem  which accompanies this distribution, and is available at
-rem  http://www.eclipse.org/legal/cpl-v10.html
-rem  
-rem  Contributors:
-rem      IBM Corporation - initial API and implementation
-rem *******************************************************************************
-
-@echo off
-
-IF NOT "%JAVA_HOME%"=="" GOTO MAKE
-
-rem *****
-rem Javah
-rem *****
-set JAVA_HOME=j:\teamswt\swt-builddir\ive\bin
-set path=%JAVA_HOME%;%path%
-
-rem ********
-rem MSVC 6.0
-rem ********
-call k:\dev\products\msvc60\vc98\bin\vcvars32.bat
-
-rem ****** 
-rem MS-SDK
-rem ******
-set Mssdk=j:\teamswt\swt-builddir\mssdk
-call %mssdk%\setenv.bat
-
-:MAKE
-nmake -f make_win32.mak %1 %2 %3 %4
diff --git a/bundles/org.eclipse.swt.opengl/win32/gl_library/glw.c b/bundles/org.eclipse.swt.opengl/win32/gl_library/glw.c
deleted file mode 100644
index bcad15d..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/gl_library/glw.c
+++ /dev/null
@@ -1,283 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-#include <windows.h>
-#include <wingdi.h>
-#include "jni.h"
-#include "swt.h"
-#include "structs.h"
-
-#define WGL_NATIVE(func) Java_org_eclipse_swt_opengl_internal_win32_WGL_##func
-
-JNIEXPORT jint JNICALL WGL_NATIVE(ChoosePixelFormat)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PIXELFORMATDESCRIPTOR _arg1, *lparg1=NULL;
-	jint rc;
-
-	DEBUG_CALL("ChoosePixelFormat\n")
-
-	if (arg1) lparg1 = getPIXELFORMATDESCRIPTORFields(env, arg1, &_arg1);
-	rc = (jint)ChoosePixelFormat((HDC)arg0, (CONST PIXELFORMATDESCRIPTOR *)lparg1);
-	if (arg1) setPIXELFORMATDESCRIPTORFields(env, arg1, lparg1);
-	return rc;
-}
-
-JNIEXPORT jint JNICALL WGL_NATIVE(DescribePixelFormat)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	PIXELFORMATDESCRIPTOR _arg3, *lparg3=NULL;
-	jint rc;
-
-	DEBUG_CALL("DescribePixelFormat\n")
-
-	if (arg3) lparg3 = getPIXELFORMATDESCRIPTORFields(env, arg3, &_arg3);
-	rc = (jint)DescribePixelFormat((HDC)arg0, arg1, arg2, (LPPIXELFORMATDESCRIPTOR)lparg3);
-	if (arg3) setPIXELFORMATDESCRIPTORFields(env, arg3, lparg3);
-	return rc;
-}
-
-JNIEXPORT jint JNICALL WGL_NATIVE(GetPixelFormat)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	DEBUG_CALL("GetPixelFormat\n")
-
-	return (jint)GetPixelFormat((HDC)arg0);
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(SetPixelFormat)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	PIXELFORMATDESCRIPTOR _arg2, *lparg2=NULL;
-	jboolean rc;
-
-	DEBUG_CALL("SetPixelFormat\n")
-
-	if (arg2) lparg2 = getPIXELFORMATDESCRIPTORFields(env, arg2, &_arg2);
-	rc = (jboolean)SetPixelFormat((HDC)arg0, arg1, (CONST PIXELFORMATDESCRIPTOR *)lparg2);
-	if (arg2) setPIXELFORMATDESCRIPTORFields(env, arg2, lparg2);
-	return rc;
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(SwapBuffers)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	DEBUG_CALL("SwapBuffers\n")
-
-	return (jboolean)SwapBuffers((HDC)arg0);
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglCopyContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	DEBUG_CALL("wglCopyContext\n")
-
-	return (jboolean)wglCopyContext((HGLRC)arg0, (HGLRC)arg1, (UINT)arg2);
-}
-
-JNIEXPORT jint JNICALL WGL_NATIVE(wglCreateContext)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	DEBUG_CALL("wglCreateContext\n")
-
-	return (jint)wglCreateContext((HDC)arg0);
-}
-
-JNIEXPORT jint JNICALL WGL_NATIVE(wglCreateLayerContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("wglCreateLayerContext\n")
-
-	return (jint)wglCreateLayerContext((HDC)arg0, arg1);
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglDeleteContext)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	DEBUG_CALL("wglDeleteContext\n")
-
-	return (jboolean)wglDeleteContext((HGLRC)arg0);
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglDescribeLayerPlane)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4)
-{
-	LAYERPLANEDESCRIPTOR _arg4, *lparg4=NULL;
-	jboolean rc;
-
-	DEBUG_CALL("wglDescribeLayerPlane\n")
-
-	if (arg4) lparg4 = getLAYERPLANEDESCRIPTORFields(env, arg4, &_arg4);
-	rc = (jboolean)wglDescribeLayerPlane((HDC)arg0, arg1, arg2, arg3, (LPLAYERPLANEDESCRIPTOR)lparg4);
-	if (arg4) setLAYERPLANEDESCRIPTORFields(env, arg4, lparg4);
-	return rc;
-}
-
-JNIEXPORT jint JNICALL WGL_NATIVE(wglGetCurrentContext)
-	(JNIEnv *env, jclass that)
-{
-	DEBUG_CALL("wglGetCurrentContext\n")
-
-	return (jint)wglGetCurrentContext();
-}
-
-JNIEXPORT jint JNICALL WGL_NATIVE(wglGetCurrentDC)
-	(JNIEnv *env, jclass that)
-{
-	DEBUG_CALL("wglGetCurrentDC\n")
-
-	return (jint)wglGetCurrentDC();
-}
-
-JNIEXPORT jint JNICALL WGL_NATIVE(wglGetLayerPaletteEntries)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	jint rc;
-
-	DEBUG_CALL("wglGetLayerPaletteEntries\n")
-
-	if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
-	rc = (jint)wglGetLayerPaletteEntries((HDC)arg0, arg1, arg2, arg3, (COLORREF *)lparg4);
-	if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	return rc;
-}
-
-JNIEXPORT jint JNICALL WGL_NATIVE(wglGetProcAddress)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc;
-
-	DEBUG_CALL("wglGetProcAddress\n")
-
-	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	rc = (jint)wglGetProcAddress((LPCSTR)lparg0);
-	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	return rc;
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglMakeCurrent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("wglMakeCurrent\n")
-
-	return (jboolean)wglMakeCurrent((HDC)arg0, (HGLRC)arg1);
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglRealizeLayerPalette)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	DEBUG_CALL("wglRealizeLayerPalette\n")
-
-	return (jboolean)wglRealizeLayerPalette((HDC)arg0, arg1, (BOOL)arg2);
-}
-
-JNIEXPORT jint JNICALL WGL_NATIVE(wglSetLayerPaletteEntries)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	jint rc;
-
-	DEBUG_CALL("wglSetLayerPaletteEntries\n")
-
-	if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
-	rc = (jint)wglSetLayerPaletteEntries((HDC)arg0, arg1, arg2, arg3, (CONST COLORREF *)lparg4);
-	if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	return rc;
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglShareLists)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("wglShareLists\n")
-
-	return (jboolean)wglShareLists((HGLRC)arg0, (HGLRC)arg1);
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglSwapLayerBuffers)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("wglSwapLayerBuffers\n")
-
-	return (jboolean)wglSwapLayerBuffers((HDC)arg0, arg1);
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglUseFontBitmapsA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	DEBUG_CALL("wglUseFontBitmapsA\n")
-
-	return (jboolean)wglUseFontBitmapsA((HDC)arg0, arg1, arg2, arg3);
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglUseFontBitmapsW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	DEBUG_CALL("wglUseFontBitmapsW\n")
-
-	return (jboolean)wglUseFontBitmapsW((HDC)arg0, arg1, arg2, arg3);
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglUseFontOutlinesA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jfloat arg4, jfloat arg5, jint arg6, jobject arg7)
-{
-//	GLYPHMETRICSFLOAT _arg7, *lparg7=NULL;
-	jboolean rc;
-
-	DEBUG_CALL("wglUseFontOutlinesA\n")
-
-//	if (arg7) lparg7 = getGLYPHMETRICSFLOATFields(env, arg7, &_arg7);
-	rc = (jboolean)wglUseFontOutlinesA((HDC)arg0, arg1, arg2, arg3, (FLOAT)arg4, (FLOAT)arg5, arg6, (LPGLYPHMETRICSFLOAT)arg7);
-//	if (arg7) setGLYPHMETRICSFLOATFields(env, arg7, lparg7);
-	return rc;
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglUseFontOutlinesW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jfloat arg4, jfloat arg5, jint arg6, jobject arg7)
-{
-//	GLYPHMETRICSFLOAT _arg7, *lparg7=NULL;
-	jboolean rc;
-
-	DEBUG_CALL("wglUseFontOutlinesW\n")
-
-//	if (arg7) lparg7 = getGLYPHMETRICSFLOATFields(env, arg7, &_arg7);
-	rc = (jboolean)wglUseFontOutlinesW((HDC)arg0, arg1, arg2, arg3, (FLOAT)arg4, (FLOAT)arg5, arg6, (LPGLYPHMETRICSFLOAT)arg7);
-//	if (arg7) setGLYPHMETRICSFLOATFields(env, arg7, lparg7);
-	return rc;
-}
-
-JNIEXPORT void JNICALL WGL_NATIVE(MoveMemoryW__Lorg_eclipse_swt_opengl_internal_win32_GLYPHMETRICSFLOAT_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GLYPHMETRICSFLOAT _arg0, *lparg0=NULL;
-
-	DEBUG_CALL("MoveMemoryW__Lorg_eclipse_swt_opengl_internal_win32_GLYPHMETRICSFLOAT_2II\n")
-	DEBUG_CHECK_NULL(env, arg1)
-	
-	if (arg0) lparg0 = &_arg0;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-	if (arg0) setGLYPHMETRICSFLOATFields(env, arg0, lparg0);
-}
-
-JNIEXPORT void JNICALL WGL_NATIVE(MoveMemoryA__Lorg_eclipse_swt_opengl_internal_win32_GLYPHMETRICSFLOAT_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GLYPHMETRICSFLOAT _arg0, *lparg0=NULL;
-
-	DEBUG_CALL("MoveMemoryA__Lorg_eclipse_swt_opengl_internal_win32_GLYPHMETRICSFLOAT_2II\n")
-	DEBUG_CHECK_NULL(env, arg1)
-	
-	if (arg0) lparg0 = &_arg0;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-	if (arg0) setGLYPHMETRICSFLOATFields(env, arg0, lparg0);
-}
-
-
diff --git a/bundles/org.eclipse.swt.opengl/win32/gl_library/make_win32.mak b/bundles/org.eclipse.swt.opengl/win32/gl_library/make_win32.mak
deleted file mode 100644
index 6bbd18c..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/gl_library/make_win32.mak
+++ /dev/null
@@ -1,56 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#*******************************************************************************
-
-# assumes JAVA_HOME is set in the environment from which nmake is run
-
-APPVER=5.0
-!include <win32.mak>
-
-pgm_ver_str="SWT $(maj_ver).$(min_ver) for Windows"
-timestamp_str=__DATE__\" \"__TIME__\" (EST)\"
-copyright = "Copyright (C) 1999, 2003 IBM Corp.  All rights reserved."
-
-SWT_PREFIX=gl
-WS_PREFIX=win32
-SWT_LIB     = $(SWT_PREFIX)-$(WS_PREFIX).dll
-
-LINK_LIBS = opengl32.lib glu32.lib gdi32.lib
-
-# note: thoroughly test all examples after changing any optimization flags
-SWT_CDEBUG = #-Zi -Odi
-SWT_LDEBUG = #/DEBUG /DEBUGTYPE:both
-CFLAGS = -c -W3 -G6 -GD -O1 $(SWT_CDEBUG) -nologo -D_X86_=1 -D_WIN32 -D_WIN95 -D_WIN32_WINDOWS=0x0400 -D_MT -MT -DWIN32 -D_WIN32_DCOM /I$(JAVA_HOME)\include /I.
-RCFLAGS = -DSWT_COMMA_VERSION=$(comma_ver)
-LFLAGS = /INCREMENTAL:NO /PDB:NONE /RELEASE /NOLOGO $(SWT_LDEBUG) -entry:_DllMainCRTStartup@12 -dll /BASE:0x10000000 /comment:$(pgm_ver_str) /comment:$(copyright) /DLL
-
-SWT_OBJS = gl.obj glu.obj glw.obj structs.obj
-
-all: $(SWT_LIB)
-
-.c.obj:
-	cl $(CFLAGS) $*.c
-
-$(SWT_LIB): $(SWT_OBJS) swt.res
-	echo $(LFLAGS) >templrf
-	echo $(LINK_LIBS) >>templrf
-	echo -machine:IX86 >>templrf
-	echo -subsystem:windows >>templrf
-	echo -out:$(SWT_LIB) >>templrf
-	echo $(SWT_OBJS) >>templrf
-	echo swt.res >>templrf
-	link @templrf
-	del templrf
-	
-swt.res:
-	rc $(RCFLAGS) -DSWT_ORG_FILENAME=\"$(SWT_LIB)\" -r -fo swt.res swt.rc
-	
-clean:
-    del *.obj *.res *.dll *.lib *.exp
diff --git a/bundles/org.eclipse.swt.opengl/win32/gl_library/structs.c b/bundles/org.eclipse.swt.opengl/win32/gl_library/structs.c
deleted file mode 100644
index a9c61dc..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/gl_library/structs.c
+++ /dev/null
@@ -1,304 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "swt.h"
-#include "structs.h"
-
-typedef struct GLYPHMETRICSFLOAT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID gmfCellIncY, gmfCellIncX, gmfptGlyphOrigin_y, gmfptGlyphOrigin_x, gmfBlackBoxY, gmfBlackBoxX;
-} GLYPHMETRICSFLOAT_FID_CACHE;
-typedef GLYPHMETRICSFLOAT_FID_CACHE *PGLYPHMETRICSFLOAT_FID_CACHE;
-
-GLYPHMETRICSFLOAT_FID_CACHE GLYPHMETRICSFLOATFc;
-
-void cacheGLYPHMETRICSFLOATFids(JNIEnv *env, jobject lpObject, PGLYPHMETRICSFLOAT_FID_CACHE lpCache)
-{
-	if (lpCache->cached) return;
-	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
-	lpCache->gmfCellIncY = (*env)->GetFieldID(env, lpCache->clazz, "gmfCellIncY", "F");
-	lpCache->gmfCellIncX = (*env)->GetFieldID(env, lpCache->clazz, "gmfCellIncX", "F");
-	lpCache->gmfptGlyphOrigin_y = (*env)->GetFieldID(env, lpCache->clazz, "gmfptGlyphOrigin_y", "F");
-	lpCache->gmfptGlyphOrigin_x = (*env)->GetFieldID(env, lpCache->clazz, "gmfptGlyphOrigin_x", "F");
-	lpCache->gmfBlackBoxY = (*env)->GetFieldID(env, lpCache->clazz, "gmfBlackBoxY", "F");
-	lpCache->gmfBlackBoxX = (*env)->GetFieldID(env, lpCache->clazz, "gmfBlackBoxX", "F");
-	lpCache->cached = 1;
-}
-
-GLYPHMETRICSFLOAT *getGLYPHMETRICSFLOATFields(JNIEnv *env, jobject lpObject, GLYPHMETRICSFLOAT *lpStruct)
-{
-	PGLYPHMETRICSFLOAT_FID_CACHE lpCache = &GLYPHMETRICSFLOATFc;
-	if (!lpCache->cached) cacheGLYPHMETRICSFLOATFids(env, lpObject, lpCache);
-	lpStruct->gmfCellIncY = (*env)->GetFloatField(env, lpObject, lpCache->gmfCellIncY);
-	lpStruct->gmfCellIncX = (*env)->GetFloatField(env, lpObject, lpCache->gmfCellIncX);
-	lpStruct->gmfptGlyphOrigin.y = (*env)->GetFloatField(env, lpObject, lpCache->gmfptGlyphOrigin_y);
-	lpStruct->gmfptGlyphOrigin.x = (*env)->GetFloatField(env, lpObject, lpCache->gmfptGlyphOrigin_x);
-	lpStruct->gmfBlackBoxY = (*env)->GetFloatField(env, lpObject, lpCache->gmfBlackBoxY);
-	lpStruct->gmfBlackBoxX = (*env)->GetFloatField(env, lpObject, lpCache->gmfBlackBoxX);
-	return lpStruct;
-}
-
-void setGLYPHMETRICSFLOATFields(JNIEnv *env, jobject lpObject, GLYPHMETRICSFLOAT *lpStruct)
-{
-	PGLYPHMETRICSFLOAT_FID_CACHE lpCache = &GLYPHMETRICSFLOATFc;
-	if (!lpCache->cached) cacheGLYPHMETRICSFLOATFids(env, lpObject, lpCache);
-	(*env)->SetFloatField(env, lpObject, lpCache->gmfCellIncY, (jfloat)lpStruct->gmfCellIncY);
-	(*env)->SetFloatField(env, lpObject, lpCache->gmfCellIncX, (jfloat)lpStruct->gmfCellIncX);
-	(*env)->SetFloatField(env, lpObject, lpCache->gmfptGlyphOrigin_y, (jfloat)lpStruct->gmfptGlyphOrigin.y);
-	(*env)->SetFloatField(env, lpObject, lpCache->gmfptGlyphOrigin_x, (jfloat)lpStruct->gmfptGlyphOrigin.x);
-	(*env)->SetFloatField(env, lpObject, lpCache->gmfBlackBoxY, (jfloat)lpStruct->gmfBlackBoxY);
-	(*env)->SetFloatField(env, lpObject, lpCache->gmfBlackBoxX, (jfloat)lpStruct->gmfBlackBoxX);
-}
-
-typedef struct LAYERPLANEDESCRIPTOR_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID crTransparent, bReserved, iLayerPlane, cAuxBuffers, cStencilBits, cDepthBits, cAccumAlphaBits, cAccumBlueBits, cAccumGreenBits, cAccumRedBits, cAccumBits, cAlphaShift, cAlphaBits, cBlueShift, cBlueBits, cGreenShift, cGreenBits, cRedShift, cRedBits, cColorBits, iPixelType, dwFlags, nVersion, nSize;
-} LAYERPLANEDESCRIPTOR_FID_CACHE;
-typedef LAYERPLANEDESCRIPTOR_FID_CACHE *PLAYERPLANEDESCRIPTOR_FID_CACHE;
-
-LAYERPLANEDESCRIPTOR_FID_CACHE LAYERPLANEDESCRIPTORFc;
-
-void cacheLAYERPLANEDESCRIPTORFids(JNIEnv *env, jobject lpObject, PLAYERPLANEDESCRIPTOR_FID_CACHE lpCache)
-{
-	if (lpCache->cached) return;
-	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
-	lpCache->crTransparent = (*env)->GetFieldID(env, lpCache->clazz, "crTransparent", "I");
-	lpCache->bReserved = (*env)->GetFieldID(env, lpCache->clazz, "bReserved", "B");
-	lpCache->iLayerPlane = (*env)->GetFieldID(env, lpCache->clazz, "iLayerPlane", "B");
-	lpCache->cAuxBuffers = (*env)->GetFieldID(env, lpCache->clazz, "cAuxBuffers", "B");
-	lpCache->cStencilBits = (*env)->GetFieldID(env, lpCache->clazz, "cStencilBits", "B");
-	lpCache->cDepthBits = (*env)->GetFieldID(env, lpCache->clazz, "cDepthBits", "B");
-	lpCache->cAccumAlphaBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumAlphaBits", "B");
-	lpCache->cAccumBlueBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumBlueBits", "B");
-	lpCache->cAccumGreenBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumGreenBits", "B");
-	lpCache->cAccumRedBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumRedBits", "B");
-	lpCache->cAccumBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumBits", "B");
-	lpCache->cAlphaShift = (*env)->GetFieldID(env, lpCache->clazz, "cAlphaShift", "B");
-	lpCache->cAlphaBits = (*env)->GetFieldID(env, lpCache->clazz, "cAlphaBits", "B");
-	lpCache->cBlueShift = (*env)->GetFieldID(env, lpCache->clazz, "cBlueShift", "B");
-	lpCache->cBlueBits = (*env)->GetFieldID(env, lpCache->clazz, "cBlueBits", "B");
-	lpCache->cGreenShift = (*env)->GetFieldID(env, lpCache->clazz, "cGreenShift", "B");
-	lpCache->cGreenBits = (*env)->GetFieldID(env, lpCache->clazz, "cGreenBits", "B");
-	lpCache->cRedShift = (*env)->GetFieldID(env, lpCache->clazz, "cRedShift", "B");
-	lpCache->cRedBits = (*env)->GetFieldID(env, lpCache->clazz, "cRedBits", "B");
-	lpCache->cColorBits = (*env)->GetFieldID(env, lpCache->clazz, "cColorBits", "B");
-	lpCache->iPixelType = (*env)->GetFieldID(env, lpCache->clazz, "iPixelType", "B");
-	lpCache->dwFlags = (*env)->GetFieldID(env, lpCache->clazz, "dwFlags", "I");
-	lpCache->nVersion = (*env)->GetFieldID(env, lpCache->clazz, "nVersion", "S");
-	lpCache->nSize = (*env)->GetFieldID(env, lpCache->clazz, "nSize", "S");
-	lpCache->cached = 1;
-}
-
-LAYERPLANEDESCRIPTOR *getLAYERPLANEDESCRIPTORFields(JNIEnv *env, jobject lpObject, LAYERPLANEDESCRIPTOR *lpStruct)
-{
-	PLAYERPLANEDESCRIPTOR_FID_CACHE lpCache = &LAYERPLANEDESCRIPTORFc;
-	if (!lpCache->cached) cacheLAYERPLANEDESCRIPTORFids(env, lpObject, lpCache);
-	lpStruct->crTransparent = (*env)->GetIntField(env, lpObject, lpCache->crTransparent);
-	lpStruct->bReserved = (*env)->GetByteField(env, lpObject, lpCache->bReserved);
-	lpStruct->iLayerPlane = (*env)->GetByteField(env, lpObject, lpCache->iLayerPlane);
-	lpStruct->cAuxBuffers = (*env)->GetByteField(env, lpObject, lpCache->cAuxBuffers);
-	lpStruct->cStencilBits = (*env)->GetByteField(env, lpObject, lpCache->cStencilBits);
-	lpStruct->cDepthBits = (*env)->GetByteField(env, lpObject, lpCache->cDepthBits);
-	lpStruct->cAccumAlphaBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumAlphaBits);
-	lpStruct->cAccumBlueBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumBlueBits);
-	lpStruct->cAccumGreenBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumGreenBits);
-	lpStruct->cAccumRedBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumRedBits);
-	lpStruct->cAccumBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumBits);
-	lpStruct->cAlphaShift = (*env)->GetByteField(env, lpObject, lpCache->cAlphaShift);
-	lpStruct->cAlphaBits = (*env)->GetByteField(env, lpObject, lpCache->cAlphaBits);
-	lpStruct->cBlueShift = (*env)->GetByteField(env, lpObject, lpCache->cBlueShift);
-	lpStruct->cBlueBits = (*env)->GetByteField(env, lpObject, lpCache->cBlueBits);
-	lpStruct->cGreenShift = (*env)->GetByteField(env, lpObject, lpCache->cGreenShift);
-	lpStruct->cGreenBits = (*env)->GetByteField(env, lpObject, lpCache->cGreenBits);
-	lpStruct->cRedShift = (*env)->GetByteField(env, lpObject, lpCache->cRedShift);
-	lpStruct->cRedBits = (*env)->GetByteField(env, lpObject, lpCache->cRedBits);
-	lpStruct->cColorBits = (*env)->GetByteField(env, lpObject, lpCache->cColorBits);
-	lpStruct->iPixelType = (*env)->GetByteField(env, lpObject, lpCache->iPixelType);
-	lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, lpCache->dwFlags);
-	lpStruct->nVersion = (*env)->GetShortField(env, lpObject, lpCache->nVersion);
-	lpStruct->nSize = (*env)->GetShortField(env, lpObject, lpCache->nSize);
-	return lpStruct;
-}
-
-void setLAYERPLANEDESCRIPTORFields(JNIEnv *env, jobject lpObject, LAYERPLANEDESCRIPTOR *lpStruct)
-{
-	PLAYERPLANEDESCRIPTOR_FID_CACHE lpCache = &LAYERPLANEDESCRIPTORFc;
-	if (!lpCache->cached) cacheLAYERPLANEDESCRIPTORFids(env, lpObject, lpCache);
-	(*env)->SetIntField(env, lpObject, lpCache->crTransparent, (jint)lpStruct->crTransparent);
-	(*env)->SetByteField(env, lpObject, lpCache->bReserved, (jbyte)lpStruct->bReserved);
-	(*env)->SetByteField(env, lpObject, lpCache->iLayerPlane, (jbyte)lpStruct->iLayerPlane);
-	(*env)->SetByteField(env, lpObject, lpCache->cAuxBuffers, (jbyte)lpStruct->cAuxBuffers);
-	(*env)->SetByteField(env, lpObject, lpCache->cStencilBits, (jbyte)lpStruct->cStencilBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cDepthBits, (jbyte)lpStruct->cDepthBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumAlphaBits, (jbyte)lpStruct->cAccumAlphaBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumBlueBits, (jbyte)lpStruct->cAccumBlueBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumGreenBits, (jbyte)lpStruct->cAccumGreenBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumRedBits, (jbyte)lpStruct->cAccumRedBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumBits, (jbyte)lpStruct->cAccumBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAlphaShift, (jbyte)lpStruct->cAlphaShift);
-	(*env)->SetByteField(env, lpObject, lpCache->cAlphaBits, (jbyte)lpStruct->cAlphaBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cBlueShift, (jbyte)lpStruct->cBlueShift);
-	(*env)->SetByteField(env, lpObject, lpCache->cBlueBits, (jbyte)lpStruct->cBlueBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cGreenShift, (jbyte)lpStruct->cGreenShift);
-	(*env)->SetByteField(env, lpObject, lpCache->cGreenBits, (jbyte)lpStruct->cGreenBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cRedShift, (jbyte)lpStruct->cRedShift);
-	(*env)->SetByteField(env, lpObject, lpCache->cRedBits, (jbyte)lpStruct->cRedBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cColorBits, (jbyte)lpStruct->cColorBits);
-	(*env)->SetByteField(env, lpObject, lpCache->iPixelType, (jbyte)lpStruct->iPixelType);
-	(*env)->SetIntField(env, lpObject, lpCache->dwFlags, (jint)lpStruct->dwFlags);
-	(*env)->SetShortField(env, lpObject, lpCache->nVersion, (jshort)lpStruct->nVersion);
-	(*env)->SetShortField(env, lpObject, lpCache->nSize, (jshort)lpStruct->nSize);
-}
-
-typedef struct POINTFLOAT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID y, x;
-} POINTFLOAT_FID_CACHE;
-typedef POINTFLOAT_FID_CACHE *PPOINTFLOAT_FID_CACHE;
-
-POINTFLOAT_FID_CACHE POINTFLOATFc;
-
-void cachePOINTFLOATFids(JNIEnv *env, jobject lpObject, PPOINTFLOAT_FID_CACHE lpCache)
-{
-	if (lpCache->cached) return;
-	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
-	lpCache->y = (*env)->GetFieldID(env, lpCache->clazz, "y", "F");
-	lpCache->x = (*env)->GetFieldID(env, lpCache->clazz, "x", "F");
-	lpCache->cached = 1;
-}
-
-POINTFLOAT *getPOINTFLOATFields(JNIEnv *env, jobject lpObject, POINTFLOAT *lpStruct)
-{
-	PPOINTFLOAT_FID_CACHE lpCache = &POINTFLOATFc;
-	if (!lpCache->cached) cachePOINTFLOATFids(env, lpObject, lpCache);
-	lpStruct->y = (*env)->GetFloatField(env, lpObject, lpCache->y);
-	lpStruct->x = (*env)->GetFloatField(env, lpObject, lpCache->x);
-	return lpStruct;
-}
-
-void setPOINTFLOATFields(JNIEnv *env, jobject lpObject, POINTFLOAT *lpStruct)
-{
-	PPOINTFLOAT_FID_CACHE lpCache = &POINTFLOATFc;
-	if (!lpCache->cached) cachePOINTFLOATFids(env, lpObject, lpCache);
-	(*env)->SetFloatField(env, lpObject, lpCache->y, (jfloat)lpStruct->y);
-	(*env)->SetFloatField(env, lpObject, lpCache->x, (jfloat)lpStruct->x);
-}
-
-typedef struct PIXELFORMATDESCRIPTOR_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID dwDamageMask, dwVisibleMask, dwLayerMask, bReserved, iLayerType, cAuxBuffers, cStencilBits, cDepthBits, cAccumAlphaBits, cAccumBlueBits, cAccumGreenBits, cAccumRedBits, cAccumBits, cAlphaShift, cAlphaBits, cBlueShift, cBlueBits, cGreenShift, cGreenBits, cRedShift, cRedBits, cColorBits, iPixelType, dwFlags, nVersion, nSize;
-} PIXELFORMATDESCRIPTOR_FID_CACHE;
-typedef PIXELFORMATDESCRIPTOR_FID_CACHE *PPIXELFORMATDESCRIPTOR_FID_CACHE;
-
-PIXELFORMATDESCRIPTOR_FID_CACHE PIXELFORMATDESCRIPTORFc;
-
-void cachePIXELFORMATDESCRIPTORFids(JNIEnv *env, jobject lpObject, PPIXELFORMATDESCRIPTOR_FID_CACHE lpCache)
-{
-	if (lpCache->cached) return;
-	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
-	lpCache->dwDamageMask = (*env)->GetFieldID(env, lpCache->clazz, "dwDamageMask", "I");
-	lpCache->dwVisibleMask = (*env)->GetFieldID(env, lpCache->clazz, "dwVisibleMask", "I");
-	lpCache->dwLayerMask = (*env)->GetFieldID(env, lpCache->clazz, "dwLayerMask", "I");
-	lpCache->bReserved = (*env)->GetFieldID(env, lpCache->clazz, "bReserved", "B");
-	lpCache->iLayerType = (*env)->GetFieldID(env, lpCache->clazz, "iLayerType", "B");
-	lpCache->cAuxBuffers = (*env)->GetFieldID(env, lpCache->clazz, "cAuxBuffers", "B");
-	lpCache->cStencilBits = (*env)->GetFieldID(env, lpCache->clazz, "cStencilBits", "B");
-	lpCache->cDepthBits = (*env)->GetFieldID(env, lpCache->clazz, "cDepthBits", "B");
-	lpCache->cAccumAlphaBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumAlphaBits", "B");
-	lpCache->cAccumBlueBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumBlueBits", "B");
-	lpCache->cAccumGreenBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumGreenBits", "B");
-	lpCache->cAccumRedBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumRedBits", "B");
-	lpCache->cAccumBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumBits", "B");
-	lpCache->cAlphaShift = (*env)->GetFieldID(env, lpCache->clazz, "cAlphaShift", "B");
-	lpCache->cAlphaBits = (*env)->GetFieldID(env, lpCache->clazz, "cAlphaBits", "B");
-	lpCache->cBlueShift = (*env)->GetFieldID(env, lpCache->clazz, "cBlueShift", "B");
-	lpCache->cBlueBits = (*env)->GetFieldID(env, lpCache->clazz, "cBlueBits", "B");
-	lpCache->cGreenShift = (*env)->GetFieldID(env, lpCache->clazz, "cGreenShift", "B");
-	lpCache->cGreenBits = (*env)->GetFieldID(env, lpCache->clazz, "cGreenBits", "B");
-	lpCache->cRedShift = (*env)->GetFieldID(env, lpCache->clazz, "cRedShift", "B");
-	lpCache->cRedBits = (*env)->GetFieldID(env, lpCache->clazz, "cRedBits", "B");
-	lpCache->cColorBits = (*env)->GetFieldID(env, lpCache->clazz, "cColorBits", "B");
-	lpCache->iPixelType = (*env)->GetFieldID(env, lpCache->clazz, "iPixelType", "B");
-	lpCache->dwFlags = (*env)->GetFieldID(env, lpCache->clazz, "dwFlags", "I");
-	lpCache->nVersion = (*env)->GetFieldID(env, lpCache->clazz, "nVersion", "S");
-	lpCache->nSize = (*env)->GetFieldID(env, lpCache->clazz, "nSize", "S");
-	lpCache->cached = 1;
-}
-
-PIXELFORMATDESCRIPTOR *getPIXELFORMATDESCRIPTORFields(JNIEnv *env, jobject lpObject, PIXELFORMATDESCRIPTOR *lpStruct)
-{
-	PPIXELFORMATDESCRIPTOR_FID_CACHE lpCache = &PIXELFORMATDESCRIPTORFc;
-	if (!lpCache->cached) cachePIXELFORMATDESCRIPTORFids(env, lpObject, lpCache);
-	lpStruct->dwDamageMask = (*env)->GetIntField(env, lpObject, lpCache->dwDamageMask);
-	lpStruct->dwVisibleMask = (*env)->GetIntField(env, lpObject, lpCache->dwVisibleMask);
-	lpStruct->dwLayerMask = (*env)->GetIntField(env, lpObject, lpCache->dwLayerMask);
-	lpStruct->bReserved = (*env)->GetByteField(env, lpObject, lpCache->bReserved);
-	lpStruct->iLayerType = (*env)->GetByteField(env, lpObject, lpCache->iLayerType);
-	lpStruct->cAuxBuffers = (*env)->GetByteField(env, lpObject, lpCache->cAuxBuffers);
-	lpStruct->cStencilBits = (*env)->GetByteField(env, lpObject, lpCache->cStencilBits);
-	lpStruct->cDepthBits = (*env)->GetByteField(env, lpObject, lpCache->cDepthBits);
-	lpStruct->cAccumAlphaBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumAlphaBits);
-	lpStruct->cAccumBlueBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumBlueBits);
-	lpStruct->cAccumGreenBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumGreenBits);
-	lpStruct->cAccumRedBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumRedBits);
-	lpStruct->cAccumBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumBits);
-	lpStruct->cAlphaShift = (*env)->GetByteField(env, lpObject, lpCache->cAlphaShift);
-	lpStruct->cAlphaBits = (*env)->GetByteField(env, lpObject, lpCache->cAlphaBits);
-	lpStruct->cBlueShift = (*env)->GetByteField(env, lpObject, lpCache->cBlueShift);
-	lpStruct->cBlueBits = (*env)->GetByteField(env, lpObject, lpCache->cBlueBits);
-	lpStruct->cGreenShift = (*env)->GetByteField(env, lpObject, lpCache->cGreenShift);
-	lpStruct->cGreenBits = (*env)->GetByteField(env, lpObject, lpCache->cGreenBits);
-	lpStruct->cRedShift = (*env)->GetByteField(env, lpObject, lpCache->cRedShift);
-	lpStruct->cRedBits = (*env)->GetByteField(env, lpObject, lpCache->cRedBits);
-	lpStruct->cColorBits = (*env)->GetByteField(env, lpObject, lpCache->cColorBits);
-	lpStruct->iPixelType = (*env)->GetByteField(env, lpObject, lpCache->iPixelType);
-	lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, lpCache->dwFlags);
-	lpStruct->nVersion = (*env)->GetShortField(env, lpObject, lpCache->nVersion);
-	lpStruct->nSize = (*env)->GetShortField(env, lpObject, lpCache->nSize);
-	return lpStruct;
-}
-
-void setPIXELFORMATDESCRIPTORFields(JNIEnv *env, jobject lpObject, PIXELFORMATDESCRIPTOR *lpStruct)
-{
-	PPIXELFORMATDESCRIPTOR_FID_CACHE lpCache = &PIXELFORMATDESCRIPTORFc;
-	if (!lpCache->cached) cachePIXELFORMATDESCRIPTORFids(env, lpObject, lpCache);
-	(*env)->SetIntField(env, lpObject, lpCache->dwDamageMask, (jint)lpStruct->dwDamageMask);
-	(*env)->SetIntField(env, lpObject, lpCache->dwVisibleMask, (jint)lpStruct->dwVisibleMask);
-	(*env)->SetIntField(env, lpObject, lpCache->dwLayerMask, (jint)lpStruct->dwLayerMask);
-	(*env)->SetByteField(env, lpObject, lpCache->bReserved, (jbyte)lpStruct->bReserved);
-	(*env)->SetByteField(env, lpObject, lpCache->iLayerType, (jbyte)lpStruct->iLayerType);
-	(*env)->SetByteField(env, lpObject, lpCache->cAuxBuffers, (jbyte)lpStruct->cAuxBuffers);
-	(*env)->SetByteField(env, lpObject, lpCache->cStencilBits, (jbyte)lpStruct->cStencilBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cDepthBits, (jbyte)lpStruct->cDepthBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumAlphaBits, (jbyte)lpStruct->cAccumAlphaBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumBlueBits, (jbyte)lpStruct->cAccumBlueBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumGreenBits, (jbyte)lpStruct->cAccumGreenBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumRedBits, (jbyte)lpStruct->cAccumRedBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumBits, (jbyte)lpStruct->cAccumBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAlphaShift, (jbyte)lpStruct->cAlphaShift);
-	(*env)->SetByteField(env, lpObject, lpCache->cAlphaBits, (jbyte)lpStruct->cAlphaBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cBlueShift, (jbyte)lpStruct->cBlueShift);
-	(*env)->SetByteField(env, lpObject, lpCache->cBlueBits, (jbyte)lpStruct->cBlueBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cGreenShift, (jbyte)lpStruct->cGreenShift);
-	(*env)->SetByteField(env, lpObject, lpCache->cGreenBits, (jbyte)lpStruct->cGreenBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cRedShift, (jbyte)lpStruct->cRedShift);
-	(*env)->SetByteField(env, lpObject, lpCache->cRedBits, (jbyte)lpStruct->cRedBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cColorBits, (jbyte)lpStruct->cColorBits);
-	(*env)->SetByteField(env, lpObject, lpCache->iPixelType, (jbyte)lpStruct->iPixelType);
-	(*env)->SetIntField(env, lpObject, lpCache->dwFlags, (jint)lpStruct->dwFlags);
-	(*env)->SetShortField(env, lpObject, lpCache->nVersion, (jshort)lpStruct->nVersion);
-	(*env)->SetShortField(env, lpObject, lpCache->nSize, (jshort)lpStruct->nSize);
-}
-
diff --git a/bundles/org.eclipse.swt.opengl/win32/gl_library/structs.h b/bundles/org.eclipse.swt.opengl/win32/gl_library/structs.h
deleted file mode 100644
index 63f8b7b..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/gl_library/structs.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-#include <windows.h>
-
-GLYPHMETRICSFLOAT *getGLYPHMETRICSFLOATFields(JNIEnv *env, jobject lpObject, GLYPHMETRICSFLOAT *lpStruct);
-void setGLYPHMETRICSFLOATFields(JNIEnv *env, jobject lpObject, GLYPHMETRICSFLOAT *lpStruct);
-
-LAYERPLANEDESCRIPTOR *getLAYERPLANEDESCRIPTORFields(JNIEnv *env, jobject lpObject, LAYERPLANEDESCRIPTOR *lpStruct);
-void setLAYERPLANEDESCRIPTORFields(JNIEnv *env, jobject lpObject, LAYERPLANEDESCRIPTOR *lpStruct);
-
-POINTFLOAT *getPOINTFLOATFields(JNIEnv *env, jobject lpObject, POINTFLOAT *lpStruct);
-void setPOINTFLOATFields(JNIEnv *env, jobject lpObject, POINTFLOAT *lpStruct);
-
-PIXELFORMATDESCRIPTOR *getPIXELFORMATDESCRIPTORFields(JNIEnv *env, jobject lpObject, PIXELFORMATDESCRIPTOR *lpStruct);
-void setPIXELFORMATDESCRIPTORFields(JNIEnv *env, jobject lpObject, PIXELFORMATDESCRIPTOR *lpStruct);
-
diff --git a/bundles/org.eclipse.swt.opengl/win32/gl_library/swt.rc b/bundles/org.eclipse.swt.opengl/win32/gl_library/swt.rc
deleted file mode 100644
index 68b7074..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/gl_library/swt.rc
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
- 
-#include "windows.h"
-
-VS_VERSION_INFO VERSIONINFO
- PRODUCTVERSION 0,0,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40000L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904b0"
-        BEGIN
-            VALUE "CompanyName", "IBM Corporation\0"
-            VALUE "FileDescription", "Standard Widget Toolkit\0"
-            VALUE "InternalName", "SWT\0"
-            VALUE "LegalCopyright", "© Copyright 2000, 2003 IBM Corp.  All Rights Reserved.\0"
-            VALUE "OriginalFilename", SWT_ORG_FILENAME
-            VALUE "ProductName", "\0"
-            VALUE "ProductVersion", "0,0,0,0\0"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1200
-    END
-END
-
-/* SHMENUBAR Pocket PC 
- * ID_MENU SHMENUBAR DISCARDABLE
- * BEGIN
- * 	ID_MENU, 1,
- *  IMAGE_NONE, ID_MENU_ITEM1, 0, 0,
- *  0, 0, 0,
- * END
- * ID_MENU MENU DISCARDABLE
- * BEGIN
- *  MENUITEM "", ID_MENU_ITEM1
- * END
- */
-100 RCDATA DISCARDABLE 
-BEGIN
-    100, 1,
-    -2, 101, 0, 0, 
-    0, 0, 0,
-END
-
-100 MENU DISCARDABLE
-BEGIN
-	MENUITEM "", 101
-END
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/GLContext.java b/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/GLContext.java
deleted file mode 100644
index b2863df..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/GLContext.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.opengl.internal.win32.*;
-import org.eclipse.swt.internal.win32.*;
-
-/**
- * Instances of <code>GLContext</code> are used to draw on swt <code>Drawable</code>s 
- * through invocations of provided OpenGL functions.
- * <p>
- * Application code must explicitly invoke the <code>GLContext.dispose ()</code> 
- * method to release the operating system resources managed by each instance
- * when those instances are no longer required. This is <em>particularly</em>
- * important on Windows95 and Windows98 where the operating system has a limited
- * number of device contexts available.
- * </p>
- */
-public class GLContext {
-	int handle;
-	int hDC;
-	GCData data;
-	Drawable drawable;
-	int selectBufferPtr = 0;
-
-	static final int MSB_FIRST = 1;
-	static final int LSB_FIRST = 2;
-
-	/**
-	 * Constructs a new instance of this class which has been
-	 * configured to draw on the specified drawable.
-	 * <p>
-	 * You must dispose the <code>GLContext</code> when it is no longer required. 
-	 * </p>
-	 * 
-	 * @param drawable the drawable to draw on
-	 * @exception IllegalArgumentException <ul>
-	 *    <li>ERROR_NULL_ARGUMENT - if the drawable is null</li>
-	 * </ul>
-	 * @exception SWTError <ul>
-	 *    <li>ERROR_NO_HANDLES if a handle could not be obtained for gc creation</li>
-	 *    <li>ERROR_UNSUPPORTED_DEPTH - if the current display depth is not supported</li>
-	 * </ul>
-	 */
-	public GLContext (Drawable drawable) {
-		if (drawable == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-		this.drawable = drawable;
-		this.data = new GCData ();
-		hDC = drawable.internal_new_GC (data);
-		if (hDC == 0) SWT.error (SWT.ERROR_NO_HANDLES);
-		int bits = OS.GetDeviceCaps (hDC, OS.BITSPIXEL);
-		int planes = OS.GetDeviceCaps (hDC, OS.PLANES);
-		int depth = bits * planes;
-		PIXELFORMATDESCRIPTOR pfd = new PIXELFORMATDESCRIPTOR ();
-		pfd.nSize = (short) PIXELFORMATDESCRIPTOR.sizeof;
-		pfd.nVersion = 1;
-		pfd.dwFlags =
-			WGL.PFD_DRAW_TO_WINDOW
-				| WGL.PFD_SUPPORT_OPENGL
-				| WGL.PFD_DOUBLEBUFFER;
-		pfd.dwLayerMask = WGL.PFD_MAIN_PLANE;
-		pfd.iPixelType = (byte) WGL.PFD_TYPE_RGBA;
-		pfd.cColorBits = (byte) depth;
-		pfd.cDepthBits = (byte) depth;
-		pfd.cAccumBits = 0;
-		pfd.cStencilBits = 0;
-		int pixelFormat = WGL.ChoosePixelFormat (hDC, pfd);
-		if (pixelFormat == 0) {
-			drawable.internal_dispose_GC (hDC, data);
-			SWT.error (SWT.ERROR_UNSUPPORTED_DEPTH);
-		}
-		if (!WGL.SetPixelFormat (hDC, pixelFormat, pfd)) {
-			drawable.internal_dispose_GC (hDC, data);
-			SWT.error (SWT.ERROR_UNSUPPORTED_DEPTH);
-		}
-		handle = WGL.wglCreateContext (hDC);
-		if (handle == 0) SWT.error (SWT.ERROR_NO_HANDLES);
-	}
-
-	public ImageData convertImageData (ImageData source) {
-		PaletteData palette = new PaletteData (0xff0000, 0xff00, 0xff);
-		ImageData newSource = new ImageData (source.width, source.height, 24, palette);
-
-		ImageDataUtil.blit (
-			1,
-			source.data,
-			source.depth,
-			source.bytesPerLine,
-			(source.depth != 16) ? MSB_FIRST : LSB_FIRST,
-			0,
-			0,
-			source.width,
-			source.height,
-			source.palette.redMask,
-			source.palette.greenMask,
-			source.palette.blueMask,
-			255,
-			null,
-			0,
-			0,
-			0,
-			newSource.data,
-			newSource.depth,
-			newSource.bytesPerLine,
-			(newSource.depth != 16) ? MSB_FIRST : LSB_FIRST,
-			0,
-			0,
-			newSource.width,
-			newSource.height,
-			newSource.palette.redMask,
-			newSource.palette.greenMask,
-			newSource.palette.blueMask,
-			false,
-			true);
-
-		return newSource;
-	}
-
-	/**
-	 * Disposes of the operating system resources associated with
-	 * the receiver. Applications must dispose of all <code>GLContext</code>s
-	 * that they allocate.
-	 */
-	public void dispose () {
-		if (handle == 0) return;
-		if (WGL.wglGetCurrentContext () == handle) {
-			WGL.wglMakeCurrent (0, 0);
-		}
-		WGL.wglDeleteContext (handle);
-		handle = 0;
-
-		// drawable may be disposed
-		try {
-			drawable.internal_dispose_GC (hDC, data);
-		} catch (SWTException e) {
-		}
-		int hHeap = OS.GetProcessHeap ();
-		if (selectBufferPtr != 0) {
-			OS.HeapFree (hHeap, 0, selectBufferPtr);
-		}
-		hDC = 0;
-		drawable = null;
-		data.device = null;
-		data = null;
-	}
-
-	public int[] getSelectBuffer (int selectBufferPtr, int[] selectBuffer) {
-		OS.MoveMemory (selectBuffer, selectBufferPtr, selectBuffer.length * 4);
-		return selectBuffer;
-	}
-
-	public int getSelectBufferPtr (int[] selectBuffer) {
-		if (selectBufferPtr == 0) {
-			int hHeap = OS.GetProcessHeap ();
-			selectBufferPtr =
-				OS.HeapAlloc (
-					hHeap,
-					OS.HEAP_ZERO_MEMORY,
-					selectBuffer.length * 4);
-		}
-		OS.MoveMemory (selectBufferPtr, selectBuffer, selectBuffer.length * 4);
-		return selectBufferPtr;
-	}
-
-	/**
-	 * Returns a boolean indicating whether the receiver is the current
-	 * <code>GLContext</code>.
-	 *  
-	 * @return true if the receiver is the current <code>GLContext</code>,
-	 * false otherwise
-	 * @exception SWTError <ul>
-	 *    <li>ERROR_GRAPHIC_DISPOSED if the receiver is disposed</li>
-	 * </ul>
-	 */
-	public boolean isCurrent () {
-		if (isDisposed ()) SWT.error (SWT.ERROR_GRAPHIC_DISPOSED);
-		return WGL.wglGetCurrentContext () == handle;
-	}
-
-	/**
-	 * Returns a boolean indicating whether the <code>GLContext</code> has been
-	 * disposed.
-	 * <p>
-	 * This method gets the dispose state for the <code>GLContext</code>.
-	 * When a <code>GLContext</code> has been disposed, it is an error to
-	 * invoke any other method using the <code>GLContext</code>.
-	 *
-	 * @return true if the <code>GLContext</code> is disposed, false otherwise
-	 */
-	public boolean isDisposed () {
-		return handle == 0;
-	}
-
-	/**
-	 * Loads the specified bitmap font.
-	 * 
-	 * @param fdata
-	 * @param device
-	 * @param base
-	 * @param first
-	 * @param count
-	 */
-	public void loadBitmapFont (FontData fdata,	Device device, int base, int first,	int count) {
-		Font font = new Font (device, fdata);
-		int oldFont = OS.SelectObject (hDC, font.handle);
-		WGL.wglUseFontBitmaps (hDC, first, count, base);
-		OS.SelectObject (hDC, oldFont);
-		font.dispose ();
-	}
-
-	/**
-	 * Loads the specified outline font.
-	 * 
-	 * @param fdata
-	 * @param device
-	 * @param base
-	 * @param first
-	 * @param count
-	 * @param deviation
-	 * @param extrusion
-	 * @param format
-	 * @param lpgmf
-	 */
-	public void loadOutlineFont (FontData fdata, Device device, int base, int first,
-	int count, float deviation, float extrusion, int format, GLYPHMETRICSFLOAT[] lpgmf) {
-		int ptr = 0;
-		int hHeap = 0;
-		if (lpgmf != null && lpgmf.length == count + 1) {
-			hHeap = OS.GetProcessHeap ();
-			ptr =
-				OS.HeapAlloc (
-					hHeap,
-					OS.HEAP_ZERO_MEMORY,
-					count * GLYPHMETRICSFLOAT.sizeof);
-		}
-
-		if (format == GL.GL_POLYGON) {
-			format = WGL.WGL_FONT_POLYGONS;
-		} 
-		if (format == GL.GL_LINE) {
-			format = WGL.WGL_FONT_LINES;
-		} 
-
-		Font font = new Font (device, fdata);
-		int oldFont = OS.SelectObject (hDC, font.handle);
-		WGL.wglUseFontOutlines (hDC, first, count, base, deviation, extrusion, format, ptr);
-		OS.SelectObject (hDC, oldFont);
-		font.dispose ();
-		if (ptr != 0) {
-			int sizeof = GLYPHMETRICSFLOAT.sizeof;
-			for (int i = 0; i < lpgmf.length; i++) {
-				WGL.MoveMemory (lpgmf [i], ptr + (sizeof * i), sizeof);
-			};
-			OS.HeapFree (hHeap, 0, ptr);
-		}
-	}
-
-	/**
-	 * Resizes the receiver.
-	 * 
-	 * @param x
-	 * @param y
-	 * @param width
-	 * @param height
-	 */
-	public void resize (int x, int y, int width, int height) {
-		if (height == 0) height = 1;
-		GL.glViewport (0, 0, width, height);
-		float nRange = 200.0f;
-		GL.glMatrixMode (GL.GL_PROJECTION);
-		GL.glLoadIdentity ();
-		// load projection
-		GLU.gluPerspective (45.0f, (float) width / (float) height, 0.1f, 100.0f);
-		GL.glMatrixMode (GL.GL_MODELVIEW);
-		GL.glLoadIdentity ();
-	}
-
-	/**
-	 * Sets the receiver to be the current <code>GLContext</code>.
-	 * 
- 	 * @exception SWTError <ul>
-	 *    <li>ERROR_GRAPHIC_DISPOSED if the receiver is disposed</li>
-	 * </ul>
-	 */
-	public void setCurrent () {
-		if (isDisposed ()) SWT.error (SWT.ERROR_GRAPHIC_DISPOSED);
-		if (WGL.wglGetCurrentContext () == handle) return;
-		WGL.wglMakeCurrent (hDC, handle);
-	}
-
-	/**
-	 * Swaps the receiver's buffers.
-	 * 
-	 * @exception SWTError <ul>
-	 *    <li>ERROR_GRAPHIC_DISPOSED if the receiver is disposed</li>
-	 * </ul>
-	 */
-	public void swapBuffers () {
-		if (isDisposed ()) SWT.error (SWT.ERROR_GRAPHIC_DISPOSED);
-		WGL.SwapBuffers (hDC);
-	}
-}
diff --git a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/LAYERPLANEDESCRIPTOR.java b/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/LAYERPLANEDESCRIPTOR.java
deleted file mode 100644
index ec410a1..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/LAYERPLANEDESCRIPTOR.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.internal.win32;
-
-
-public class LAYERPLANEDESCRIPTOR {
-    public short nSize;
-    public short nVersion;
-    public int dwFlags;
-    public byte iPixelType;
-    public byte cColorBits;
-    public byte cRedBits;
-    public byte cRedShift;
-    public byte cGreenBits;
-    public byte cGreenShift;
-    public byte cBlueBits;
-    public byte cBlueShift;
-    public byte cAlphaBits;
-    public byte cAlphaShift;
-    public byte cAccumBits;
-    public byte cAccumRedBits;
-    public byte cAccumGreenBits;
-    public byte cAccumBlueBits;
-    public byte cAccumAlphaBits;
-    public byte cDepthBits;
-    public byte cStencilBits;
-    public byte cAuxBuffers;
-    public byte iLayerPlane;
-    public byte bReserved;
-    public int crTransparent;
-	public static final int sizeof = 36;
-}
diff --git a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/PIXELFORMATDESCRIPTOR.java b/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/PIXELFORMATDESCRIPTOR.java
deleted file mode 100644
index 254f868..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/PIXELFORMATDESCRIPTOR.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.internal.win32;
-
-
-public class PIXELFORMATDESCRIPTOR {
-   	public short nSize;
-    public short nVersion;
-    public int dwFlags;
-    public byte iPixelType;
-    public byte cColorBits;
-    public byte cRedBits;
-    public byte cRedShift;
-    public byte cGreenBits;
-    public byte cGreenShift;
-    public byte cBlueBits;
-    public byte cBlueShift;
-    public byte cAlphaBits;
-    public byte cAlphaShift;
-    public byte cAccumBits;
-    public byte cAccumRedBits;
-    public byte cAccumGreenBits;
-    public byte cAccumBlueBits;
-    public byte cAccumAlphaBits;
-    public byte cDepthBits;
-    public byte cStencilBits;
-    public byte cAuxBuffers;
-    public byte iLayerType;
-    public byte bReserved;
-    public int dwLayerMask;
-    public int dwVisibleMask;
-    public int dwDamageMask;
-	public static final int sizeof = 40;
-}
diff --git a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/POINTFLOAT.java b/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/POINTFLOAT.java
deleted file mode 100644
index b0601f1..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/POINTFLOAT.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.internal.win32;
-
-
-public class POINTFLOAT {
-	public float x;
-	public float y;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/WGL.java b/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/WGL.java
deleted file mode 100644
index 000f528..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/WGL.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.internal.win32;
-
-
-import org.eclipse.swt.opengl.*;
-import org.eclipse.swt.opengl.Library;
-import org.eclipse.swt.internal.win32.OS;
-
-public class WGL {
-	
-static {
-	Library.loadLibrary("gl");
-}
-	
-public static final int WGL_FONT_LINES      = 0;
-public static final int WGL_FONT_POLYGONS   = 1;
-
-/* LAYERPLANEDESCRIPTOR flags */
-public static final int LPD_DOUBLEBUFFER        = 0x00000001;
-public static final int LPD_STEREO              = 0x00000002;
-public static final int LPD_SUPPORT_GDI         = 0x00000010;
-public static final int LPD_SUPPORT_OPENGL      = 0x00000020;
-public static final int LPD_SHARE_DEPTH         = 0x00000040;
-public static final int LPD_SHARE_STENCIL       = 0x00000080;
-public static final int LPD_SHARE_ACCUM         = 0x00000100;
-public static final int LPD_SWAP_EXCHANGE       = 0x00000200;
-public static final int LPD_SWAP_COPY           = 0x00000400;
-public static final int LPD_TRANSPARENT         = 0x00001000;
-
-public static final int LPD_TYPE_RGBA        = 0;
-public static final int LPD_TYPE_COLORINDEX  = 1;
-
-/* wglSwapLayerBuffers flags */
-public static final int WGL_SWAP_MAIN_PLANE     = 0x00000001;
-public static final int WGL_SWAP_OVERLAY1       = 0x00000002;
-public static final int WGL_SWAP_OVERLAY2       = 0x00000004;
-public static final int WGL_SWAP_OVERLAY3       = 0x00000008;
-public static final int WGL_SWAP_OVERLAY4       = 0x00000010;
-public static final int WGL_SWAP_OVERLAY5       = 0x00000020;
-public static final int WGL_SWAP_OVERLAY6       = 0x00000040;
-public static final int WGL_SWAP_OVERLAY7       = 0x00000080;
-public static final int WGL_SWAP_OVERLAY8       = 0x00000100;
-public static final int WGL_SWAP_OVERLAY9       = 0x00000200;
-public static final int WGL_SWAP_OVERLAY10      = 0x00000400;
-public static final int WGL_SWAP_OVERLAY11      = 0x00000800;
-public static final int WGL_SWAP_OVERLAY12      = 0x00001000;
-public static final int WGL_SWAP_OVERLAY13      = 0x00002000;
-public static final int WGL_SWAP_OVERLAY14      = 0x00004000;
-public static final int WGL_SWAP_OVERLAY15      = 0x00008000;
-public static final int WGL_SWAP_UNDERLAY1      = 0x00010000;
-public static final int WGL_SWAP_UNDERLAY2      = 0x00020000;
-public static final int WGL_SWAP_UNDERLAY3      = 0x00040000;
-public static final int WGL_SWAP_UNDERLAY4      = 0x00080000;
-public static final int WGL_SWAP_UNDERLAY5      = 0x00100000;
-public static final int WGL_SWAP_UNDERLAY6      = 0x00200000;
-public static final int WGL_SWAP_UNDERLAY7      = 0x00400000;
-public static final int WGL_SWAP_UNDERLAY8      = 0x00800000;
-public static final int WGL_SWAP_UNDERLAY9      = 0x01000000;
-public static final int WGL_SWAP_UNDERLAY10     = 0x02000000;
-public static final int WGL_SWAP_UNDERLAY11     = 0x04000000;
-public static final int WGL_SWAP_UNDERLAY12     = 0x08000000;
-public static final int WGL_SWAP_UNDERLAY13     = 0x10000000;
-public static final int WGL_SWAP_UNDERLAY14     = 0x20000000;
-public static final int WGL_SWAP_UNDERLAY15     = 0x40000000;
-
-/* pixel types */
-public static final int PFD_TYPE_RGBA        = 0;
-public static final int PFD_TYPE_COLORINDEX  = 1;
-
-/* layer types */
-public static final int PFD_MAIN_PLANE       = 0;
-public static final int PFD_OVERLAY_PLANE    = 1;
-public static final int PFD_UNDERLAY_PLANE   = (-1);
-
-/* PIXELFORMATDESCRIPTOR flags */
-public static final int PFD_DOUBLEBUFFER            = 0x00000001;
-public static final int PFD_STEREO                  = 0x00000002;
-public static final int PFD_DRAW_TO_WINDOW          = 0x00000004;
-public static final int PFD_DRAW_TO_BITMAP          = 0x00000008;
-public static final int PFD_SUPPORT_GDI             = 0x00000010;
-public static final int PFD_SUPPORT_OPENGL          = 0x00000020;
-public static final int PFD_GENERIC_FORMAT          = 0x00000040;
-public static final int PFD_NEED_PALETTE            = 0x00000080;
-public static final int PFD_NEED_SYSTEM_PALETTE     = 0x00000100;
-public static final int PFD_SWAP_EXCHANGE           = 0x00000200;
-public static final int PFD_SWAP_COPY               = 0x00000400;
-public static final int PFD_SWAP_LAYER_BUFFERS      = 0x00000800;
-public static final int PFD_GENERIC_ACCELERATED     = 0x00001000;
-public static final int PFD_SUPPORT_DIRECTDRAW      = 0x00002000;
-
-/* PIXELFORMATDESCRIPTOR flags for use in ChoosePixelFormat only */
-public static final int PFD_DEPTH_DONTCARE          = 0x20000000;
-public static final int PFD_DOUBLEBUFFER_DONTCARE   = 0x40000000;
-public static final int PFD_STEREO_DONTCARE         = 0x80000000;
-
-public static final native int ChoosePixelFormat(int hdc, PIXELFORMATDESCRIPTOR ppfd);
-public static final native int DescribePixelFormat(int hdc, int iPixelFormat, int nBytes, PIXELFORMATDESCRIPTOR ppfd);
-public static final native int GetPixelFormat(int hdc);
-public static final native boolean SetPixelFormat(int hdc, int iPixelFormat, PIXELFORMATDESCRIPTOR ppfd);
-public static final native boolean SwapBuffers(int hdc);
-public static final native boolean wglCopyContext(int hglrcSrc, int hglrcDst, int mask);
-public static final native int wglCreateContext(int hdc);
-public static final native int wglCreateLayerContext(int hdc, int iLayerPlane);
-public static final native boolean wglDeleteContext(int hglrc);
-public static final native int wglGetCurrentContext();
-public static final native int wglGetCurrentDC();
-public static final native int wglGetProcAddress(byte[] lpszProc);
-public static final native boolean wglMakeCurrent(int hdc, int hglrc);
-public static final native boolean wglShareLists(int hglrc1, int hglrc2);
-public static final native boolean wglUseFontBitmapsA(int hdc, int first, int count, int listBase);
-public static final native boolean wglUseFontBitmapsW(int hdc, int first, int count, int listBase);
-public static final boolean wglUseFontBitmaps(int hdc, int first, int count, int listBase) {
-	if (OS.IsUnicode) return wglUseFontBitmapsW(hdc, first, count, listBase);
-	return wglUseFontBitmapsA(hdc, first, count, listBase);
-}
-public static final native boolean wglUseFontOutlinesA(int hdc, int first, int count, int listBase, float deviation, float extrusion, int format, int lpgmf);
-public static final native boolean wglUseFontOutlinesW(int hdc, int first, int count, int listBase, float deviation, float extrusion, int format, int lpgmf);
-public static final boolean wglUseFontOutlines(int hdc, int first, int count, int listBase, float deviation, float extrusion, int format, int lpgmf) {
-	if (OS.IsUnicode) return wglUseFontOutlinesW(hdc, first, count, listBase, deviation, extrusion, format, lpgmf);
-	return wglUseFontOutlinesA(hdc, first, count, listBase, deviation, extrusion, format, lpgmf);
-}
-public static final native boolean wglDescribeLayerPlane(int hdc, int iPixelFormat, int iLayerPlane, int nBytes, LAYERPLANEDESCRIPTOR plpd);
-public static final native int wglSetLayerPaletteEntries(int hdc, int iLayerPlane, int iStart, int cEntries, int[] pcr);
-public static final native int wglGetLayerPaletteEntries(int hdc, int iLayerPlane, int iStart, int cEntries, int[] pcr);
-public static final native boolean wglRealizeLayerPalette(int hdc, int iLayerPlane, boolean bRealize);
-public static final native boolean wglSwapLayerBuffers(int hdc, int fuPlanes);
-public static final void MoveMemory (GLYPHMETRICSFLOAT Destination, int Source, int Length) {
-	if (OS.IsUnicode) MoveMemoryW (Destination, Source, Length);
-	else MoveMemoryA(Destination, Source, Length);
-}
-public static final native void MoveMemoryA (GLYPHMETRICSFLOAT Destination, int Source, int Length);
-public static final native void MoveMemoryW (GLYPHMETRICSFLOAT Destination, int Source, int Length);
-}
diff --git a/bundles/org.eclipse.swt.tools/.classpath b/bundles/org.eclipse.swt.tools/.classpath
index 251a909..8fcfc73 100644
--- a/bundles/org.eclipse.swt.tools/.classpath
+++ b/bundles/org.eclipse.swt.tools/.classpath
@@ -2,8 +2,7 @@
 <classpath>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="src" path="Preprocessor"/>
-	<classpathentry kind="src" path="/org.apache.ant"/>
 	<classpathentry kind="src" path="JNI Generation"/>
-	<classpathentry kind="src" path="/org.eclipse.swt"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorApp.java b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorApp.java
index 6fcda1b..3608f50 100644
--- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorApp.java
+++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorApp.java
@@ -23,12 +23,16 @@
 
 public class JNIGeneratorApp {
 
-	String mainClass, outputDir;
+	String mainClass, outputDir, classpath;
 	MetaData metaData;
 
 public JNIGeneratorApp() {
 }
 
+public String getClasspath() {
+	return classpath;
+}
+
 public String getMainClass() {
 	return mainClass;
 }
@@ -114,6 +118,10 @@
 		gen.setOutput(print);
 		gen.generate(getClasses());
 		print.flush();
+		if (!new File(getMetaDataDir()).exists()) {
+			System.out.println("Warning: Meta data output dir does not exist");
+			return;
+		}
 		if (out.size() > 0) output(out.toByteArray(), getMetaDataDir() + mainClass + ".properties");
 	} catch (Exception e) {
 		System.out.println("Problem");
@@ -140,7 +148,6 @@
 }
 
 void output(byte[] bytes, String fileName) throws IOException {
-	System.out.println("file=" + fileName);
 	FileInputStream is = null;
 	try {
 		is = new FileInputStream(fileName);
@@ -170,7 +177,8 @@
 
 String[] getClassNames(String mainClassName) {
 	String pkgName = getPackageName(mainClassName);
-	String classpath = System.getProperty("java.class.path");
+	String classpath = getClasspath();
+	if (classpath == null) classpath = System.getProperty("java.class.path");
 	String pkgPath = pkgName.replace('.', File.separatorChar);
 	String pkgZipPath = pkgName.replace('.', '/');
 	ArrayList classes = new ArrayList();	
@@ -299,6 +307,10 @@
 	return new MetaData(propeties);
 }
 
+public void setClasspath(String classpath) {
+	this.classpath = classpath;
+}
+
 public void setMainClass(String str) {
 	mainClass = str;
 	metaData = loadMetaData();
@@ -321,6 +333,7 @@
 	if (args.length > 0) {
 		gen.setMainClass(args[0]);
 		if (args.length > 1) gen.setOutputDir(args[1]);
+		if (args.length > 2) gen.setClasspath(args[2]);
 	} else {
 		gen.setMainClass(getDefaultMainClass());
 		gen.setOutputDir(getDefaultOutputDir());
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/MetaDataGenerator.java b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/MetaDataGenerator.java
index 067c516..f924003 100644
--- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/MetaDataGenerator.java
+++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/MetaDataGenerator.java
@@ -85,20 +85,6 @@
 }
 
 public static void main(String[] args) {
-//	args = new String[]{
-//		"org.eclipse.swt.internal.carbon.CFRange",
-//		"org.eclipse.swt.internal.carbon.CGPoint",
-//		"org.eclipse.swt.internal.carbon.CGRect",
-//		"org.eclipse.swt.internal.carbon.ColorPickerInfo",
-//		"org.eclipse.swt.internal.carbon.ControlButtonContentInfo",
-//		"org.eclipse.swt.internal.carbon.ControlFontStyleRec",
-//		"org.eclipse.swt.internal.carbon.NavDialogCreationOptions",
-//		"org.eclipse.swt.internal.carbon.PixMap",
-//		"org.eclipse.swt.internal.carbon.Point",
-//		"org.eclipse.swt.internal.carbon.Rect",
-//		"org.eclipse.swt.internal.carbon.RGBColor",
-//		"org.eclipse.swt.internal.carbon.OS",
-//	};
 	if (args.length < 1) {
 		System.out.println("Usage: java CastGenerator <className1> <className2>");
 		return;
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/StructsGenerator.java b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/StructsGenerator.java
index 832fc05..6c2719f 100644
--- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/StructsGenerator.java
+++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/StructsGenerator.java
@@ -545,21 +545,6 @@
 }
 
 public static void main(String[] args) {
-//	args = new String[]{
-//		"org.eclipse.swt.internal.carbon.BitMap",
-//		"org.eclipse.swt.internal.carbon.PixMap",
-//		"org.eclipse.swt.internal.carbon.CGPoint",
-//		"org.eclipse.swt.internal.carbon.CGRect",
-//		"org.eclipse.swt.internal.carbon.ColorPickerInfo",
-//		"org.eclipse.swt.internal.carbon.ControlButtonContentInfo",
-//		"org.eclipse.swt.internal.carbon.ControlFontStyleRec",
-//		"org.eclipse.swt.internal.carbon.NavDialogCreationOptions",
-//		"org.eclipse.swt.internal.carbon.PixMap",
-//		"org.eclipse.swt.internal.carbon.Point",
-//		"org.eclipse.swt.internal.carbon.Rect",
-//		"org.eclipse.swt.internal.carbon.RGBColor",
-//		"org.eclipse.swt.internal.carbon.TXNMacOSPreferredFontDescription",
-//	};
 	if (args.length < 1) {
 		System.out.println("Usage: java StructsGenerator <className1> <className2>");
 		return;
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.accessibility.gtk.ATK.properties b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.accessibility.gtk.ATK.properties
index d2ddd50..cc0d542 100644
--- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.accessibility.gtk.ATK.properties
+++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.accessibility.gtk.ATK.properties
@@ -14,18 +14,18 @@
 ATK_ATK_TEXT_GET_IFACE=
 ATK_ATK_TEXT_GET_IFACE_0=
 
-ATK_AtkObjectFactoryClass_sizeof=flags=no_gen
+ATK_AtkObjectFactoryClass_sizeof=
 
-ATK_AtkObjectFactory_sizeof=flags=no_gen
+ATK_AtkObjectFactory_sizeof=
 
-ATK_GInterfaceInfo_sizeof=flags=no_gen
+ATK_GInterfaceInfo_sizeof=
 
 ATK_GTK_ACCESSIBLE=
 ATK_GTK_ACCESSIBLE_0=
 
-ATK_GTypeInfo_sizeof=flags=no_gen
+ATK_GTypeInfo_sizeof=
 
-ATK_GTypeQuery_sizeof=flags=no_gen
+ATK_GTypeQuery_sizeof=
 
 ATK_G_OBJECT_CLASS=
 ATK_G_OBJECT_CLASS_0=
@@ -146,27 +146,27 @@
 ATK_gtk_widget_get_toplevel=
 ATK_gtk_widget_get_toplevel_0=cast=(GtkWidget *)
 
-ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2=flags=no_gen
+ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2=
 ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2_0=
 ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2_1=
 
-ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2=flags=no_gen
+ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2=
 ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2_0=
 ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2_1=
 
-ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2=flags=no_gen
+ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2=
 ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2_0=
 ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2_1=
 
-ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2=flags=no_gen
+ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2=
 ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2_0=
 ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2_1=
 
-ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2=flags=no_gen
+ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2=
 ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2_0=
 ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2_1=
 
-ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2=flags=no_gen
+ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2=
 ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2_0=
 ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2_1=
 
@@ -175,7 +175,7 @@
 ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_GInterfaceInfo_2I_1=cast=(const void *),flags=no_out
 ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_GInterfaceInfo_2I_2=cast=(size_t)
 
-ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_GObjectClass_2=flags=no_gen
+ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_GObjectClass_2=
 ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_GObjectClass_2_0=
 ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_GObjectClass_2_1=
 
@@ -184,31 +184,31 @@
 ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_GTypeInfo_2I_1=cast=(const void *),flags=no_out
 ATK_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_GTypeInfo_2I_2=cast=(size_t)
 
-ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2I=flags=no_gen
+ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2I=
 ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2I_0=
 ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2I_1=
 
-ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2I=flags=no_gen
+ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2I=
 ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2I_0=
 ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2I_1=
 
-ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2I=flags=no_gen
+ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2I=
 ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2I_0=
 ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2I_1=
 
-ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2I=flags=no_gen
+ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2I=
 ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2I_0=
 ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2I_1=
 
-ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2I=flags=no_gen
+ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2I=
 ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2I_0=
 ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2I_1=
 
-ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2I=flags=no_gen
+ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2I=
 ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2I_0=
 ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2I_1=
 
-ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GObjectClass_2I=flags=no_gen
+ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GObjectClass_2I=
 ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GObjectClass_2I_0=
 ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GObjectClass_2I_1=
 
@@ -217,7 +217,7 @@
 ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GTypeQuery_2II_1=cast=(const void *)
 ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GTypeQuery_2II_2=cast=size_t)
 
-ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GtkAccessible_2I=flags=no_gen
+ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GtkAccessible_2I=
 ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GtkAccessible_2I_0=
 ATK_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GtkAccessible_2I_1=
 
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.gtk.OS.properties b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.gtk.OS.properties
index 80bc193..9f7fe68 100644
--- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.gtk.OS.properties
+++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.gtk.OS.properties
@@ -487,6 +487,9 @@
 OS_g_list_append_0=cast=(GList *)
 OS_g_list_append_1=cast=(gpointer)
 
+OS_g_list_data=
+OS_g_list_data_0=cast=(GList *)
+
 OS_g_list_free=
 OS_g_list_free_0=cast=(GList *)
 
@@ -581,6 +584,12 @@
 OS_g_1object_1set__I_3BII_2=
 OS_g_1object_1set__I_3BII_3=
 
+OS_g_1object_1set__I_3BZI=
+OS_g_1object_1set__I_3BZI_0=cast=(gpointer)
+OS_g_1object_1set__I_3BZI_1=cast=(const gchar *),flags=no_out
+OS_g_1object_1set__I_3BZI_2=
+OS_g_1object_1set__I_3BZI_3=
+
 OS_g_object_set_qdata=
 OS_g_object_set_qdata_0=cast=(GObject *)
 OS_g_object_set_qdata_1=cast=(GQuark)
@@ -2330,6 +2339,10 @@
 OS_gtk_tree_model_get_iter_1=cast=(GtkTreeIter *)
 OS_gtk_tree_model_get_iter_2=cast=(GtkTreePath *)
 
+OS_gtk_tree_model_get_iter_first=
+OS_gtk_tree_model_get_iter_first_0=cast=(GtkTreeModel *)
+OS_gtk_tree_model_get_iter_first_1=cast=(GtkTreeIter *)
+
 OS_gtk_tree_model_get_n_columns=
 OS_gtk_tree_model_get_n_columns_0=cast=(GtkTreeModel *)
 
@@ -2337,6 +2350,8 @@
 OS_gtk_tree_model_get_path_0=cast=(GtkTreeModel *)
 OS_gtk_tree_model_get_path_1=cast=(GtkTreeIter *)
 
+OS_gtk_tree_model_get_type=
+
 OS_gtk_tree_model_iter_children=
 OS_gtk_tree_model_iter_children_0=cast=(GtkTreeModel *)
 OS_gtk_tree_model_iter_children_1=cast=(GtkTreeIter *)
@@ -2487,6 +2502,14 @@
 OS_gtk_tree_view_column_cell_get_position_2=cast=(gint *)
 OS_gtk_tree_view_column_cell_get_position_3=cast=(gint *)
 
+OS_gtk_tree_view_column_cell_get_size=
+OS_gtk_tree_view_column_cell_get_size_0=cast=(GtkTreeViewColumn *)
+OS_gtk_tree_view_column_cell_get_size_1=cast=(GdkRectangle *)
+OS_gtk_tree_view_column_cell_get_size_2=cast=(gint *)
+OS_gtk_tree_view_column_cell_get_size_3=cast=(gint *)
+OS_gtk_tree_view_column_cell_get_size_4=cast=(gint *)
+OS_gtk_tree_view_column_cell_get_size_5=cast=(gint *)
+
 OS_gtk_tree_view_column_cell_set_cell_data=
 OS_gtk_tree_view_column_cell_set_cell_data_0=cast=GtkTreeViewColumn *
 OS_gtk_tree_view_column_cell_set_cell_data_1=cast=GtkTreeModel *
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.win32.OS.properties b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.win32.OS.properties
index 7fd4857..7b5c05d 100644
--- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.win32.OS.properties
+++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.win32.OS.properties
@@ -379,6 +379,15 @@
 NMLVDISPINFO_lParam=accessor=item.lParam
 NMLVDISPINFO_iIndent=accessor=item.iIndent
 
+org_eclipse_swt_internal_win32_NMLVFINDITEM=
+NMLVFINDITEM_iStart=
+NMLVFINDITEM_flags=accessor=lvfi.flags
+NMLVFINDITEM_psz=accessor=lvfi.psz,cast=LPCTSTR
+NMLVFINDITEM_lParam=accessor=lvfi.lParam
+NMLVFINDITEM_x=accessor=lvfi.pt.x
+NMLVFINDITEM_y=accessor=lvfi.pt.y
+NMLVFINDITEM_vkDirection=accessor=lvfi.vkDirection
+
 org_eclipse_swt_internal_win32_NMREBARCHEVRON=
 NMREBARCHEVRON_uBand=
 NMREBARCHEVRON_wID=
@@ -2044,6 +2053,11 @@
 OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVDISPINFO_2II_1=cast=(CONST VOID *
 OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVDISPINFO_2II_2=
 
+OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVFINDITEM_2II=
+OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVFINDITEM_2II_0=cast=PVOID,flags=no_in
+OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVFINDITEM_2II_1=cast=CONST VOID *
+OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVFINDITEM_2II_2=
+
 OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHEVRON_2II=
 OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHEVRON_2II_0=cast=(PVOID),flags=no_in
 OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHEVRON_2II_1=cast=(CONST VOID *)
@@ -2428,7 +2442,7 @@
 OS_SHSipPreference_1=
 
 OS_SaveDC=
-OS_SaveDC_0==cast=HDC
+OS_SaveDC_0==cast=HDC,cast=HDC
 
 OS_ScreenToClient=
 OS_ScreenToClient_0=cast=(HWND)
diff --git a/bundles/org.eclipse.swt.tools/Preprocessor/org/eclipse/swt/tools/internal/SwtJniGen.java b/bundles/org.eclipse.swt.tools/Preprocessor/org/eclipse/swt/tools/internal/SwtJniGen.java
new file mode 100644
index 0000000..dd465b5
--- /dev/null
+++ b/bundles/org.eclipse.swt.tools/Preprocessor/org/eclipse/swt/tools/internal/SwtJniGen.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.tools.internal;
+
+import org.apache.tools.ant.*;
+
+public class SwtJniGen extends Task {
+
+	/* Attributes */
+	String classpath;
+	String outputdir;
+	String mainclass;
+	
+	public SwtJniGen() {
+	}
+	
+	public void setClasspath(String classpath) {
+		this.classpath = classpath;
+	}
+	
+	public void setOutputdir(String outputdir) {
+		this.outputdir = outputdir;
+	}
+
+	public void setMainClass(String mainclass) {
+		this.mainclass = mainclass;
+	}
+
+	public void execute() throws BuildException {
+		try {
+			System.out.println("jnigen mainclass "+mainclass+" classpath "+classpath+" outputdir "+outputdir);
+			JNIGeneratorApp.main(new String[] {mainclass, outputdir, classpath});
+			System.out.println("jnigen done");
+		} catch (Exception e) {
+			throw new BuildException(e);
+		}
+	}
+}
diff --git a/bundles/org.eclipse.swt.tools/Preprocessor/preprocess.xml b/bundles/org.eclipse.swt.tools/Preprocessor/preprocess.xml
index 6d1c6fa..cf6ff74 100644
--- a/bundles/org.eclipse.swt.tools/Preprocessor/preprocess.xml
+++ b/bundles/org.eclipse.swt.tools/Preprocessor/preprocess.xml
@@ -7,7 +7,8 @@
 	<target name="init" depends="properties">
 		<property name="plugindir" value="../org.eclipse.swt"/>
 		<property name="bootclasspath" value=""/>
-		<taskdef name="swtreplace" classname="org.eclipse.swt.tools.internal.SwtReplace" classpath="./bin"/>
+		<taskdef name="swt.replace" classname="org.eclipse.swt.tools.internal.SwtReplace" classpath="./bin"/>
+		<taskdef name="swt.jnigen" classname="org.eclipse.swt.tools.internal.SwtJniGen" classpath="./bin;${plugindir}/bin"/>
 		
 	</target>
 
@@ -17,16 +18,24 @@
 		
 	<!-- Convert SWT 32 bit java source to 64 bit  -->
 	<target name="swt.64" depends="init">
-		<swtreplace from="int /*long*/" to="long /*int*/">
+		<swt.replace from="int /*long*/" to="long /*int*/">
 			<fileset dir="${plugindir}" includes="**/*.java"/>
-		</swtreplace>
+		</swt.replace>
 	</target>
 	
 	<!-- Convert SWT 64 bit java source to 32 bit  -->
 	<target name="swt.32" depends="init">
-		<swtreplace from="long /*int*/" to="int /*long*/">
+		<swt.replace from="long /*int*/" to="int /*long*/">
 			<fileset dir="${plugindir}" includes="**/*.java"/>
-		</swtreplace>
+		</swt.replace>
+	</target>
+
+	<!-- Output the C source code from the org.eclipse.swt project  -->
+	<target name="swt.jnigen" depends="init">
+		<!-- generate the C code from the (64 bit) SWT PI java classes -->
+		<!-- assumes the org.eclipse.swt project has been built and contain the 64 bit java classes  -->
+		<swt.jnigen mainclass="org.eclipse.swt.internal.gtk.OS" classpath="${basedir}/${plugindir}/bin" outputdir="${basedir}/${plugindir}/Eclipse SWT PI/gtk/library/"/>
+		<swt.jnigen mainclass="org.eclipse.swt.internal.accessibility.gtk.ATK" classpath="${basedir}/${plugindir}/bin" outputdir="${basedir}/${plugindir}/Eclipse SWT PI/gtk/library/"/>
 	</target>
 
 </project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt.tools/build.properties b/bundles/org.eclipse.swt.tools/build.properties
new file mode 100644
index 0000000..f2bcf21
--- /dev/null
+++ b/bundles/org.eclipse.swt.tools/build.properties
@@ -0,0 +1 @@
+source.swttools.jar=JNI Generation/,Preprocessor/
diff --git a/bundles/org.eclipse.swt.opengl/plugin.properties b/bundles/org.eclipse.swt.tools/plugin.properties
similarity index 91%
rename from bundles/org.eclipse.swt.opengl/plugin.properties
rename to bundles/org.eclipse.swt.tools/plugin.properties
index 72fe2d9..a73116d 100644
--- a/bundles/org.eclipse.swt.opengl/plugin.properties
+++ b/bundles/org.eclipse.swt.tools/plugin.properties
@@ -8,5 +8,5 @@
 # Contributors:
 #     IBM Corporation - initial API and implementation
 ###############################################################################
-pluginName = Standard Widget Toolkit OpenGL Bindings
-providerName = Eclipse.org
\ No newline at end of file
+pluginName = SWT Tools
+providerName = Eclipse.org
diff --git a/bundles/org.eclipse.swt.tools/plugin.xml b/bundles/org.eclipse.swt.tools/plugin.xml
new file mode 100644
index 0000000..f3c6b59
--- /dev/null
+++ b/bundles/org.eclipse.swt.tools/plugin.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plugin
+   id="org.eclipse.swt.tools"
+   name="%pluginName"
+   version="3.0.0"
+   provider-name="%providerName">
+
+   <requires>
+      <import plugin="org.eclipse.swt" export="true"/>
+      <import plugin="org.apache.ant" export="true"/>
+   </requires>
+
+</plugin>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Composite.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Composite.java
index 171834d..d0863e3 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Composite.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Composite.java
@@ -815,8 +815,8 @@
 	LRESULT result = super.WM_PRINTCLIENT (wParam, lParam);
 	if (result != null) return result;
 	if ((state & CANVAS) != 0) {
-		forceResize ();
 		int nSavedDC = OS.SaveDC (wParam);
+		forceResize ();
 		RECT rect = new RECT ();
 		OS.GetClientRect (handle, rect);
 		if ((style & SWT.NO_BACKGROUND) == 0) {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Menu.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Menu.java
index cca464f..fee65da 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Menu.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Menu.java
@@ -851,7 +851,7 @@
  */
 public Point getSize () {
 	checkWidget ();
-	if (OS.IsWinCE) return new Point (0, 0);
+	if (OS.IsWinCE) return null;
 	if ((style & SWT.BAR) != 0) {
 		MENUBARINFO info = new MENUBARINFO ();
 		info.cbSize = MENUBARINFO.sizeof;
diff --git a/examples/org.eclipse.swt.examples.browser/.classpath b/examples/org.eclipse.swt.examples.browser/.classpath
deleted file mode 100644
index 7e4fc34..0000000
--- a/examples/org.eclipse.swt.examples.browser/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="var" path="JRE_LIB"/>
-	<classpathentry kind="src" path="/org.eclipse.swt.examples"/>
-	<classpathentry kind="src" path="/org.eclipse.swt"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.core.runtime_3.0.0/runtime.jar"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.ui.workbench_3.0.0/workbench.jar"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.jface_3.0.0/jface.jar"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.osgi_3.0.0/osgi.jar"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.swt.examples.browser/.cvsignore b/examples/org.eclipse.swt.examples.browser/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/examples/org.eclipse.swt.examples.browser/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.browser/.project b/examples/org.eclipse.swt.examples.browser/.project
deleted file mode 100644
index 25919d4..0000000
--- a/examples/org.eclipse.swt.examples.browser/.project
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.examples.browser</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.swt</project>
-		<project>org.eclipse.swt.examples</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.swt.examples.browser/about.html b/examples/org.eclipse.swt.examples.browser/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/examples/org.eclipse.swt.examples.browser/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.browser/build.properties b/examples/org.eclipse.swt.examples.browser/build.properties
deleted file mode 100644
index 818e483..0000000
--- a/examples/org.eclipse.swt.examples.browser/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = doc-html/,\
-               icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-	           *.jar
-
-src.includes = about.html
-	       
-source.browserexample.jar = src/
diff --git a/examples/org.eclipse.swt.examples.browser/doc-html/hglegal.htm b/examples/org.eclipse.swt.examples.browser/doc-html/hglegal.htm
deleted file mode 100644
index f5871b7..0000000
--- a/examples/org.eclipse.swt.examples.browser/doc-html/hglegal.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-  <LINK REL="stylesheet" HREF="../../../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
-  <title>Legal Notices</title>
-</head>
-<body>
-
-<h3>
-<a NAME="Notices"></a>Notices</h3>
-(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples.browser/doc-html/ngibmcpy.gif b/examples/org.eclipse.swt.examples.browser/doc-html/ngibmcpy.gif
deleted file mode 100644
index c786e43..0000000
--- a/examples/org.eclipse.swt.examples.browser/doc-html/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser/doc-html/swt_browser_ex.html b/examples/org.eclipse.swt.examples.browser/doc-html/swt_browser_ex.html
deleted file mode 100644
index 7b01f2f..0000000
--- a/examples/org.eclipse.swt.examples.browser/doc-html/swt_browser_ex.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>SWT - Controls Overview</title>
-</head>
-<body>
-
-<h2>SWT example - Browser</h2>
-
-<p>
-The Browser Example is a simple demonstration of the SWT Browser widget. 
-It consists of a composite containing a Browser widget to render HTML and some
-additional widgets to implement actions commonly found on browsers (toolbar
-with back, forward, refresh and stop buttons, status bar etc.).
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="../../org.eclipse.swt.examples/doc-html/swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.browserexample.BrowserExample</code>.
-</p>
-<p>
-This example can also be run using the <a href="../../org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Browser</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>.
-</p>
-
-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corporation and others 2000, 2003.  All Rights Reserved." BORDER=0 height=14 width=324></a></p>
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples.browser/icons/browser_example.gif b/examples/org.eclipse.swt.examples.browser/icons/browser_example.gif
deleted file mode 100644
index cbdee97..0000000
--- a/examples/org.eclipse.swt.examples.browser/icons/browser_example.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser/plugin.properties b/examples/org.eclipse.swt.examples.browser/plugin.properties
deleted file mode 100644
index 971bb84..0000000
--- a/examples/org.eclipse.swt.examples.browser/plugin.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-providerName = Eclipse.org
-plugin.SWTBrowserExample.name = SWT Browser Example Plugin
-category.SWTExamples.name = SWT Examples
-view.BrowserExample.name = SWT Browser
-
-launchcategory.SWTViewExamples.name = Workbench Views
-launchcategory.SWTViewExamples.description = \
-	A collection of Standard Widget Toolkit examples that run as Views inside the Workbench.  \
-	These examples will create a new View in the current Perspective.
-
-launchitem.BrowserExample.name = Browser
-launchitem.BrowserExample.description = \
-	This example is a simple demonstration of the SWT Browser widget.\n\n\
-	It consists of a composite containing a Browser widget to render HTML. \
-	Additional widgets allow the user to perform typical browser actions (for example, navigate to a particular URL, go back, forward, refresh and stop).
-
diff --git a/examples/org.eclipse.swt.examples.browser/plugin.xml b/examples/org.eclipse.swt.examples.browser/plugin.xml
deleted file mode 100644
index 89e3bb0..0000000
--- a/examples/org.eclipse.swt.examples.browser/plugin.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="org.eclipse.swt.examples.browser"
-   name="%plugin.SWTBrowserExample.name"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.swt.examples.browserexample.BrowserPlugin">
-
-<!-- Runtime -->
-   <runtime>
-      <library name="browserexample.jar">
-         <packages prefixes="org.eclipse.swt.examples.browserexample"/>
-      </library>
-   </runtime>
-<!-- Required plugins -->
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.swt"/>
-      <import plugin="org.eclipse.swt.examples"/>
-   </requires>
-
-
-<!-- Extension points -->
-<!-- Extensions -->
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%view.BrowserExample.name"
-            icon="icons/browser_example.gif"
-            category="org.eclipse.swt.examples.category"
-            class="org.eclipse.swt.examples.browserexample.BrowserView"
-            id="org.eclipse.swt.examples.browserexample.view">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.swt.examples.launcher.launchItems">
-      <category
-            name="%launchcategory.SWTViewExamples.name"
-            description="%launchcategory.SWTViewExamples.description"
-            id="org.eclipse.swt.examples.launchViewCategory">
-      </category>
-      <item
-            name="%launchitem.BrowserExample.name"
-            icon="icons/browser_example.gif"
-            category="org.eclipse.swt.examples.launchViewCategory"
-            description="%launchitem.BrowserExample.description"
-            id="org.eclipse.swt.examples.browserexample.viewlauncher">
-         <view
-               viewId="org.eclipse.swt.examples.browserexample.view">
-         </view>
-      </item>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.swt.examples.browser/src/import.properties b/examples/org.eclipse.swt.examples.browser/src/import.properties
deleted file mode 100644
index 58344f0..0000000
--- a/examples/org.eclipse.swt.examples.browser/src/import.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# Persist project settings for later import 
-natures = org.eclipse.jdt.core.javanature; org.eclipse.pde.PluginNature
-builders = org.eclipse.jdt.core.javabuilder; org.eclipse.pde.ManifestBuilder; org.eclipse.pde.SchemaBuilder
-var.ECLIPSE_PLUGINS = <<ECLIPSE_PLUGINS>>
diff --git a/examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserPlugin.java b/examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserPlugin.java
deleted file mode 100644
index 5e82455..0000000
--- a/examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserPlugin.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.browserexample;
-
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.plugin.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class BrowserPlugin extends AbstractUIPlugin {
-	/**
-	 * The constructor.
-	 */
-	public BrowserPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-	}
-	
-	/**
-	 * Clean up
-	 */
-	public void shutdown() throws CoreException {
-		super.shutdown();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserView.java b/examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserView.java
deleted file mode 100644
index 84337cb..0000000
--- a/examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserView.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.browserexample;
-
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.part.*;
-
-/**
- * <code>BrowserView</code> is a simple demonstration
- * of the SWT Browser widget.  It consists of a workbench
- * view and tab folder where each tab in the folder allows the
- * user to interact with a control.
- * 
- * @see ViewPart
- */
-public class BrowserView extends ViewPart {
-	BrowserExample instance = null;
-	
-	/**
-	 * Create the example
-	 * 
-	 * @see ViewPart#createPartControl
-	 */
-	public void createPartControl(Composite frame) {
-		instance = new BrowserExample(frame);
-	}
-
-	/**
-	 * Called when we must grab focus.
-	 * 
-	 * @see org.eclipse.ui.part.ViewPart#setFocus
-	 */
-	public void setFocus() {
-		instance.setFocus();
-	}
-
-	/**
-	 * Called when the View is to be disposed
-	 */	
-	public void dispose() {
-		instance.dispose();
-		instance = null;
-		super.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.controls/.classpath b/examples/org.eclipse.swt.examples.controls/.classpath
deleted file mode 100755
index 7e4fc34..0000000
--- a/examples/org.eclipse.swt.examples.controls/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="var" path="JRE_LIB"/>
-	<classpathentry kind="src" path="/org.eclipse.swt.examples"/>
-	<classpathentry kind="src" path="/org.eclipse.swt"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.core.runtime_3.0.0/runtime.jar"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.ui.workbench_3.0.0/workbench.jar"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.jface_3.0.0/jface.jar"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.osgi_3.0.0/osgi.jar"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.swt.examples.controls/.cvsignore b/examples/org.eclipse.swt.examples.controls/.cvsignore
deleted file mode 100755
index c5e82d7..0000000
--- a/examples/org.eclipse.swt.examples.controls/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.controls/.project b/examples/org.eclipse.swt.examples.controls/.project
deleted file mode 100644
index 6dd25a0..0000000
--- a/examples/org.eclipse.swt.examples.controls/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.examples.controls</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.swt</project>
-		<project>org.eclipse.swt.examples</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.swt.examples.controls/about.html b/examples/org.eclipse.swt.examples.controls/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/examples/org.eclipse.swt.examples.controls/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.controls/build.properties b/examples/org.eclipse.swt.examples.controls/build.properties
deleted file mode 100755
index ca7f7ae..0000000
--- a/examples/org.eclipse.swt.examples.controls/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = doc-html/,\
-               icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-	           *.jar
-
-src.includes = about.html
-	       
-source.controls.jar = src/
diff --git a/examples/org.eclipse.swt.examples.controls/doc-html/hglegal.htm b/examples/org.eclipse.swt.examples.controls/doc-html/hglegal.htm
deleted file mode 100755
index f5871b7..0000000
--- a/examples/org.eclipse.swt.examples.controls/doc-html/hglegal.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-  <LINK REL="stylesheet" HREF="../../../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
-  <title>Legal Notices</title>
-</head>
-<body>
-
-<h3>
-<a NAME="Notices"></a>Notices</h3>
-(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples.controls/doc-html/ngibmcpy.gif b/examples/org.eclipse.swt.examples.controls/doc-html/ngibmcpy.gif
deleted file mode 100755
index c786e43..0000000
--- a/examples/org.eclipse.swt.examples.controls/doc-html/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.controls/doc-html/swt_controls_ex.html b/examples/org.eclipse.swt.examples.controls/doc-html/swt_controls_ex.html
deleted file mode 100755
index 1d0347c..0000000
--- a/examples/org.eclipse.swt.examples.controls/doc-html/swt_controls_ex.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>SWT - Controls Overview</title>
-</head>
-<body>
-
-<h2>SWT example - Controls</h2>
-
-<p>
-The Controls Example is a simple demonstration of common SWT controls. 
-It consists of a tab folder where each tab in the folder allows the user 
-to interact with a different control.
-The user can change styles and settings and view how this affects each control.
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="../../org.eclipse.swt.examples/doc-html/swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.controlexample.ControlExample</code>.
-</p>
-<p>
-This example can also be run using the <a href="../../org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Controls</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>.
-</p>
-
-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corporation and others 2000, 2003.  All Rights Reserved." BORDER=0 height=14 width=324></a></p>
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples.controls/doc-html/swt_customcontrols_ex.html b/examples/org.eclipse.swt.examples.controls/doc-html/swt_customcontrols_ex.html
deleted file mode 100644
index ba717a2..0000000
--- a/examples/org.eclipse.swt.examples.controls/doc-html/swt_customcontrols_ex.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>SWT - Controls Overview</title>
-</head>
-<body>
-
-<h2>SWT example - Custom Controls</h2>
-
-<p>
-The Custom Controls example is a simple demonstration of emulated SWT controls. 
-It consists of a tab folder where each tab in the folder allows the user 
-to interact with a different emulated control.
-The user can change styles and settings and view how this affects each control.
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="../../org.eclipse.swt.examples/doc-html/swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.controlexample.CustomControlExample</code>.
-</p>
-<p>
-This example can also be run using the <a href="../../org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Custom Controls</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>.
-</p>
-
-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corporation and others 2000, 2003.  All Rights Reserved." BORDER=0 height=14 width=324></a></p>
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples.controls/icons/controls_example.gif b/examples/org.eclipse.swt.examples.controls/icons/controls_example.gif
deleted file mode 100755
index cbdee97..0000000
--- a/examples/org.eclipse.swt.examples.controls/icons/controls_example.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.controls/plugin.properties b/examples/org.eclipse.swt.examples.controls/plugin.properties
deleted file mode 100755
index ee2fea2..0000000
--- a/examples/org.eclipse.swt.examples.controls/plugin.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-providerName = Eclipse.org
-plugin.SWTControlsExample.name = SWT Controls Example Plugin
-category.SWTExamples.name = SWT Examples
-view.ControlsExample.name = SWT Controls
-view.CustomControlsExample.name = SWT Custom Controls
-
-launchcategory.SWTViewExamples.name = Workbench Views
-launchcategory.SWTViewExamples.description = \
-	A collection of Standard Widget Toolkit examples that run as Views inside the Workbench.  \
-	These examples will create a new View in the current Perspective.
-
-launchitem.ControlsExample.name = Controls
-launchitem.ControlsExample.description = \
-	This example is a simple demonstration of native SWT controls.\n\n\
-	It consists of a tab folder where each tab allows the user \
-	to interact with a different SWT control. \
-	The user can change styles and settings and view how this affects the control.
-	
-launchitem.CustomControlsExample.name = Custom Controls
-launchitem.CustomControlsExample.description = \
-	This example is a simple demonstration of custom SWT controls.\n\n\
-	It consists of a tab folder where each tab allows the user \
-	to interact with a different SWT custom control. \
-	The user can change styles and settings and view how this affects the control.
diff --git a/examples/org.eclipse.swt.examples.controls/plugin.xml b/examples/org.eclipse.swt.examples.controls/plugin.xml
deleted file mode 100755
index 532ea8a..0000000
--- a/examples/org.eclipse.swt.examples.controls/plugin.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="org.eclipse.swt.examples.controls"
-   name="%plugin.SWTControlsExample.name"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.swt.examples.controls.ControlPlugin">
-
-<!-- Runtime -->
-<!-- Runtime -->
-   <runtime>
-      <library name="controls.jar">
-            <packages prefixes="org.eclipse.swt.examples.controls"/>
-      </library>
-   </runtime>
-<!-- Required plugins -->
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.swt"/>
-      <import plugin="org.eclipse.swt.examples"/>
-   </requires>
-
-
-<!-- Extension points -->
-<!-- Extensions -->
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%view.ControlsExample.name"
-            icon="icons/controls_example.gif"
-            category="org.eclipse.swt.examples.category"
-            class="org.eclipse.swt.examples.controls.ControlView"
-            id="org.eclipse.swt.examples.controls.view">
-      </view>
-      <view
-            name="%view.CustomControlsExample.name"
-            icon="icons/controls_example.gif"
-            category="org.eclipse.swt.examples.category"
-            class="org.eclipse.swt.examples.controls.CustomControlView"
-            id="org.eclipse.swt.examples.customcontrols.view">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.swt.examples.launcher.launchItems">
-      <category
-            name="%launchcategory.SWTViewExamples.name"
-            description="%launchcategory.SWTViewExamples.description"
-            id="org.eclipse.swt.examples.launchViewCategory">
-      </category>
-      <item
-            name="%launchitem.ControlsExample.name"
-            icon="icons/controls_example.gif"
-            description="%launchitem.ControlsExample.description"
-            category="org.eclipse.swt.examples.launchViewCategory"
-            id="org.eclipse.swt.examples.controls.viewlauncher">
-         <view
-               viewId="org.eclipse.swt.examples.controls.view">
-         </view>
-      </item>
-      <item
-            name="%launchitem.CustomControlsExample.name"
-            icon="icons/controls_example.gif"
-            description="%launchitem.CustomControlsExample.description"
-            category="org.eclipse.swt.examples.launchViewCategory"
-            id="org.eclipse.swt.examples.customcontrols.viewlauncher">
-         <view
-               viewId="org.eclipse.swt.examples.customcontrols.view">
-         </view>
-      </item>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.swt.examples.controls/src/import.properties b/examples/org.eclipse.swt.examples.controls/src/import.properties
deleted file mode 100644
index 58344f0..0000000
--- a/examples/org.eclipse.swt.examples.controls/src/import.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# Persist project settings for later import 
-natures = org.eclipse.jdt.core.javanature; org.eclipse.pde.PluginNature
-builders = org.eclipse.jdt.core.javabuilder; org.eclipse.pde.ManifestBuilder; org.eclipse.pde.SchemaBuilder
-var.ECLIPSE_PLUGINS = <<ECLIPSE_PLUGINS>>
diff --git a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlPlugin.java b/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlPlugin.java
deleted file mode 100755
index 11469ba..0000000
--- a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlPlugin.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.controls;
-
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.plugin.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class ControlPlugin extends AbstractUIPlugin {
-	/**
-	 * The constructor.
-	 */
-	public ControlPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-	}
-	
-	/**
-	 * Clean up
-	 */
-	public void shutdown() throws CoreException {
-		super.shutdown();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlView.java b/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlView.java
deleted file mode 100755
index 5024641..0000000
--- a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlView.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.controls;
-
- 
-import org.eclipse.swt.examples.controlexample.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.part.*;
-
-/**
- * <code>Controls</code> is a simple demonstration
- * of the native controls defined by SWT.  It consists of a workbench
- * view and tab folder where each tab in the folder allows the
- * user to interact with a control.
- * 
- * @see ViewPart
- */
-public class ControlView extends ViewPart {
-	ControlExample instance = null;
-	
-	/**
-	 * Create the example
-	 * 
-	 * @see ViewPart#createPartControl
-	 */
-	public void createPartControl(Composite frame) {
-		instance = new ControlExample(frame);
-	}
-
-	/**
-	 * Called when we must grab focus.
-	 * 
-	 * @see org.eclipse.ui.part.ViewPart#setFocus
-	 */
-	public void setFocus() {
-		instance.setFocus();
-	}
-
-	/**
-	 * Called when the View is to be disposed
-	 */	
-	public void dispose() {
-		instance.dispose();
-		instance = null;
-		super.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/CustomControlView.java b/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/CustomControlView.java
deleted file mode 100644
index ec66fd4..0000000
--- a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/CustomControlView.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.controls;
-
-
-import org.eclipse.swt.examples.controlexample.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * <code>CustomControls</code> is a simple demonstration
- * of the custom controls defined by SWT.  It consists of a workbench
- * view and tab folder where each tab in the folder allows the
- * user to interact with a control.
- * 
- * @see ViewPart
- */
-public class CustomControlView extends ControlView {
-
-	/**
-	 * Create the example
-	 * 
-	 * @see ViewPart#createPartControl
-	 */
-	public void createPartControl(Composite frame) {
-		instance = new CustomControlExample(frame);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.launcher/.classpath b/examples/org.eclipse.swt.examples.launcher/.classpath
deleted file mode 100755
index 799f047..0000000
--- a/examples/org.eclipse.swt.examples.launcher/.classpath
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="/org.eclipse.swt"/>
-	<classpathentry kind="src" path="/org.eclipse.swt.examples"/>
-	<classpathentry sourcepath="JRE_SRC" kind="var" path="JRE_LIB"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.core.boot_3.0.0/boot.jar"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.core.runtime_3.0.0/runtime.jar"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.ui.workbench_3.0.0/workbench.jar"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.jface_3.0.0/jface.jar"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.osgi_3.0.0/osgi.jar"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.swt.examples.launcher/.cvsignore b/examples/org.eclipse.swt.examples.launcher/.cvsignore
deleted file mode 100755
index c5e82d7..0000000
--- a/examples/org.eclipse.swt.examples.launcher/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.launcher/.project b/examples/org.eclipse.swt.examples.launcher/.project
deleted file mode 100644
index bcb6941..0000000
--- a/examples/org.eclipse.swt.examples.launcher/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.examples.launcher</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.swt</project>
-		<project>org.eclipse.swt.examples</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.swt.examples.launcher/about.html b/examples/org.eclipse.swt.examples.launcher/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/examples/org.eclipse.swt.examples.launcher/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.launcher/build.properties b/examples/org.eclipse.swt.examples.launcher/build.properties
deleted file mode 100755
index 2ca3829..0000000
--- a/examples/org.eclipse.swt.examples.launcher/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = doc/,\
-               doc-html/,\
-               icons/,\
-               schema/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-	           *.jar
-	           
-src.includes = about.html
-
-source.launcher.jar = src/
diff --git a/examples/org.eclipse.swt.examples.launcher/doc-html/hglegal.htm b/examples/org.eclipse.swt.examples.launcher/doc-html/hglegal.htm
deleted file mode 100755
index f5871b7..0000000
--- a/examples/org.eclipse.swt.examples.launcher/doc-html/hglegal.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-  <LINK REL="stylesheet" HREF="../../../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
-  <title>Legal Notices</title>
-</head>
-<body>
-
-<h3>
-<a NAME="Notices"></a>Notices</h3>
-(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples.launcher/doc-html/ngibmcpy.gif b/examples/org.eclipse.swt.examples.launcher/doc-html/ngibmcpy.gif
deleted file mode 100755
index c786e43..0000000
--- a/examples/org.eclipse.swt.examples.launcher/doc-html/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html b/examples/org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html
deleted file mode 100755
index 99697ac..0000000
--- a/examples/org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>SWT - Example Launcher</title>
-</head>
-<body>
-
-<h2>SWT Example Launcher</h2>
-
-<p>
-The Example Launcher is used to launch SWT examples, which can either be Workbench views 
-or standalone applications.
-</p>
-
-<ul>
-<li>Workbench views are examples that are integrated into Eclipse.  When the launcher
-starts a Workbench view, it is opened in the currently active perspective.
-<li>Standalone applications are launched in a separate window.
-</ul>
-
-<p>
-For information on how to run the standalone examples without the SWT Example Launcher, 
-refer to <a href="../../org.eclipse.swt.examples/doc-html/swt_manual_setup.html">SWT standalone examples setup</a>.
-</p>
-<p>
-The SWT Workbench view examples can also be launched directly without using the SWT Example 
-Launcher.  SWT Workbench view examples can be found under the <strong>SWT Examples</strong> category of the 
-<strong>Show Views</strong> dialog.
-</p>
-
-<h3>Running the Example Launcher</h3>
-
-<p>
-From Eclipse's <strong>Window</strong> menu, select <strong>Show View &gt; Other</strong>. 
-In the <strong>Show View</strong> dialog, expand <strong>SWT Examples</strong> and select the <strong>SWT Example Launcher</strong> view. 
-A view containing a list of examples will appear in your current perspective.
-When you select an example from the list a brief description of the example is displayed.
-Click on the <strong>Run</strong> button to launch the example.
-</p>
-
-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corporation and others 2000, 2003.  All Rights Reserved." BORDER=0 height=14 width=324></a></p>
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples.launcher/doc/org.eclipse.swt.examples.launcher.launchItems.html b/examples/org.eclipse.swt.examples.launcher/doc/org.eclipse.swt.examples.launcher.launchItems.html
deleted file mode 100755
index 3edf918..0000000
--- a/examples/org.eclipse.swt.examples.launcher/doc/org.eclipse.swt.examples.launcher.launchItems.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Launch Items</CENTER></H1>
-<H2>Identifier</H2>
-org.eclipse.swt.examples.launcher.launchItems<H2>Description</H2>
-This extension point is used to add 'standalone program' and
-'Workbench view'
-launch items to the Launcher, optionally grouping them into
-categories so as to form a multi-tiered hierarchy.
-Standalone programs are executed using the platform's event loop.
-Workbench views are created within the active Workbench Perspective.<H2>Markup</H2>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension EMPTY&gt;</samp>
-<br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - </li><li><b>id</b> - </li><li><b>name</b> - </li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT program EMPTY&gt;</samp>
-<br><samp>&nbsp;&nbsp; &lt;!ATTLIST program</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mainClass&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pluginId&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>mainClass</b> - The fully-qualified name of the class whose main() method is to be launched.</li><li><b>pluginId</b> - The unique id of the Eclipse Platform plugin containing the program.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT view EMPTY&gt;</samp>
-<br><samp>&nbsp;&nbsp; &lt;!ATTLIST view</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;viewId&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>viewId</b> - The unique id of the Workbench View to be activated when the item is launched.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT category EMPTY&gt;</samp>
-<br><samp>&nbsp;&nbsp; &lt;!ATTLIST category</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;category&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>name</b> - The localized name of this category.</li><li><b>id</b> - The unique id of this category.  Categories with duplicate id's will be discarded.</li><li><b>category</b> - The unique id of the parent category.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT item EMPTY&gt;</samp>
-<br><samp>&nbsp;&nbsp; &lt;!ATTLIST item</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;category&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enabled&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(true | false) "false""true"</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;description&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>name</b> - The localized name of this launch item.</li><li><b>id</b> - The unique id of this launch item. Launch items with duplicate id's will be discarded.</li><li><b>category</b> - The unique id of the category this launch item belongs to.</li><li><b>icon</b> - The declaring plugin relative path of an icon to display with this launch item in the Launcher.</li><li><b>enabled</b> - Set to "false" to disable this launch item, or to "true" to enable it (default).</li><li><b>description</b> - The localized plain-text description of this launch item.</li></ul>
-<H2>Example</H2>
-<H2>API Information</H2>
-<H2>Supplied Implementation</H2>
-</BODY>
-</HTML>
diff --git a/examples/org.eclipse.swt.examples.launcher/icons/closedFolder.gif b/examples/org.eclipse.swt.examples.launcher/icons/closedFolder.gif
deleted file mode 100755
index beb6ed1..0000000
--- a/examples/org.eclipse.swt.examples.launcher/icons/closedFolder.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.launcher/icons/generic_example.gif b/examples/org.eclipse.swt.examples.launcher/icons/generic_example.gif
deleted file mode 100755
index f9fb6b0..0000000
--- a/examples/org.eclipse.swt.examples.launcher/icons/generic_example.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.launcher/icons/launcher_example.gif b/examples/org.eclipse.swt.examples.launcher/icons/launcher_example.gif
deleted file mode 100755
index 3ab4d32..0000000
--- a/examples/org.eclipse.swt.examples.launcher/icons/launcher_example.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.launcher/icons/openFolder.gif b/examples/org.eclipse.swt.examples.launcher/icons/openFolder.gif
deleted file mode 100755
index a9c77734..0000000
--- a/examples/org.eclipse.swt.examples.launcher/icons/openFolder.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.launcher/plugin.properties b/examples/org.eclipse.swt.examples.launcher/plugin.properties
deleted file mode 100755
index 7b0f95c..0000000
--- a/examples/org.eclipse.swt.examples.launcher/plugin.properties
+++ /dev/null
@@ -1,49 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-providerName = Eclipse.org
-plugin.SWTLauncherExample.name = SWT Launcher Example Plugin
-category.SWTExamples.name = SWT Examples
-view.LauncherExample.name = SWT Example Launcher
-
-extension-point.launchItems.name = Launch Items
-
-launchcategory.SWTViewExamples.name = Workbench Views
-launchcategory.SWTViewExamples.description = \
-	A collection of Standard Widget Toolkit examples that run as Views inside the Workbench.  \
-	These examples will create a new View in the current Perspective.
-
-launchitem.LauncherExample.name = Launcher
-launchitem.LauncherExample.description = \
-	The Example Launcher is used to launch SWT examples which can either be \
-	Workbench Views, or Standalone applications.\n\n\
-	Workbench Views are examples that are integrated into Eclipse.  When the Launcher \
-	starts a Workbench View, it is opened in the currently active perspective.\n\n\
-	Standalone applications are launched in a separate window.
-
-error.CouldNotLoadResources = Unable to load resources
-error.CouldNotFindRegisteredExtensions = Could Not Find Registered Extensions
-error.IncompleteProgramLaunchItem = Incomplete XML ProgramLaunchItem definition, id = {0}
-error.IncompleteViewLaunchItem = Incomplete XML ViewLaunchItem definition, id = {0}
-error.IncompleteLaunchItem = Incomplete or unrecognized XML LaunchItem definition, id = {0}
-
-launchitem.Null.description = <<no item selected>>
-
-launchitem.Missing.name = <<unnamed>>
-launchitem.Missing.description = <<no description available>>
-
-view.launchGroup.text = Examples
-view.launchButton.text = Run
-view.descriptionGroup.text = Description
-
-run.error.Invocation = A fatal error occurred while launching the program.
-run.error.DoesNotImplementMethod = The class does not implement the open() method.
-run.error.CouldNotFindClass = Could not find the class to run.
-run.error.CouldNotInstantiateClass = Could not instantiate the class to run.
diff --git a/examples/org.eclipse.swt.examples.launcher/plugin.xml b/examples/org.eclipse.swt.examples.launcher/plugin.xml
deleted file mode 100755
index 08e34c5..0000000
--- a/examples/org.eclipse.swt.examples.launcher/plugin.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="org.eclipse.swt.examples.launcher"
-   name="%plugin.SWTLauncherExample.name"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.swt.examples.launcher.LauncherPlugin">
-
-<!-- Runtime -->
-<!-- Runtime -->
-<!-- Runtime -->
-<!-- Runtime -->
-   <runtime>
-      <library name="launcher.jar">
-            <packages prefixes="org.eclipse.swt.examples.launcher"/>
-      </library>
-   </runtime>
-<!-- Required plugins -->
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.swt"/>
-      <import plugin="org.eclipse.jdt.launching"/>
-      <import plugin="org.eclipse.debug.core"/>
-      <import plugin="org.eclipse.core.boot"/>
-      <import plugin="org.eclipse.jdt.core"/>
-      <import plugin="org.eclipse.swt.examples"/>
-   </requires>
-
-
-<!-- Extension points -->
-   <extension-point id="launchItems" name="%extension-point.launchItems.name" schema="schema/org.eclipse.swt.examples.launcher.launchItems.exsd"/>
-
-<!-- Extensions -->
-   <extension
-         id="application"
-         point="org.eclipse.core.runtime.applications">
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%category.SWTExamples.name"
-            id="org.eclipse.swt.examples.category">
-      </category>
-      <view
-            name="%view.LauncherExample.name"
-            icon="icons/launcher_example.gif"
-            category="org.eclipse.swt.examples.category"
-            class="org.eclipse.swt.examples.launcher.LauncherView"
-            id="org.eclipse.swt.examples.launcher.view">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.swt.examples.launcher.launchItems">
-      <category
-            name="%launchcategory.SWTViewExamples.name"
-            description="%launchcategory.SWTViewExamples.description"
-            id="org.eclipse.swt.examples.launchViewCategory">
-      </category>
-      <item
-            name="%launchitem.LauncherExample.name"
-            enabled="false"
-            icon="icons/launcher_example.gif"
-            description="%launchitem.LauncherExample.description"
-            category="org.eclipse.swt.examples.launchViewCategory"
-            id="org.eclipse.swt.examples.launcher.viewlauncher">
-         <view
-               viewId="org.eclipse.swt.examples.launcher.view">
-         </view>
-      </item>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.swt.examples.launcher/schema/org.eclipse.swt.examples.launcher.launchItems.exsd b/examples/org.eclipse.swt.examples.launcher/schema/org.eclipse.swt.examples.launcher.launchItems.exsd
deleted file mode 100644
index 3813c9d..0000000
--- a/examples/org.eclipse.swt.examples.launcher/schema/org.eclipse.swt.examples.launcher.launchItems.exsd
+++ /dev/null
@@ -1,210 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.swt.examples.launcher">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.swt.examples.launcher" id="launchItems" name="Launch Items"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to add &apos;standalone program&apos; and
-&apos;Workbench view&apos;
-launch items to the Launcher, optionally grouping them into
-categories so as to form a multi-tiered hierarchy.
-Standalone programs are executed using the platform&apos;s event loop.
-Workbench views are created within the active Workbench Perspective.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <choice minOccurs="0" maxOccurs="unbounded">
-            <element ref="category"/>
-            <element ref="item"/>
-         </choice>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="program">
-      <annotation>
-         <documentation>
-            Specifies a &quot;Standalone Program&quot; for a launch item to run.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="mainClass" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The fully-qualified name of the class whose main() method is to be launched.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="pluginId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique id of the Eclipse Platform plugin containing the program.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="view">
-      <annotation>
-         <documentation>
-            Specifies a &quot;Workbench View&quot; for a launch item to activate.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="viewId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique id of the Workbench View to be activated when the item is launched.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="category">
-      <annotation>
-         <documentation>
-            Specifies a launch item category heading.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The localized name of this category.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique id of this category.  Categories with duplicate id&apos;s will be discarded.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="category" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the parent category.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  Specifies a launch item category description.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="item">
-      <annotation>
-         <documentation>
-            Specifies a launch item.
-         </documentation>
-      </annotation>
-      <complexType>
-         <choice>
-            <element ref="view"/>
-            <element ref="program"/>
-         </choice>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The localized name of this launch item.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique id of this launch item. Launch items with duplicate id&apos;s will be discarded.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="category" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the category this launch item belongs to.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  The declaring plugin relative path of an icon to display with this launch item in the Launcher.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="enabled" type="boolean" use="default" value="true">
-            <annotation>
-               <documentation>
-                  Set to &quot;false&quot; to disable this launch item, or to &quot;true&quot; to enable it (default).
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  The localized plain-text description of this launch item.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/examples/org.eclipse.swt.examples.launcher/src/import.properties b/examples/org.eclipse.swt.examples.launcher/src/import.properties
deleted file mode 100644
index 58344f0..0000000
--- a/examples/org.eclipse.swt.examples.launcher/src/import.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# Persist project settings for later import 
-natures = org.eclipse.jdt.core.javanature; org.eclipse.pde.PluginNature
-builders = org.eclipse.jdt.core.javabuilder; org.eclipse.pde.ManifestBuilder; org.eclipse.pde.SchemaBuilder
-var.ECLIPSE_PLUGINS = <<ECLIPSE_PLUGINS>>
diff --git a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemDescriptor.java b/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemDescriptor.java
deleted file mode 100755
index 7ec1019..0000000
--- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemDescriptor.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.launcher;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * ItemDescriptor collects information about a launch item.
- */
-class ItemDescriptor {
-	private String id;
-	private String name;
-	private String description;
-	private Image  icon;
-	private String view;
-	private String mainType;
-	private String pluginId;
-	
-	
-	/**
-	 * Constructs an ItemDescriptor.
-	 *
-	 * @param id the id
-	 * @param name the name
-	 * @param description the description
-	 * @param icon the icon
-	 * @param view the host view may be null if it is a standalone application
-	 * @param mainType the fully qualified class name to run may be null if it is a view
-	 * @param pluginId the name of the plugin which contains the main class
-	 */
-	public ItemDescriptor(String id, String name, String description,
-		Image icon, String view, String mainType, String pluginId) {
-		this.id = id;
-		this.name = name;
-		this.description = description;
-		this.icon = icon;
-		this.view = view;
-		this.mainType = mainType;
-		this.pluginId = pluginId;
-	}
-
-	/**
-	 * Returns the ID for this program.
-	 *
-	 * @return the user-specified ID for this program
-	 */
-	public String getId() {
-		return id;
-	}
-	
-	/**
-	 * Returns the translated name for the program.
-	 * 
-	 * @return the name of the program
-	 */
-	public String getName() {
-		return name;
-	}
-	
-	/**
-	 * Returns a short description for the program.
-	 * 
-	 * @return a newline-delimited string describing the program, null if no description is available
-	 */
-	public String getDescription() {
-		return description;
-	}
-
-	/**
-	 * Returns an icon for this descriptor
-	 * 
-	 * @returns an icon, null if the item is a folder
-	 */
-	public Image getIcon() {
-		return icon;
-	}
-	
-	/**
-	 * Returns the host view for the program.
-	 * 
-	 * @return the host view, null if the item is a standalone program.
-	 */
-	public String getView () {
-		return view;
-	}
-	
-	/**
-	 * Returns the fully qualified class to run
-	 * for the program.
-	 * 
-	 * @return the class to run for the program.
-	 */
-	public String getMainType () {
-		return mainType;
-	}
-	
-	/**
-	 * Returns the name of the plugin that contains the program.
-	 * 
-	 * @return the name of the plugin that contains the program.
-	 */
-	public String getPluginId () {
-		return pluginId;
-	}
-	
-	/**
-	 * Determines if an item is a folder.
-	 *
-	 * @return true if the item is a folder
-	 */
-	public boolean isFolder() {
-		return (mainType == null && view == null);
-	}
-	
-	/**
-	 * Determines the equality of descriptors.
-	 * 
-	 * @return true if this.getId().equalsIgnoreCase(other.getId())
-	 */
-	public boolean equals(Object other) {
-		if (other instanceof ItemDescriptor) {
-			ItemDescriptor otherDescriptor = (ItemDescriptor) other;
-			return getId().equalsIgnoreCase(otherDescriptor.getId());
-		}
-		return false;
-	}
-	
-	/**
-	 * Produces a hashcode.
-	 * 
-	 * @return the hashcode
-	 */
-	public int hashCode() {
-		return id.toUpperCase().hashCode();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemTreeNode.java b/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemTreeNode.java
deleted file mode 100755
index 6088090..0000000
--- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemTreeNode.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.launcher;
-
-
-/**
- * Internal class used to store tree structures of ItemDescriptors
- */
-class ItemTreeNode {
-	private ItemTreeNode nextSibling;
-	private ItemTreeNode firstChild;
-	private ItemDescriptor descriptor;
-
-	/**
-	 * Constructs a leaf ItemTreeNode with a given descriptor.
-	 * 
-	 * @param descriptor the descriptor
-	 */
-	public ItemTreeNode(ItemDescriptor descriptor) {
-		this.descriptor = descriptor;
-	}
-
-	/**
-	 * Adds a node to the Tree in sorted order by name.
-	 * 
-	 * @param node the node to add. Note that node.nextSibling must be null
-	 */
-	public void addSortedNode(ItemTreeNode node) {
-		if (firstChild == null) {
-			firstChild = node;
-		} else if (firstChild.descriptor.getName().compareTo(node.descriptor.getName()) > 0) {
-			node.nextSibling = firstChild;
-			firstChild = node;
-		} else {
-			ItemTreeNode cursor;
-			for (cursor = firstChild; cursor.nextSibling != null; cursor = cursor.nextSibling) {
-				ItemTreeNode sibling = cursor.nextSibling;
-				if (sibling.descriptor.getName().compareTo(node.descriptor.getName()) > 0) break;
-			}
-			node.nextSibling = cursor.nextSibling;
-			cursor.nextSibling = node;
-		}
-	}
-	
-	/**
-	 * Returns the descriptor for this node.
-	 * 
-	 * @return the descriptor
-	 */
-	public ItemDescriptor getDescriptor() {
-		return descriptor;
-	}
-
-	/**
-	 * Returns the next sibling of this node.
-	 * 
-	 * @return the next sibling, or null if none
-	 */
-	public ItemTreeNode getNextSibling() {
-		return nextSibling;
-	}
-
-	/**
-	 * Returns the first child of this node.
-	 * 
-	 * @return the first child, or null if none
-	 */
-	public ItemTreeNode getFirstChild() {
-		return firstChild;
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherPlugin.java b/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherPlugin.java
deleted file mode 100755
index 2d6abb3..0000000
--- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherPlugin.java
+++ /dev/null
@@ -1,390 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.launcher;
-
-
-import java.io.*;
-import java.net.*;
-import java.text.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.ui.plugin.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class LauncherPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static LauncherPlugin plugin;
-	private static ResourceBundle resourceBundle;
-
-	private static final String
-		LAUNCH_ITEMS_POINT_ID = "org.eclipse.swt.examples.launcher.launchItems",
-		LAUNCH_ITEMS_XML_CATEGORY = "category",
-		LAUNCH_ITEMS_XML_ITEM = "item",
-		LAUNCH_ITEMS_XML_ITEM_ICON = "icon",
-		LAUNCH_ITEMS_XML_ITEM_DESCRIPTION = "description",
-		LAUNCH_ITEMS_XML_PROGRAM = "program",
-		LAUNCH_ITEMS_XML_PROGRAM_PLUGIN = "pluginId",
-		LAUNCH_ITEMS_XML_PROGRAM_CLASS = "mainClass",
-		LAUNCH_ITEMS_XML_VIEW = "view",
-		LAUNCH_ITEMS_XML_VIEW_VIEWID = "viewId",
-		LAUNCH_ITEMS_XML_ATTRIB_ID = "id",
-		LAUNCH_ITEMS_XML_ATTRIB_NAME = "name",
-		LAUNCH_ITEMS_XML_ATTRIB_ENABLED = "enabled",
-		LAUNCH_ITEMS_XML_ATTRIB_CATEGORY = "category",
-		LAUNCH_ITEMS_XML_VALUE_TRUE = "true",
-		LAUNCH_ITEMS_XML_VALUE_FALSE = "false";		
-
-	static final int
-		liClosedFolder = 0,
-		liOpenFolder = 1,
-		liGenericExample = 2;
-	static final String[] imageLocations = {
-		"icons/closedFolder.gif",
-		"icons/openFolder.gif",
-		"icons/generic_example.gif" };
-	static Image images[];
-
-	/**
-	 * Constructs the LauncherPlugin.
-	 */
-	public LauncherPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		plugin = this;
-		resourceBundle = descriptor.getResourceBundle();
-	}
-
-	/**
-	 * Clean up
-	 */
-	public void shutdown() throws CoreException {
-		super.shutdown();
-		freeResources();
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static LauncherPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Loads the resources
-	 */
-	public static void initResources() {
-		if (images == null) {
-			images = new Image[imageLocations.length];
-				
-			for (int i = 0; i < imageLocations.length; ++i) {
-				images[i] = getImageFromPlugin(plugin.getDescriptor(), imageLocations[i]);
-				if (images[i] == null) {
-					freeResources();
-					logError(getResourceString("error.CouldNotLoadResources"), null);
-					throw new IllegalStateException();
-				}
-			}
-		}	
-	}
-
-	/**
-	 * Frees the resources
-	 */
-	public static void freeResources() {
-		if (images != null) {
-			for (int i = 0; i < images.length; ++i) {
-				final Image image = images[i];
-				if (image != null) image.dispose();
-			}
-			images = null;
-		}
-	}
-
-	/**
-	 * Log an error to the ILog for this plugin
-	 * 
-	 * @param message the localized error message text
-	 * @param exception the associated exception, or null
-	 */
-	public static void logError(String message, Throwable exception) {
-		plugin.getLog().log(new Status(IStatus.ERROR, plugin.getDescriptor().getUniqueIdentifier(),
-			0, message, exception));
-	}
-
-	/**
-	 * Returns a string from the resource bundle.
-	 * We don't want to crash because of a missing String.
-	 * Returns the key if not found.
-	 */
-	public static String getResourceString(String key) {
-		try {
-			return resourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}			
-	}
-
-	/**
-	 * Returns a string from the resource bundle and binds it
-	 * with the given arguments. If the key is not found,
-	 * return the key.
-	 */
-	public static String getResourceString(String key, Object[] args) {
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}
-	}
-
-	/**
-     * Constructs a list of available programs from registered extensions.
-     * 
-     * @return an ItemTreeNode representing the root of a tree of items (the root is not to be displayed)
-	 */
-	public static ItemTreeNode getLaunchItemTree() {
-		ItemTreeNode categoryTree =
-			new ItemTreeNode(new ItemDescriptor("<<Root>>", "<<Root>>", null, null, null, null, null));
-
-		// get the platform's public plugin registry
-		IPluginRegistry pluginRegistry = Platform.getPluginRegistry();
-		// retrieve all configuration elements registered at our launchItems extension-point
-		IConfigurationElement[] configurationElements =
-			pluginRegistry.getConfigurationElementsFor(LAUNCH_ITEMS_POINT_ID);
-			
-		if (configurationElements == null || configurationElements.length == 0) {
-			logError(getResourceString("error.CouldNotFindRegisteredExtensions"), null);
-			return categoryTree;
-		}
-		
-		/* Collect all launch categories -- coalesce those with same ID */
-		HashMap idMap = new HashMap();
-		for (int i = 0; i < configurationElements.length; ++i) {
-			final IConfigurationElement ce = configurationElements[i];
-			final String ceName = ce.getName();
-			final String attribId = getItemAttribute(ce, LAUNCH_ITEMS_XML_ATTRIB_ID, null);
-			
-			if (idMap.containsKey(attribId)) continue;
-			if (ceName.equalsIgnoreCase(LAUNCH_ITEMS_XML_CATEGORY)) {
-				final String attribName = getItemName(ce); 
-				ItemDescriptor theDescriptor = new ItemDescriptor(attribId, attribName,
-					getItemDescription(ce), null, null, null, null);
-				idMap.put(attribId, new ItemTreeNode(theDescriptor));
-			}
-		}
-		
-		/* Generate launch category hierarchy */
-		Set tempIdSet = new HashSet(); // used to prevent duplicates from being entered into the tree
-		for (int i = 0; i < configurationElements.length; ++i) {
-			final IConfigurationElement ce = configurationElements[i];
-			final String ceName = ce.getName();
-			final String attribId = getItemAttribute(ce, LAUNCH_ITEMS_XML_ATTRIB_ID, null);
-			
-			if (tempIdSet.contains(attribId)) continue;
-			if (ceName.equalsIgnoreCase(LAUNCH_ITEMS_XML_CATEGORY)) {
-				final ItemTreeNode theNode = (ItemTreeNode) idMap.get(attribId);
-				addItemByCategory(ce, categoryTree, theNode, idMap);
-				tempIdSet.add(attribId);
-			}
-		}
-		
-		/* Generate program tree */
-		for (int i = 0; i < configurationElements.length; ++i) {
-			final IConfigurationElement ce = configurationElements[i];
-			final String ceName = ce.getName();
-			final String attribId = getItemAttribute(ce, LAUNCH_ITEMS_XML_ATTRIB_ID, null);
-
-			if (idMap.containsKey(attribId)) continue;
-			if (ceName.equalsIgnoreCase(LAUNCH_ITEMS_XML_CATEGORY)) {
-				// ignore
-			} else if (ceName.equalsIgnoreCase(LAUNCH_ITEMS_XML_ITEM)) {
-				final String enabled = getItemAttribute(ce, LAUNCH_ITEMS_XML_ATTRIB_ENABLED, 
-					LAUNCH_ITEMS_XML_VALUE_TRUE);
-				if (enabled.equalsIgnoreCase(LAUNCH_ITEMS_XML_VALUE_FALSE)) continue;
-				ItemDescriptor theDescriptor = createItemDescriptor(ce, attribId);				
-			
-				if (theDescriptor != null) {
-					final ItemTreeNode theNode = new ItemTreeNode(theDescriptor);
-					addItemByCategory(ce, categoryTree, theNode, idMap);
-					idMap.put(attribId, theNode);
-				}
-			}
-		}
-		return categoryTree;
-	}
-
-				
-	/**
-	 * Adds an item to the category tree.
-	 */
-	private static void addItemByCategory(IConfigurationElement ce, ItemTreeNode root,
-		ItemTreeNode theNode, HashMap idMap) {
-		final String attribCategory = getItemAttribute(ce, LAUNCH_ITEMS_XML_ATTRIB_CATEGORY, null);
-				
-		// locate the parent node
-		ItemTreeNode parentNode = null;
-		if (attribCategory != null) {
-			parentNode = (ItemTreeNode) idMap.get(attribCategory);
-		}
-		if (parentNode == null) parentNode = root;
-				
-		// add the item
-		parentNode.addSortedNode(theNode);
-	}
-
-	/**
-	 * Creates an ItemDescriptor from an XML definition.
-	 * 
-	 * @param ce the IConfigurationElement describing the item
-	 * @param attribId the attribute id
-	 * @return a new ItemDescriptor, or null if an error occurs
-	 */
-	private static ItemDescriptor createItemDescriptor(IConfigurationElement ce, String attribId) {
-		final String attribName = getItemName(ce);
-		final Image  attribIcon = getItemIcon(ce);
-		final String attribDescription = getItemDescription(ce);
-
-		IConfigurationElement viewCE = getItemElement(ce, LAUNCH_ITEMS_XML_VIEW);
-		if (viewCE != null) {
-			//Item is a view
-			final String attribView = getItemAttribute(viewCE, LAUNCH_ITEMS_XML_VIEW_VIEWID, null);		
-			if (attribView == null) {
-				logError(getResourceString("error.IncompleteViewLaunchItem",
-					new Object[] { attribId } ), null);
-				return null;
-			}
-			return new ItemDescriptor(attribId, attribName, attribDescription,
-					attribIcon, attribView, null, null);
-		} else {
-			//Item is a standalone
-			IConfigurationElement programCE = getItemElement(ce, LAUNCH_ITEMS_XML_PROGRAM);
-			if (programCE != null) {
-				final String attribPluginId = getItemAttribute(programCE, LAUNCH_ITEMS_XML_PROGRAM_PLUGIN, null);
-				final String attribClass    = getItemAttribute(programCE, LAUNCH_ITEMS_XML_PROGRAM_CLASS, null);
-				if (attribClass == null || attribPluginId == null) {
-					logError(getResourceString("error.IncompleteProgramLaunchItem",
-					new Object[] { attribId } ), null);
-					return null;
-				}
-				return new ItemDescriptor(attribId, attribName, attribDescription,
-					attribIcon, null, attribClass, attribPluginId);
-			} else {
-				logError(getResourceString("error.IncompleteLaunchItem",
-					new Object[] { attribId } ), null);
-				return null;
-			}
-		}
-	}
-
-	/**
-	 * Returns the first instance of a particular child XML element.
-	 * 
-	 * @param ce the IConfigurationElement parent
-	 * @param element the name of the element to fetch
-	 * @return the element's IConfigurationElement, or null if not found
-	 */
-	private static IConfigurationElement getItemElement(IConfigurationElement ce, String element) {
-		IConfigurationElement[] elementCEs = ce.getChildren(element);
-		return (elementCEs != null && elementCEs.length != 0) ? elementCEs[0] : null;
-	}
-
-	/**
-	 * Returns the value of an XML attribute for an item.
-	 * 
-	 * @param ce the IConfigurationElement describing the item
-	 * @param attribute the attribute to fetch
-	 * @param defaultValue the value to return if the attribute is not found
-	 * @return the attribute value
-	 */
-	private static String getItemAttribute(IConfigurationElement ce, String attribute, String defaultValue) {
-		String value = ce.getAttribute(attribute);
-		return (value != null) ? value : defaultValue;
-	}
-
-	/**
-	 * Returns the description string given the IConfigurationElement for an item.
-	 * 
-	 * @param ce the IConfigurationElement describing the item
-	 * @return a newline-delimited string that describes this item, or null if none
-	 */
-	private static String getItemDescription(IConfigurationElement ce) {
-		String description = getItemAttribute(ce, LAUNCH_ITEMS_XML_ITEM_DESCRIPTION, "");
-		return (description.length() == 0) ? null : description;
-	}
-
-	/**
-	 * Returns the name of an item.
-	 * 
-	 * @param ce the IConfigurationElement describing the item
-	 * @return the attribute value
-	 */
-	private static String getItemName(IConfigurationElement ce) {
-		return getItemAttribute(ce, LAUNCH_ITEMS_XML_ATTRIB_NAME,
-			getResourceString("launchitem.Missing.name"));
-	}
-
-
-	/**
-	 * Returns the icon for an item.
-	 * 
-	 * @param ce the IConfigurationElement describing the item
-	 * @return an icon
-	 */
-	private static Image getItemIcon(IConfigurationElement ce) {
-		String iconPath = getItemAttribute(ce, LAUNCH_ITEMS_XML_ITEM_ICON, "");
-		if (iconPath.length() != 0) {
-			Image icon = getImageFromPlugin(ce.getDeclaringExtension().getDeclaringPluginDescriptor(),
-				iconPath);
-			if (icon != null) {
-				Image[] newImages = new Image[images.length + 1];
-				System.arraycopy(images, 0, newImages, 0, images.length);
-				newImages[images.length] = icon;
-				images = newImages;
-				return icon;
-			}
-		}
-		return images[liGenericExample];
-	}
-
-	/**
-	 * Gets an image from a path relative to the plugin install directory.
-	 *
-	 * @param pd the plugin descriptor for the plugin with the image
-	 * @param iconPath the path relative to the install directory
-	 * @return the image, or null if not found
-	 */
-	private static Image getImageFromPlugin(IPluginDescriptor pd, String iconPath) {
-		InputStream is = null;
-		try {
-			URL installUrl = pd.getInstallURL();
-			URL url = new URL(installUrl, iconPath);
-			is = url.openConnection().getInputStream();
-			ImageData source = new ImageData(is);
-			ImageData mask = source.getTransparencyMask();
-			Image image = new Image(null, source, mask);
-			return image;
-		} catch (Throwable ex) {
-			return null;
-		} finally {
-			try {
-				if (is != null) is.close();
-			} catch (IOException e) {
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherView.java b/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherView.java
deleted file mode 100755
index 663dfd6..0000000
--- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherView.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.launcher;
-
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.part.*;
-import java.lang.reflect.*;
-
-/**
- * Launcher uses <code>org.eclipse.swt</code> 
- * to launch the other registered examples.
- * 
- * @see ViewPart
- */
-public class LauncherView extends ViewPart {
-	private Shell workbenchShell;
-	
-	private Tree launchTree;
-	private Text descriptionText;
-	private Button runButton;
-
-	/**
-	 * Constructs a LauncherView.
-	 */
-	public LauncherView() {
-		LauncherPlugin.initResources();
-	}
-
-	/**
-	 * Creates the example.
-	 * 
-	 * @see ViewPart#createPartControl
-	 */
-	public void createPartControl(Composite parent) {
-		workbenchShell = getSite().getShell();
-		parent.setLayout(new SplitLayout());
-				
-		Group launchGroup = new Group(parent, SWT.NULL);
-		launchGroup.setText(LauncherPlugin.getResourceString("view.launchGroup.text"));
-		
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 2;
-		launchGroup.setLayout(gridLayout);
-
-		launchTree = new Tree(launchGroup, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		gridData.horizontalSpan = 2;
-		launchTree.setLayoutData(gridData);
-		launchTree.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent event) {
-				final ItemDescriptor item = getSelectedItem();
-				setDescriptionByItem(item);
-			}
-			public void widgetDefaultSelected(SelectionEvent event) {
-				final ItemDescriptor item = getSelectedItem();
-				setDescriptionByItem(item);
-				launchItem(getSelectedItem());
-			}
-		});
-		launchTree.addTreeListener(new TreeListener() {
-			public void treeCollapsed(TreeEvent event) {
-				final TreeItem item = (TreeItem) event.item;
-				if (item == null) return;
-				item.setImage(LauncherPlugin.images[LauncherPlugin.liClosedFolder]);
-			}
-			public void treeExpanded(TreeEvent event) {
-				final TreeItem item = (TreeItem) event.item;
-				if (item == null) return;
-				item.setImage(LauncherPlugin.images[LauncherPlugin.liOpenFolder]);
-			}
-		});
-
-		runButton = new Button(launchGroup, SWT.PUSH);
-		runButton.setText(LauncherPlugin.getResourceString("view.launchButton.text"));
-		runButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent event) {
-				launchItem(getSelectedItem());
-			}
-			public void widgetDefaultSelected(SelectionEvent event) {
-			}
-		});
-
-		Group descriptionGroup = new Group(parent, SWT.NULL);
-		descriptionGroup.setText(LauncherPlugin.getResourceString("view.descriptionGroup.text"));
-		descriptionGroup.setLayout(new FillLayout());
-		
-		descriptionText = new Text(descriptionGroup, SWT.MULTI | SWT.BORDER |
-			SWT.WRAP | SWT.V_SCROLL | SWT.READ_ONLY);
-
-		setDescriptionByItem(null);
-		setItemDescriptors(LauncherPlugin.getLaunchItemTree());
-	}
-
-	/**
-	 * Called when we must grab focus.
-	 * 
-	 * @see org.eclipse.ui.part.ViewPart#setFocus
-	 */
-	public void setFocus()  {
-		launchTree.setFocus();
-		runButton.getShell().setDefaultButton(runButton);
-	}
-
-	/**
-	 * Called when the View is to be disposed
-	 */	
-	public void dispose() {
-		workbenchShell = null;
-		launchTree = null;
-		descriptionText = null;
-		runButton = null;		
-		super.dispose();
-	}
-
-	/**
-	 * Installs a new launch list.
-	 * 
-	 * @param newRoot the new tree of launch items for the UI
-	 */
-	public void setItemDescriptors(final ItemTreeNode newRoot) {
-		if (workbenchShell == null) return;
-		workbenchShell.getDisplay().syncExec(new Runnable() {
-			public void run() {
-				if ((launchTree == null) || (launchTree.isDisposed())) return;
-				launchTree.removeAll();
-			
-				for (ItemTreeNode node = newRoot.getFirstChild(); node != null;
-					node = node.getNextSibling()) {
-					doNode(node, new TreeItem(launchTree, SWT.NONE)); // top-level TreeItem
-				}
-			}
-			private void addGroup(TreeItem parent, ItemTreeNode node) {
-				for (;node != null; node = node.getNextSibling()) {
-					doNode(node, new TreeItem(parent, SWT.NONE)); // TreeItem at depth > 0
-				}
-			}
-			private void doNode(ItemTreeNode node, TreeItem treeItem) {
-				final ItemDescriptor item = node.getDescriptor();
-				treeItem.setText(item.getName());
-				treeItem.setData(item);
-				if (node.getDescriptor().isFolder()) {
-					treeItem.setExpanded(false);
-					treeItem.setImage(LauncherPlugin.images[LauncherPlugin.liClosedFolder]);
-				} else {
-					treeItem.setImage(node.getDescriptor().getIcon());
-				}
-				addGroup(treeItem, node.getFirstChild());
-			}
-		});
-	}
-
-	/**
-	 * Runs the specified launch item.
-	 * 
-	 * @param itemDescriptor the launch item to execute
-	 */
-	private void launchItem(ItemDescriptor itemDescriptor) {
-		/* Case 1: The launch item is a view */
-		String pluginViewId = itemDescriptor.getView ();
-		if (pluginViewId != null) {
-			final IWorkbenchPart workbenchPart = this;
-			final IWorkbenchPartSite workbenchPartSite = workbenchPart.getSite();
-			final IWorkbenchPage workbenchPage = workbenchPartSite.getPage();
-			try {
-				workbenchPage.showView(pluginViewId);
-			} catch (PartInitException e) {
-				LauncherPlugin.logError(LauncherPlugin.getResourceString("run.error.Invocation"), e);
-			}
-			return;
-		}
-		/* Case 2: The launch item is a standalone program */
-		if (workbenchShell == null) return;
-		try {
-			Class cl = Class.forName(itemDescriptor.getMainType());
-			Display display = workbenchShell.getDisplay();
-			Object exampleInstance = cl.newInstance();
-			Method openMethod = cl.getDeclaredMethod("open", new Class[] {Display.class});
-			openMethod.invoke(exampleInstance, new Object[] {display});
-		} catch (NoSuchMethodException e) {
-			LauncherPlugin.logError(LauncherPlugin.getResourceString("run.error.DoesNotImplementMethod"), null);
-		} catch (ClassNotFoundException e) {
-			LauncherPlugin.logError(LauncherPlugin.getResourceString("run.error.CouldNotFindClass"), e);
-		} catch (Exception e) {
-			LauncherPlugin.logError(LauncherPlugin.getResourceString("run.error.CouldNotInstantiateClass"), e);
-		}		
-	}
-
-	/**
-	 * Obtains the selected launch item.
-	 * 
-	 * @return the currently selected ItemDescriptor
-	 */
-	private ItemDescriptor getSelectedItem() {
-		final TreeItem[] selections = launchTree.getSelection();
-		if (selections.length == 0) return null;
-		final ItemDescriptor itemDescriptor = (ItemDescriptor) selections[0].getData();
-		return itemDescriptor;
-	}
-	
-	/**
-	 * Sets the currently visible description text to reflect that of a particular ItemDescriptor.
-	 *
-	 * @param itemDescriptor the launch item whose description is to be displayed, or null if none
-	 */
-	private void setDescriptionByItem(ItemDescriptor itemDescriptor) {
-		String description;
-		if (itemDescriptor == null) {
-			description = LauncherPlugin.getResourceString("launchitem.Null.description");
-			if (runButton != null) runButton.setEnabled(false);
-		} else {
-			description = itemDescriptor.getDescription();
-			if (description == null)
-				description = LauncherPlugin.getResourceString("launchitem.Missing.description");
-			if (runButton != null) {
-				runButton.setEnabled(itemDescriptor.getView() != null || itemDescriptor.getMainType() != null);
-			}
-		}
-		descriptionText.setText(description);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/SplitLayout.java b/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/SplitLayout.java
deleted file mode 100755
index 47dbfdd..0000000
--- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/SplitLayout.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.launcher;
-
- 
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A Layout class that automatically switches from a horizontal split to a vertical
- * split layout to accomodate changing size conditions.
- * 
- * Later on we might improve this class to take into account the "preferred" size of
- * the widgets.
- */
-public class SplitLayout extends Layout {
-	private static final int
-		splitHorizontally = 0,
-		splitVertically = 1;
-	private int splitDirection = splitHorizontally;
-
-	public int spacing = 3;
-	public int marginTop = 3;
-	public int marginLeft = 3;
-	public int marginRight = 3;
-	public int marginBottom = 3;
-
-	/**
-	 * Creates a new layout
-	 */
-	public SplitLayout() {
-	}
-
-	/**
-	 * @see Layout#computeSize(Composite, int, int, boolean)
-	 */
-	protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-		if (wHint == SWT.DEFAULT) {
-			if (hHint == SWT.DEFAULT) {
-				Point hSplitSize = computeHSplitSize(composite, wHint, hHint, flushCache);
-				Point vSplitSize = computeVSplitSize(composite, wHint, hHint, false);
-				int hSplitArea = hSplitSize.x * hSplitSize.y;
-				int vSplitArea = vSplitSize.x * vSplitSize.y;
-				// Choose direction consuming least area
-				if (hSplitArea < vSplitArea) {
-					splitDirection = splitHorizontally;
-					return hSplitSize;
-				} else {
-					splitDirection = splitVertically;
-					return vSplitSize;
-				}
-			} else {
-				// Constrained in height: split vertically
-				splitDirection = splitVertically;
-				return computeVSplitSize(composite, wHint, hHint, flushCache);
-			}
-		} else {
-			if (hHint == SWT.DEFAULT) {
-				// Constrained in width: split horizontally
-				splitDirection = splitHorizontally;
-				return computeHSplitSize(composite, wHint, hHint, flushCache);
-			} else {
-				if (hHint < wHint) {
-					splitDirection = splitVertically;
-					return computeVSplitSize(composite, wHint, hHint, flushCache);
-				} else {
-					splitDirection = splitHorizontally;
-					return computeHSplitSize(composite, wHint, hHint, flushCache);
-				}					
-			}
-		}
-	}
-	/**
-	 * @see Layout#layout(Composite, boolean)
-	 */
-	protected void layout(Composite composite, boolean flushCache) {
-		Rectangle clientArea = composite.getClientArea();
-		computeSize(composite, clientArea.width, clientArea.height, false);
-		
-		Control[] children = composite.getChildren();
-		clientArea.x += marginLeft;
-		clientArea.y += marginTop;
-		clientArea.width -= marginRight + marginLeft;
-		clientArea.height -= marginBottom + marginTop;
-		Point position = new Point(clientArea.x, clientArea.y);
-
-		for (int i = 0; i < children.length; ++i) {
-			final Control child = children[i];
-			final Rectangle bounds;
-			if (splitDirection == splitHorizontally) {
-				int height = clientArea.height / children.length;
-				bounds = new Rectangle(position.x, position.y, clientArea.width, height);
-				position.y += height + spacing;
-			} else {
-				int width = clientArea.width / children.length;
-				bounds = new Rectangle(position.x, position.y, width, clientArea.height);
-				position.x += width + spacing;
-			}
-			bounds.width = Math.max(bounds.width, 0);
-			bounds.height = Math.max(bounds.height, 0);
-			child.setBounds(bounds);
-		}
-	}
-
-	private Point computeHSplitSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-		Point size = new Point(marginLeft + marginRight, marginTop + marginBottom);
-		Control[] children = composite.getChildren();
-		for (int i = 0; i < children.length; ++i) {
-			final Control child = children[i];
-
-			Point childSize = child.computeSize(wHint, hHint, flushCache);
-			size.x = Math.max(size.x, childSize.x);
-			size.y += childSize.y + spacing;
-		}
-		return size;
-	}
-
-	private Point computeVSplitSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-		Point size = new Point(marginLeft + marginRight, marginTop + marginBottom);
-		Control[] children = composite.getChildren();
-		for (int i = 0; i < children.length; ++i) {
-			final Control child = children[i];
-
-			Point childSize = child.computeSize(wHint, hHint, flushCache);
-			size.x += childSize.x + spacing;
-			size.y = Math.max(size.y, childSize.y);
-		}
-		return size;
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.layouts/.classpath b/examples/org.eclipse.swt.examples.layouts/.classpath
deleted file mode 100644
index 7e4fc34..0000000
--- a/examples/org.eclipse.swt.examples.layouts/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="var" path="JRE_LIB"/>
-	<classpathentry kind="src" path="/org.eclipse.swt.examples"/>
-	<classpathentry kind="src" path="/org.eclipse.swt"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.core.runtime_3.0.0/runtime.jar"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.ui.workbench_3.0.0/workbench.jar"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.jface_3.0.0/jface.jar"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.osgi_3.0.0/osgi.jar"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.swt.examples.layouts/.cvsignore b/examples/org.eclipse.swt.examples.layouts/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/examples/org.eclipse.swt.examples.layouts/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.layouts/.project b/examples/org.eclipse.swt.examples.layouts/.project
deleted file mode 100644
index e5d7079..0000000
--- a/examples/org.eclipse.swt.examples.layouts/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.examples.layouts</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.swt</project>
-		<project>org.eclipse.swt.examples</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.swt.examples.layouts/about.html b/examples/org.eclipse.swt.examples.layouts/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/examples/org.eclipse.swt.examples.layouts/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.layouts/build.properties b/examples/org.eclipse.swt.examples.layouts/build.properties
deleted file mode 100644
index 1c236e8..0000000
--- a/examples/org.eclipse.swt.examples.layouts/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = doc-html/,\
-               icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               *.jar
-
-src.includes = about.html
-
-source.layouts.jar = src/
diff --git a/examples/org.eclipse.swt.examples.layouts/doc-html/hglegal.htm b/examples/org.eclipse.swt.examples.layouts/doc-html/hglegal.htm
deleted file mode 100644
index f5871b7..0000000
--- a/examples/org.eclipse.swt.examples.layouts/doc-html/hglegal.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-  <LINK REL="stylesheet" HREF="../../../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
-  <title>Legal Notices</title>
-</head>
-<body>
-
-<h3>
-<a NAME="Notices"></a>Notices</h3>
-(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples.layouts/doc-html/ngibmcpy.gif b/examples/org.eclipse.swt.examples.layouts/doc-html/ngibmcpy.gif
deleted file mode 100644
index c786e43..0000000
--- a/examples/org.eclipse.swt.examples.layouts/doc-html/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.layouts/doc-html/swt_layout_ex.html b/examples/org.eclipse.swt.examples.layouts/doc-html/swt_layout_ex.html
deleted file mode 100644
index 2eb39e4..0000000
--- a/examples/org.eclipse.swt.examples.layouts/doc-html/swt_layout_ex.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>SWT - Layout Example</title>
-</head>
-<body>
-
-<h2>SWT example - Layouts</h2>
-
-<p>
-This example is a simple demonstration of common SWT layouts. 
-It consists of a tab folder where each tab in the folder allows the 
-user to interact with a different SWT layout.
-The user can insert widgets into a layout and set the values of the layout data
-using a property sheet.  When the user has a suitable arrangement, the underlying
-code can be generated by clicking on the <strong>Code</strong> button.
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="../../org.eclipse.swt.examples/doc-html/swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.layoutexample.LayoutExample</code>.
-</p>
-<p>
-This example can also be run using the <a href="../../org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Layouts</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>.
-</p>
-
-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corporation and others 2000, 2003.  All Rights Reserved." BORDER=0 height=14 width=324></a></p>
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.layouts/icons/layouts_example.gif b/examples/org.eclipse.swt.examples.layouts/icons/layouts_example.gif
deleted file mode 100644
index d945dde..0000000
--- a/examples/org.eclipse.swt.examples.layouts/icons/layouts_example.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.layouts/plugin.properties b/examples/org.eclipse.swt.examples.layouts/plugin.properties
deleted file mode 100644
index 59ffc92..0000000
--- a/examples/org.eclipse.swt.examples.layouts/plugin.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-providerName = Eclipse.org
-plugin.SWTLayoutExample.name = SWT Layout Example Plugin
-category.SWTExamples.name = SWT Examples
-view.LayoutExample.name = SWT Layouts
-
-launchcategory.SWTViewExamples.name = Workbench Views
-launchcategory.SWTViewExamples.description = \
-	A collection of Standard Widget Toolkit examples that run as Views inside the Workbench.  \
-	These examples will create a new View in the current Perspective.
-
-launchitem.LayoutExample.name = Layouts
-launchitem.LayoutExample.description = \
-	This example is a simple demonstration of common SWT layouts. \n\n\
-	It consists of a tab folder where each tab allows the \
-	user to interact with a different SWT layout.\
-	The user can insert widgets into a layout and set the values of the layout data \
-	using a property sheet.  When the user has a suitable arrangement, code can be \
-	generated by clicking on the Code button.
diff --git a/examples/org.eclipse.swt.examples.layouts/plugin.xml b/examples/org.eclipse.swt.examples.layouts/plugin.xml
deleted file mode 100644
index 5f300c5..0000000
--- a/examples/org.eclipse.swt.examples.layouts/plugin.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="org.eclipse.swt.examples.layouts"
-   name="%plugin.SWTLayoutExample.name"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.swt.examples.layouts.LayoutPlugin">
-
-<!-- Runtime -->
-<!-- Runtime -->
-   <runtime>
-      <library name="layouts.jar">
-            <packages prefixes="org.eclipse.swt.examples.layouts"/>
-      </library>
-   </runtime>
-<!-- Required plugins -->
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.swt"/>
-      <import plugin="org.eclipse.swt.examples"/>
-   </requires>
-
-
-<!-- Extension points -->
-<!-- Extensions -->
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%view.LayoutExample.name"
-            icon="icons/layouts_example.gif"
-            category="org.eclipse.swt.examples.category"
-            class="org.eclipse.swt.examples.layouts.LayoutView"
-            id="org.eclipse.swt.examples.layouts.view">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.swt.examples.launcher.launchItems">
-      <category
-            name="%launchcategory.SWTViewExamples.name"
-            description="%launchcategory.SWTViewExamples.description"
-            id="org.eclipse.swt.examples.launchViewCategory">
-      </category>
-      <item
-            name="%launchitem.LayoutExample.name"
-            icon="icons/layouts_example.gif"
-            description="%launchitem.LayoutExample.description"
-            category="org.eclipse.swt.examples.launchViewCategory"
-            id="org.eclipse.swt.examples.layouts.viewlauncher">
-         <view
-               viewId="org.eclipse.swt.examples.layouts.view">
-         </view>
-      </item>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.swt.examples.layouts/src/import.properties b/examples/org.eclipse.swt.examples.layouts/src/import.properties
deleted file mode 100644
index 58344f0..0000000
--- a/examples/org.eclipse.swt.examples.layouts/src/import.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# Persist project settings for later import 
-natures = org.eclipse.jdt.core.javanature; org.eclipse.pde.PluginNature
-builders = org.eclipse.jdt.core.javabuilder; org.eclipse.pde.ManifestBuilder; org.eclipse.pde.SchemaBuilder
-var.ECLIPSE_PLUGINS = <<ECLIPSE_PLUGINS>>
diff --git a/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutPlugin.java b/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutPlugin.java
deleted file mode 100644
index d207dfd..0000000
--- a/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutPlugin.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.layouts;
-
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.plugin.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class LayoutPlugin extends AbstractUIPlugin {
-	/**
-	 * The constructor.
-	 */
-	public LayoutPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-	}
-	
-	/**
-	 * Clean up
-	 */
-	public void shutdown() throws CoreException {
-		super.shutdown();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutView.java b/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutView.java
deleted file mode 100644
index a765800..0000000
--- a/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutView.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.layouts;
-
- 
-import org.eclipse.swt.examples.layoutexample.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.part.*;
-
-/**
- * <code>Layouts</code> is a simple demonstration
- * of the layouts defined by SWT.  It consists of a workbench
- * view and tab folder where each tab in the folder allows the
- * user to interact with a layout.
- * 
- * @see ViewPart
- */
-public class LayoutView extends ViewPart {
-	LayoutExample instance = null;
-	
-	/**
-	 * Create the example
-	 * 
-	 * @see ViewPart#createPartControl
-	 */
-	public void createPartControl(Composite frame) {
-		instance = new LayoutExample(frame);
-	}
-
-	/**
-	 * Called when we must grab focus.
-	 * 
-	 * @see org.eclipse.ui.part.ViewPart#setFocus
-	 */
-	public void setFocus() {
-		instance.setFocus();
-	}
-
-	/**
-	 * Called when the View is to be disposed
-	 */	
-	public void dispose() {
-		instance.dispose();
-		instance = null;
-		super.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.ole.win32/.classpath b/examples/org.eclipse.swt.examples.ole.win32/.classpath
deleted file mode 100755
index 771b1f8..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="var" path="JRE_LIB"/>
-	<classpathentry kind="src" path="/org.eclipse.swt"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.core.runtime_3.0.0/runtime.jar"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.ui.workbench_3.0.0/workbench.jar"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.jface_3.0.0/jface.jar"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.osgi_3.0.0/osgi.jar"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.swt.examples.ole.win32/.cvsignore b/examples/org.eclipse.swt.examples.ole.win32/.cvsignore
deleted file mode 100755
index c5e82d7..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.ole.win32/.project b/examples/org.eclipse.swt.examples.ole.win32/.project
deleted file mode 100644
index 9ea059d..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/.project
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.examples.ole.win32</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.swt</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.swt.examples.ole.win32/about.html b/examples/org.eclipse.swt.examples.ole.win32/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.ole.win32/build.properties b/examples/org.eclipse.swt.examples.ole.win32/build.properties
deleted file mode 100755
index c30cc18..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = doc-html/,\
-               icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               *.jar
-
-src.includes = about.html
-            
-source.olewin32.jar = src/
diff --git a/examples/org.eclipse.swt.examples.ole.win32/doc-html/hglegal.htm b/examples/org.eclipse.swt.examples.ole.win32/doc-html/hglegal.htm
deleted file mode 100755
index f5871b7..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/doc-html/hglegal.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-  <LINK REL="stylesheet" HREF="../../../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
-  <title>Legal Notices</title>
-</head>
-<body>
-
-<h3>
-<a NAME="Notices"></a>Notices</h3>
-(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples.ole.win32/doc-html/ngibmcpy.gif b/examples/org.eclipse.swt.examples.ole.win32/doc-html/ngibmcpy.gif
deleted file mode 100755
index c786e43..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/doc-html/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.ole.win32/doc-html/swt_ole_ex.html b/examples/org.eclipse.swt.examples.ole.win32/doc-html/swt_ole_ex.html
deleted file mode 100755
index 834035c..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/doc-html/swt_ole_ex.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>SWT - OLE Web Browser</title>
-</head>
-<body>
-
-<h2>SWT example - OLE Web Browser</h2>
-
-<p>
-This example shows how to embed an Active X control into an SWT application or an Eclipse view.
-<p>
-</p>
-When the view is opened, it will create an instance of the Windows Internet Explorer
-control.  The OLE web browser has
-<strong>Back</strong> and <strong>Forward</strong> buttons to take you to recently visited pages.  The browser also contains
-a <strong>Home</strong> button to take you to the web browser's home page, a <strong>Stop</strong> button which stops the 
-current transfer, a <strong>Search</strong> button which will search for text typed in the <strong>Address</strong> text field, and
-a <strong>Refresh</strong> button which re-draws the contents of the currently displayed page. There is also a
-<strong>Go</strong> button which, when clicked, will attempt to load the page specified in the <strong>Address</strong> field.
-</p>
-
-<h3>Running the example</h3>
-
-<p>
-From Eclipse's <strong>Window</strong> menu select <strong>Show View</strong> &gt; <strong>Other</strong>.  
-In the <strong>Show View</strong> dialog, expand <strong>SWT Examples</strong> and select
-the view named <strong>OLE Web Browser (win32)</strong>. A view containing a web browser will appear.
-</p>
-<p>
-This example can also be run using the <a href="../../org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>OLE Web Browser</strong> item from the <strong>Win32 only</strong> category and click <strong>Run</strong>.
-</p>
-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corporation and others 2000, 2003.  All Rights Reserved." BORDER=0 height=14 width=324></a></p>
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/backward_nav.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/backward_nav.gif
deleted file mode 100755
index 5fcf41b..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/icons/backward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/forward_nav.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/forward_nav.gif
deleted file mode 100755
index 3b9b6af..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/icons/forward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/home_nav.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/home_nav.gif
deleted file mode 100755
index 77a2306..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/icons/home_nav.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/refresh_nav.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/refresh_nav.gif
deleted file mode 100755
index e270e18..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/icons/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/search_nav.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/search_nav.gif
deleted file mode 100755
index 73ac91b..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/icons/search_nav.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/stop_nav.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/stop_nav.gif
deleted file mode 100755
index 653d347..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/icons/stop_nav.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/webbrowser_example.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/webbrowser_example.gif
deleted file mode 100755
index 895e221..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/icons/webbrowser_example.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.ole.win32/plugin.properties b/examples/org.eclipse.swt.examples.ole.win32/plugin.properties
deleted file mode 100755
index f7fa735..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/plugin.properties
+++ /dev/null
@@ -1,60 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-providerName = Eclipse.org
-plugin.SWTOLEExample.name = SWT OLE Example Plugin (Win32)
-category.SWTExamples.name = SWT Examples
-view.OLEWebBrowserExample.name = OLE Web Browser (Win32)
-
-launchcategory.SWTWin32OnlyExamples.name = Win32 only
-launchcategory.SWTWin32OnlyExamples.description = \
-	A collection of Standard Widget Toolkit examples for Windows systems only.
-
-launchitem.OLEWebBrowserExample.name = OLE Web Browser
-launchitem.OLEWebBrowserExample.description = \
-	This example demonstrates how to embed an Active X control into an SWT application or an Eclipse view.\n\n\
-	When the view is opened, it will create an instance of the Windows Internet Explorer \
-	control.  The OLE Web Browser has \
-	Back and Forward buttons to take you to recently visited pages.  The browser also contains \
-	a Home button to take you to the web browser's home page, a Stop button which stops the \
-	current transfer, a Search button which will search for text typed in the Address text field, and \
-	a Refresh button which re-draws the contents of the currently displayed page. There is also a \
-	Go button which, when clicked, will attempt to load the page specified in the Address field.
-
-browser.Back.text = Backward
-browser.Back.tooltip = Go to previous Web site in the history list
-
-browser.Forward.text = Forward
-browser.Forward.tooltip = Go to next Web site in the history list
-
-browser.Home.text = Home
-browser.Home.tooltip = Go to home Web site
-
-browser.Stop.text = Stop
-browser.Stop.tooltip = Stop loading current Web site
-
-browser.Refresh.text = Refresh
-browser.Refresh.tooltip = Refresh current Web site
-
-browser.Search.text = Search
-browser.Search.tooltip = Search the Web
-
-browser.Address.label = Address :
-
-browser.Go.text = Go
-
-browser.State.Uninitialized.text = Not ready.
-browser.State.Loading.text = Loading Web site...
-browser.State.Loaded.text = Ready.
-browser.State.Interactive.text = Loading Web site...
-browser.State.Complete.text = Done.
-
-error.CouldNotLoadResources = Unable to load resources
-error.CouldNotCreateBrowserControl = Unable to create <<Browser Control>>
diff --git a/examples/org.eclipse.swt.examples.ole.win32/plugin.xml b/examples/org.eclipse.swt.examples.ole.win32/plugin.xml
deleted file mode 100755
index 81f70a1..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/plugin.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- File written by PDE 1.0 -->
-<plugin
-   id="org.eclipse.swt.examples.ole.win32"
-   name="%plugin.SWTOLEExample.name"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.swt.examples.ole.win32.OlePlugin">
-<!-- Required plugins -->
-<requires>
-   <import plugin="org.eclipse.core.runtime"/>
-   <import plugin="org.eclipse.core.resources"/>
-   <import plugin="org.eclipse.ui"/>
-   <import plugin="org.eclipse.swt"/>
-</requires>
-
-<!-- Runtime -->
-<!-- Runtime -->
-<runtime>
-   <library name="olewin32.jar">
-      <packages prefixes="org.eclipse.swt.examples.ole"/>
-   </library>
-</runtime>
-
-<!-- Extensions -->
-<!-- Extension points -->
-<extension
-      point="org.eclipse.ui.views">
-   <view
-         name="%view.OLEWebBrowserExample.name"
-         icon="icons/webbrowser_example.gif"
-         category="org.eclipse.swt.examples.category"
-         class="org.eclipse.swt.examples.ole.win32.OleBrowserView"
-         id="org.eclipse.swt.examples.ole.win32.browserView">
-   </view>
-</extension>
-<extension
-      point="org.eclipse.swt.examples.launcher.launchItems">
-   <category
-         name="%launchcategory.SWTWin32OnlyExamples.name"
-         description="%launchcategory.SWTWin32OnlyExamples.description"
-         id="org.eclipse.swt.examples.launchWin32OnlyCategory">
-   </category>
-   <item
-         name="%launchitem.OLEWebBrowserExample.name"
-         icon="icons/webbrowser_example.gif"
-         description="%launchitem.OLEWebBrowserExample.description"
-         category="org.eclipse.swt.examples.launchWin32OnlyCategory"
-         id="org.eclipse.swt.examples.ole.win32.viewlauncher">
-      <view
-            viewId="org.eclipse.swt.examples.ole.win32.browserView">
-      </view>
-   </item>
-</extension>
-</plugin>
diff --git a/examples/org.eclipse.swt.examples.ole.win32/src/import.properties b/examples/org.eclipse.swt.examples.ole.win32/src/import.properties
deleted file mode 100644
index 58344f0..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/src/import.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# Persist project settings for later import 
-natures = org.eclipse.jdt.core.javanature; org.eclipse.pde.PluginNature
-builders = org.eclipse.jdt.core.javabuilder; org.eclipse.pde.ManifestBuilder; org.eclipse.pde.SchemaBuilder
-var.ECLIPSE_PLUGINS = <<ECLIPSE_PLUGINS>>
diff --git a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleBrowserView.java b/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleBrowserView.java
deleted file mode 100755
index 84323f8..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleBrowserView.java
+++ /dev/null
@@ -1,370 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.ole.win32;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.part.*;
-
-/**
- * Ole uses <code>org.eclipse.swt</code> to demonstrate Win32 OLE / ActiveX
- * integration.
- * 
- * @see ViewPart
- */
-public class OleBrowserView extends ViewPart {
-
-	private Composite      displayArea;
-
-	private OleFrame       webFrame;
-	private OleWebBrowser  webBrowser;
-	private Text           webUrl;
-	private OleControlSite webControlSite;
-	private ProgressBar    webProgress;
-	private Label          webStatus;
-	private Button         webNavigateButton;
-	
-	private ToolItem webCommandBackward;
-	private ToolItem webCommandForward;
-	private ToolItem webCommandHome;
-	private ToolItem webCommandStop;
-	private ToolItem webCommandRefresh;
-	private ToolItem webCommandSearch;
-	
-	private boolean activated = false;
-
-	private static final int DISPID_AMBIENT_DLCONTROL = -5512;
-	private static final int DLCTL_NO_SCRIPTS = 0x80;
-	
-	/**
-	 * Constructs the OLE browser view.
-	 */
-	public OleBrowserView() {
-		OlePlugin.initResources();
-	}
-
-	/**
-	 * Creates the example.
-	 * 
-	 * @see ViewPart#createPartControl
-	 */
-	public void createPartControl(Composite parent) {
-		displayArea = new Composite(parent, SWT.NONE);
-
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 3;
-		displayArea.setLayout(gridLayout);
-		
-		createToolbar();
-		createBrowserFrame();		
-		createStatusArea();
-		createBrowserControl();	
-	}
-	
-	/**
-	 * Cleanup
-	 */
-	public void dispose() {
-		if (activated) {
-			webControlSite.deactivateInPlaceClient();
-			activated = false;
-		}
-		if (webBrowser != null) webBrowser.dispose();
-		webBrowser = null;
-		super.dispose();
-	}
-	
-	/**
-	 * Called when we must grab focus.
-	 * 
-	 * @see org.eclipse.ui.part.ViewPart#setFocus
-	 */
-	public void setFocus()  {
-		webUrl.setFocus();
-	}
-
-	/**
-	 * Creates the Web browser toolbar.
-	 */
-	private void createToolbar() {
-		// Add a toolbar
-		ToolBar bar = new ToolBar(displayArea, SWT.NONE);
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.horizontalSpan = 3;
-		bar.setLayoutData(gridData);
-		
-		// Add a button to navigate backwards through previously visited web sites
-		webCommandBackward = new ToolItem(bar, SWT.NONE);
-		webCommandBackward.setToolTipText(OlePlugin.getResourceString("browser.Back.tooltip"));
-		webCommandBackward.setText(OlePlugin.getResourceString("browser.Back.text"));
-		webCommandBackward.setImage(OlePlugin.images[OlePlugin.biBack]);
-		webCommandBackward.setEnabled(false);
-		webCommandBackward.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (webBrowser == null) return;
-				webBrowser.GoBack();
-			}
-		});
-	
-		// Add a button to navigate forward through previously visited web sites
-		webCommandForward = new ToolItem(bar, SWT.NONE);
-		webCommandForward.setToolTipText(OlePlugin.getResourceString("browser.Forward.tooltip"));
-		webCommandForward.setText(OlePlugin.getResourceString("browser.Forward.text"));
-		webCommandForward.setImage(OlePlugin.images[OlePlugin.biForward]);
-		webCommandForward.setEnabled(false);
-		webCommandForward.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (webBrowser == null) return;
-				webBrowser.GoForward();
-			}
-		});
-
-		// Add a separator
-		new ToolItem(bar, SWT.SEPARATOR);
-		
-		// Add a button to navigate to the Home page
-		webCommandHome = new ToolItem(bar, SWT.NONE);
-		webCommandHome.setToolTipText(OlePlugin.getResourceString("browser.Home.tooltip"));
-		webCommandHome.setText(OlePlugin.getResourceString("browser.Home.text"));
-		webCommandHome.setImage(OlePlugin.images[OlePlugin.biHome]);
-		webCommandHome.setEnabled(false);
-		webCommandHome.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (webBrowser == null) return;
-				webBrowser.GoHome();
-			}
-		});
-
-		// Add a button to abort web page loading
-		webCommandStop = new ToolItem(bar, SWT.NONE);
-		webCommandStop.setToolTipText(OlePlugin.getResourceString("browser.Stop.tooltip"));
-		webCommandStop.setText(OlePlugin.getResourceString("browser.Stop.text"));
-		webCommandStop.setImage(OlePlugin.images[OlePlugin.biStop]);
-		webCommandStop.setEnabled(false);
-		webCommandStop.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (webBrowser == null) return;
-				webBrowser.Stop();
-			}
-		});
-
-		// Add a button to refresh the current web page
-		webCommandRefresh = new ToolItem(bar, SWT.NONE);
-		webCommandRefresh.setToolTipText(OlePlugin.getResourceString("browser.Refresh.tooltip"));
-		webCommandRefresh.setText(OlePlugin.getResourceString("browser.Refresh.text"));
-		webCommandRefresh.setImage(OlePlugin.images[OlePlugin.biRefresh]);
-		webCommandRefresh.setEnabled(false);
-		webCommandRefresh.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (webBrowser == null) return;
-				webBrowser.Refresh();
-			}
-		});
-
-		// Add a separator
-		new ToolItem(bar, SWT.SEPARATOR);
-
-		// Add a button to search the web
-		webCommandSearch = new ToolItem(bar, SWT.NONE);
-		webCommandSearch.setToolTipText(OlePlugin.getResourceString("browser.Search.tooltip"));
-		webCommandSearch.setText(OlePlugin.getResourceString("browser.Search.text"));
-		webCommandSearch.setImage(OlePlugin.images[OlePlugin.biSearch]);
-		webCommandSearch.setEnabled(false);
-		webCommandSearch.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (webBrowser == null) return;
-				webBrowser.GoSearch();
-			}
-		});
-
-		// Add a text area for Users to enter a url
-		Composite addressBar = new Composite(displayArea, SWT.NONE);
-		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		gridData.horizontalSpan = 3;
-		addressBar.setLayoutData(gridData);
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 3;
-		addressBar.setLayout(gridLayout);
-
-		Label addressLabel = new Label(addressBar, SWT.NONE);
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		addressLabel.setLayoutData(gridData);
-		addressLabel.setText(OlePlugin.getResourceString("browser.Address.label"));
-		addressLabel.setFont(OlePlugin.browserFont);
-		
-		webUrl = new Text(addressBar, SWT.SINGLE | SWT.BORDER);
-		webUrl.setFont(OlePlugin.browserFont);
-		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		webUrl.setLayoutData(gridData);
-		webUrl.addFocusListener(new FocusAdapter() {
-			public void focusGained(FocusEvent e) {
-				webNavigateButton.getShell().setDefaultButton(webNavigateButton);
-			}
-		});
-	
-		// Add a button to navigate to the web site specified in the Text area defined above
-		webNavigateButton = new Button(addressBar, SWT.PUSH);
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		webNavigateButton.setLayoutData(gridData);
-		webNavigateButton.setText(OlePlugin.getResourceString("browser.Go.text"));
-		webNavigateButton.setFont(OlePlugin.browserFont);
-		webNavigateButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				if (webBrowser == null) return;
-				webBrowser.Navigate(webUrl.getText());
-			}
-		});
-	}
-
-	/**
-	 * Creates the Web browser OleFrame.
-	 */
-	private void createBrowserFrame() {
-		// Every control must have an associated OleFrame:
-		webFrame = new OleFrame(displayArea, SWT.NONE);
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		gridData.horizontalSpan = 3;
-		webFrame.setLayoutData(gridData);
-	}
-	
-	/**
-	 * Creates the Web browser status area.
-	 */
-	private void createStatusArea() {
-		// Add a progress bar to display downloading progress information
-		webProgress = new ProgressBar(displayArea, SWT.BORDER);
-		GridData gridData = new GridData();
-		gridData.horizontalAlignment = GridData.BEGINNING;
-		gridData.verticalAlignment = GridData.FILL;
-		webProgress.setLayoutData(gridData);		
-
-		// Add a label for displaying status messages as they are received from the control
-		webStatus = new Label(displayArea, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
-		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		gridData.horizontalSpan = 2;
-		webStatus.setLayoutData(gridData);
-		webStatus.setFont(OlePlugin.browserFont);
-	}	
-
-	/**
-	 * Creates Web browser control.
-	 */
-	private void createBrowserControl() {
-		try {
-			// Create an Automation object for access to extended capabilities
-			webControlSite = new OleControlSite(webFrame, SWT.NONE, "Shell.Explorer");
-			Variant download = new Variant(DLCTL_NO_SCRIPTS);
-			webControlSite.setSiteProperty(DISPID_AMBIENT_DLCONTROL, download);
-			OleAutomation oleAutomation = new OleAutomation(webControlSite);
-			webBrowser = new OleWebBrowser(oleAutomation);
-		} catch (SWTException ex) {
-			// Creation may have failed because control is not installed on machine
-			Label label = new Label(webFrame, SWT.BORDER);
-			OlePlugin.logError(OlePlugin.getResourceString("error.CouldNotCreateBrowserControl"), ex);
-			label.setText(OlePlugin.getResourceString("error.CouldNotCreateBrowserControl"));
-			return;
-		}
-
-		// Respond to ProgressChange events by updating the Progress bar
-		webControlSite.addEventListener(OleWebBrowser.ProgressChange, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				Variant progress = event.arguments[0];
-				Variant maxProgress = event.arguments[1];
-				if (progress == null || maxProgress == null)
-					return;
-				webProgress.setMaximum(maxProgress.getInt());
-				webProgress.setSelection(progress.getInt());
-			}
-		});
-		
-		// Respond to StatusTextChange events by updating the Status Text label
-		webControlSite.addEventListener(OleWebBrowser.StatusTextChange, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				Variant statusText = event.arguments[0];
-				if (statusText == null)	return;
-				String text = statusText.getString();
-				if (text != null)
-					webStatus.setText(text);
-			}
-		});
-		
-		// Listen for changes to the ready state and print out the current state 
-		webControlSite.addPropertyListener(OleWebBrowser.DISPID_READYSTATE, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				if (event.detail == OLE.PROPERTY_CHANGING) return;
-				int state = webBrowser.getReadyState();
-				switch (state) {
-					case OleWebBrowser.READYSTATE_UNINITIALIZED:
-						webStatus.setText(
-							OlePlugin.getResourceString("browser.State.Uninitialized.text"));
-						webCommandBackward.setEnabled(false);
-						webCommandForward.setEnabled(false);
-						webCommandHome.setEnabled(false);
-						webCommandRefresh.setEnabled(false);
-						webCommandStop.setEnabled(false);
-						webCommandSearch.setEnabled(false);
-						break;
-					case OleWebBrowser.READYSTATE_LOADING:
-						webStatus.setText(
-							OlePlugin.getResourceString("browser.State.Loading.text"));
-						webCommandHome.setEnabled(true);
-						webCommandRefresh.setEnabled(true);
-						webCommandStop.setEnabled(true);
-						webCommandSearch.setEnabled(true);
-						break;
-					case OleWebBrowser.READYSTATE_LOADED:
-						webStatus.setText(
-							OlePlugin.getResourceString("browser.State.Loaded.text"));
-						webCommandStop.setEnabled(true);
-						break;
-					case OleWebBrowser.READYSTATE_INTERACTIVE:
-						webStatus.setText(
-							OlePlugin.getResourceString("browser.State.Interactive.text"));
-						webCommandStop.setEnabled(true);
-						break;
-					case OleWebBrowser.READYSTATE_COMPLETE:
-						webStatus.setText(
-							OlePlugin.getResourceString("browser.State.Complete.text"));
-						webCommandStop.setEnabled(false);
-						break;
-				}
-			}
-		});
-
-		// Listen for changes to the active command states
-		webControlSite.addEventListener(OleWebBrowser.CommandStateChange, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				if (event.type != OleWebBrowser.CommandStateChange) return;
-				final int commandID =
-					(event.arguments[0] != null) ? event.arguments[0].getInt() : 0;
-				final boolean commandEnabled =
-					(event.arguments[1] != null) ? event.arguments[1].getBoolean() : false;
-				
-				switch (commandID) {
-					case OleWebBrowser.CSC_NAVIGATEBACK:
-					 	webCommandBackward.setEnabled(commandEnabled);
-					 	break;
-					case OleWebBrowser.CSC_NAVIGATEFORWARD:
-					 	webCommandForward.setEnabled(commandEnabled);
-						break;
-				}
-			}
-		});
-
-		// in place activate the ActiveX control		
-		activated = (webControlSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE) == OLE.S_OK);
-		if (activated) webBrowser.GoHome();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OlePlugin.java b/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OlePlugin.java
deleted file mode 100755
index e70dc54..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OlePlugin.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.ole.win32;
-
-
-import java.io.*;
-import java.net.*;
-import java.text.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.ui.plugin.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class OlePlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static OlePlugin plugin;
-	private static ResourceBundle resourceBundle;
-
-	static final int
-		biBack = 0,
-		biForward = 1,
-		biHome = 2,
-		biStop = 3,
-		biRefresh = 4,
-		biSearch = 5;
-	static final String[] imageLocations = {
-		"icons/backward_nav.gif",
-		"icons/forward_nav.gif",
-		"icons/home_nav.gif",
-		"icons/stop_nav.gif",
-		"icons/refresh_nav.gif",
-		"icons/search_nav.gif" };
-	static Image images[];
-	static Font  browserFont;
-   
-	/**
-	 * Constructs an OLE plugin.
-	 */
-	public OlePlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		plugin = this;
-		resourceBundle = descriptor.getResourceBundle();
-	}
-	
-	/**
-	 * Clean up
-	 */
-	public void shutdown() throws CoreException {
-		super.shutdown();
-		freeResources();
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static OlePlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns a string from the resource bundle.
-	 * We don't want to crash because of a missing String.
-	 * Returns the key if not found.
-	 */
-	public static String getResourceString(String key) {
-		try {
-			return resourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}			
-	}
-
-	/**
-	 * Returns a string from the resource bundle and binds it
-	 * with the given arguments. If the key is not found,
-	 * return the key.
-	 */
-	public static String getResourceString(String key, Object[] args) {
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}
-	}
-
-	/**
-	 * Log an error to the ILog for this plugin
-	 * 
-	 * @param message the localized error message text
-	 * @param exception the associated exception, or null
-	 */
-	public static void logError(String message, Throwable exception) {
-		plugin.getLog().log(new Status(IStatus.ERROR, plugin.getDescriptor().getUniqueIdentifier(),
-			0, message, exception));
-	}
-
-	/**
-	 * Loads the resources.
-	 */
-	public static void initResources() {
-		if (images == null) {
-			images = new Image[imageLocations.length];
-				
-			for (int i = 0; i < imageLocations.length; ++i) {
-				images[i] = getImageFromPlugin(plugin.getDescriptor(), imageLocations[i]);
-				if (images[i] == null) {
-					freeResources();
-					logError(getResourceString("error.CouldNotLoadResources"), null);
-					throw new IllegalStateException();
-				}
-			}
-		}
-		if (browserFont == null) {
-			try {
-				browserFont = new Font (null, "MS Sans Serif", 8, SWT.NULL);
-			} catch (Throwable ex) {
-			}
-		}
-		if (images == null || browserFont == null) {
-			freeResources();
-			logError(getResourceString("error.CouldNotLoadResources"), null);
-			throw new IllegalStateException();
-		}
-	}
-
-	/**
-	 * Frees the resources
-	 */
-	public static void freeResources() {
-		if (images != null) {
-			for (int i = 0; i < images.length; ++i) {
-				final Image image = images[i];
-				if (image != null) image.dispose();
-			}
-			images = null;
-		}
-		if (browserFont != null) browserFont.dispose ();
-		browserFont = null;
-	}
-	
-	/**
-	 * Gets an image from a path relative to the plugin install directory.
-	 *
-	 * @param pd the plugin descriptor for the plugin with the image
-	 * @param iconPath the path relative to the install directory
-	 * @return the image, or null if not found
-	 */
-	private static Image getImageFromPlugin(IPluginDescriptor pd, String iconPath) {
-		InputStream is = null;
-		try {
-			URL installUrl = pd.getInstallURL();
-			URL url = new URL(installUrl, iconPath);
-			is = url.openConnection().getInputStream();
-			ImageData source = new ImageData(is);
-			ImageData mask = source.getTransparencyMask();
-			Image image = new Image(null, source, mask);
-			return image;
-		} catch (Throwable ex) {
-			return null;
-		} finally {
-			try {
-				if (is != null) is.close();
-			} catch (IOException e) {
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleWebBrowser.java b/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleWebBrowser.java
deleted file mode 100755
index 38d3534..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleWebBrowser.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.ole.win32;
-
-
-import org.eclipse.swt.ole.win32.*;
-
-/**
- * Wrapper for an OleAutomation object used to send commands
- * to a Win32 "Shell.Explorer" OLE control.
- * 
- * Instances of this class manage the setup, typical use and teardown of
- * a simple web browser.
- */
-class OleWebBrowser {
-	/* See the Windows Platform SDK documentation for more information about the
-	 * OLE control used here and its usage.
-	 */
-	// Generated from typelib filename: shdocvw.dll
-
-	// Constants for WebBrowser CommandStateChange
-	public static final int CSC_UPDATECOMMANDS = -1;
-	public static final int CSC_NAVIGATEFORWARD = 1;
-	public static final int CSC_NAVIGATEBACK = 2;
-
-	// COnstants for Web Browser ReadyState
-	public static final int READYSTATE_UNINITIALIZED = 0;
-	public static final int READYSTATE_LOADING = 1;
-	public static final int READYSTATE_LOADED = 2;
-	public static final int READYSTATE_INTERACTIVE = 3;
-	public static final int READYSTATE_COMPLETE = 4;
-	
-	// Web Browser Control Events 
-	public static final int BeforeNavigate        = 100; // Fired when a new hyperlink is being navigated to.
-	public static final int NavigateComplete      = 101; // Fired when the document being navigated to becomes visible and enters the navigation stack.
-	public static final int StatusTextChange      = 102; // Statusbar text changed.
-	public static final int ProgressChange        = 108; // Fired when download progress is updated.
-	public static final int DownloadComplete      = 104; // Download of page complete.
-	public static final int CommandStateChange    = 105; // The enabled state of a command changed
-	public static final int DownloadBegin         = 106; // Download of a page started.
-	public static final int NewWindow             = 107; // Fired when a new window should be created.
-	public static final int TitleChange           = 113; // Document title changed.
-	public static final int FrameBeforeNavigate   = 200; // Fired when a new hyperlink is being navigated to in a frame.
-	public static final int FrameNavigateComplete = 201; // Fired when a new hyperlink is being navigated to in a frame.
-	public static final int FrameNewWindow        = 204; // Fired when a new window should be created.
-	public static final int Quit                  = 103; // Fired when application is quiting.
-	public static final int WindowMove            = 109; // Fired when window has been moved.
-	public static final int WindowResize          = 110; // Fired when window has been sized.
-	public static final int WindowActivate        = 111; // Fired when window has been activated.
-	public static final int PropertyChange        = 112; // Fired when the PutProperty method has been called.
-
-	// Web Browser properties
-	public static final int DISPID_READYSTATE = -525;
-
-	private OleAutomation  oleAutomation;
-
-	/**
-	 * Creates a Web browser control.
-	 * <p>
-	 * Typical use:<br>
-	 * <code>
-	 * OleControlSite oleControlSite = new OleControlSite(oleFrame, style, "Shell.Explorer");<br>
-	 * OleAutomation oleAutomation = new OleAutomation(oleControlSite);<br>
-	 * OleWebBrowser webBrowser = new OleWebBrowser(oleControlSite, oleAutomation);<br>
-	 * </code>
-	 * 
-     * @param oleAutomation the OleAutomation object for this control.
-     * @param oleControlSite the OleControlSite object for this control.
-	 */
-	public OleWebBrowser(OleAutomation oleAutomation) {
-		this.oleAutomation = oleAutomation;
-	}
-	
-	
-	/**
-	 * Disposes of the Web browser control.
-	 */
-	public void dispose() {
-		if (oleAutomation != null) oleAutomation.dispose();
-		oleAutomation = null;
-	}
-	
-	/*
-	 * Interact with the Control via OLE Automation
-	 * 
-	 * Note: You can hard code the DISPIDs if you know them beforehand
-	 *       this is of course the fastest way, but you increase coupling
-	 *       to the control.
-	 */
-	 
-	/**
-	 * Returns the current web page title.
-	 * 
-	 * @return the current web page title String
-	 */
-	public String getLocationName() {
-		// dispid=210, type=PROPGET, name="LocationName"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"LocationName"}); 
-		int dispIdMember = rgdispid[0];
-		Variant pVarResult = oleAutomation.getProperty(dispIdMember);
-		if (pVarResult == null || pVarResult.getType() != OLE.VT_BSTR) return null;
-		return pVarResult.getString();
-	}
-	
-	/**
-	 * Returns the current URL.
-	 * 
-	 * @return the current URL String
-	 */
-	public String getLocationURL() {
-		// dispid=211, type=PROPGET, name="LocationURL"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"LocationURL"}); 
-		int dispIdMember = rgdispid[0];
-		
-		Variant pVarResult = oleAutomation.getProperty(dispIdMember);
-		if (pVarResult == null || pVarResult.getType() != OLE.VT_BSTR) return null;
-		return pVarResult.getString();
-	}
-	
-	/**
-	 * Returns the current state of the control.
-	 * 
-	 * @return the current state of the control, one of:
-	 *         READYSTATE_UNINITIALIZED;
-	 *         READYSTATE_LOADING;
-	 *         READYSTATE_LOADED;
-	 *         READYSTATE_INTERACTIVE;
-	 *         READYSTATE_COMPLETE.
-	 */
-	public int getReadyState() {
-		// dispid=4294966771, type=PROPGET, name="ReadyState"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"ReadyState"}); 
-		int dispIdMember = rgdispid[0];
-		
-		Variant pVarResult = oleAutomation.getProperty(dispIdMember);
-		if (pVarResult == null || pVarResult.getType() != OLE.VT_I4) return -1;
-		return pVarResult.getInt();
-	}
-	
-	/**
-	 * Navigates backwards through previously visited web sites.
-	 */
-	public void GoBack() {
-	
-		// dispid=100, type=METHOD, name="GoBack"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"GoBack"}); 
-		int dispIdMember = rgdispid[0];
-		oleAutomation.invoke(dispIdMember);
-	}
-	
-	/**
-	 * Navigates backwards through previously visited web sites.
-	 */
-	public void GoForward() {
-	
-		// dispid=101, type=METHOD, name="GoForward"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"GoForward"}); 
-		int dispIdMember = rgdispid[0];
-		oleAutomation.invoke(dispIdMember);
-	}
-	
-	/**
-	 * Navigates to home page.
-	 */
-	public void GoHome() {
-		// dispid=102, type=METHOD, name="GoHome"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"GoHome"}); 
-		int dispIdMember = rgdispid[0];
-		oleAutomation.invoke(dispIdMember);
-	}
-	
-	/**
-	 * Navigates to user-specified Web search gateway.
-	 */
-	public void GoSearch() {
-		// dispid=103, type=METHOD, name="GoSearch"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"GoSearch"}); 
-		int dispIdMember = rgdispid[0];
-		oleAutomation.invoke(dispIdMember);
-	}
-	
-	/**
-	 * Navigates to a particular URL.
-	 */
-	public void Navigate(String url) {
-		// dispid=104, type=METHOD, name="Navigate"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"Navigate", "URL"}); 
-		int dispIdMember = rgdispid[0];
-		
-		Variant[] rgvarg = new Variant[1];
-		rgvarg[0] = new Variant(url);
-		int[] rgdispidNamedArgs = new int[1];
-		rgdispidNamedArgs[0] = rgdispid[1]; // identifier of argument
-		oleAutomation.invoke(dispIdMember, rgvarg, rgdispidNamedArgs);
-	}
-	
-	/**
-	 * Refreshes the currently viewed page.
-	 *
-	 * @return the platform-defined result code for the "Refresh" method invocation
-	 */
-	public void Refresh(){
-		// dispid= 4294966746, type=METHOD, name="Refresh"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"Refresh"}); 
-		int dispIdMember = rgdispid[0];
-		oleAutomation.invokeNoReply(dispIdMember);
-	}
-	
-	/**
-	 * Aborts loading of the currnet page.
-	 *
-	 * @return the platform-defined result code for the "Stop" method invocation
-	 */
-	public void Stop() {
-		// dispid=106, type=METHOD, name="Stop"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"Stop"}); 
-		int dispIdMember = rgdispid[0];
-		oleAutomation.invoke(dispIdMember);
-	}	
-}
diff --git a/examples/org.eclipse.swt.examples.paint/.classpath b/examples/org.eclipse.swt.examples.paint/.classpath
deleted file mode 100755
index cef9668..0000000
--- a/examples/org.eclipse.swt.examples.paint/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="var" path="JRE_LIB"/>
-	<classpathentry kind="src" path="/org.eclipse.swt"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.core.runtime_3.0.0/runtime.jar"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.jface_3.0.0/jface.jar"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.ui.workbench_3.0.0/workbench.jar"/>
-	<classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.osgi_3.0.0/osgi.jar"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.swt.examples.paint/.cvsignore b/examples/org.eclipse.swt.examples.paint/.cvsignore
deleted file mode 100755
index c5e82d7..0000000
--- a/examples/org.eclipse.swt.examples.paint/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.paint/.project b/examples/org.eclipse.swt.examples.paint/.project
deleted file mode 100644
index be659d3..0000000
--- a/examples/org.eclipse.swt.examples.paint/.project
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.examples.paint</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.swt</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.swt.examples.paint/about.html b/examples/org.eclipse.swt.examples.paint/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/examples/org.eclipse.swt.examples.paint/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.paint/build.properties b/examples/org.eclipse.swt.examples.paint/build.properties
deleted file mode 100755
index c899ccc..0000000
--- a/examples/org.eclipse.swt.examples.paint/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = doc-html/,\
-               icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               *.jar
-
-src.includes = about.html
-
-source.paint.jar = src/
diff --git a/examples/org.eclipse.swt.examples.paint/doc-html/hglegal.htm b/examples/org.eclipse.swt.examples.paint/doc-html/hglegal.htm
deleted file mode 100755
index f5871b7..0000000
--- a/examples/org.eclipse.swt.examples.paint/doc-html/hglegal.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-  <LINK REL="stylesheet" HREF="../../../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
-  <title>Legal Notices</title>
-</head>
-<body>
-
-<h3>
-<a NAME="Notices"></a>Notices</h3>
-(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples.paint/doc-html/ngibmcpy.gif b/examples/org.eclipse.swt.examples.paint/doc-html/ngibmcpy.gif
deleted file mode 100755
index c786e43..0000000
--- a/examples/org.eclipse.swt.examples.paint/doc-html/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/doc-html/swt_paint_ex.html b/examples/org.eclipse.swt.examples.paint/doc-html/swt_paint_ex.html
deleted file mode 100755
index ea6311b..0000000
--- a/examples/org.eclipse.swt.examples.paint/doc-html/swt_paint_ex.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>SWT - Paint Tool</title>
-</head>
-<body>
-
-<h2>SWT example - Paint Tool</h2>
-
-<p>	
-This example demonstrates the use of SWT graphics operations in the form of a
-rudimentary bitmap painting program.  The Paint Tool implementation also 
-demonstrates a mechanism for managing timed GUI operations in the background 
-that are triggered by user input.
-</p>
-<p>	
-Select a tool with which to draw in the drawing area.  There are a number of tools
-to choose from on the toolbar.  To change the color selection, click on a color in the
-palette below the drawing area; left-click to set the foreground color, right-click to set the
-background color.
-</p>
-
-<h3>Running the example</h3>
-
-<p>
-From Eclipse's <strong>Window</strong> menu select <strong>Show View</strong> &gt; <strong>Other</strong>.  
-In the <strong>Show View</strong> dialog, expand <strong>SWT Examples</strong> and select
-the view named <strong>Paint</strong>. A view containing the paint program will appear.
-</p>
-<p>
-This example can also be run using the <a href="../../org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Paint</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>.
-</p>
-
-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corporation and others 2000, 2003.  All Rights Reserved." BORDER=0 height=14 width=324></a></p>
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples.paint/icons/fill_none.gif b/examples/org.eclipse.swt.examples.paint/icons/fill_none.gif
deleted file mode 100755
index d26dd58..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/fill_none.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/fill_outline.gif b/examples/org.eclipse.swt.examples.paint/icons/fill_outline.gif
deleted file mode 100755
index c6ccfee..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/fill_outline.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/fill_solid.gif b/examples/org.eclipse.swt.examples.paint/icons/fill_solid.gif
deleted file mode 100755
index cb34e64..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/fill_solid.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/linestyle_dash.gif b/examples/org.eclipse.swt.examples.paint/icons/linestyle_dash.gif
deleted file mode 100644
index fb57bb3..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/linestyle_dash.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/linestyle_dashdot.gif b/examples/org.eclipse.swt.examples.paint/icons/linestyle_dashdot.gif
deleted file mode 100644
index 322968c..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/linestyle_dashdot.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/linestyle_dot.gif b/examples/org.eclipse.swt.examples.paint/icons/linestyle_dot.gif
deleted file mode 100644
index 4937ccb..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/linestyle_dot.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/linestyle_solid.gif b/examples/org.eclipse.swt.examples.paint/icons/linestyle_solid.gif
deleted file mode 100644
index 70a57ce..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/linestyle_solid.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/options_font.gif b/examples/org.eclipse.swt.examples.paint/icons/options_font.gif
deleted file mode 100755
index 965fe08..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/options_font.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/paint_example.gif b/examples/org.eclipse.swt.examples.paint/icons/paint_example.gif
deleted file mode 100755
index c48d9a9..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/paint_example.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_airbrush.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_airbrush.gif
deleted file mode 100755
index a310edd..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/tool_airbrush.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_ellipse.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_ellipse.gif
deleted file mode 100755
index dc2142f..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/tool_ellipse.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_line.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_line.gif
deleted file mode 100755
index 2ff819f..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/tool_line.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_pencil.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_pencil.gif
deleted file mode 100755
index f16a234..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/tool_pencil.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_polyline.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_polyline.gif
deleted file mode 100755
index aa384e9..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/tool_polyline.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_rectangle.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_rectangle.gif
deleted file mode 100755
index d26dd58..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/tool_rectangle.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_roundedrectangle.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_roundedrectangle.gif
deleted file mode 100755
index bf845d7..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/tool_roundedrectangle.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_text.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_text.gif
deleted file mode 100755
index 0d7457f..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/tool_text.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/plugin.properties b/examples/org.eclipse.swt.examples.paint/plugin.properties
deleted file mode 100755
index 4e0a80b..0000000
--- a/examples/org.eclipse.swt.examples.paint/plugin.properties
+++ /dev/null
@@ -1,134 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-providerName = Eclipse.org
-plugin.SWTPaintExample.name = SWT Paint Example Plugin
-category.SWTExamples.name = SWT Examples
-view.PaintExample.name = Paint
-
-launchcategory.SWTViewExamples.name = Workbench Views
-launchcategory.SWTViewExamples.description = \
-	A collection of Standard Widget Toolkit examples that run as Views inside the Workbench.  \
-	These examples will create a new View in the current Perspective.
-
-launchitem.PaintExample.name = Paint
-launchitem.PaintExample.description = \
-	This example demonstrates the use of SWT graphics operations in the form of a \
-	rudimentary bitmap painting program.  The Airbrush Tool implementation also \
-	demonstrates a mechanism for managing timed GUI operations in the background \
-	that are triggered by user input.\n\n\
-	Select a tool with which to draw in the drawing area.  There are a number of tools \
-	to choose from on the toolbar.  To change the color selection, click on a color in the \
-	palette below the drawing area: left-click for the foreground color, right-click for the \
-	background color.\n\n\
-	Uses SWT's GC and FontDialog, and JFace's InputDialog and action set support.
-
-menu.Tools.label = Tools
-menu.Options.label = Options
-
-tool.Pencil.label = Pencil
-tool.Pencil.tooltip = Pencil tool
-tool.Pencil.image = icons/tool_pencil.gif
-tool.Pencil.description = Selects the Pencil tool.
-
-tool.Airbrush.label = Airbrush
-tool.Airbrush.tooltip = Airbrush tool
-tool.Airbrush.image = icons/tool_airbrush.gif
-tool.Airbrush.description = Selects the Airbrush tool.
-
-tool.Line.label = Line
-tool.Line.tooltip = Line tool
-tool.Line.image = icons/tool_line.gif
-tool.Line.description = Selects the Line tool.
-
-tool.PolyLine.label = Polygon
-tool.PolyLine.tooltip = Polygon tool
-tool.PolyLine.image = icons/tool_polyline.gif
-tool.PolyLine.description = Selects the PolyLine tool.
-
-tool.Rectangle.label = Rectangle
-tool.Rectangle.tooltip = Rectangle tool
-tool.Rectangle.image = icons/tool_rectangle.gif
-tool.Rectangle.description = Selects the Rectangle tool.
-
-tool.Ellipse.label = Ellipse
-tool.Ellipse.tooltip = Ellipse tool
-tool.Ellipse.image = icons/tool_ellipse.gif
-tool.Ellipse.description = Selects the Ellipse tool.
-
-tool.RoundedRectangle.label = Rounded Rectangle
-tool.RoundedRectangle.tooltip = Rounded Rectangle
-tool.RoundedRectangle.image = icons/tool_roundedrectangle.gif
-tool.RoundedRectangle.description = Selects the Rounded Rectangle tool.
-
-tool.Text.label = Text
-tool.Text.tooltip = Text tool
-tool.Text.image = icons/tool_text.gif
-tool.Text.description = Selects the Text tool.
-tool.Text.settings.defaulttext = Hello!
-tool.Text.dialog.title = Text Tool Settings
-tool.Text.dialog.message = Please enter the new text string to be painted.
-
-tool.Null.label = <none>
-
-fill.None.label = No Fill
-fill.None.tooltip = No fill mode
-fill.None.image = icons/fill_none.gif
-fill.None.description = Selects No Fill mode.
-
-fill.Outline.label = Outline Fill
-fill.Outline.tooltip = Outline fill mode
-fill.Outline.image = icons/fill_outline.gif
-fill.Outline.description = Selects Outline Fill mode.
-
-fill.Solid.label = Solid Fill
-fill.Solid.tooltip = Solid fill mode
-fill.Solid.image = icons/fill_solid.gif
-fill.Solid.description = Selects Solid Fill mode.
-
-linestyle.Solid.label = Solid Line
-linestyle.Solid.tooltip = Solid line style
-linestyle.Solid.image = icons/linestyle_solid.gif
-linestyle.Solid.description = Select Solid Line style.
-
-linestyle.Dot.label = Dotted Line
-linestyle.Dot.tooltip = Dotted line style
-linestyle.Dot.image = icons/linestyle_dot.gif
-linestyle.Dot.description = Select Dotted Line style.
-
-linestyle.Dash.label = Dashed Line
-linestyle.Dash.tooltip = Dashed line style
-linestyle.Dash.image = icons/linestyle_dash.gif
-linestyle.Dash.description = Select Dashed Line style.
-
-linestyle.DashDot.label = Dash-Dot Line
-linestyle.DashDot.tooltip = Dash-Dot line style
-linestyle.DashDot.image = icons/linestyle_dashdot.gif
-linestyle.DashDot.description = Select Dash-Dot Line style.
-
-options.Font.label = Text Tool Font
-options.Font.tooltip = Select Text Tool font
-options.Font.image = icons/options_font.gif
-options.Font.description = Selects Text Tool font.
-options.Font.dialog.title = Text Tool Font
-
-settings.AirbrushRadius.text = Airbrush Radius
-settings.AirbrushIntensity.text = Airbrush Intensity
-
-session.Null.message = Select a tool...
-session.ContinuousPaint.message = Click and drag to draw...
-session.DragInteractivePaint.message = Click and drag to preview, release to draw, right-click to cancel...
-session.SegmentedInteractivePaint.message.anchorMode = Click to set anchor...
-session.SegmentedInteractivePaint.message.interactiveMode = Click to draw, double-click to close figure, right-click to cancel...
-session.Text.message = Click to draw text, right-click to edit text...
-
-status.Coord.format = ({0}, {1})
-status.CoordRange.format = ({0}, {1}) - ({2}, {3})
-status.Bar.format = {0} : {1}   {2}
diff --git a/examples/org.eclipse.swt.examples.paint/plugin.xml b/examples/org.eclipse.swt.examples.paint/plugin.xml
deleted file mode 100755
index eac5ebc..0000000
--- a/examples/org.eclipse.swt.examples.paint/plugin.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="org.eclipse.swt.examples.paint"
-   name="%plugin.SWTPaintExample.name"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.swt.examples.paint.PaintPlugin">
-
-<!-- Runtime -->
-   <runtime>
-      <library name="paint.jar">
-         <packages prefixes="org.eclipse.swt.examples.paint"/>
-      </library>
-   </runtime>
-<!-- Required plugins -->
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.swt"/>
-   </requires>
-
-
-<!-- Extension points -->
-<!-- Extensions -->
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%view.PaintExample.name"
-            icon="icons/paint_example.gif"
-            category="org.eclipse.swt.examples.category"
-            class="org.eclipse.swt.examples.paint.PaintView"
-            id="org.eclipse.swt.examples.paint.view">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.swt.examples.launcher.launchItems">
-      <category
-            name="%launchcategory.SWTViewExamples.name"
-            description="%launchcategory.SWTViewExamples.description"
-            id="org.eclipse.swt.examples.launchViewCategory">
-      </category>
-      <item
-            name="%launchitem.PaintExample.name"
-            icon="icons/paint_example.gif"
-            description="%launchitem.PaintExample.description"
-            category="org.eclipse.swt.examples.launchViewCategory"
-            id="org.eclipse.swt.examples.paint.viewlauncher">
-         <view
-               viewId="org.eclipse.swt.examples.paint.view">
-         </view>
-      </item>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.swt.examples.paint/src/import.properties b/examples/org.eclipse.swt.examples.paint/src/import.properties
deleted file mode 100644
index 58344f0..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/import.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# Persist project settings for later import 
-natures = org.eclipse.jdt.core.javanature; org.eclipse.pde.PluginNature
-builders = org.eclipse.jdt.core.javabuilder; org.eclipse.pde.ManifestBuilder; org.eclipse.pde.SchemaBuilder
-var.ECLIPSE_PLUGINS = <<ECLIPSE_PLUGINS>>
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/AirbrushTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/AirbrushTool.java
deleted file mode 100755
index 5730b4d..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/AirbrushTool.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import java.util.Random;
-import org.eclipse.swt.graphics.*;
-
-/**
- * An airbrush tool.
- */
-public class AirbrushTool extends ContinuousPaintSession implements PaintTool {
-	private ToolSettings settings;
-	private Random random;
-	private int cachedRadiusSquared;
-	private int cachedNumPoints;
-	
-	/**
-	 * Constructs a Tool.
-	 * 
-	 * @param toolSettings the new tool settings
-	 * @param paintSurface the PaintSurface we will render on.
-	 */
-	public AirbrushTool(ToolSettings toolSettings, PaintSurface paintSurface) {
-		super(paintSurface);
-		random = new Random();
-		setRetriggerTimer(10);
-		set(toolSettings);
-	}
-	
-	/**
-	 * Sets the tool's settings.
-	 * 
-	 * @param toolSettings the new tool settings
-	 */
-	public void set(ToolSettings toolSettings) {
-		// compute things we need to know for drawing
-		settings = toolSettings;
-		cachedRadiusSquared = settings.airbrushRadius * settings.airbrushRadius;
-		cachedNumPoints = 314 * settings.airbrushIntensity * cachedRadiusSquared / 250000;
-		if (cachedNumPoints == 0 && settings.airbrushIntensity != 0)
-			cachedNumPoints = 1;
-	}
-
-	/**
-	 * Returns the name associated with this tool.
-	 * 
-	 * @return the localized name of this tool
-	 */
-	public String getDisplayName() {
-		return PaintPlugin.getResourceString("tool.Airbrush.label");
-	}
-
-	/*
-	 * Template method for drawing
-	 */
-	protected void render(Point point) {
-		// Draws a bunch (cachedNumPoints) of random pixels within a specified circle (cachedRadiusSquared).
-		ContainerFigure cfig = new ContainerFigure();
-
-		for (int i = 0; i < cachedNumPoints; ++i) {
-			int randX, randY;
-			do {
-				randX = (int) ((random.nextDouble() - 0.5) * settings.airbrushRadius * 2.0);
-				randY = (int) ((random.nextDouble() - 0.5) * settings.airbrushRadius * 2.0);
-			} while (randX * randX + randY * randY > cachedRadiusSquared);
-			cfig.add(new PointFigure(settings.commonForegroundColor, point.x + randX, point.y + randY));
-		}
-		getPaintSurface().drawFigure(cfig);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/BasicPaintSession.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/BasicPaintSession.java
deleted file mode 100755
index 9732189..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/BasicPaintSession.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-public abstract class BasicPaintSession implements PaintSession {
-	/**
-	 * The paint surface
-	 */
-	private PaintSurface paintSurface;
-
-	/**
-	 * Constructs a PaintSession.
-	 * 
-	 * @param paintSurface the drawing surface to use
-	 */
-	protected BasicPaintSession(PaintSurface paintSurface) {
-		this.paintSurface = paintSurface;
-	}
-
-	/**
-	 * Returns the paint surface associated with this paint session.
-	 * 
-	 * @return the associated PaintSurface
-	 */
-	public PaintSurface getPaintSurface() {
-		return paintSurface;
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContainerFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContainerFigure.java
deleted file mode 100755
index 135067c..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContainerFigure.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * Container for Figure objects with stacking preview mechanism.
- */
-public class ContainerFigure extends Figure {
-	private static final int INITIAL_ARRAY_SIZE = 16;
-	
-	Figure[]   objectStack = null;
-	int      nextIndex = 0;
-
-	/**
-	 * Constructs an empty Container
-	 */
-	public ContainerFigure() {
-	}
-	/**
-	 * Adds an object to the container for later drawing.
-	 * 
-	 * @param object the object to add to the drawing list
-	 */
-	public void add(Figure object) {
-		if (objectStack == null) {
-			objectStack = new Figure[INITIAL_ARRAY_SIZE];
-		} else if (objectStack.length <= nextIndex) {
-			Figure[] newObjectStack = new Figure[objectStack.length * 2];
-			System.arraycopy(objectStack, 0, newObjectStack, 0, objectStack.length);
-			objectStack = newObjectStack;
-		}
-		objectStack[nextIndex] = object;
-		++nextIndex;
-	}
-	/**
-	 * Determines if the container is empty.
-	 * @return true if the container is empty
-	 */
-	public boolean isEmpty() {
-		return nextIndex == 0;
-	}
-	/**
-	 * Adds an object to the container and draws its preview then updates the supplied preview state.
-	 * 
-	 * @param object the object to add to the drawing list
-	 * @param gc the GC to draw on
-	 * @param offset the offset to add to virtual coordinates to get display coordinates
-	 * @param rememberedState the state returned by a previous drawPreview() or addAndPreview()
-	 *        using this Container, may be null if there was no such previous call
-	 * @return object state that must be passed to erasePreview() later to erase this object
-	 */
-//	public Object addAndPreview(Figure object, GC gc, Point offset, Object rememberedState) {
-//		Object[] stateStack = (Object[]) rememberedState;
-//		if (stateStack == null) {
-//			stateStack = new Object[INITIAL_ARRAY_SIZE];
-//		} else if (stateStack.length <= nextIndex) {
-//			Object[] newStateStack = new Object[stateStack.length * 2];
-//			System.arraycopy(stateStack, 0, newStateStack, 0, stateStack.length);
-//			stateStack = newStateStack;
-//		}
-//		add(object);
-//		stateStack[nextIndex - 1] = object.drawPreview(gc, offset);
-//		return stateStack;
-//	}
-	/**
-	 * Clears the container.
-	 * <p>
-	 * Note that erasePreview() cannot be called after this point to erase any previous
-	 * drawPreview()'s.
-	 * </p>
-	 */
-	public void clear() {
-		while (--nextIndex > 0) objectStack[nextIndex] = null;
-		nextIndex = 0;
-	}
-	public void draw(FigureDrawContext fdc) {
-		for (int i = 0; i < nextIndex; ++i) objectStack[i].draw(fdc);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		for (int i = 0; i < nextIndex; ++i) objectStack[i].addDamagedRegion(fdc, region);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java
deleted file mode 100755
index 49a724c..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * The superclass for paint tools that draw continuously along the path
- * traced by the mouse's movement while the button is depressed
- */
-public abstract class ContinuousPaintSession extends BasicPaintSession {
-	/**
-	 * True if a click-drag is in progress.
-	 */
-	private boolean dragInProgress = false;
-	
-	/**
-	 * A cached Point array for drawing.
-	 */
-	private Point[] points = new Point[] { new Point(-1, -1), new Point(-1, -1) };
-
-	/**
-	 * The time to wait between retriggers in milliseconds.
-	 */
-	private int retriggerInterval = 0;
-	
-	/**
-	 * The currently valid RetriggerHandler
-	 */
-	protected Runnable retriggerHandler = null;
-
-	/**
-	 * Constructs a ContinuousPaintSession.
-	 * 
-	 * @param paintSurface the drawing surface to use
-	 */
-	protected ContinuousPaintSession(PaintSurface paintSurface) {
-		super(paintSurface);
-	}
-
-	/**
-	 * Sets the retrigger timer.
-	 * <p>
-	 * After the timer elapses, if the mouse is still hovering over the same point with the
-	 * drag button pressed, a new render order is issued and the timer is restarted.
-	 * </p>
-	 * @param interval the time in milliseconds to wait between retriggers, 0 to disable
-	 */
-	public void setRetriggerTimer(int interval) {
-		retriggerInterval = interval;
-	}
-
-	/**
-	 * Activates the tool.
-	 */
-	public void beginSession() {
-		getPaintSurface().
-			setStatusMessage(PaintPlugin.getResourceString("session.ContinuousPaint.message"));
-		dragInProgress = false;
-	}
-	
-	/**
-	 * Deactivates the tool.
-     */
-	public void endSession() {
-		abortRetrigger();
-	}
-	
-	/**
-	 * Aborts the current operation.
-	 */
-	public void resetSession() {
-		abortRetrigger();
-	}
-
-	/**
-	 * Handles a mouseDown event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public final void mouseDown(MouseEvent event) {
-		if (event.button != 1) return;
-		if (dragInProgress) return; // spurious event
-		dragInProgress = true;
-
-		points[0].x = event.x;
-		points[0].y = event.y;
-		render(points[0]);
-		prepareRetrigger();
-	}
-
-	/**
-	 * Handles a mouseDoubleClick event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public final void mouseDoubleClick(MouseEvent event) {
-	}
-
-	/**
-	 * Handles a mouseUp event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public final void mouseUp(MouseEvent event) {
-		if (event.button != 1) return;
-		if (! dragInProgress) return; // spurious event
-		abortRetrigger();
-		mouseSegmentFinished(event);
-		dragInProgress = false;
-	}
-	
-	/**
-	 * Handles a mouseMove event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public final void mouseMove(MouseEvent event) {
-		final PaintSurface ps = getPaintSurface();
-		ps.setStatusCoord(ps.getCurrentPosition());
-		if (! dragInProgress) return;
-		mouseSegmentFinished(event);
-		prepareRetrigger();
-	}
-	
-	/**
-	 * Handle a rendering segment
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	private final void mouseSegmentFinished(MouseEvent event) {
-		if (points[0].x == -1) return; // spurious event
-		if (points[0].x != event.x || points[0].y != event.y) {
-			// draw new segment
-			points[1].x = event.x;
-			points[1].y = event.y;
-			renderContinuousSegment();
-		}
-	}
-
-	/**
-	 * Draws a continuous segment from points[0] to points[1].
-	 * Assumes points[0] has been drawn already.
-	 * 
-	 * @post points[0] will refer to the same point as points[1]
-	 */
-	protected void renderContinuousSegment() {
-		/* A lazy but effective line drawing algorithm */
-		final int dX = points[1].x - points[0].x;
-		final int dY = points[1].y - points[0].y;
-		int absdX = Math.abs(dX);
-		int absdY = Math.abs(dY);
-
-		if ((dX == 0) && (dY == 0)) return;
-		
-		if (absdY > absdX) {
-			final int incfpX = (dX << 16) / absdY;
-			final int incY = (dY > 0) ? 1 : -1;
-			int fpX = points[0].x << 16; // X in fixedpoint format
-
-			while (--absdY >= 0) {
-				points[0].y += incY;
-				points[0].x = (fpX += incfpX) >> 16;
-				render(points[0]);
-			}
-			if (points[0].x == points[1].x) return;
-			points[0].x = points[1].x;
-		} else {
-			final int incfpY = (dY << 16) / absdX;
-			final int incX = (dX > 0) ? 1 : -1;
-			int fpY = points[0].y << 16; // Y in fixedpoint format
-
-			while (--absdX >= 0) {
-				points[0].x += incX;
-				points[0].y = (fpY += incfpY) >> 16;
-				render(points[0]);
-			}
-			if (points[0].y == points[1].y) return;
-			points[0].y = points[1].y;
-		}
-		render(points[0]);
-	}		
-
-	/**
-	 * Prepare the retrigger timer
-	 */
-	private final void prepareRetrigger() {
-		if (retriggerInterval > 0) {
-			/*
-			 * timerExec() provides a lightweight mechanism for running code at intervals from within
-			 * the event loop when timing accuracy is not important.
-			 *
-			 * Since it is not possible to cancel a timerExec(), we remember the Runnable that is
-			 * active in order to distinguish the valid one from the stale ones.  In practice,
-			 * if the interval is 1/100th of a second, then creating a few hundred new RetriggerHandlers
-			 * each second will not cause a significant performance hit.
-			 */
-			Display display = getPaintSurface().getDisplay();
-			retriggerHandler = new Runnable() {
-				public void run() {
-					if (retriggerHandler == this) {
-						render(points[0]);
-						prepareRetrigger();
-					}
-				}
-			};			
-			display.timerExec(retriggerInterval, retriggerHandler);
-		}
-	}
-
-	/**
-	 * Aborts the retrigger timer
-	 */
-	private final void abortRetrigger() {
-		retriggerHandler = null;
-	}
-	
-	/**
-	 * Template method: Renders a point.
-	 * @param point, the point to render
-	 */
-	protected abstract void render(Point point);
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/DragPaintSession.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/DragPaintSession.java
deleted file mode 100755
index 539c3b5..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/DragPaintSession.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.graphics.*;
-
-/**
- * The superclass for paint tools that use click-drag-release motions to
- * draw objects.
- */
-public abstract class DragPaintSession extends BasicPaintSession {
-	/**
-	 * True if a click-drag is in progress
-	 */
-	private boolean dragInProgress = false;
-	
-	/**
-	 * The position of the first click in a click-drag
-	 */
-	private Point anchorPosition = new Point(-1, -1);
-
-	/**
-	 * A temporary point
-	 */
-	private Point tempPosition = new Point(-1, -1);
-	
-	/**
-	 * Constructs a PaintSession.
-	 * 
-	 * @param getPaintSurface() the drawing surface to use
-	 */
-	protected DragPaintSession(PaintSurface paintSurface) {
-		super(paintSurface);
-	}
-
-	/**
-	 * Activates the tool.
-	 */
-	public void beginSession() {
-		getPaintSurface().
-			setStatusMessage(PaintPlugin.getResourceString("session.DragInteractivePaint.message"));
-		anchorPosition.x = -1;
-		dragInProgress = false;
-	}
-	
-	/**
-	 * Deactivates the tool.
-     */
-	public void endSession() {
-	}
-	
-	/**
-	 * Resets the tool.
-	 * Aborts any operation in progress.
-	 */
-	public void resetSession() {
-		getPaintSurface().clearRubberbandSelection();
-		anchorPosition.x = -1;
-		dragInProgress = false;
-	}
-
-	/**
-	 * Handles a mouseDown event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseDown(MouseEvent event) {
-		if (event.button != 1) return;
-		if (dragInProgress) return; // spurious event
-		dragInProgress = true;
-		
-		anchorPosition.x = event.x;
-		anchorPosition.y = event.y;
-	}
-
-	/**
-	 * Handles a mouseDoubleClick event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseDoubleClick(MouseEvent event) {
-	}
-
-	/**
-	 * Handles a mouseUp event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseUp(MouseEvent event) {
-		if (event.button != 1) {
-			resetSession(); // abort if right or middle mouse button pressed
-			return;
-		}
-		if (! dragInProgress) return; // spurious event
-		dragInProgress = false;
-		if (anchorPosition.x == -1) return; // spurious event
-		
-		getPaintSurface().commitRubberbandSelection();
-	}
-	
-	/**
-	 * Handles a mouseMove event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseMove(MouseEvent event) {
-		final PaintSurface ps = getPaintSurface();
-		if (! dragInProgress) {
-			ps.setStatusCoord(ps.getCurrentPosition());
-			return;
-		}
-		ps.setStatusCoordRange(anchorPosition, ps.getCurrentPosition());
-		ps.clearRubberbandSelection();
-		tempPosition.x = event.x;
-		tempPosition.y = event.y;
-		ps.addRubberbandSelection(createFigure(anchorPosition, tempPosition));
-	}
-	
-	/**
-	 * Template Method: Creates a Figure for drawing rubberband entities and the final product
-	 * 
-	 * @param anchor the anchor point
-	 * @param cursor the point marking the current pointer location
-	 */
-	protected abstract Figure createFigure(Point anchor, Point cursor);
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseFigure.java
deleted file mode 100755
index e6a5907..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseFigure.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D Ellipse object
- */
-public class EllipseFigure extends Figure {
-	private Color foregroundColor, backgroundColor;
-	private int lineStyle, x1, y1, x2, y2;
-	/**
-	 * Constructs an Ellipse
-	 * These objects are defined by any two diametrically opposing corners of a box
-	 * bounding the ellipse.
-	 * 
-	 * @param color the color for this object
-	 * @param lineStyle the line style for this object
-	 * @param x1 the virtual X coordinate of the first corner
-	 * @param y1 the virtual Y coordinate of the first corner
-	 * @param x2 the virtual X coordinate of the second corner
-	 * @param y2 the virtual Y coordinate of the second corner
-	 */
-	public EllipseFigure(Color foregroundColor, Color backgroundColor, int lineStyle, int x1, int y1, int x2, int y2) {
-		this.foregroundColor = foregroundColor;
-		this.backgroundColor = backgroundColor;
-		this.lineStyle = lineStyle;
-		this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2;
-	}
-	public void draw(FigureDrawContext fdc) {
-		Rectangle r = fdc.toClientRectangle(x1, y1, x2, y2);
-		fdc.gc.setForeground(foregroundColor);
-		fdc.gc.setBackground(backgroundColor);
-		fdc.gc.setLineStyle(lineStyle);
-		fdc.gc.drawOval(r.x, r.y, r.width - 1, r.height - 1);
-		fdc.gc.setLineStyle(SWT.LINE_SOLID);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		region.add(fdc.toClientRectangle(x1, y1, x2, y2));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseTool.java
deleted file mode 100755
index 785879c..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseTool.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * A drawing tool.
- */
-public class EllipseTool extends DragPaintSession implements PaintTool {
-	private ToolSettings settings;
-
-	/**
-	 * Constructs a EllipseTool.
-	 * 
-	 * @param toolSettings the new tool settings
-	 * @param paintSurface the PaintSurface we will render on.
-	 */
-	public EllipseTool(ToolSettings toolSettings, PaintSurface paintSurface) {
-		super(paintSurface);
-		set(toolSettings);
-	}
-
-	/**
-	 * Sets the tool's settings.
-	 * 
-	 * @param toolSettings the new tool settings
-	 */
-	public void set(ToolSettings toolSettings) {
-		settings = toolSettings;
-	}
-
-	/**
-	 * Returns name associated with this tool.
-	 * 
-	 * @return the localized name of this tool
-	 */
-	public String getDisplayName() {
-		return PaintPlugin.getResourceString("tool.Ellipse.label");
-	}
-
-	/*
-	 * Template methods for drawing
-	 */
-	protected Figure createFigure(Point a, Point b) {
-		ContainerFigure container = new ContainerFigure();
-		if (settings.commonFillType != ToolSettings.ftNone)
-			container.add(new SolidEllipseFigure(settings.commonBackgroundColor, a.x, a.y, b.x, b.y));
-		if (settings.commonFillType != ToolSettings.ftSolid)
-			container.add(new EllipseFigure(settings.commonForegroundColor, settings.commonBackgroundColor, settings.commonLineStyle,
-				a.x, a.y, b.x, b.y));
-		return container;
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/Figure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/Figure.java
deleted file mode 100755
index 6eb305b..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/Figure.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * Superinterface for all drawing objects.
- * All drawing objects know how to render themselved to the screen and can draw a
- * temporary version of themselves for previewing the general appearance of the
- * object onscreen before it gets committed.
- */
-public abstract class Figure {
-	/**
-	 * Draws this object.
-	 * 
-	 * @param fdc a parameter block specifying drawing-related information
-	 */
-	public abstract void draw(FigureDrawContext fdc);
-
-	/**
-	 * Computes the damaged screen region caused by drawing this object (imprecise), then
-	 * appends it to the supplied region.
-	 * 
-	 * @param fdc a parameter block specifying drawing-related information
-	 * @param region a region to which additional damage areas will be added
-	 */
-	public abstract void addDamagedRegion(FigureDrawContext fdc, Region region);
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/FigureDrawContext.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/FigureDrawContext.java
deleted file mode 100644
index b020ff4..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/FigureDrawContext.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-public class FigureDrawContext {
-	/*
-	 * <p>
-	 * The GC must be set up as follows
-	 * (it will be returned to this state upon completion of drawing operations)
-	 * <ul>
-	 *   <li>setXORMode(false)
-	 * </ul>
-	 * </p>
-	 */
-	public GC gc = null;
-	public int xOffset = 0, yOffset = 0; // substract to get GC coords
-	public int xScale = 1, yScale = 1;
-	
-	public Rectangle toClientRectangle(int x1, int y1, int x2, int y2) {
-		return new Rectangle(
-			Math.min(x1, x2) * xScale - xOffset,
-			Math.min(y1, y2) * yScale - yOffset,
-			(Math.abs(x2 - x1) + 1) * xScale,
-			(Math.abs(y2 - y1) + 1) * yScale);
-	}
-	public Point toClientPoint(int x, int y) {
-		return new Point(x * xScale - xOffset, y * yScale - yOffset);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineFigure.java
deleted file mode 100755
index ab07a8a..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineFigure.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D Line object
- */
-public class LineFigure extends Figure {
-	private Color foregroundColor, backgroundColor;
-	private int lineStyle, x1, y1, x2, y2;
-	/**
-	 * Constructs a Line
-	 * These objects are defined by their two end-points.
-	 * 
-	 * @param color the color for this object
-	 * @param lineStyle the line style for this object
-	 * @param x1 the virtual X coordinate of the first end-point
-	 * @param y1 the virtual Y coordinate of the first end-point
-	 * @param x2 the virtual X coordinate of the second end-point
-	 * @param y2 the virtual Y coordinate of the second end-point
-	 */
-	public LineFigure(Color foregroundColor, Color backgroundColor, int lineStyle, int x1, int y1, int x2, int y2) {
-		this.foregroundColor = foregroundColor;
-		this.backgroundColor = backgroundColor;
-		this.lineStyle = lineStyle;
-		this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2;
-	}
-	public void draw(FigureDrawContext fdc) {
-		Point p1 = fdc.toClientPoint(x1, y1);
-		Point p2 = fdc.toClientPoint(x2, y2);
-		fdc.gc.setForeground(foregroundColor);
-		fdc.gc.setBackground(backgroundColor);
-		fdc.gc.setLineStyle(lineStyle);
-		fdc.gc.drawLine(p1.x, p1.y, p2.x, p2.y);
-		fdc.gc.setLineStyle(SWT.LINE_SOLID);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		region.add(fdc.toClientRectangle(x1, y1, x2, y2));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineTool.java
deleted file mode 100755
index 32d0399..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineTool.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * A line drawing tool
- */
-public class LineTool extends DragPaintSession implements PaintTool {
-	private ToolSettings settings;
-
-	/**
-	 * Constructs a LineTool.
-	 * 
-	 * @param toolSettings the new tool settings
-	 * @param paintSurface the PaintSurface we will render on.
-	 */
-	public LineTool(ToolSettings toolSettings, PaintSurface paintSurface) {
-		super(paintSurface);
-		set(toolSettings);
-	}
-	
-	/**
-	 * Sets the tool's settings.
-	 * 
-	 * @param toolSettings the new tool settings
-	 */
-	public void set(ToolSettings toolSettings) {
-		settings = toolSettings;
-	}
-	
-	/**
-	 * Returns name associated with this tool.
-	 * 
-	 * @return the localized name of this tool
-	 */
-	public String getDisplayName() {
-		return PaintPlugin.getResourceString("tool.Line.label");
-	}
-
-	/*
-	 * Template methods for drawing
-	 */
-	protected Figure createFigure(Point a, Point b) {
-		return new LineFigure(settings.commonForegroundColor, settings.commonBackgroundColor, settings.commonLineStyle,
-			a.x, a.y, b.x, b.y);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintPlugin.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintPlugin.java
deleted file mode 100755
index d2f314e..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintPlugin.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.plugin.*;
-
-import java.text.*;
-import java.util.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class PaintPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static PaintPlugin plugin;
-	private static ResourceBundle resourceBundle;
-
-	/**
-	 * Constructs the Paint plugin.
-	 */
-	public PaintPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		plugin = this;
-		resourceBundle = descriptor.getResourceBundle();
-	}
-	
-	/**
-	 * Returns the shared instance.
-	 */
-	public static PaintPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Log an error to the ILog for this plugin
-	 * 
-	 * @param message the localized error message text
-	 * @param exception the associated exception, or null
-	 */
-	public static void logError(String message, Throwable exception) {
-		plugin.getLog().log(new Status(IStatus.ERROR, plugin.getDescriptor().getUniqueIdentifier(),
-			0, message, exception));
-	}
-
-	/**
-	 * Returns a string from the resource bundle.
-	 * We don't want to crash because of a missing String.
-	 * Returns the key if not found.
-	 */
-	public static String getResourceString(String key) {
-		try {
-			return resourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}			
-	}
-
-	/**
-	 * Returns a string from the resource bundle and binds it
-	 * with the given arguments. If the key is not found,
-	 * return the key.
-	 */
-	public static String getResourceString(String key, Object[] args) {
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSession.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSession.java
deleted file mode 100755
index 1d6eda2..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSession.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.events.*;
-
-/**
- * Manages an interactive paint session.
- * Note that the coordinates received via the listener interfaces are virtualized to zero-origin
- * relative to the painting surface.
- */ 
-public interface PaintSession extends MouseListener, MouseMoveListener {
-	/**
-	 * Returns the paint surface associated with this paint session
-	 * 
-	 * @return the associated PaintSurface
-	 */
-	public PaintSurface getPaintSurface();
-
-	/**
-	 * Activates the session.
-	 * 
-	 * Note: When overriding this method, call super.beginSession() at method start.
-	 */
-	public abstract void beginSession();
-	
-	/**
-	 * Deactivates the session.
-     *
-	 * Note: When overriding this method, call super.endSession() at method exit.
-     */
-	public abstract void endSession();
-	
-	/**
-	 * Resets the session.
-	 * Aborts any operation in progress.
-	 * 
-	 * Note: When overriding this method, call super.resetSession() at method exit.
-	 */
-	public abstract void resetSession();
-	
-	
-	/**
-	 * Returns the name associated with this tool.
-	 * 
-	 * @return the localized name of this tool
-	 */
-	public String getDisplayName();
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSurface.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSurface.java
deleted file mode 100755
index a58af26..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSurface.java
+++ /dev/null
@@ -1,523 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * Manages a simple drawing surface.
- */
-public class PaintSurface {
-	private Point currentPosition = new Point(0, 0);
-	private Canvas paintCanvas;
-
-	private PaintSession paintSession;
-	private Image image;
-	private Image paintImage; // buffer for refresh blits
-	private int   imageWidth, imageHeight;
-	private int   visibleWidth, visibleHeight;
-
-	private FigureDrawContext displayFDC = new FigureDrawContext();
-	private FigureDrawContext imageFDC = new FigureDrawContext();
-	private FigureDrawContext paintFDC = new FigureDrawContext();
-
-	/* Rubberband */
-	private ContainerFigure rubberband = new ContainerFigure();
-		// the active rubberband selection
-	private int rubberbandHiddenNestingCount = 0;
-		// always >= 0, if > 0 rubberband has been hidden
-
-	/* Status */
-	private Text statusText;
-	private String statusActionInfo, statusMessageInfo, statusCoordInfo;
-
-	/**
-	 * Constructs a PaintSurface.
-	 * <p>
-	 * paintCanvas must have SWT.NO_REDRAW_RESIZE and SWT.NO_BACKGROUND styles,
-	 *     and may have SWT.V_SCROLL and/or SWT.H_SCROLL.
-	 * </p>
-	 * @param paintCanvas the Canvas object in which to render
-	 * @param paintStatus the PaintStatus object to use for providing user feedback
-	 * @param fillColor the color to fill the canvas with initially
-	 */
-	public PaintSurface(Canvas paintCanvas, Text statusText, Color fillColor) {
-		this.paintCanvas = paintCanvas;
-		this.statusText = statusText;
-		clearStatus();
-
-		/* Set up the drawing surface */
-		Rectangle displayRect = paintCanvas.getDisplay().getClientArea();
-		imageWidth = displayRect.width;
-		imageHeight = displayRect.height;
-		image = new Image(paintCanvas.getDisplay(), imageWidth, imageHeight);
-
-		imageFDC.gc = new GC(image);
-		imageFDC.gc.setBackground(fillColor);
-		imageFDC.gc.fillRectangle(0, 0, imageWidth, imageHeight);
-		displayFDC.gc = new GC(paintCanvas);
-
-		/* Initialize the session */
-		setPaintSession(null);
-
-		/* Add our listeners */
-		paintCanvas.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				displayFDC.gc.dispose();
-			}			
-		});
-		paintCanvas.addMouseListener(new MouseAdapter() {
-			public void mouseDown(MouseEvent event) {
-				processMouseEventCoordinates(event);
-				if (paintSession != null) paintSession.mouseDown(event);
-			}
-			public void mouseUp(MouseEvent event) {
-				processMouseEventCoordinates(event);
-				if (paintSession != null) paintSession.mouseUp(event);
-			}
-			public void mouseDoubleClick(MouseEvent event) {
-				processMouseEventCoordinates(event);
-				if (paintSession != null) paintSession.mouseDoubleClick(event);
-			}			
-		});
-		paintCanvas.addMouseMoveListener(new MouseMoveListener() {
-			public void mouseMove(MouseEvent event) {
-				processMouseEventCoordinates(event);
-				if (paintSession != null) paintSession.mouseMove(event);
-			}
-		});
-		paintCanvas.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent event) {
-				if (rubberband.isEmpty()) {
-					// Nothing to merge, so we just refresh
-					event.gc.drawImage(image,
-						displayFDC.xOffset + event.x, displayFDC.yOffset + event.y, event.width, event.height,
-						event.x, event.y, event.width, event.height);
-				} else {
-					/*
-					 * Avoid flicker when merging overlayed objects by constructing the image on
-					 * a backbuffer first, then blitting it to the screen.
-					 */
-					// Check that the backbuffer is large enough
-					if (paintImage != null) {
-						Rectangle rect = paintImage.getBounds();
-						if ((event.width + event.x > rect.width) ||
-							(event.height + event.y > rect.height)) {
-							paintFDC.gc.dispose();
-							paintImage.dispose();
-							paintImage = null;
-						}
-					}
-					if (paintImage == null) {
-						Display display = getDisplay();
-						Rectangle rect = display.getClientArea();
-						paintImage = new Image(display,
-							Math.max(rect.width, event.width + event.x),
-							Math.max(rect.height, event.height + event.y));
-						paintFDC.gc = new GC(paintImage);
-					}
-					// Setup clipping and the FDC
-					Region clipRegion = new Region();
-					event.gc.getClipping(clipRegion);					
-					paintFDC.gc.setClipping(clipRegion);
-					clipRegion.dispose();
-
-					paintFDC.xOffset = displayFDC.xOffset;
-					paintFDC.yOffset = displayFDC.yOffset;
-					paintFDC.xScale = displayFDC.xScale;
-					paintFDC.yScale = displayFDC.yScale;
-					
-					// Merge the overlayed objects into the image, then blit
-					paintFDC.gc.drawImage(image,
-						displayFDC.xOffset + event.x, displayFDC.yOffset + event.y, event.width, event.height,
-						event.x, event.y, event.width, event.height);
-					rubberband.draw(paintFDC);
-					event.gc.drawImage(paintImage,
-						event.x, event.y, event.width, event.height,
-						event.x, event.y, event.width, event.height);
-				}
-			}
-		});
-		paintCanvas.addControlListener(new ControlAdapter() {
-			public void controlResized(ControlEvent event) {
-				handleResize();
-			}			
-		});
-
-		/* Set up the paint canvas scroll bars */
-		ScrollBar horizontal = paintCanvas.getHorizontalBar();
-		horizontal.setVisible(true);
-		horizontal.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				scrollHorizontally((ScrollBar)event.widget);
-			}
-		});
-		ScrollBar vertical = paintCanvas.getVerticalBar();
-		vertical.setVisible(true);
-		vertical.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				scrollVertically((ScrollBar)event.widget);
-			}
-		});
-		handleResize();
-	}
-	
-	/**
-	 * Disposes of the PaintSurface's resources.
-	 */
-	public void dispose() {
-		imageFDC.gc.dispose();
-		image.dispose();
-		if (paintImage != null) {
-			paintImage.dispose();
-			paintFDC.gc.dispose();
-		}
-
-		currentPosition = null;
-		paintCanvas = null;
-		paintSession = null;
-		image = null;
-		paintImage = null;
-		displayFDC = null;
-		imageFDC = null;
-		paintFDC = null;
-		rubberband = null;
-		statusText = null;
-		statusActionInfo = null;
-		statusMessageInfo = null;
-		statusCoordInfo = null;
-	}
-
-	/**
-	 * Called when we must grab focus.
-	 */
-	public void setFocus()  {
-		paintCanvas.setFocus();
-	}
-
-	/**
-	 * Returns the Display on which the PaintSurface resides.
-	 * @return the Display
-	 */
-	public Display getDisplay() {
-		return paintCanvas.getDisplay();
-	}
-
-	/**
-	 * Returns the Shell in which the PaintSurface resides.
-	 * @return the Shell
-	 */
-	public Shell getShell() {
-		return paintCanvas.getShell();
-	}
-
-	/**
-	 * Sets the current paint session.
-	 * <p>
-	 * If oldPaintSession != paintSession calls oldPaintSession.end()
-	 * and paintSession.begin()
-	 * </p>
-	 * 
-	 * @param paintSession the paint session to activate; null to disable all sessions
-	 */
-	public void setPaintSession(PaintSession paintSession) {
-		if (this.paintSession != null) {
-			if (this.paintSession == paintSession) return;
-			this.paintSession.endSession();
-		}
-		this.paintSession = paintSession;
-		clearStatus();
-		if (paintSession != null) {
-			setStatusAction(paintSession.getDisplayName());
-			paintSession.beginSession();
-		} else {
-			setStatusAction(PaintPlugin.getResourceString("tool.Null.label"));
-			setStatusMessage(PaintPlugin.getResourceString("session.Null.message"));
-		}
-	}
-
-	/**
-	 * Returns the current paint session.
-	 * 
-	 * @return the current paint session, null if none is active
-	 */
-	public PaintSession getPaintSession() {
-		return paintSession;
-	}
-
-	/**
-	 * Returns the current paint tool.
-	 * 
-	 * @return the current paint tool, null if none is active (though some other session
-	 *         might be)
-	 */
-	public PaintTool getPaintTool() {
-		return (paintSession != null && paintSession instanceof PaintTool) ?
-			(PaintTool)paintSession : null;
-	}
-
-	/**
-	 * Returns the current position in an interactive operation.
-	 *
-	 * @return the last known position of the pointer
-	 */
-	public Point getCurrentPosition() {
-		return currentPosition;
-	}
-
-	/**
-	 * Draws a Figure object to the screen and to the backing store permanently.
-	 * 
-	 * @param object the object to draw onscreen
-	 */
-	public void drawFigure(Figure object) {
-		object.draw(imageFDC);
-		object.draw(displayFDC);
-	}
-
-	/**
-	 * Adds a Figure object to the active rubberband selection.
-	 * <p>
-	 * This object will be drawn to the screen as a preview and refreshed appropriately
-	 * until the selection is either cleared or committed.
-	 * </p>
-	 * 
-	 * @param object the object to add to the selection
-	 */
-	public void addRubberbandSelection(Figure object) {
-		rubberband.add(object);
-		if (! isRubberbandHidden()) object.draw(displayFDC);
-	}
-
-	/**
-	 * Clears the active rubberband selection.
-	 * <p>
-	 * Erases any rubberband objects on the screen then clears the selection.
-	 * </p>
-	 */
-	public void clearRubberbandSelection() {
-		if (! isRubberbandHidden()) {
-			Region region = new Region();
-			rubberband.addDamagedRegion(displayFDC, region);
-			Rectangle r = region.getBounds();
-			paintCanvas.redraw(r.x, r.y, r.width, r.height, true);
-			region.dispose();
-		}
-		rubberband.clear();
-
-	}
-
-	/**
-	 * Commits the active rubberband selection.
-	 * <p>
-	 * Redraws any rubberband objects on the screen as permanent objects then clears the selection.
-	 * </p>
-	 */
-	public void commitRubberbandSelection() {
-		rubberband.draw(imageFDC);
-		if (isRubberbandHidden()) rubberband.draw(displayFDC);
-		rubberband.clear();
-	}
-	
-	/**
-	 * Hides the rubberband (but does not eliminate it).
-	 * <p>
-	 * Increments by one the rubberband "hide" nesting count.  The rubberband
-	 * is hidden from view (but remains active) if it wasn't already hidden.
-	 * </p>
-	 */
-	public void hideRubberband() {
-		if (rubberbandHiddenNestingCount++ <= 0) {
-			Region region = new Region();
-			rubberband.addDamagedRegion(displayFDC, region);
-			Rectangle r = region.getBounds();
-			paintCanvas.redraw(r.x, r.y, r.width, r.height, true);
-			region.dispose();
-		}
-	}		
-
-	/**
-	 * Shows (un-hides) the rubberband.
-	 * <p>
-	 * Decrements by one the rubberband "hide" nesting count.  The rubberband
-	 * is only made visible when showRubberband() has been called once for each
-	 * previous hideRubberband().  It is not permitted to call showRubberband() if
-	 * the rubber band is not presently hidden.
-	 * </p>
-	 */
-	public void showRubberband() {
-		if (rubberbandHiddenNestingCount <= 0)
-			throw new IllegalStateException("rubberbandHiddenNestingCount > 0");
-		if (--rubberbandHiddenNestingCount == 0) {
-			rubberband.draw(displayFDC);
-		}
-	}
-	
-	/**
-	 * Determines if the rubberband is hidden.
-	 * 
-	 * @return true iff the rubber is hidden
-	 */
-	public boolean isRubberbandHidden() {
-		return rubberbandHiddenNestingCount > 0;
-	}
-
-	/**
-	 * Handles a horizontal scroll event
-	 * 
-	 * @param scrollbar the horizontal scroll bar that posted this event
-	 */
-	public void scrollHorizontally(ScrollBar scrollBar) {
-		if (image == null) return;
-		if (imageWidth > visibleWidth) {
-			final int oldOffset = displayFDC.xOffset;
-			final int newOffset = Math.min(scrollBar.getSelection(), imageWidth - visibleWidth);
-			if (oldOffset != newOffset) {
-				paintCanvas.update();
-				displayFDC.xOffset = newOffset;
-				paintCanvas.scroll(Math.max(oldOffset - newOffset, 0), 0, Math.max(newOffset - oldOffset, 0), 0,
-					visibleWidth, visibleHeight, false);
-			}
-		}
-	}
-
-	/**
-	 * Handles a vertical scroll event
-	 * 
-	 * @param scrollbar the vertical scroll bar that posted this event
-	 */
-	public void scrollVertically(ScrollBar scrollBar) {
-		if (image == null) return;
-		if (imageHeight > visibleHeight) {
-			final int oldOffset = displayFDC.yOffset;
-			final int newOffset = Math.min(scrollBar.getSelection(), imageHeight - visibleHeight);
-			if (oldOffset != newOffset) {
-				paintCanvas.update();
-				displayFDC.yOffset = newOffset;
-				paintCanvas.scroll(0, Math.max(oldOffset - newOffset, 0), 0, Math.max(newOffset - oldOffset, 0),
-					visibleWidth, visibleHeight, false);
-			}
-		}
-	}
-	
-	/**
-	 * Handles resize events
-	 */
-	private void handleResize() {
-		paintCanvas.update();
-
-		Rectangle visibleRect = paintCanvas.getClientArea();
-		visibleWidth = visibleRect.width;
-		visibleHeight = visibleRect.height;
-
-		ScrollBar horizontal = paintCanvas.getHorizontalBar();
-		if (horizontal != null) {
-			displayFDC.xOffset = Math.min(horizontal.getSelection(), imageWidth - visibleWidth);
-			if (imageWidth <= visibleWidth) {
-				horizontal.setEnabled(false);
-				horizontal.setSelection(0);
-			} else {
-				final int max = imageWidth - visibleWidth;
-				horizontal.setEnabled(true);
-				horizontal.setValues(displayFDC.xOffset, 0, imageWidth, visibleWidth,
-					8, visibleWidth);
-			}
-		}
-
-		ScrollBar vertical = paintCanvas.getVerticalBar();
-		if (vertical != null) {
-			displayFDC.yOffset = Math.min(vertical.getSelection(), imageHeight - visibleHeight);
-			if (imageHeight <= visibleHeight) {
-				vertical.setEnabled(false);
-				vertical.setSelection(0);
-			} else {
-				final int max = imageHeight - visibleHeight;
-				vertical.setEnabled(true);
-				vertical.setValues(displayFDC.yOffset, 0, imageHeight, visibleHeight,
-					8, visibleHeight);
-			}
-		}
-	}
-
-	/**
-	 * Virtualizes MouseEvent coordinates and stores the current position.
-	 */
-	private void processMouseEventCoordinates(MouseEvent event) {
-		currentPosition.x = event.x =
-			Math.min(Math.max(event.x, 0), visibleWidth - 1) + displayFDC.xOffset;
-		currentPosition.y = event.y =
-			Math.min(Math.max(event.y, 0), visibleHeight - 1) + displayFDC.yOffset;
-	}
-	
-	/**
-	 * Clears the status bar.
-	 */
-	public void clearStatus() {
-		statusActionInfo = "";
-		statusMessageInfo = "";
-		statusCoordInfo = "";
-		updateStatus();
-	}
-
-	/**
-	 * Sets the status bar action text.
-	 *
-	 * @param action the action in progress, null to clear
-	 */
-	public void setStatusAction(String action) {
-		statusActionInfo = (action != null) ? action : "";
-		updateStatus();
-	}
-	
-	/**
-	 * Sets the status bar message text.
-	 * 
-	 * @param message the message to display, null to clear
-	 */
-	public void setStatusMessage(String message) {
-		statusMessageInfo = (message != null) ? message : "";
-		updateStatus();
-	}
-
-	/**
-	 * Sets the coordinates in the status bar.
-	 * 
-	 * @param coord the coordinates to display, null to clear
-	 */
-	public void setStatusCoord(Point coord) {
-		statusCoordInfo = (coord != null) ? PaintPlugin.getResourceString("status.Coord.format", new Object[]
-			{ new Integer(coord.x), new Integer(coord.y)}) : "";
-		updateStatus();
-	}
-
-	/**
-	 * Sets the coordinate range in the status bar.
-	 * 
-	 * @param a the "from" coordinate, must not be null
-	 * @param b the "to" coordinate, must not be null
-	 */
-	public void setStatusCoordRange(Point a, Point b) {
-		statusCoordInfo = PaintPlugin.getResourceString("status.CoordRange.format", new Object[]
-			{ new Integer(a.x), new Integer(a.y), new Integer(b.x), new Integer(b.y)});
-		updateStatus();
-	}
-
-	/**
-	 * Updates the display.
-	 */
-	private void updateStatus() {
-		statusText.setText(
-			PaintPlugin.getResourceString("status.Bar.format", new Object[]
-			{ statusActionInfo, statusMessageInfo, statusCoordInfo }));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintTool.java
deleted file mode 100755
index 7ec50d9..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintTool.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-public interface PaintTool extends PaintSession {
-	/**
-	 * Sets the tool's settings.
-	 * 
-	 * @param toolSettings the new tool settings
-	 */
-	public void set(ToolSettings toolSettings);
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintView.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintView.java
deleted file mode 100755
index 5fb8970..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintView.java
+++ /dev/null
@@ -1,500 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.resource.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.part.*;
-
-import java.net.*;
-import java.util.*;
-
-/**
- * The view for the paint application.
- * All rendering happens inside the area created by createPartControl().
- * 
- * @see ViewPart
- */
-public class PaintView extends ViewPart {
-	private Display workbenchDisplay;
-
-	// current active settings
-	private ToolSettings toolSettings;
-
-	// paint surface for drawing
-	private PaintSurface paintSurface;
-
-	// map action ids to useful data
-	private HashMap /* of String to PaintTool */ paintToolMap;
-	private HashMap /* of String to Integer */ paintFillTypeMap;
-	private HashMap /* of String to Integer */ paintLineStyleMap;
-	
-	/** UI data **/
-	// handle of currently active tool IAction on the UI
-	private IAction activeToolAction;
-	// handle of currently active filltype IAction on the UI
-	private IAction activeFillTypeAction;
-	// handle of currently active linetype IAction on the UI
-	private IAction activeLineStyleAction;
-
-	// handle of active foreground color box Canvas widget
-	private Canvas activeForegroundColorCanvas;
-	// handle of active background color box Canvas widget
-	private Canvas activeBackgroundColorCanvas;
-	
-	private static final int numPaletteRows = 3;
-	private static final int numPaletteCols = 50;
-
-	// shared data	
-	private Color paintColorBlack, paintColorWhite; // alias for paintColors[0] and [1]
-	private Color[] paintColors;
-	private Font paintDefaultFont; // do not free
-
-	/**
-	 * Constructs a Paint view.
-	 */
-	public PaintView() {
-	}
-
-	/**
-	 * Cleanup
-	 */
-	public void dispose() {
-		if (paintSurface != null) paintSurface.dispose();		
-		if (paintColors != null) {
-			for (int i = 0; i < paintColors.length; ++i) {
-				final Color color = paintColors[i];
-				if (color != null) color.dispose();
-			}
-		}
-		paintDefaultFont = null;
-		paintColors = null;
-		paintSurface = null;
-		super.dispose();
-	}
-	
-	/**
-	 * Called when we must grab focus.
-	 * 
-	 * @see org.eclipse.ui.part.ViewPart#setFocus
-	 */
-	public void setFocus() {
-		paintSurface.setFocus();
-	}
-
-	/**
-	 * Creates the example.
-	 * 
-	 * @see ViewPart#createPartControl
-	 */
-	public void createPartControl(Composite parent) {
-		/*** Initialize shared data ***/
-		workbenchDisplay = parent.getDisplay();
-		
-		paintColorWhite = new Color(workbenchDisplay, 255, 255, 255);
-		paintColorBlack = new Color(workbenchDisplay, 0, 0, 0);
-		
-		paintDefaultFont = workbenchDisplay.getSystemFont();
-
-		paintColors = new Color[numPaletteCols * numPaletteRows];
-		paintColors[0] = paintColorBlack;
-		paintColors[1] = paintColorWhite;
-		for (int i = 2; i < paintColors.length; i++) {
-			paintColors[i] = new Color(workbenchDisplay,
-				((i*7)%255),((i*23)%255), ((i*51)%255));
-		}
-
-		toolSettings = new ToolSettings();
-		toolSettings.commonForegroundColor = paintColorBlack;
-		toolSettings.commonBackgroundColor = paintColorWhite;
-		toolSettings.commonFont = paintDefaultFont;
-
-		/*** Add toolbar contributions ***/
-		final IActionBars actionBars = getViewSite().getActionBars();
-		IToolBarManager toolbarManager = actionBars.getToolBarManager();
-
-		toolbarManager.add(new GroupMarker("group.tools"));
-		toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.Pencil"));
-		toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.Airbrush"));
-		toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.Line"));
-		toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.PolyLine"));
-		toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.Rectangle"));
-		toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.RoundedRectangle"));
-		toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.Ellipse"));
-		toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.Text"));
-		toolbarManager.add(new Separator());
-		toolbarManager.add(new GroupMarker("group.options.fill"));
-		toolbarManager.appendToGroup("group.options.fill", new SelectFillTypeAction("fill.None"));
-		toolbarManager.appendToGroup("group.options.fill", new SelectFillTypeAction("fill.Outline"));
-		toolbarManager.appendToGroup("group.options.fill", new SelectFillTypeAction("fill.Solid"));
-		toolbarManager.add(new Separator());
-		toolbarManager.add(new GroupMarker("group.options.linestyle"));
-		toolbarManager.appendToGroup("group.options.linestyle", new SelectLineStyleAction("linestyle.Solid"));
-		toolbarManager.appendToGroup("group.options.linestyle", new SelectLineStyleAction("linestyle.Dash"));
-		toolbarManager.appendToGroup("group.options.linestyle", new SelectLineStyleAction("linestyle.Dot"));
-		toolbarManager.appendToGroup("group.options.linestyle", new SelectLineStyleAction("linestyle.DashDot"));
-		toolbarManager.add(new Separator());
-		toolbarManager.add(new GroupMarker("group.options"));
-		toolbarManager.appendToGroup("group.options", new SelectFontAction("options.Font"));
-		actionBars.updateActionBars();
-
-		/*** Build GUI ***/
-		createGUI(parent);
-
-		/*** Set defaults ***/
-		setPaintToolByID("tool.Pencil");
-		setFillTypeByID("fill.None");
-		setLineStyleByID("linestyle.Solid");
-		setForegroundColor(paintColorBlack);
-		setBackgroundColor(paintColorWhite);
-	}
-
-	/**
-	 * Creates the GUI.
-	 */
-	private void createGUI(Composite parent) {
-		GridLayout gridLayout;
-		GridData gridData;
-
-		/*** Create principal GUI layout elements ***/		
-		Composite displayArea = new Composite(parent, SWT.NONE);
-		gridLayout = new GridLayout();
-		gridLayout.numColumns = 1;
-		displayArea.setLayout(gridLayout);
-
-		// Creating these elements here avoids the need to instantiate the GUI elements
-		// in strict layout order.  The natural layout ordering is an artifact of using
-		// SWT layouts, but unfortunately it is not the same order as that required to
-		// instantiate all of the non-GUI application elements to satisfy referential
-		// dependencies.  It is possible to reorder the initialization to some extent, but
-		// this can be very tedious.
-		
-		// paint canvas
-		final Canvas paintCanvas = new Canvas(displayArea, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL |
-			SWT.NO_REDRAW_RESIZE | SWT.NO_BACKGROUND);
-		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		paintCanvas.setLayoutData(gridData);
-		paintCanvas.setBackground(paintColorWhite);
-		
-		// color selector frame
-		final Composite colorFrame = new Composite(displayArea, SWT.NONE);
-		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		colorFrame.setLayoutData(gridData);
-
-		// tool settings frame
-		final Composite toolSettingsFrame = new Composite(displayArea, SWT.NONE);
-		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		toolSettingsFrame.setLayoutData(gridData);
-
-		// status text
-		final Text statusText = new Text(displayArea, SWT.BORDER | SWT.SINGLE | SWT.READ_ONLY);
-		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		statusText.setLayoutData(gridData);
-
-		/*** Create the remaining application elements inside the principal GUI layout elements ***/	
-		// paintSurface
-		paintSurface = new PaintSurface(paintCanvas, statusText, paintColorWhite);
-
-		// paintToolMap
-		paintToolMap = new HashMap();
-		paintToolMap.put("tool.Pencil", new PencilTool(toolSettings, paintSurface));
-		paintToolMap.put("tool.Airbrush", new AirbrushTool(toolSettings, paintSurface));
-		paintToolMap.put("tool.Line", new LineTool(toolSettings, paintSurface));
-		paintToolMap.put("tool.PolyLine", new PolyLineTool(toolSettings, paintSurface));
-		paintToolMap.put("tool.Rectangle", new RectangleTool(toolSettings, paintSurface));
-		paintToolMap.put("tool.RoundedRectangle", new RoundedRectangleTool(toolSettings, paintSurface));
-		paintToolMap.put("tool.Ellipse", new EllipseTool(toolSettings, paintSurface));
-		paintToolMap.put("tool.Text", new TextTool(toolSettings, paintSurface));
-		paintToolMap.put("tool.Null", null);
-
-		// paintFillTypeMap
-		paintFillTypeMap = new HashMap();
-		paintFillTypeMap.put("fill.None", new Integer(ToolSettings.ftNone));
-		paintFillTypeMap.put("fill.Outline", new Integer(ToolSettings.ftOutline));
-		paintFillTypeMap.put("fill.Solid", new Integer(ToolSettings.ftSolid));
-
-		// paintLineStyleMap
-		paintLineStyleMap = new HashMap();
-		paintLineStyleMap.put("linestyle.Solid", new Integer(SWT.LINE_SOLID));
-		paintLineStyleMap.put("linestyle.Dash", new Integer(SWT.LINE_DASH));
-		paintLineStyleMap.put("linestyle.Dot", new Integer(SWT.LINE_DOT));
-		paintLineStyleMap.put("linestyle.DashDot", new Integer(SWT.LINE_DASHDOT));
-
-		// colorFrame		
-		gridLayout = new GridLayout();
-		gridLayout.numColumns = 3;
-		gridLayout.marginHeight = 0;
-		gridLayout.marginWidth = 0;
-		colorFrame.setLayout(gridLayout);
-
-		// activeForegroundColorCanvas, activeBackgroundColorCanvas
-		activeForegroundColorCanvas = new Canvas(colorFrame, SWT.BORDER);
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gridData.heightHint = 24;
-		gridData.widthHint = 24;
-		activeForegroundColorCanvas.setLayoutData(gridData);
-
-		activeBackgroundColorCanvas = new Canvas(colorFrame, SWT.BORDER);
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gridData.heightHint = 24;
-		gridData.widthHint = 24;
-		activeBackgroundColorCanvas.setLayoutData(gridData);
-
-		// paletteCanvas
-		final Canvas paletteCanvas = new Canvas(colorFrame, SWT.BORDER | SWT.NO_BACKGROUND);
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.heightHint = 24;
-		paletteCanvas.setLayoutData(gridData);
-		paletteCanvas.addListener(SWT.MouseDown, new Listener() {
-			public void handleEvent(Event e) {
-				Rectangle bounds = paletteCanvas.getClientArea();
-				Color color = getColorAt(bounds, e.x, e.y);				
-					
-				if (e.button == 1) setForegroundColor(color);
-				else setBackgroundColor(color);
-			}
-			private Color getColorAt(Rectangle bounds, int x, int y) {
-				if (bounds.height <= 1 && bounds.width <= 1) return paintColorWhite;
-				final int row = (y - bounds.y) * numPaletteRows / bounds.height;
-				final int col = (x - bounds.x) * numPaletteCols / bounds.width;
-				return paintColors[Math.min(Math.max(row * numPaletteCols + col, 0), paintColors.length - 1)];
-			}
-		});
-		Listener refreshListener = new Listener() {
-			public void handleEvent(Event e) {
-				if (e.gc == null) return;
-				Rectangle bounds = paletteCanvas.getClientArea();
-				for (int row = 0; row < numPaletteRows; ++row) {
-					for (int col = 0; col < numPaletteCols; ++col) {
-						final int x = bounds.width * col / numPaletteCols;
-						final int y = bounds.height * row / numPaletteRows;
-						final int width = Math.max(bounds.width * (col + 1) / numPaletteCols - x, 1);
-						final int height = Math.max(bounds.height * (row + 1) / numPaletteRows - y, 1);
-						e.gc.setBackground(paintColors[row * numPaletteCols + col]);
-						e.gc.fillRectangle(bounds.x + x, bounds.y + y, width, height);
-					}
-				}
-			}
-		};
-		paletteCanvas.addListener(SWT.Resize, refreshListener);
-		paletteCanvas.addListener(SWT.Paint, refreshListener);
-		//paletteCanvas.redraw();
-		
-		// toolSettingsFrame
-		gridLayout = new GridLayout();
-		gridLayout.numColumns = 4;
-		gridLayout.marginHeight = 0;
-		gridLayout.marginWidth = 0;
-		toolSettingsFrame.setLayout(gridLayout);
-
-		Label label = new Label(toolSettingsFrame, SWT.NONE);
-		label.setText(PaintPlugin.getResourceString("settings.AirbrushRadius.text"));
-
-		final Scale airbrushRadiusScale = new Scale(toolSettingsFrame, SWT.HORIZONTAL);
-		airbrushRadiusScale.setMinimum(5);
-		airbrushRadiusScale.setMaximum(50);
-		airbrushRadiusScale.setSelection(toolSettings.airbrushRadius);
-		airbrushRadiusScale.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		airbrushRadiusScale.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				toolSettings.airbrushRadius = airbrushRadiusScale.getSelection();
-				updateToolSettings();
-			}
-		});
-
-		label = new Label(toolSettingsFrame, SWT.NONE);
-		label.setText(PaintPlugin.getResourceString("settings.AirbrushIntensity.text"));
-
-		final Scale airbrushIntensityScale = new Scale(toolSettingsFrame, SWT.HORIZONTAL);
-		airbrushIntensityScale.setMinimum(1);
-		airbrushIntensityScale.setMaximum(100);
-		airbrushIntensityScale.setSelection(toolSettings.airbrushIntensity);
-		airbrushIntensityScale.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		airbrushIntensityScale.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				toolSettings.airbrushIntensity = airbrushIntensityScale.getSelection();
-				updateToolSettings();
-			}
-		});
-	}
-		
-	/**
-	 * Notifies the tool that its settings have changed.
-	 */
-	private void updateToolSettings() {
-		final PaintTool activePaintTool = paintSurface.getPaintTool();
-		if (activePaintTool == null) return;
-		
-		activePaintTool.endSession();
-		activePaintTool.set(toolSettings);
-		activePaintTool.beginSession();
-	}
-
-	/**
-	 * Sets the tool foreground color.
-	 * 
-	 * @param color the new color to use
-	 */
-	public void setForegroundColor(Color color) {
-		if (activeForegroundColorCanvas != null)
-			activeForegroundColorCanvas.setBackground(color);
-		toolSettings.commonForegroundColor = color;
-		updateToolSettings();
-	}
-
-	/**
-	 * Set the tool background color.
-	 * 
-	 * @param color the new color to use
-	 */
-	public void setBackgroundColor(Color color) {
-		if (activeBackgroundColorCanvas != null)
-			activeBackgroundColorCanvas.setBackground(color);
-		toolSettings.commonBackgroundColor = color;
-		updateToolSettings();
-	}
-
-	/**
-	 * Selects a tool given its ID.
-	 */
-	public void setPaintToolByID(String id) {
-		activeToolAction = handleRadioAction(activeToolAction, id);
-		
-		final PaintTool paintTool = (PaintTool) paintToolMap.get(id);
-		paintSurface.setPaintSession(paintTool);
-		updateToolSettings();
-	}
-	
-	/**
-	 * Selects a filltype given its ID.
-	 */
-	public void setFillTypeByID(String id) {
-		activeFillTypeAction = handleRadioAction(activeFillTypeAction, id);
-		
-		final Integer fillType = (Integer) paintFillTypeMap.get(id);
-		toolSettings.commonFillType = fillType.intValue();
-		updateToolSettings();		
-	}
-
-	/**
-	 * Selects line type given its ID.
-	 */
-	public void setLineStyleByID(String id) {
-		activeLineStyleAction = handleRadioAction(activeLineStyleAction, id);
-		
-		final Integer lineType = (Integer) paintLineStyleMap.get(id);
-		toolSettings.commonLineStyle = lineType.intValue();
-		updateToolSettings();		
-	}
-
-	/**
-	 * Gets the IAction for an ID belonging to a set of mutually exclusive actions, and
-	 * toggles the old action off if necessary.
-	 */
-	private IAction handleRadioAction(IAction oldAction, String id) {
-		IAction action = getActionByID(id);
-		if (action != null) {
-			if (oldAction != null) oldAction.setChecked(false);
-			if (! action.isChecked()) action.setChecked(true);
-			return action;
-		}
-		return oldAction;
-	}
-
-	/**
-	 * Gets the IAction representing the UI toolbar button with the specified ID.
-	 */
-	private IAction getActionByID(String id) {
-		final IActionBars actionBars = getViewSite().getActionBars();
-		IToolBarManager toolbarManager = actionBars.getToolBarManager();
-		ActionContributionItem contributionItem = (ActionContributionItem) toolbarManager.find(id);
-		if (contributionItem == null) return null;
-		return contributionItem.getAction();
-	}
-
-	/**
-	 * Returns the Display.
-	 * 
-	 * @return the display we're using
-	 */
-	public Display getDisplay() {
-		return workbenchDisplay;
-	}
-	
-	/**
-	 * Action set glue.
-	 */
-	abstract class PaintAction extends Action {
-		public PaintAction(String id) {
-			super();
-			setId(id);
-
-			try {
-				final URL installUrl = PaintPlugin.getDefault().getDescriptor().getInstallURL();
-				final URL imageUrl = new URL(installUrl, PaintPlugin.getResourceString(id + ".image"));
-				setImageDescriptor(ImageDescriptor.createFromURL(imageUrl));
-			} catch (MalformedURLException e) {
-				PaintPlugin.logError("", e);	
-			}
-
-			setText(PaintPlugin.getResourceString(id + ".label"));
-			setToolTipText(PaintPlugin.getResourceString(id + ".tooltip"));
-			setDescription(PaintPlugin.getResourceString(id + ".description"));
-		}
-	}
-	class SelectPaintToolAction extends PaintAction {
-		public SelectPaintToolAction(String id) { super(id); }
-		public int getStyle() { return IAction.AS_CHECK_BOX; }
-		public void run() { setPaintToolByID(getId()); }
-		
-	}
-	class SelectFillTypeAction extends PaintAction {
-		public SelectFillTypeAction(String id) { super(id); }
-		public int getStyle() { return IAction.AS_CHECK_BOX; }
-		public void run() { setFillTypeByID(getId()); }
-	}
-	class SelectLineStyleAction extends PaintAction {
-		public SelectLineStyleAction(String id) { super(id); }
-		public int getStyle() { return IAction.AS_CHECK_BOX; }
-		public void run() { setLineStyleByID(getId()); }
-	}
-	class SelectFontAction extends PaintAction {
-		public SelectFontAction(String id) { super(id); }
-		public int getStyle() { return IAction.AS_PUSH_BUTTON; }
-		public void run() {
-			FontDialog fontDialog = new FontDialog(paintSurface.getShell(), SWT.PRIMARY_MODAL);
-			FontData[] fontDatum = toolSettings.commonFont.getFontData();
-			if (fontDatum != null && fontDatum.length > 0) {
-				fontDialog.setFontList(fontDatum);
-			}
-			fontDialog.setText(PaintPlugin.getResourceString("options.Font.dialog.title"));
-
-			paintSurface.hideRubberband();
-			FontData fontData = fontDialog.open();
-			paintSurface.showRubberband();
-			if (fontData != null) {
-				try {
-					Font font = new Font(workbenchDisplay, fontData);
-					toolSettings.commonFont = font;
-					updateToolSettings();
-				} catch (SWTException e) {
-				}
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PencilTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PencilTool.java
deleted file mode 100755
index 08d1dab9..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PencilTool.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * A pencil tool.
- */
-public class PencilTool extends ContinuousPaintSession implements PaintTool {
-	private ToolSettings settings;
-	
-	/**
-	 * Constructs a pencil tool.
-	 * 
-	 * @param toolSettings the new tool settings
-	 * @param getPaintSurface() the PaintSurface we will render on.
-	 */
-	public PencilTool(ToolSettings toolSettings, PaintSurface paintSurface) {
-		super(paintSurface);
-		set(toolSettings);
-	}
-	
-	/**
-	 * Sets the tool's settings.
-	 * 
-	 * @param toolSettings the new tool settings
-	 */
-	public void set(ToolSettings toolSettings) {
-		settings = toolSettings;
-	}
-
-	/**
-	 * Returns the name associated with this tool.
-	 * 
-	 * @return the localized name of this tool
-	 */
-	public String getDisplayName() {
-		return PaintPlugin.getResourceString("tool.Pencil.label");
-	}
-
-	/*
-	 * Template method for drawing
-	 */
-	public void render(final Point point) {
-		final PaintSurface ps = getPaintSurface();
-		ps.drawFigure(new PointFigure(settings.commonForegroundColor, point.x, point.y));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PointFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PointFigure.java
deleted file mode 100644
index 4b85369..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PointFigure.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D Point object
- */
-public class PointFigure extends Figure {
-	private Color color;
-	private int x, y;
-	/**
-	 * Constructs a Point
-	 * 
-	 * @param color the color for this object
-	 * @param x the virtual X coordinate of the first end-point
-	 * @param y the virtual Y coordinate of the first end-point
-	 */
-	public PointFigure(Color color, int x, int y) {
-		this.color = color; this.x = x; this.y = y;
-	}
-	public void draw(FigureDrawContext fdc) {
-		Point p = fdc.toClientPoint(x, y);
-		fdc.gc.setBackground(color);
-		fdc.gc.fillRectangle(p.x, p.y, 1, 1);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		region.add(fdc.toClientRectangle(x, y, x, y));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PolyLineTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PolyLineTool.java
deleted file mode 100755
index 03d1583..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PolyLineTool.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * A polyline drawing tool.
- */
-public class PolyLineTool extends SegmentedPaintSession implements PaintTool {
-	private ToolSettings settings;
-
-	/**
-	 * Constructs a PolyLineTool.
-	 * 
-	 * @param toolSettings the new tool settings
-	 * @param paintSurface the PaintSurface we will render on.
-	 */
-	public PolyLineTool(ToolSettings toolSettings, PaintSurface paintSurface) {
-		super(paintSurface);
-		set(toolSettings);
-	}
-	
-	/**
-	 * Sets the tool's settings.
-	 * 
-	 * @param toolSettings the new tool settings
-	 */
-	public void set(ToolSettings toolSettings) {
-		settings = toolSettings;
-	}
-
-	/**
-	 * Returns the name associated with this tool.
-	 * 
-	 * @return the localized name of this tool
-	 */
-	public String getDisplayName() {
-		return PaintPlugin.getResourceString("tool.PolyLine.label");
-	}
-
-	/*
-	 * Template methods for drawing
-	 */
-	protected Figure createFigure(Point[] points, int numPoints, boolean closed) {
-		ContainerFigure container = new ContainerFigure();
-		if (closed && settings.commonFillType != ToolSettings.ftNone && numPoints >= 3) {
-			container.add(new SolidPolygonFigure(settings.commonBackgroundColor, points, numPoints));
-		}
-		if (! closed || settings.commonFillType != ToolSettings.ftSolid || numPoints < 3) {
-			for (int i = 0; i < numPoints - 1; ++i) {
-				final Point a = points[i];
-				final Point b = points[i + 1];
-				container.add(new LineFigure(settings.commonForegroundColor, settings.commonBackgroundColor, settings.commonLineStyle,
-					a.x, a.y, b.x, b.y));
-			}
-			if (closed) {
-				final Point a = points[points.length - 1];
-				final Point b = points[0];
-				container.add(new LineFigure(settings.commonForegroundColor, settings.commonBackgroundColor, settings.commonLineStyle,
-					a.x, a.y, b.x, b.y));
-			}
-		}
-		return container;
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleFigure.java
deleted file mode 100755
index 1f416f8..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleFigure.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D Rectangle object
- */
-public class RectangleFigure extends Figure {
-	private Color foregroundColor, backgroundColor;
-	private int lineStyle, x1, y1, x2, y2;
-	/**
-	 * Constructs a Rectangle
-	 * These objects are defined by any two diametrically opposing corners.
-	 * 
-	 * @param color the color for this object
-	 * @param lineStyle the line style for this object
-	 * @param x1 the virtual X coordinate of the first corner
-	 * @param y1 the virtual Y coordinate of the first corner
-	 * @param x2 the virtual X coordinate of the second corner
-	 * @param y2 the virtual Y coordinate of the second corner
-	 */
-	public RectangleFigure(Color foregroundColor, Color backgroundColor, int lineStyle, int x1, int y1, int x2, int y2) {
-		this.foregroundColor = foregroundColor;
-		this.backgroundColor = backgroundColor;
-		this.lineStyle = lineStyle;
-		this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2;
-	}
-	public void draw(FigureDrawContext fdc) {
-		Rectangle r = fdc.toClientRectangle(x1, y1, x2, y2);
-		fdc.gc.setForeground(foregroundColor);
-		fdc.gc.setBackground(backgroundColor);
-		fdc.gc.setLineStyle(lineStyle);
-		fdc.gc.drawRectangle(r.x, r.y, r.width - 1, r.height - 1);
-		fdc.gc.setLineStyle(SWT.LINE_SOLID);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		region.add(fdc.toClientRectangle(x1, y1, x2, y2));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleTool.java
deleted file mode 100755
index d9d6329..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleTool.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * A drawing tool.
- */
-public class RectangleTool extends DragPaintSession implements PaintTool {
-	private ToolSettings settings;
-
-	/**
-	 * Constructs a RectangleTool.
-	 * 
-	 * @param toolSettings the new tool settings
-	 * @param paintSurface the PaintSurface we will render on.
-	 */
-	public RectangleTool(ToolSettings toolSettings, PaintSurface paintSurface) {
-		super(paintSurface);
-		set(toolSettings);
-	}
-	
-	/**
-	 * Sets the tool's settings.
-	 * 
-	 * @param toolSettings the new tool settings
-	 */
-	public void set(ToolSettings toolSettings) {
-		settings = toolSettings;
-	}
-	
-	/**
-	 * Returns name associated with this tool.
-	 * 
-	 * @return the localized name of this tool
-	 */
-	public String getDisplayName() {
-		return PaintPlugin.getResourceString("tool.Rectangle.label");
-	}
-
-	/*
-	 * Template method for drawing
-	 */
-	protected Figure createFigure(Point a, Point b) {
-		switch (settings.commonFillType) {
-			default:
-			case ToolSettings.ftNone:
-				return new RectangleFigure(settings.commonForegroundColor, settings.commonBackgroundColor, settings.commonLineStyle,
-					a.x, a.y, b.x, b.y);
-			case ToolSettings.ftSolid:
-				return new SolidRectangleFigure(settings.commonBackgroundColor, a.x, a.y, b.x, b.y);
-			case ToolSettings.ftOutline: {
-				ContainerFigure container = new ContainerFigure();
-				container.add(new SolidRectangleFigure(settings.commonBackgroundColor, a.x, a.y, b.x, b.y));
-				container.add(new RectangleFigure(settings.commonForegroundColor, settings.commonBackgroundColor, settings.commonLineStyle,
-					a.x, a.y, b.x, b.y));
-				return container;
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java
deleted file mode 100755
index 8b62e49..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D Rectangle object
- */
-public class RoundedRectangleFigure extends Figure {
-	private Color foregroundColor, backgroundColor;
-	private int lineStyle, x1, y1, x2, y2, diameter;
-	/**
-	 * Constructs a Rectangle
-	 * These objects are defined by any two diametrically opposing corners.
-	 * 
-	 * @param color the color for this object
-	 * @param lineStyle the line style for this object
-	 * @param x1 the virtual X coordinate of the first corner
-	 * @param y1 the virtual Y coordinate of the first corner
-	 * @param x2 the virtual X coordinate of the second corner
-	 * @param y2 the virtual Y coordinate of the second corner
-	 * @param diameter the diameter of curvature of all four corners
-	 */
-	public RoundedRectangleFigure(Color foregroundColor, Color backgroundColor, int lineStyle, int x1, int y1, int x2, int y2, int diameter) {
-		this.foregroundColor = foregroundColor;
-		this.backgroundColor = backgroundColor;
-		this.lineStyle = lineStyle;
-		this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2;
-		this.diameter = diameter;
-	}
-	public void draw(FigureDrawContext fdc) {
-		Rectangle r = fdc.toClientRectangle(x1, y1, x2, y2);
-		fdc.gc.setForeground(foregroundColor);
-		fdc.gc.setBackground(backgroundColor);
-		fdc.gc.setLineStyle(lineStyle);
-		fdc.gc.drawRoundRectangle(r.x, r.y, r.width - 1, r.height - 1, diameter, diameter);
-		fdc.gc.setLineStyle(SWT.LINE_SOLID);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		region.add(fdc.toClientRectangle(x1, y1, x2, y2));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java
deleted file mode 100755
index 052bbb6..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * A drawing tool.
- */
-public class RoundedRectangleTool extends DragPaintSession implements PaintTool {
-	private ToolSettings settings;
-
-	/**
-	 * Constructs a RoundedRectangleTool.
-	 * 
-	 * @param toolSettings the new tool settings
-	 * @param paintSurface the PaintSurface we will render on.
-	 */
-	public RoundedRectangleTool(ToolSettings toolSettings, PaintSurface paintSurface) {
-		super(paintSurface);
-		set(toolSettings);
-	}
-	
-	/**
-	 * Sets the tool's settings.
-	 * 
-	 * @param toolSettings the new tool settings
-	 */
-	public void set(ToolSettings toolSettings) {
-		settings = toolSettings;
-	}
-	
-	/**
-	 * Returns name associated with this tool.
-	 * 
-	 * @return the localized name of this tool
-	 */
-	public String getDisplayName() {
-		return PaintPlugin.getResourceString("tool.RoundedRectangle.label");
-	}
-
-	/*
-	 * Template methods for drawing
-	 */
-	protected Figure createFigure(Point a, Point b) {
-		ContainerFigure container = new ContainerFigure();
-		if (settings.commonFillType != ToolSettings.ftNone)
-			container.add(new SolidRoundedRectangleFigure(settings.commonBackgroundColor,
-				a.x, a.y, b.x, b.y, settings.roundedRectangleCornerDiameter));
-		if (settings.commonFillType != ToolSettings.ftSolid)
-			container.add(new RoundedRectangleFigure(settings.commonForegroundColor, settings.commonBackgroundColor,
-				settings.commonLineStyle, a.x, a.y, b.x, b.y, settings.roundedRectangleCornerDiameter));
-		return container;
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java
deleted file mode 100755
index 342edb1..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-
-import java.util.*;
-
-/**
- * The superclass for paint tools that contruct objects from individually
- * picked segments.
- */
-public abstract class SegmentedPaintSession extends BasicPaintSession {
-	/**
-	 * The set of control points making up the segmented selection
-	 */
-	private Vector /* of Point */ controlPoints = new Vector();
-
-	/**
-	 * The previous figure (so that we can abort with right-button)
-	 */
-	private Figure previousFigure = null;
-
-	/**
-	 * The current figure (so that we can abort with right-button)
-	 */
-	private Figure currentFigure = null;
-
-	/**
-	 * Constructs a PaintSession.
-	 * 
-	 * @param paintSurface the drawing surface to use
-	 */
-	protected SegmentedPaintSession(PaintSurface paintSurface) {
-		super(paintSurface);
-	}
-
-	/**
-	 * Activates the tool.
-	 */
-	public void beginSession() {
-		getPaintSurface().setStatusMessage(PaintPlugin.getResourceString(
-			"session.SegmentedInteractivePaint.message.anchorMode"));
-		previousFigure = null;
-		currentFigure = null;
-		controlPoints.clear();
-	}
-	
-	/**
-	 * Deactivates the tool.
-     */
-	public void endSession() {
-		getPaintSurface().clearRubberbandSelection();
-		if (previousFigure != null) getPaintSurface().drawFigure(previousFigure);
-	}
-	
-	/**
-	 * Resets the tool.
-	 * Aborts any operation in progress.
-	 */
-	public void resetSession() {
-		getPaintSurface().clearRubberbandSelection();
-		if (previousFigure != null) getPaintSurface().drawFigure(previousFigure);
-		
-		getPaintSurface().setStatusMessage(PaintPlugin.getResourceString(
-			"session.SegmentedInteractivePaint.message.anchorMode"));
-		previousFigure = null;
-		currentFigure = null;
-		controlPoints.clear();
-	}
-
-	/**
-	 * Handles a mouseDown event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseDown(MouseEvent event) {
-		if (event.button != 1) return;
-
-		getPaintSurface().setStatusMessage(PaintPlugin.getResourceString(
-			"session.SegmentedInteractivePaint.message.interactiveMode"));
-		previousFigure = currentFigure;
-
-		if (controlPoints.size() > 0) {
-			final Point lastPoint = (Point) controlPoints.elementAt(controlPoints.size() - 1);
-			if (lastPoint.x == event.x || lastPoint.y == event.y) return; // spurious event
-		}
-		controlPoints.add(new Point(event.x, event.y));
-	}
-
-	/**
-	 * Handles a mouseDoubleClick event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseDoubleClick(MouseEvent event) {
-		if (event.button != 1) return;
-		if (controlPoints.size() >= 2) {
-			getPaintSurface().clearRubberbandSelection();
-			previousFigure = createFigure(
-				(Point[]) controlPoints.toArray(new Point[controlPoints.size()]),
-				controlPoints.size(), true);
-		}
-		resetSession();
-	}
-
-	/**
-	 * Handles a mouseUp event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseUp(MouseEvent event) {
-		if (event.button != 1) {
-			resetSession(); // abort if right or middle mouse button pressed
-			return;
-		}
-	}
-	
-	/**
-	 * Handles a mouseMove event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseMove(MouseEvent event) {
-		final PaintSurface ps = getPaintSurface();
-		if (controlPoints.size() == 0) {
-			ps.setStatusCoord(ps.getCurrentPosition());
-			return; // spurious event
-		} else {
-			ps.setStatusCoordRange((Point) controlPoints.elementAt(controlPoints.size() - 1),
-				ps.getCurrentPosition());
-		}
-
-		ps.clearRubberbandSelection();
-		Point[] points = (Point[]) controlPoints.toArray(new Point[controlPoints.size() + 1]);
-		points[controlPoints.size()] = ps.getCurrentPosition();
-		currentFigure = createFigure(points, points.length, false);
-		ps.addRubberbandSelection(currentFigure);
-	}	
-
-	/**
-	 * Template Method: Creates a Figure for drawing rubberband entities and the final product
-	 * 
-	 * @param points the array of control points
-	 * @param numPoints the number of valid points in the array (n >= 2)
-	 * @param closed true if the user double-clicked on the final control point
-	 */
-	protected abstract Figure createFigure(Point[] points, int numPoints, boolean closed);
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java
deleted file mode 100755
index e23263d..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D Solid Ellipse object
- */
-public class SolidEllipseFigure extends Figure {
-	private Color color;
-	private int x1, y1, x2, y2;
-	/**
-	 * Constructs a SolidEllipse
-	 * These objects are defined by any two diametrically opposing corners of a box
-	 * bounding the ellipse.
-	 * 
-	 * @param color the color for this object
-	 * @param x1 the virtual X coordinate of the first corner
-	 * @param y1 the virtual Y coordinate of the first corner
-	 * @param x2 the virtual X coordinate of the second corner
-	 * @param y2 the virtual Y coordinate of the second corner
-	 */
-	public SolidEllipseFigure(Color color, int x1, int y1, int x2, int y2) {
-		this.color = color; this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2;
-	}
-	public void draw(FigureDrawContext fdc) {
-		Rectangle r = fdc.toClientRectangle(x1, y1, x2, y2);
-		fdc.gc.setBackground(color);
-		fdc.gc.fillOval(r.x, r.y, r.width, r.height);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		region.add(fdc.toClientRectangle(x1, y1, x2, y2));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java
deleted file mode 100755
index a5aca3d..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D Line object
- */
-public class SolidPolygonFigure extends Figure {
-	private Color color;
-	private int[] points;
-	/**
-	 * Constructs a SolidPolygon
-	 * These objects are defined by a sequence of vertices.
-	 * 
-	 * @param color the color for this object
-	 * @param vertices the array of vertices making up the polygon
-	 * @param numPoint the number of valid points in the array (n >= 3)
-	 */
-	public SolidPolygonFigure(Color color, Point[] vertices, int numPoints) {
-		this.color = color;
-		this.points = new int[numPoints * 2];
-		for (int i = 0; i < numPoints; ++i) {
-			points[i * 2] = vertices[i].x;
-			points[i * 2 + 1] = vertices[i].y;
-		}
-	}
-	public void draw(FigureDrawContext fdc) {
-		int[] drawPoints = new int[points.length];
-		for (int i = 0; i < points.length; i += 2) {
-			drawPoints[i] = points[i] * fdc.xScale - fdc.xOffset;
-			drawPoints[i + 1] = points[i + 1] * fdc.yScale - fdc.yOffset;
-		}
-		fdc.gc.setBackground(color);
-		fdc.gc.fillPolygon(drawPoints);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		int xmin = Integer.MAX_VALUE, ymin = Integer.MAX_VALUE;
-		int xmax = Integer.MIN_VALUE, ymax = Integer.MIN_VALUE;
-
-		for (int i = 0; i < points.length; i += 2) {
-			if (points[i] < xmin) xmin = points[i];
-			if (points[i] > xmax) xmax = points[i];
-			if (points[i+1] < ymin) ymin = points[i+1];
-			if (points[i+1] > ymax) ymax = points[i+1];
-		}		
-		region.add(fdc.toClientRectangle(xmin, ymin, xmax, ymax));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java
deleted file mode 100755
index 608a58c..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D SolidRectangle object
- */
-public class SolidRectangleFigure extends Figure {
-	private Color color;
-	private int x1, y1, x2, y2;
-	/**
-	 * Constructs a SolidRectangle
-	 * These objects are defined by any two diametrically opposing corners.
-	 * 
-	 * @param color the color for this object
-	 * @param x1 the virtual X coordinate of the first corner
-	 * @param y1 the virtual Y coordinate of the first corner
-	 * @param x2 the virtual X coordinate of the second corner
-	 * @param y2 the virtual Y coordinate of the second corner
-	 */
-	public SolidRectangleFigure(Color color, int x1, int y1, int x2, int y2) {
-		this.color = color; this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2;
-	}
-	public void draw(FigureDrawContext fdc) {
-		Rectangle r = fdc.toClientRectangle(x1, y1, x2, y2);
-		fdc.gc.setBackground(color);
-		fdc.gc.fillRectangle(r.x, r.y, r.width, r.height);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		region.add(fdc.toClientRectangle(x1, y1, x2, y2));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java
deleted file mode 100755
index 7b4146a..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D SolidRectangle object
- */
-public class SolidRoundedRectangleFigure extends Figure {
-	private Color color;
-	private int x1, y1, x2, y2, diameter;
-	/**
-	 * Constructs a SolidRectangle
-	 * These objects are defined by any two diametrically opposing corners.
-	 * 
-	 * @param color the color for this object
-	 * @param x1 the virtual X coordinate of the first corner
-	 * @param y1 the virtual Y coordinate of the first corner
-	 * @param x2 the virtual X coordinate of the second corner
-	 * @param y2 the virtual Y coordinate of the second corner
-	 * @param diameter the diameter of curvature of all four corners
-	 */
-	public SolidRoundedRectangleFigure(Color color, int x1, int y1, int x2, int y2, int diameter) {
-		this.color = color; this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2;
-		this.diameter = diameter;
-	}
-	public void draw(FigureDrawContext fdc) {
-		Rectangle r = fdc.toClientRectangle(x1, y1, x2, y2);
-		fdc.gc.setBackground(color);
-		fdc.gc.fillRoundRectangle(r.x, r.y, r.width, r.height, diameter, diameter);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		region.add(fdc.toClientRectangle(x1, y1, x2, y2));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextFigure.java
deleted file mode 100755
index cdb8929..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextFigure.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D Rectangle object
- */
-public class TextFigure extends Figure {
-	private Color  color;
-	private Font   font;
-	private String text;
-	private int x, y;
-	/**
-	 * Constructs a TextFigure
-	 * 
-	 * @param color the color for this object
-	 * @param font  the font for this object
-	 * @param text  the text to draw, tab and new-line expansion is performed
-	 * @param x     the virtual X coordinate of the top-left corner of the text bounding box
-	 * @param y     the virtual Y coordinate of the top-left corner of the text bounding box
-	 */
-	public TextFigure(Color color, Font font, String text, int x, int y) {
-		this.color = color; this.font = font; this.text = text; this.x = x; this.y = y;
-	}
-	public void draw(FigureDrawContext fdc) {
-		Point p = fdc.toClientPoint(x, y);
-		fdc.gc.setFont(font);
-		fdc.gc.setForeground(color);
-		fdc.gc.drawText(text, p.x, p.y, true);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		Font oldFont = fdc.gc.getFont();
-		fdc.gc.setFont(font);
-		Point textExtent = fdc.gc.textExtent(text);
-		fdc.gc.setFont(oldFont);
-		region.add(fdc.toClientRectangle(x, y, x + textExtent.x, y + textExtent.y));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextTool.java
deleted file mode 100755
index b580796..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextTool.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.swt.events.*;
-
-/**
- * A text drawing tool.
- */
-public class TextTool extends BasicPaintSession implements PaintTool {
-	private ToolSettings settings;
-	private String drawText = PaintPlugin.getResourceString("tool.Text.settings.defaulttext");
-
-	/**
-	 * Constructs a PaintTool.
-	 * 
-	 * @param toolSettings the new tool settings
-	 * @param paintSurface the PaintSurface we will render on.
-	 */
-	public TextTool(ToolSettings toolSettings, PaintSurface paintSurface) {
-		super(paintSurface);
-		set(toolSettings);
-	}
-	
-	/**
-	 * Sets the tool's settings.
-	 * 
-	 * @param toolSettings the new tool settings
-	 */
-	public void set(ToolSettings toolSettings) {
-		settings = toolSettings;
-	}
-	
-	/**
-	 * Returns name associated with this tool.
-	 * 
-	 * @return the localized name of this tool
-	 */
-	public String getDisplayName() {
-		return PaintPlugin.getResourceString("tool.Text.label");
-	}
-	
-	/**
-	 * Activates the tool.
-	 */
-	public void beginSession() {
-		getPaintSurface().setStatusMessage(PaintPlugin.getResourceString(
-			"session.Text.message"));
-	}
-	
-	/**
-	 * Deactivates the tool.
-     */
-	public void endSession() {
-		getPaintSurface().clearRubberbandSelection();
-	}
-	
-	/**
-	 * Aborts the current operation.
-	 */
-	public void resetSession() {
-		getPaintSurface().clearRubberbandSelection();
-	}
-	
-	/**
-	 * Handles a mouseDown event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseDown(MouseEvent event) {
-		if (event.button == 1) {
-			// draw with left mouse button
-			getPaintSurface().commitRubberbandSelection();
-		} else {
-			// set text with right mouse button
-			getPaintSurface().clearRubberbandSelection();
-			InputDialog inputDialog = new InputDialog(getPaintSurface().getShell(),
-				PaintPlugin.getResourceString("tool.Text.dialog.title"),
-				PaintPlugin.getResourceString("tool.Text.dialog.message"),
-				drawText, null);
-			inputDialog.setBlockOnOpen(true);
-			inputDialog.open();
-			if (inputDialog.getReturnCode() == InputDialog.OK) drawText = inputDialog.getValue();
-			inputDialog.close();
-		}	
-	}
-
-	/**
-	 * Handles a mouseDoubleClick event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseDoubleClick(MouseEvent event) {
-	}
-
-	/**
-	 * Handles a mouseUp event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseUp(MouseEvent event) {
-	}
-	
-	/**
-	 * Handles a mouseMove event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseMove(MouseEvent event) {
-		final PaintSurface ps = getPaintSurface();
-		ps.setStatusCoord(ps.getCurrentPosition());
-		ps.clearRubberbandSelection();
-		ps.addRubberbandSelection(
-			new TextFigure(settings.commonForegroundColor, settings.commonFont,
-				drawText, event.x, event.y));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ToolSettings.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ToolSettings.java
deleted file mode 100755
index 02fb877..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ToolSettings.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.paint;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * Tool Settings objects group tool-related configuration information.
- */
-public class ToolSettings {
-	public static final int ftNone = 0, ftOutline = 1, ftSolid = 2;
-
-	/**
-	 * commonForegroundColor: current tool foreground colour
-	 */
-	public Color commonForegroundColor;
-
-	/**
-	 * commonBackgroundColor: current tool background colour
-	 */
-	public Color commonBackgroundColor;
-
-	/**
-	 * commonFont: current font
-	 */
-	public Font commonFont;
-
-	/**
-	 * commonFillType: current fill type
-	 * <p>One of ftNone, ftOutline, ftSolid.</p>
-	 */
-	public int commonFillType = ftNone;
-
-	/**
-	 * commonLineStyle: current line type
-	 */
-	public int commonLineStyle = SWT.LINE_SOLID;
-	
-	/**
-	 * airbrushRadius: coverage radius in pixels
-	 */
-	public int airbrushRadius = 10;
-	
-	/**
-	 * airbrushIntensity: average surface area coverage in region defined by radius per "jot"
-	 */
-	public int airbrushIntensity = 30;
-	
-	/**
-	 * roundedRectangleCornerDiameter: the diameter of curvature of corners in a rounded rectangle
-	 */
-	public int roundedRectangleCornerDiameter = 16;
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/.classpath b/examples/org.eclipse.swt.opengl.examples/.classpath
deleted file mode 100644
index 8437e3b..0000000
--- a/examples/org.eclipse.swt.opengl.examples/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="src"/>
-    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-    <classpathentry kind="src" path="/org.eclipse.swt.opengl"/>
-    <classpathentry kind="src" path="/org.eclipse.swt"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.swt.opengl.examples/.project b/examples/org.eclipse.swt.opengl.examples/.project
deleted file mode 100644
index 9112e8e..0000000
--- a/examples/org.eclipse.swt.opengl.examples/.project
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.opengl.examples</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.swt</project>
-		<project>org.eclipse.swt.opengl</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AntialiasingTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AntialiasingTab.java
deleted file mode 100644
index 78a1fbb..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AntialiasingTab.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.opengl.*;
-import org.eclipse.swt.widgets.*;
-
-class AntialiasingTab extends OpenGLTab {
-	private Button antiAliasButton;
-	private float xPos = 0.0f, yPos = 0.0f, zPos = -6.0f;
-	
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		Group movementGroup = new Group(composite, SWT.NONE);
-		movementGroup.setText("Translation");
-		movementGroup.setLayout(new GridLayout(2, false));
-
-		new Label(movementGroup, SWT.NONE).setText("X:");
-		final Slider xMove = new Slider(movementGroup, SWT.NONE);
-		xMove.setIncrement(1);
-		xMove.setMaximum(12);
-		xMove.setMinimum(0);
-		xMove.setThumb(2);
-		xMove.setPageIncrement(2);
-		xMove.setSelection(5);
-		xMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xPos = xMove.getSelection() - 5;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Y:");
-		final Slider yMove = new Slider(movementGroup, SWT.NONE);
-		yMove.setIncrement(1);
-		yMove.setMaximum(12);
-		yMove.setMinimum(0);
-		yMove.setThumb(2);
-		yMove.setPageIncrement(2);
-		yMove.setSelection(5);
-		yMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yPos = yMove.getSelection() - 5;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Z:");
-		final Slider zMove = new Slider(movementGroup, SWT.NONE);
-		zMove.setIncrement(1);
-		zMove.setMaximum(12);
-		zMove.setMinimum(0);
-		zMove.setThumb(2);
-		zMove.setPageIncrement(2);
-		zMove.setSelection(5);
-		zMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zPos = zMove.getSelection() - 11;
-			}
-		});
-
-		antiAliasButton = new Button(composite, SWT.CHECK);
-		antiAliasButton.setText("Anti-Aliasing");
-		antiAliasButton.setSelection(true);
-		antiAliasButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (antiAliasButton.getSelection()) {
-					GL.glEnable(GL.GL_LINE_SMOOTH);
-				} else {
-					GL.glDisable(GL.GL_LINE_SMOOTH);
-				}
-			}
-		});
-		
-		ColorSelectionGroup colorGroup =
-			new ColorSelectionGroup(composite, SWT.NONE);
-		colorGroup.setText("Foreground color");
-		colorGroup.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				GL.glColor3ub((byte) rgb.red, (byte) rgb.green, (byte) rgb.blue);
-			}
-		});
-	}
-
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GL.glDeleteLists(1, 1);
-	}
-
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Anti-aliasing";
-	}
-
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		final float[] BEZIER_POINTS = {
-			-1.5f, -1.5f, 4.0f, -0.5f, -1.5f, 2.0f, 0.5f, -1.5f,
-			-1.0f, 1.5f, -1.5f, 2.0f, -1.5f, -0.5f, 1.0f, -0.5f,
-			-0.5f, 3.0f, 0.5f, -0.5f, 0.0f, 1.5f, -0.5f, -1.0f,
-			-1.5f, 0.5f, 4.0f, -0.5f, 0.5f, 0.0f, 0.5f, 0.5f,
-			3.0f, 1.5f, 0.5f, 4.0f, -1.5f, 1.5f, -2.0f, -0.5f,
-			1.5f, -2.0f, 0.5f, 1.5f, 0.0f, 1.5f, 1.5f, -1.0f,
-		};
-		GL.glHint(GL.GL_LINE_SMOOTH_HINT, GL.GL_NICEST);
-		GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-		GL.glMap2f(GL.GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, BEZIER_POINTS);
-		GL.glMapGrid2f(30, 0.0f, 1.0f, 30, 0.0f, 1.0f);
-
-		GL.glEnable(GL.GL_AUTO_NORMAL);
-		GL.glEnable(GL.GL_LINE_SMOOTH);
-		GL.glEnable(GL.GL_LINE_STIPPLE);
-		GL.glEnable(GL.GL_BLEND);
-		GL.glEnable(GL.GL_MAP2_VERTEX_3);
-
-		// create display lists
-		GL.glNewList(1, GL.GL_COMPILE);
-		GL.glEvalMesh2(GL.GL_LINE, 0, 30, 0, 30);
-		GL.glEndList();
-	}
-
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(GL.GL_COLOR_BUFFER_BIT);
-		GL.glLoadIdentity();
-		GL.glTranslatef(xPos, yPos, zPos);
-		GL.glCallList(1);	// draw the beizer surface
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AreaTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AreaTab.java
deleted file mode 100644
index 5c6ffab..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AreaTab.java
+++ /dev/null
@@ -1,434 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.opengl.*;
-import org.eclipse.swt.widgets.*;
-
-class AreaTab extends OpenGLTab {
-	abstract class Shape {
-		abstract void draw();
-	}
-	class State {
-		private String name;
-		private int index;
-		/**
-		 * Constructor.
-		 * 
-		 * @param name the display name of this state
-		 * @param index the display list index corresponding to this state
-		 */
-		State (String name, int index) {
-			super();
-			this.index = index;
-			this.name = name;
-		}
-		void display() {
-			GL.glCallList(index);
-		}
-		void dispose() {
-			GL.glDeleteLists(index, 1);
-		}
-		String getName() {
-			return name;
-		}
-	}
-
-	private State[] states;
-	private State currentState;
-	private float xPos = 0.0f, yPos = 0.0f, zPos = -30.0f;
-	private float xRot = 90.0f, yRot = 0.0f, zRot = 0.0f;
-	private int quadratic, disk;
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		Group movementGroup = new Group(composite, SWT.NONE);
-		movementGroup.setText("Translation");
-		movementGroup.setLayout(new GridLayout(2, false));
-
-		new Label(movementGroup, SWT.NONE).setText("X:");
-		final Slider xMove = new Slider(movementGroup, SWT.NONE);
-		xMove.setIncrement(1);
-		xMove.setMaximum(22);
-		xMove.setMinimum(0);
-		xMove.setThumb(2);
-		xMove.setPageIncrement(2);
-		xMove.setSelection(10);
-		xMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xPos = xMove.getSelection() - 10;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Y:");
-		final Slider yMove = new Slider(movementGroup, SWT.NONE);
-		yMove.setIncrement(1);
-		yMove.setMaximum(22);
-		yMove.setMinimum(0);
-		yMove.setThumb(2);
-		yMove.setPageIncrement(2);
-		yMove.setSelection(10);
-		yMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yPos = yMove.getSelection() - 10;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Z:");
-		final Slider zMove = new Slider(movementGroup, SWT.NONE);
-		zMove.setIncrement(1);
-		zMove.setMaximum(22);
-		zMove.setMinimum(0);
-		zMove.setThumb(2);
-		zMove.setPageIncrement(2);
-		zMove.setSelection(10);
-		zMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zPos = zMove.getSelection() - 40;
-			}
-		});
-
-		Group rotationGroup = new Group(composite, SWT.NONE);
-		rotationGroup.setText("Rotation");
-		rotationGroup.setLayout(new GridLayout(2, false));
-
-		new Label(rotationGroup, SWT.NONE).setText("X:");
-		final Slider xRotation = new Slider(rotationGroup, SWT.NONE);
-		xRotation.setIncrement(10);
-		xRotation.setMaximum(362);
-		xRotation.setMinimum(0);
-		xRotation.setThumb(2);
-		xRotation.setPageIncrement(20);
-		xRotation.setSelection(90);
-		xRotation.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xRot = xRotation.getSelection();
-			}
-		});
-
-		new Label(rotationGroup, SWT.NONE).setText("Y:");
-		final Slider yRotation = new Slider(rotationGroup, SWT.NONE);
-		yRotation.setIncrement(10);
-		yRotation.setMaximum(362);
-		yRotation.setMinimum(0);
-		yRotation.setThumb(2);
-		yRotation.setPageIncrement(20);
-		yRotation.setSelection(0);
-		yRotation.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yRot = yRotation.getSelection();
-			}
-		});
-
-		new Label(rotationGroup, SWT.NONE).setText("Z:");
-		final Slider zRotation = new Slider(rotationGroup, SWT.NONE);
-		zRotation.setIncrement(10);
-		zRotation.setMaximum(362);
-		zRotation.setMinimum(0);
-		zRotation.setThumb(2);
-		zRotation.setPageIncrement(20);
-		zRotation.setSelection(0);
-		zRotation.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zRot = zRotation.getSelection();
-			}
-		});
-
-		Composite optionsGroup = new Composite(composite, SWT.NONE);
-		GridLayout layout = new GridLayout(2, false);
-		layout.marginWidth = 0;
-		optionsGroup.setLayout(layout);
-
-		new Label(optionsGroup, SWT.NONE).setText("Shape:");
-
-		final Combo statesCombo = new Combo(optionsGroup, SWT.READ_ONLY);
-		for (int i = 0; i < states.length; i++) {
-			statesCombo.add(states[i].getName());
-		}
-		statesCombo.select(0);
-		statesCombo.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				currentState = states[statesCombo.getSelectionIndex()];
-			}
-		});
-
-		final Button lightsButton = new Button(composite, SWT.CHECK);
-		lightsButton.setText("Lights");
-		lightsButton.setSelection(true);
-		lightsButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (lightsButton.getSelection()) {
-					GL.glEnable(GL.GL_LIGHTING);
-				} else {
-					GL.glDisable(GL.GL_LIGHTING);
-				}
-			}
-		});
-	}
-
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GLU.gluDeleteQuadric(quadratic);
-		GLU.gluDeleteQuadric(disk);
-		if (states != null) {
-			for (int i = 0; i < states.length; i++) {
-				states [i].dispose();
-			}
-		}
-	}
-
-	/**
-	 * Draws the logical AND of two shapes.
-	 *
-	 * @param a shape A
-	 * @param b shape B
-	 */
-	void drawAandB(Shape a, Shape b) {
-		// draw parts of B that are inside A
-		drawAinsideB(a, b, GL.GL_BACK, GL.GL_NOTEQUAL);
-		// we do not want the following to show up
-		GL.glColorMask(false, false, false, false);
-		// turn on depth testing
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		GL.glDepthFunc(GL.GL_ALWAYS);
-		// render the front face of B
-		b.draw();
-		// reset the depth function
-		GL.glDepthFunc(GL.GL_LESS);
-		// draw parts of A that are inside B
-		drawAinsideB(b, a, GL.GL_BACK, GL.GL_NOTEQUAL);
-	}
-
-	/**
-	 * Draws the contents of one shape that appear within another.
-	 *
-	 * @param a the shape to draw
-	 * @param b the constraining shape
-	 * @param face
-	 * @param test
-	 */
-	void drawAinsideB(Shape a, Shape b, int face, int test) {
-		// turn off the color buffer
-		GL.glColorMask(false, false, false, false);
-		// clear the stencil buffer
-		GL.glClearStencil(0);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		// set to proper Culling
-		GL.glCullFace(face);
-		// render shape A
-		a.draw();
-		// set depth mask
-		GL.glDepthMask(false);
-		// enable stencil test
-		GL.glEnable(GL.GL_STENCIL_TEST);
-		GL.glStencilFunc(GL.GL_ALWAYS, 0, 0);
-		// set the stencil buffer to increment if the depth test passes
-		GL.glStencilOp(GL.GL_KEEP, GL.GL_KEEP, GL.GL_INCR);
-		// turn on back face culling
-		GL.glCullFace(GL.GL_BACK);
-		// render B
-		b.draw();
-		// set the stencil buffer to decrement if the depth test passes
-		GL.glStencilOp(GL.GL_KEEP, GL.GL_KEEP, GL.GL_DECR);
-		// cull the front face
-		GL.glCullFace(GL.GL_FRONT);
-		// render B again
-		b.draw();
-		// set depth mask
-		GL.glDepthMask(true);
-		GL.glColorMask(true, true, true, true);
-		// set the stencil buffer
-		GL.glStencilFunc(test, 0, 1);
-		// turn off depth testing
-		GL.glDisable(GL.GL_DEPTH_TEST);
-		// set to proper culling
-		GL.glCullFace(face);
-		// render A
-		a.draw();
-		// disable stencil test
-		GL.glDisable(GL.GL_STENCIL_TEST);
-	}
-
-	/**
-	 * Draws the logical OR of two shapes.
-	 *
-	 * @param a shape A
-	 * @param b shape B
-	 */
-	void drawAorB(Shape a, Shape b) {
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		a.draw();
-		b.draw();
-		GL.glDisable(GL.GL_DEPTH_TEST);
-	}
-
-	/**
-	 * Draws one shape subtracted from another.
-	 *
-	 * @param a the base shape
-	 * @param b the shape to subtract
-	 */
-	void drawAsubB(Shape a, Shape b) {
-		// draw back parts of B inside A
-		drawAinsideB(b, a, GL.GL_FRONT, GL.GL_NOTEQUAL);
-		// we do not want the following to show up
-		GL.glColorMask(false, false, false, false);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		// change the depth test to GL_ALWAYS
-		GL.glDepthFunc(GL.GL_ALWAYS);
-		// render the front face of B
-		a.draw();
-		// reset the depth function
-		GL.glDepthFunc(GL.GL_LESS);
-		// draw front parts of A outside B
-		drawAinsideB(a, b, GL.GL_BACK, GL.GL_EQUAL);
-	}
-
-	/**
-	 * Draws the specifed shape.
-	 * 
-	 * @param shape the shape to draw
-	 */
-	void drawShape(Shape shape) {
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		shape.draw();
-		GL.glDisable(GL.GL_DEPTH_TEST);
-	}
-
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Area";
-	}
-	
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		if (!hasStencilSupport()) return;
-		
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		float[] lightPos = { 0.0f, 5.0f, -10.0f, 1.0f };
-		GL.glLightfv(GL.GL_LIGHT0, GL.GL_POSITION, lightPos);
-		quadratic = GLU.gluNewQuadric();
-		disk = GLU.gluNewQuadric();
-	
-		GL.glEnable(GL.GL_CULL_FACE);
-		GL.glEnable(GL.GL_LIST_MODE);
-		GL.glEnable(GL.GL_LIGHT0);
-		GL.glEnable(GL.GL_LIGHTING);
-		GL.glLightModeli(GL.GL_LIGHT_MODEL_TWO_SIDE, GL.GL_TRUE);
-
-		final float[] sphereMaterial = { 0.0f, 1.0f, 0.0f, 1.0f };
-		final float[] cylinderMaterial = { 1.0f, 0.0f, 0.0f, 1.0f };
-
-		Shape sphere = new Shape() {
-			public void draw() {
-				GL.glMaterialfv(
-					GL.GL_FRONT_AND_BACK,
-					GL.GL_AMBIENT_AND_DIFFUSE,
-					sphereMaterial);
-				GL.glColor3f(0.0f, 1.0f, 0.0f);
-				GLU.gluSphere(quadratic, 3, 32, 32);
-			}
-		};
-		Shape cylinder = new Shape() {
-			public void draw() {
-				GL.glMaterialfv(
-					GL.GL_FRONT_AND_BACK,
-					GL.GL_AMBIENT_AND_DIFFUSE,
-					cylinderMaterial);
-				GL.glColor3f(1.0f, 0.0f, 0.0f);
-				GLU.gluQuadricOrientation(disk, GLU.GLU_INSIDE);
-				GL.glPushMatrix();
-				GL.glTranslatef(1.0f, 1.0f, 0.0f);
-				GLU.gluDisk(disk, 0, 3, 32, 32);
-				GLU.gluCylinder(quadratic, 3, 3, 6, 32, 32);
-				GL.glPushMatrix();
-				GL.glTranslatef(0.0f, 0.0f, 6.0f);
-				GLU.gluQuadricOrientation(disk, GLU.GLU_OUTSIDE);
-				GLU.gluDisk(disk, 0, 3, 32, 32);
-				GL.glPopMatrix();
-				GL.glPopMatrix();
-			}
-		};
-
-		// create the display lists and states
-		states = new State[6];
-		int index = 1;
-		
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawShape(cylinder);
-		GL.glEndList();
-		states[0] = new State("Cylinder",index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawShape(sphere);
-		GL.glEndList();
-		states[1] = new State("Sphere",index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawAorB(cylinder, sphere);
-		GL.glEndList();
-		states[2] = new State("Cylinder OR Sphere",index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawAandB(cylinder, sphere);
-		GL.glEndList();
-		states[3] = new State("Cylinder AND Sphere",index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawAsubB(cylinder, sphere);
-		GL.glEndList();
-		states[4] = new State("Cylinder SUB Sphere",index++);
-		
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawAsubB(sphere, cylinder);
-		GL.glEndList();
-		states[5] = new State("Sphere SUB Cylinder",index++);
-
-		currentState = states[0];
-	}
-	
-	/**
-	 * @see OpenGLTab#isStencilSupportNeeded
-	 */
-	boolean isStencilSupportNeeded() {
-		return true;
-	}
-
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(
-			GL.GL_COLOR_BUFFER_BIT
-				| GL.GL_DEPTH_BUFFER_BIT
-				| GL.GL_STENCIL_BUFFER_BIT);
-
-		GL.glLoadIdentity();
-		GL.glTranslatef(xPos, yPos, zPos);
-		GL.glRotatef(xRot, 1.0f, 0.0f, 0.0f);
-		GL.glRotatef(yRot, 0.0f, 1.0f, 0.0f);
-		GL.glRotatef(zRot, 0.0f, 0.0f, 1.0f);
-
-		currentState.display();
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/BezierTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/BezierTab.java
deleted file mode 100644
index e66b841..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/BezierTab.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.opengl.*;
-import org.eclipse.swt.widgets.*;
-
-class BezierTab extends SelectionTab {
-	private boolean showCtrlPoints = true;
-	private Point offset;
-	private int currentPoint = -1;
-	private int lineDivisions = 30;
-	private double[][] ctrlPts = {
-		{	1.5, 0.5, 0.0, 0.6, 0.9, 0.0, 0.85, 0.12,
-			0.0, 1.1, 1.0, 0.0, 0.53, 1.4, 0.0
-		},
-		{	0.53, 1.4, 0.0, 1.03, 1.87, 0.0, 1.52, 0.26,
-			0.0, 1.86, 0.43, 0.0, 1.5, 0.5, 0.0
-		}
-	};
-	private static final int LENGTH = 5;
-	private static final int[][] PICK_NAMES = {
-		{ 1, 2, 3, 4, 5 },
-		{ 6, 7, 8, 9, 10 }
-	};
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		new Label(composite, SWT.NONE).setText("Click and drag points to adjust shape.");
-		new Label(composite, SWT.NONE).setText("Line division count:");
-		final Slider divisions = new Slider(composite, SWT.NONE);
-		divisions.setIncrement(1);
-		divisions.setMaximum(52);
-		divisions.setMinimum(1);
-		divisions.setThumb(2);
-		divisions.setPageIncrement(2);
-		divisions.setSelection(30);
-		divisions.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				lineDivisions = divisions.getSelection();
-			}
-		});
-		
-		final Button showPointsButton = new Button(composite, SWT.CHECK);
-		showPointsButton.setText("Show Points");
-		showPointsButton.setSelection(true);
-		showPointsButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				showCtrlPoints = showPointsButton.getSelection();
-			}
-		});
-		
-		final Button blendButton = new Button(composite, SWT.CHECK);
-		blendButton.setText("Blend");
-		blendButton.setSelection(true);
-		blendButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (blendButton.getSelection()) {
-					GL.glEnable(GL.GL_BLEND);
-				} else {
-					GL.glDisable(GL.GL_BLEND);
-				}
-			}
-		});
-		
-		final Button smoothLineButton = new Button(composite, SWT.CHECK);
-		smoothLineButton.setText("Smooth Line");
-		smoothLineButton.setSelection(true);
-		smoothLineButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (smoothLineButton.getSelection()) {
-					GL.glEnable(GL.GL_LINE_SMOOTH);
-				} else {
-					GL.glDisable(GL.GL_LINE_SMOOTH);
-				}
-			}
-		});
-		
-		final Canvas glCanvas = getGlCanvas();
-		glCanvas.addMouseListener(new MouseAdapter() {
-			public void mouseUp(MouseEvent e) {
-				offset = null;
-			}
-
-		});
-		
-		glCanvas.addListener(SWT.MouseDown, new Listener() {
-			public void handleEvent(Event e) {
-				e.y = glCanvas.getClientArea().height - e.y;
-				if (e.button == 1) {
-					if (processSelection(e.x, e.y, 10) > 0) {
-						offset = new Point(e.x, e.y);
-					} else {
-						currentPoint = 0;
-					}
-				}
-			}
-		});
-		
-		glCanvas.addListener(SWT.MouseMove, new Listener() {
-			public void handleEvent(Event e) {
-				if (offset == null) return;
-				int currentSegment = (currentPoint - 1) / LENGTH;
-				int current = (currentPoint - 1) * 3;
-				if (currentPoint > LENGTH) {
-					current = (currentPoint - 6) * 3;
-				}
-				Rectangle rect = glCanvas.getClientArea();
-				e.y = rect.height - e.y;
-				if (0 < e.x && e.x < rect.width && 0 < e.y && e.y < rect.height && currentPoint > 0) {
-					ctrlPts[currentSegment][current] = (float) e.x / (float) 200;
-					ctrlPts[currentSegment][current + 1] = (float) e.y / (float) 200;
-					switch (currentPoint) {
-						case 10 :
-							ctrlPts[0][0] = (float) e.x / (float) 200;
-							ctrlPts[0][1] = (float) e.y / (float) 200;
-							break;
-						case 6 :
-							ctrlPts[0][12] = (float) e.x / (float) 200;
-							ctrlPts[0][13] = (float) e.y / (float) 200;
-							break;
-					}
-				}
-			}
-		});
-	}
-	
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Bezier";
-	}
-	
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glHint(GL.GL_LINE_SMOOTH_HINT, GL.GL_NICEST);
-		GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-		GL.glPointSize(7.0f);
-		GL.glLineWidth(4.0f);
-
-		GL.glEnable(GL.GL_AUTO_NORMAL);
-		GL.glEnable(GL.GL_MAP1_VERTEX_3);
-		GL.glEnable(GL.GL_LINE_SMOOTH);
-		GL.glEnable(GL.GL_BLEND);
-	}
-	
-	/**
-	 * @see SelectionTab.processPick (int[], int)
-	 */
-	void processPick(int[] pSelectBuff, int hits) {
-		int counter = 0;
-		currentPoint = 0;
-		for (int i = 0; i < hits; i++) {
-			int count = pSelectBuff[counter];
-			counter += 3;
-			for (int j = 0; j < count; j++) {
-				currentPoint = pSelectBuff[counter];
-				counter++;
-			}
-		}
-	}
-	
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-		GL.glLoadIdentity();
-		GL.glTranslatef(-1.0f, -1.0f, -2.45f);
-		GL.glColor3f(0.0f, 0.0f, 1.0f);
-		for (int i = 0; i < ctrlPts.length; i++) {
-			GL.glMapGrid1d(lineDivisions, 0.0f, 1f);
-			GL.glMap1d(GL.GL_MAP1_VERTEX_3, 0, 1, 3, LENGTH, ctrlPts[i]);
-			GL.glEvalMesh1(GL.GL_LINE, 0, lineDivisions);
-		}
-		if (showCtrlPoints) {
-			GL.glPushName(0);
-			for (int j = 0; j < ctrlPts.length; j++) {
-				for (int i = 0; i < LENGTH * 3; i += 3) {
-					GL.glLoadName(PICK_NAMES[j][i / 3]);
-					GL.glBegin(GL.GL_POINTS);
-					if (PICK_NAMES[j][i / 3] == currentPoint) {
-						GL.glColor3f(1.0f, 0.0f, 0.0f);
-					} else {
-						GL.glColor3f(0.0f, 0.0f, 0.0f);
-					}
-					GL.glVertex3d(ctrlPts[j][i], ctrlPts[j][i + 1], ctrlPts[j][i + 2]);
-					GL.glEnd();
-				}
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/BitmapTextTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/BitmapTextTab.java
deleted file mode 100644
index 084f45a..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/BitmapTextTab.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.opengl.*;
-import org.eclipse.swt.widgets.*;
-
-class BitmapTextTab extends OpenGLTab {
-	private Text messageText;
-	private FontData fontData;
-	private float[] textColor = { 1.0f, 0.0f, 0.0f };
-	private float xPos = -130.0f, yPos = 0.0f;
-	private int listIndexBase;
-	private final static int LIST_INDEX_SIZE = 256;
-	private final static int DEFAULT_FONT_SIZE = 24;
-	private final static String DEFAULT_FONT_NAME = "Courier";
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		Group movementGroup = new Group(composite, SWT.NONE);
-		movementGroup.setText("Translation");
-		movementGroup.setLayout(new GridLayout(2, false));
-
-		new Label(movementGroup, SWT.NONE).setText("X:");
-		final Slider xMove = new Slider(movementGroup, SWT.NONE);
-		xMove.setIncrement(1);
-		xMove.setMaximum(42);
-		xMove.setMinimum(0);
-		xMove.setThumb(2);
-		xMove.setPageIncrement(2);
-		xMove.setSelection(7);
-		xMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xPos = (xMove.getSelection() * 10) - 200;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Y:");
-		final Slider yMove = new Slider(movementGroup, SWT.NONE);
-		yMove.setIncrement(1);
-		yMove.setMaximum(42);
-		yMove.setMinimum(0);
-		yMove.setThumb(2);
-		yMove.setPageIncrement(2);
-		yMove.setSelection(20);
-		yMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yPos = (yMove.getSelection() * 10) - 200;
-			}
-		});
-
-		Composite textGroup = new Composite(composite,SWT.NONE);
-		GridLayout layout = new GridLayout(2,false);
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		textGroup.setLayout(layout);
-		textGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		
-		new Label(textGroup, SWT.NONE).setText("Text:");
-		messageText = new Text(textGroup, SWT.BORDER);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.grabExcessHorizontalSpace = true;
-		messageText.setLayoutData(data);
-		messageText.setText("OpenGL - SWT");
-
-		final Button fontSelectButton = new Button(composite, SWT.NONE);
-		fontSelectButton.setText("Set Font");
-		
-		final ColorSelectionGroup colorGroup =
-			new ColorSelectionGroup(composite, SWT.NONE);
-		colorGroup.setText("Text color");
-		colorGroup.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				GL.glColor3ub((byte) rgb.red, (byte) rgb.green, (byte) rgb.blue);
-			}
-		});
-		
-		fontSelectButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				FontDialog fontDialog = new FontDialog(fontSelectButton.getShell());
-				fontDialog.setText("Choose Font Options");
-				double[] currentColor = new double[4];
-				GL.glGetDoublev(GL.GL_CURRENT_COLOR, currentColor);
-				fontDialog.setRGB(
-					new RGB(
-						(int) currentColor[0] * 255,
-						(int) currentColor[1] * 255,
-						(int) currentColor[2] * 255));
-				fontDialog.setFontData(fontData);
-				FontData result = fontDialog.open();
-				if (result != null) {
-					fontData = result;
-					RGB rgb = fontDialog.getRGB();
-					GL.glColor3ub((byte) rgb.red, (byte) rgb.green, (byte) rgb.blue);
-					colorGroup.setRGB(rgb);
-					getContext().loadBitmapFont(fontData, null, listIndexBase, 32, 96);
-				}
-			}
-		});
-	}
-
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GL.glDeleteLists(listIndexBase, LIST_INDEX_SIZE);
-	}
-
-	/**
-	 * Draws the text to the screen
-	 * 
-	 * @param string the text to draw
-	 */
-	void drawText(String string) {
-		char[] stringChars = string.toCharArray();
-		int[] text = new int[stringChars.length];
-		for (int i = 0; i < text.length; i++) {
-			text[i] = (int) stringChars[i];
-		}
-		// pushes the display list bits
-		GL.glPushAttrib(GL.GL_LIST_BIT);
-		// sets the base character to 32
-		GL.glListBase(listIndexBase - 32);
-		GL.glCallLists(text.length, GL.GL_UNSIGNED_INT, text);
-		// pops the display list bits
-		GL.glPopAttrib();
-	}
-	
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Bitmap Text";
-	}
-
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glColor3fv(textColor);
-		GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		GL.glEnable(GL.GL_BLEND);
-		// build the initial font
-		listIndexBase = GL.glGenLists(LIST_INDEX_SIZE);
-		fontData = new FontData();
-		fontData.setHeight(DEFAULT_FONT_SIZE);
-		fontData.setName(DEFAULT_FONT_NAME);
-		getContext().loadBitmapFont(fontData, null, listIndexBase, 32, LIST_INDEX_SIZE);
-	}
-
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-		GL.glLoadIdentity();
-		GL.glRasterPos2f(xPos, yPos);
-		drawText(messageText.getText());
-	}
-
-	/**
-	 * @see OpenGLTab#setupViewingArea()
-	 */
-	void setupViewingArea() {
-		// use ortho view since this tab does not need any depth
-		Rectangle rect = getGlCanvas().getClientArea();
-		int width = rect.width;
-		int height = rect.height;
-		width = Math.max(width, 1);
-		GL.glViewport(0, 0, width, height);
-		float nRange = 200.0f;
-		GL.glMatrixMode(GL.GL_PROJECTION);
-		GL.glLoadIdentity();
-		if (width <= height) {
-			GL.glOrtho(
-				-nRange, nRange, -nRange * height / width,
-				nRange * height / width, -nRange, nRange);
-		} else {
-			GL.glOrtho(
-				-nRange * height / width, nRange * height / width, -nRange,
-				nRange, -nRange, nRange);
-		}
-		GL.glMatrixMode(GL.GL_MODELVIEW);
-		GL.glLoadIdentity();
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ColorSelectionGroup.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ColorSelectionGroup.java
deleted file mode 100644
index f0c3cdd..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ColorSelectionGroup.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import java.util.Vector;
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.opengl.GL;
-import org.eclipse.swt.widgets.*;
-
-class ColorSelectionGroup implements Listener {
-	private Color color;
-	private Label label;
-	private Image image;
-	private Button button;
-	private Vector listeners = new Vector();
-
-	/**
-	 * Constructor.
-	 * 
-	 * @param parent the parent composite
-	 * @param style style bits to be applied to the color group
-	 */
-	ColorSelectionGroup(Composite parent, int style) {
-		super();
-		initColor(parent.getDisplay());
-
-		Composite colorGroup = new Composite(parent, style);
-		GridLayout layout = new GridLayout(2, false);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		colorGroup.setLayout(layout);
-//		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-//		data.grabExcessHorizontalSpace = true;
-//		colorGroup.setLayoutData(data);
-
-		button = new Button(colorGroup, SWT.NONE);
-		button.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-		image = new Image(button.getDisplay(), 12, 12);
-		drawButtonImage();
-		button.setImage(image);
-		button.addListener(SWT.Selection, this);
-		button.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				if (image != null) image.dispose();
-				if (color != null) color.dispose();
-			}
-		});
-		
-		label = new Label(colorGroup, SWT.NONE);
-		label.setText("Color");
-//		data = new GridData(GridData.FILL_HORIZONTAL);
-//		data.grabExcessHorizontalSpace = true;
-//		label.setLayoutData(data);
-	}
-
-	/**
-	 * Adds the argument to this group's collection of
-	 * color selection listeners.
-	 * 
-	 * @param listener
-	 */
-	void addColorSelectionListener(IColorSelectionListener listener) {
-		listeners.addElement(listener);
-	}
-	
-	/**
-	 * Draws the colored square on the selection button.
-	 */
-	void drawButtonImage() {
-		GC gc = new GC(image);
-		gc.setBackground(color);
-		Rectangle bounds = image.getBounds();
-		gc.fillRectangle(0, 0, bounds.width, bounds.height);
-		gc.drawRectangle(0, 0, bounds.width - 1, bounds.height - 1);
-		gc.dispose();
-	}
-
-	/**
-	 * @see org.eclipse.swt.widgets.Listener#handleEvent(Event)
-	 */
-	public void handleEvent(Event e) {
-		Shell shell = button.getShell();
-		ColorDialog colorDialog = new ColorDialog(shell);
-		colorDialog.setRGB(
-			new RGB(color.getRed(), color.getGreen(), color.getBlue()));
-		RGB rgb = colorDialog.open();
-		if (rgb == null) return;
-		setRGB(rgb);
-		notifyListeners(rgb);
-	}
-
-	/**
-	 * Initializes the color by querying for the current color.
-	 * 
-	 * @param display
-	 */
-	void initColor(Display display) {
-		double[] currentColor = new double[4];
-		GL.glGetDoublev(GL.GL_CURRENT_COLOR, currentColor);
-		RGB rgb =
-			new RGB(
-				(int) currentColor[0] * 255,
-				(int) currentColor[1] * 255,
-				(int) currentColor[2] * 255);
-		color = new Color(display, rgb);
-	}
-	
-	/**
-	 * Notifies all registered color selection listeners.
-	 * 
-	 * @param value
-	 */
-	void notifyListeners(RGB rgb) {
-		IColorSelectionListener[] listenersArr =
-			new IColorSelectionListener[listeners.size()];
-		listeners.copyInto(listenersArr);
-		for (int i = 0; i < listenersArr.length; i++) {
-			listenersArr [i].handleColorSelection(rgb);
-		}
-	}
-
-	/**
-	 * Removes the argument from this group's collection of color selection
-	 * listeners.  If the argument is not a registered listener then does
-	 * nothing.
-	 * 
-	 * @param listener
-	 */
-	void removeColorSelectionListener(IColorSelectionListener listener) {
-		listeners.removeElement(listener);
-	}
-
-	/**
-	 * Sets the text for the group's label.
-	 * 
-	 * @param text the new label text
-	 */
-	void setText(String text) {
-		label.setText(text);
-	}
-
-	/**
-	 * Sets the current color.
-	 * 
-	 * @param rgb the rgb of the new color
-	 */
-	void setRGB(RGB rgb) {
-		Color oldColor = color;
-		color = new Color(button.getDisplay(), rgb);
-		drawButtonImage();
-		button.setImage(image);
-		if (oldColor != null) oldColor.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/FogTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/FogTab.java
deleted file mode 100644
index da017ed..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/FogTab.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.opengl.*;
-import org.eclipse.swt.widgets.*;
-
-class FogTab extends OpenGLTab {
-
-	private float rotY = 0.0f;
-	private float yPos = 0.0f, xPos = 0.0f, zPos = -15.0f;
-	private int cubeListIndexBase;
-	private final static int[] FOG_TYPES = { GL.GL_LINEAR, GL.GL_EXP, GL.GL_EXP2 };
-	private final static String[] FOG_NAMES = { "LINEAR", "GL_EXP", "GL_EXP2" };
-	private final static int SLEEP_LENGTH = 0;
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		Group movementGroup = new Group(composite, SWT.NONE);
-		movementGroup.setText("Translation");
-		movementGroup.setLayout(new GridLayout(2, false));
-
-		new Label(movementGroup, SWT.NONE).setText("X:");
-		final Slider xMove = new Slider(movementGroup, SWT.NONE);
-		xMove.setIncrement(1);
-		xMove.setMaximum(12);
-		xMove.setMinimum(0);
-		xMove.setThumb(2);
-		xMove.setPageIncrement(2);
-		xMove.setSelection(5);
-		xMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xPos = xMove.getSelection() - 5;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Y:");
-		final Slider yMove = new Slider(movementGroup, SWT.NONE);
-		yMove.setIncrement(1);
-		yMove.setMaximum(12);
-		yMove.setMinimum(0);
-		yMove.setThumb(2);
-		yMove.setPageIncrement(2);
-		yMove.setSelection(5);
-		yMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yPos = yMove.getSelection() - 5;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Z:");
-		final Slider zMove = new Slider(movementGroup, SWT.NONE);
-		zMove.setIncrement(1);
-		zMove.setMaximum(24);
-		zMove.setMinimum(0);
-		zMove.setThumb(4);
-		zMove.setPageIncrement(2);
-		zMove.setSelection(10);
-		zMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zPos = zMove.getSelection() - 25;
-			}
-		});
-
-		Composite fogTypesGroup = new Composite(composite,SWT.NONE);
-		GridLayout layout = new GridLayout(2,false);
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		fogTypesGroup.setLayout(layout);
-		fogTypesGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		new Label(fogTypesGroup, SWT.NONE).setText("Fog Types:");
-		final Combo fogTypeCombo = new Combo(fogTypesGroup, SWT.READ_ONLY);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.grabExcessHorizontalSpace = true;
-		fogTypeCombo.setLayoutData(data);
-		fogTypeCombo.setItems(FOG_NAMES);
-		fogTypeCombo.select(0);
-
-		new Label(composite, SWT.NONE).setText("Fog Density:");
-		final Slider fogDensitySlider = new Slider(composite, SWT.NONE);
-		fogDensitySlider.setIncrement(1);
-		fogDensitySlider.setMaximum(32);
-		fogDensitySlider.setMinimum(0);
-		fogDensitySlider.setThumb(2);
-		fogDensitySlider.setPageIncrement(5);
-		fogDensitySlider.setSelection(0);
-		fogDensitySlider.setEnabled(false);
-		fogDensitySlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				float fogDensity = ((float)fogDensitySlider.getSelection()) / 100;
-				GL.glFogf(GL.GL_FOG_DENSITY, fogDensity);
-			}
-		});
-		fogTypeCombo.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				int currentSelection = fogTypeCombo.getSelectionIndex();
-				// fog type GL.GL_LINEAR does not utilize fogDensity, but the other fog types do
-				fogDensitySlider.setEnabled(currentSelection != 0);
-				GL.glFogf(GL.GL_FOG_MODE, FOG_TYPES[currentSelection]);
-			}
-		});
-	}
-
-	/**
-	 * Creates a cube at 0,0 in the viewport.
-	 */
- 	void createCube() {
-		GL.glNewList(cubeListIndexBase, GL.GL_COMPILE);
-		GL.glBegin(GL.GL_QUADS);
-		// front
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(-0.5f, -0.5f, 0.5f);	// bottom left 
-		GL.glColor3f(0.0f, 0.0f, 1.0f);
-		GL.glVertex3f(0.5f, -0.5f, 0.5f);	// bottom right
-		GL.glColor3f(1.0f, 1.0f, 0.0f);
-		GL.glVertex3f(0.5f, 0.5f, 0.5f);	// top right
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(-0.5f, 0.5f, 0.5f);	// top left
-		// back
-		GL.glColor3f(0.0f, 0.0f, 1.0f);
-		GL.glVertex3f(-0.5f, -0.5f, -0.5f);	// bottom left 
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(0.5f, -0.5f, -0.5f);	// bottom right
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(0.5f, 0.5f, -0.5f);	// top right
-		GL.glColor3f(1.0f, 1.0f, 0.0f);
-		GL.glVertex3f(-0.5f, 0.5f, -0.5f);	// top left
-		// left
-		GL.glColor3f(0.0f, 0.0f, 1.0f);
-		GL.glVertex3f(-0.5f, -0.5f, -0.5f);	// bottom left
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(-0.5f, -0.5f, 0.5f);	// bottom right
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(-0.5f, 0.5f, 0.5f);	// top right
-		GL.glColor3f(1.0f, 1.0f, 0.0f);
-		GL.glVertex3f(-0.5f, 0.5f, -0.5f);	// top left	
-		// right
-		GL.glColor3f(0.0f, 0.0f, 1.0f);
-		GL.glVertex3f(0.5f, -0.5f, 0.5f);	// bottom left
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(0.5f, -0.5f, -0.5f);	// bottom right
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(0.5f, 0.5f, -0.5f);	// top right
-		GL.glColor3f(1.0f, 1.0f, 0.0f);
-		GL.glVertex3f(0.5f, 0.5f, 0.5f);	// top left
-		// top
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(0.5f, 0.5f, -0.5f);
-		GL.glColor3f(1.0f, 1.0f, 0.0f);
-		GL.glVertex3f(-0.5f, 0.5f, -0.5f);
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(-0.5f, 0.5f, 0.5f);
-		GL.glColor3f(1.0f, 1.0f, 0.0f);
-		GL.glVertex3f(0.5f, 0.5f, 0.5f);
-		// bottom
-		GL.glColor3f(0.0f, 0.0f, 1.0f);
-		GL.glVertex3f(0.5f, -0.5f, 0.5f);
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(-0.5f, -0.5f, 0.5f);
-		GL.glColor3f(0.0f, 0.0f, 1.0f);
-		GL.glVertex3f(-0.5f, -0.5f, -0.5f);
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(0.5f, -0.5f, -0.5f);
-		GL.glEnd();
-		GL.glEndList();
-	}
-
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GL.glDeleteLists(cubeListIndexBase, 1);
-	}
-
-	/**
-	 * @see OpenGLTab#getSleepLength()
-	 */
-	int getSleepLength() {
-		return SLEEP_LENGTH;	
-	}
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Fog";
-	}
-
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		// fog color should be the same as the clear color
-		// to look appropriate
-		float[] fogColor = { 1.0f, 1.0f, 1.0f, 1.0f };
-		GL.glFogfv(GL.GL_FOG_COLOR, fogColor);
-		GL.glHint(GL.GL_FOG_HINT, GL.GL_DONT_CARE);
-		GL.glFogf(GL.GL_FOG_START, 0);
-		GL.glFogf(GL.GL_FOG_DENSITY, 0.0f);
-		// set the end of the start distance; anything > 15
-		// units from the camera will be covered in fog
-		GL.glFogf(GL.GL_FOG_END, 15);
-		GL.glFogf(GL.GL_FOG_MODE, FOG_TYPES[0]);
-		GL.glEnable(GL.GL_FOG);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-
-		cubeListIndexBase = GL.glGenLists(1);
-		createCube();
-	}
-
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-		GL.glLoadIdentity();
-		GL.glTranslatef(xPos, yPos, zPos);
-		GL.glRotatef(rotY, 0.0f, 1.0f, 0.0f);
-
-		GL.glCallList(cubeListIndexBase);
-
-		GL.glPushMatrix();
-		GL.glTranslatef(3, 0, -3);
-		GL.glCallList(cubeListIndexBase);
-		GL.glPopMatrix();
-
-		GL.glPushMatrix();
-		GL.glTranslatef(-3, 0, -3);
-		GL.glCallList(cubeListIndexBase);
-		GL.glPopMatrix();
-
-		GL.glPushMatrix();
-		GL.glTranslatef(0, 0, 4);
-		GL.glCallList(cubeListIndexBase);
-		GL.glPopMatrix();
-
-		rotY += 0.6f;
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/GradientTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/GradientTab.java
deleted file mode 100644
index 61e9309..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/GradientTab.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.opengl.*;
-import org.eclipse.swt.widgets.*;
-
-class GradientTab extends OpenGLTab {
-	private float xPos = 0.0f, yPos = 0.0f, zPos = -7.0f;
-	private float xRot = 180.0f, yRot = 180.0f, zRot = 180.0f;
-	private int currentSelection = 1;
-	private final static float[] BEZIER_COLORS = {
-		0.0f, 1.0f, 0.0f, 0.0f, 0.3f, 0.6f, 0.1f, 0.0f,
-		0.8f, 0.2f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f,
-		0.0f, 0.0f, 1.0f, 0.0f, 0.8f, 0.8f, 0.8f, 0.0f
-	};
-	private final static float[] BEZIER_POINTS = {
-		-1.5f, -1.5f, 4.0f, -0.5f, -1.5f, 2.0f, 0.5f, -1.5f,
-		-1.0f, 1.5f, -1.5f, 2.0f, -1.5f, -0.5f, 1.0f, -0.5f,
-		-0.5f, 3.0f, 0.5f, -0.5f, 0.0f, 1.5f, -0.5f, -1.0f,
-		-1.5f, 0.5f, 4.0f, -0.5f, 0.5f, 0.0f, 0.5f, 0.5f,
-		3.0f, 1.5f, 0.5f, 4.0f, -1.5f, 1.5f, -2.0f, -0.5f,
-		1.5f, -2.0f, 0.5f, 1.5f, 0.0f, 1.5f, 1.5f, -1.0f,
-	};
-	private final static String[] OBJECT_NAMES = { "Bezier", "Square" };
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		Group movementGroup = new Group(composite, SWT.NONE);
-		movementGroup.setText("Translation");
-		movementGroup.setLayout(new GridLayout(2, false));
-
-		new Label(movementGroup, SWT.NONE).setText("X:");
-		final Slider xMove = new Slider(movementGroup, SWT.NONE);
-		xMove.setIncrement(1);
-		xMove.setMaximum(12);
-		xMove.setMinimum(0);
-		xMove.setThumb(2);
-		xMove.setPageIncrement(2);
-		xMove.setSelection(5);
-		xMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xPos = xMove.getSelection() - 5;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Y:");
-		final Slider yMove = new Slider(movementGroup, SWT.NONE);
-		yMove.setIncrement(1);
-		yMove.setMaximum(12);
-		yMove.setMinimum(0);
-		yMove.setThumb(2);
-		yMove.setPageIncrement(2);
-		yMove.setSelection(5);
-		yMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yPos = yMove.getSelection() - 5;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Z:");
-		final Slider zMove = new Slider(movementGroup, SWT.NONE);
-		zMove.setIncrement(1);
-		zMove.setMaximum(12);
-		zMove.setMinimum(0);
-		zMove.setThumb(2);
-		zMove.setPageIncrement(2);
-		zMove.setSelection(5);
-		zMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zPos = zMove.getSelection() - 12;
-			}
-		});
-
-		Group rotationGroup = new Group(composite, SWT.NONE);
-		rotationGroup.setText("Rotation");
-		rotationGroup.setLayout(new GridLayout(2, false));
-
-		new Label(rotationGroup, SWT.NONE).setText("X:");
-		final Slider xRotation = new Slider(rotationGroup, SWT.NONE);
-		xRotation.setIncrement(10);
-		xRotation.setMaximum(362);
-		xRotation.setMinimum(0);
-		xRotation.setThumb(2);
-		xRotation.setPageIncrement(20);
-		xRotation.setSelection(180);
-		xRotation.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xRot = xRotation.getSelection();
-			}
-		});
-
-		new Label(rotationGroup, SWT.NONE).setText("Y:");
-		final Slider yRotation = new Slider(rotationGroup, SWT.NONE);
-		yRotation.setIncrement(10);
-		yRotation.setMaximum(362);
-		yRotation.setMinimum(0);
-		yRotation.setThumb(2);
-		yRotation.setPageIncrement(20);
-		yRotation.setSelection(180);
-		yRotation.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yRot = yRotation.getSelection();
-			}
-		});
-
-		new Label(rotationGroup, SWT.NONE).setText("Z:");
-		final Slider zRotation = new Slider(rotationGroup, SWT.NONE);
-		zRotation.setIncrement(10);
-		zRotation.setMaximum(362);
-		zRotation.setMinimum(0);
-		zRotation.setThumb(2);
-		zRotation.setPageIncrement(20);
-		zRotation.setSelection(180);
-		zRotation.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zRot = zRotation.getSelection();
-			}
-		});
-		
-		Composite objectGroup = new Composite(composite,SWT.NONE);
-		GridLayout layout = new GridLayout(2,false);
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		objectGroup.setLayout(layout);
-		objectGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		new Label(objectGroup, SWT.NONE).setText("Object:");
-		final Combo objectCombo = new Combo(objectGroup, SWT.READ_ONLY);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.grabExcessHorizontalSpace = true;
-		objectCombo.setLayoutData(data);
-		objectCombo.setItems(OBJECT_NAMES);
-		objectCombo.select(0);
-		objectCombo.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				currentSelection = objectCombo.getSelectionIndex() + 1;
-			}
-		});
-	}
-	
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GL.glDeleteLists(1, 2);
-	}
-	
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Gradients";
-	}
-	
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glHint(GL.GL_LINE_SMOOTH_HINT, GL.GL_NICEST);
-		GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-		GL.glPolygonMode(GL.GL_FRONT_AND_BACK, GL.GL_FILL);
-		GL.glMap2f(GL.GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, BEZIER_POINTS);
-		GL.glMap2f(GL.GL_MAP2_COLOR_4, 0, 1, 4, 1, 0, 1, 4, 6, BEZIER_COLORS);
-		GL.glMapGrid2f(20, 0.0f, 1.0f, 20, 0.0f, 1.0f);
-		GL.glShadeModel(GL.GL_SMOOTH);
-		GL.glEnable(GL.GL_LINE_SMOOTH);
-		GL.glEnable(GL.GL_LINE_STIPPLE);
-		GL.glEnable(GL.GL_BLEND);
-		GL.glEnable(GL.GL_MAP2_COLOR_4);
-		GL.glEnable(GL.GL_MAP2_VERTEX_3);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-
-		// create display lists
-		GL.glNewList(1, GL.GL_COMPILE);
-		GL.glEvalMesh2(GL.GL_FILL, 0, 20, 0, 20);
-		GL.glEndList();
-		GL.glNewList(2, GL.GL_COMPILE);
-		GL.glBegin(GL.GL_TRIANGLE_FAN);
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(0.0f, 0.0f, 0.0f);
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(0.0f, 2.0f, 0.0f);
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(-2.0f, 2.0f, 0.0f);
-		GL.glColor3f(0.0f, 0.0f, 1.0f);
-		GL.glVertex3f(-2.0f, 0.0f, 0.0f);
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(-2.0f, -2.0f, 0.0f);
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(0.0f, -2.0f, 0.0f);
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(2.0f, -2.0f, 0.0f);
-		GL.glColor3f(0.0f, 0.0f, 1.0f);
-		GL.glVertex3f(2.0f, 0.0f, 0.0f);
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(2.0f, 2.0f, 0.0f);
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(0.0f, 2.0f, 0.0f);
-		GL.glEnd();
-		GL.glEndList();
-	}
-	
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(GL.GL_COLOR_BUFFER_BIT);
-		GL.glLoadIdentity();
-		GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-		GL.glTranslatef(xPos, yPos, zPos);
-		GL.glRotatef(xRot, 1.0f, 0.0f, 0.0f);
-		GL.glRotatef(yRot, 0.0f, 1.0f, 0.0f);
-		GL.glRotatef(zRot, 0.0f, 0.0f, 1.0f);
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glCallList(currentSelection);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/IColorSelectionListener.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/IColorSelectionListener.java
deleted file mode 100644
index 346b563..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/IColorSelectionListener.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-import org.eclipse.swt.graphics.RGB;
-
- 
-public interface IColorSelectionListener {
-	public void handleColorSelection(RGB rgb);
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LightTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LightTab.java
deleted file mode 100644
index 701eb9c..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LightTab.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.opengl.*;
-import org.eclipse.swt.widgets.*;
-
-class LightTab extends OpenGLTab {
-	private float[] materialShininess = { 25.0f };
-	private float[] lightPosition = { 0.0f, 0.0f, 0.0f, 1.0f };
-	private float[][] colorValues = {
-		{ 1.0f, 1.0f, 1.0f, 1.0f },	// light diffuse
-		{ 1.0f, 1.0f, 1.0f, 1.0f },	// light ambient
-		{ 1.0f, 1.0f, 1.0f, 1.0f },	// light specular
-		{ 0.5f, 0.5f, 0.5f, 1.0f },	// light main ambient
-		{ 0.0f, 0.0f, 1.0f, 1.0f },	// material diffuse
-		{ 0.3f, 0.3f, 0.3f, 1.0f },	// material ambient
-		{ 1.0f, 1.0f, 1.0f, 1.0f }	// material specular
-	};
-	private float yPos = 0.0f, xPos = 0.0f, zPos = -20.0f;
-	private int quadratic, sphere;
-	// sourceType values: 0 = light, 1 = material
-	private int sourceType;
-	// lightType values: 0 = diffuse, 1 = ambient, 2 = specular, 3 = main ambient 
-	private int lightType = 0;
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		Group movementGroup = new Group(composite, SWT.NONE);
-		movementGroup.setText("Translation");
-		movementGroup.setLayout(new GridLayout(2, false));
-
-		new Label(movementGroup, SWT.NONE).setText("X:");
-		final Slider xMove = new Slider(movementGroup, SWT.NONE);
-		xMove.setIncrement(1);
-		xMove.setMaximum(22);
-		xMove.setMinimum(0);
-		xMove.setThumb(2);
-		xMove.setPageIncrement(2);
-		xMove.setSelection(10);
-		xMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xPos = xMove.getSelection() - 10;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Y:");
-		final Slider yMove = new Slider(movementGroup, SWT.NONE);
-		yMove.setIncrement(1);
-		yMove.setMaximum(22);
-		yMove.setMinimum(0);
-		yMove.setThumb(2);
-		yMove.setPageIncrement(2);
-		yMove.setSelection(10);
-		yMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yPos = yMove.getSelection() - 10;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Z:");
-		final Slider zMove = new Slider(movementGroup, SWT.NONE);
-		zMove.setIncrement(1);
-		zMove.setMaximum(22);
-		zMove.setMinimum(0);
-		zMove.setThumb(2);
-		zMove.setPageIncrement(2);
-		zMove.setSelection(10);
-		zMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zPos = zMove.getSelection() - 30;
-			}
-		});
-
-		Group positionGroup = new Group(composite, SWT.NONE);
-		positionGroup.setText("Light Position");
-		positionGroup.setLayout(new GridLayout(2, false));
-
-		new Label(positionGroup, SWT.NONE).setText("X:");
-		final Slider lightX = new Slider(positionGroup, SWT.NONE);
-		lightX.setIncrement(1);
-		lightX.setMaximum(22);
-		lightX.setMinimum(0);
-		lightX.setThumb(2);
-		lightX.setPageIncrement(2);
-		lightX.setSelection(10);
-		lightX.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				lightPosition[0] = ((float) lightX.getSelection() * 10) - 100;
-			}
-		});
-
-		new Label(positionGroup, SWT.NONE).setText("Y:");
-		final Slider lightY = new Slider(positionGroup, SWT.NONE);
-		lightY.setIncrement(1);
-		lightY.setMaximum(22);
-		lightY.setMinimum(0);
-		lightY.setThumb(2);
-		lightY.setPageIncrement(2);
-		lightY.setSelection(10);
-		lightY.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				lightPosition[1] = ((float) lightY.getSelection() * 10) - 100;
-			}
-		});
-
-		new Label(positionGroup, SWT.NONE).setText("Z:");
-		final Slider lightZ = new Slider(positionGroup, SWT.NONE);
-		lightZ.setIncrement(1);
-		lightZ.setMaximum(22);
-		lightZ.setMinimum(0);
-		lightZ.setThumb(2);
-		lightZ.setPageIncrement(2);
-		lightZ.setSelection(10);
-		lightZ.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				lightPosition[2] = ((float) lightZ.getSelection() * 10) - 20;
-			}
-		});
-
-		Group lightColorsGroup = new Group(composite, SWT.NONE);
-		lightColorsGroup.setText("Light Colors");
-		lightColorsGroup.setLayout(new GridLayout());
-		GridData data = new GridData(GridData.FILL_BOTH);
-		lightColorsGroup.setLayoutData(data);
-
-		ColorSelectionGroup lightDiffuseButton =
-			new ColorSelectionGroup(lightColorsGroup, SWT.NONE);
-		lightDiffuseButton.setText("Diffuse");
-		lightDiffuseButton.setRGB(
-			new RGB(
-				(int) (colorValues[0][0] * 255),
-				(int) (colorValues[0][1] * 255),
-				(int) (colorValues[0][2] * 255)));
-		lightDiffuseButton
-			.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				colorValues[0][0] = ((float) rgb.red) / 255;
-				colorValues[0][1] = ((float) rgb.green) / 255;
-				colorValues[0][2] = ((float) rgb.blue) / 255;
-				setColorValues();
-			}
-		});
-
-		ColorSelectionGroup lightAmbientButton =
-			new ColorSelectionGroup(lightColorsGroup, SWT.NONE);
-		lightAmbientButton.setText("Ambient");
-		lightAmbientButton.setRGB(
-			new RGB(
-				(int) (colorValues[1][0] * 255),
-				(int) (colorValues[1][1] * 255),
-				(int) (colorValues[1][2] * 255)));
-		lightAmbientButton
-			.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				colorValues[1][0] = ((float) rgb.red) / 255;
-				colorValues[1][1] = ((float) rgb.green) / 255;
-				colorValues[1][2] = ((float) rgb.blue) / 255;
-				setColorValues();
-			}
-		});
-
-		ColorSelectionGroup lightSpecularButton =
-			new ColorSelectionGroup(lightColorsGroup, SWT.NONE);
-		lightSpecularButton.setText("Specular");
-		lightSpecularButton.setRGB(
-			new RGB(
-				(int) (colorValues[2][0] * 255),
-				(int) (colorValues[2][1] * 255),
-				(int) (colorValues[2][2] * 255)));
-		lightSpecularButton
-			.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				colorValues[2][0] = ((float) rgb.red) / 255;
-				colorValues[2][1] = ((float) rgb.green) / 255;
-				colorValues[2][2] = ((float) rgb.blue) / 255;
-				setColorValues();
-			}
-		});
-
-		ColorSelectionGroup lightMainAmbientButton =
-			new ColorSelectionGroup(lightColorsGroup, SWT.NONE);
-		lightMainAmbientButton.setText("Main Ambient");
-		lightMainAmbientButton.setRGB(
-			new RGB(
-				(int) (colorValues[3][0] * 255),
-				(int) (colorValues[3][1] * 255),
-				(int) (colorValues[3][2] * 255)));
-		lightMainAmbientButton
-			.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				colorValues[3][0] = ((float) rgb.red) / 255;
-				colorValues[3][1] = ((float) rgb.green) / 255;
-				colorValues[3][2] = ((float) rgb.blue) / 255;
-				setColorValues();
-			}
-		});
-
-		Group materialColorsGroup = new Group(composite, SWT.NONE);
-		materialColorsGroup.setText("Material Colors");
-		materialColorsGroup.setLayout(new GridLayout());
-		data = new GridData(GridData.FILL_BOTH);
-		materialColorsGroup.setLayoutData(data);
-
-		ColorSelectionGroup materialDiffuseButton =
-			new ColorSelectionGroup(materialColorsGroup, SWT.NONE);
-		materialDiffuseButton.setText("Diffuse");
-		materialDiffuseButton.setRGB(
-			new RGB(
-				(int) (colorValues[4][0] * 255),
-				(int) (colorValues[4][1] * 255),
-				(int) (colorValues[4][2] * 255)));
-		materialDiffuseButton
-			.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				colorValues[4][0] = ((float) rgb.red) / 255;
-				colorValues[4][1] = ((float) rgb.green) / 255;
-				colorValues[4][2] = ((float) rgb.blue) / 255;
-				setColorValues();
-			}
-		});
-
-		ColorSelectionGroup materialAmbientButton =
-			new ColorSelectionGroup(materialColorsGroup, SWT.NONE);
-		materialAmbientButton.setText("Ambient");
-		materialAmbientButton.setRGB(
-			new RGB(
-				(int) (colorValues[5][0] * 255),
-				(int) (colorValues[5][1] * 255),
-				(int) (colorValues[5][2] * 255)));
-		materialAmbientButton
-			.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				colorValues[5][0] = ((float) rgb.red) / 255;
-				colorValues[5][1] = ((float) rgb.green) / 255;
-				colorValues[5][2] = ((float) rgb.blue) / 255;
-				setColorValues();
-			}
-		});
-
-		ColorSelectionGroup materialSpecularButton =
-			new ColorSelectionGroup(materialColorsGroup, SWT.NONE);
-		materialSpecularButton.setText("Specular");
-		materialSpecularButton.setRGB(
-			new RGB(
-				(int) (colorValues[6][0] * 255),
-				(int) (colorValues[6][1] * 255),
-				(int) (colorValues[6][2] * 255)));
-		materialSpecularButton
-			.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				colorValues[6][0] = ((float) rgb.red) / 255;
-				colorValues[6][1] = ((float) rgb.green) / 255;
-				colorValues[6][2] = ((float) rgb.blue) / 255;
-				setColorValues();
-			}
-		});
-
-		new Label(composite, SWT.NONE).setText("Material Shininess:");
-		final Slider shineSlider = new Slider(composite, SWT.NONE);
-		shineSlider.setIncrement(5);
-		shineSlider.setMaximum(102);
-		shineSlider.setMinimum(0);
-		shineSlider.setThumb(2);
-		shineSlider.setPageIncrement(10);
-		shineSlider.setSelection(25);
-		shineSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				materialShininess[0] = shineSlider.getSelection();
-				GL.glMaterialfv(GL.GL_FRONT_AND_BACK,
-					GL.GL_SHININESS,
-					materialShininess);
-			}
-		});
-	}
-
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GLU.gluDeleteQuadric(quadratic);
-		GL.glDeleteLists(sphere, 1);
-	}
-
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Light";
-	}
-
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glClearDepth(1.0);
-		setColorValues();
-		GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_SHININESS, materialShininess);
-		quadratic = GLU.gluNewQuadric();
-		GLU.gluQuadricNormals(quadratic, GLU.GLU_SMOOTH);
-		GL.glHint(GL.GL_LINE_SMOOTH_HINT, GL.GL_NICEST);
-		GL.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST);
-		GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-		GL.glPointSize(2.0f);
-		GL.glEnable(GL.GL_LIGHTING);
-		GL.glEnable(GL.GL_LIGHT0);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		sphere = GL.glGenLists(1);
-		GL.glNewList(sphere, GL.GL_COMPILE);
-		GLU.gluSphere(quadratic, 3, 32, 32);
-		GL.glEndList();
-	}
-
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-		GL.glLoadIdentity();
-		GL.glLightfv(GL.GL_LIGHT0, GL.GL_POSITION, lightPosition);
-		GL.glTranslatef(xPos, yPos, zPos);
-		GL.glCallList(sphere);
-	}
-
-	/**
-	 * Sets the current color values into the rendered display.
-	 */
-	void setColorValues() {
-		GL.glLightfv(GL.GL_LIGHT0, GL.GL_DIFFUSE, colorValues[0]);
-		GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_DIFFUSE, colorValues[4]);
-		GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT, colorValues[5]);
-		GL.glLightfv(GL.GL_LIGHT0, GL.GL_AMBIENT, colorValues[1]);
-		GL.glLightfv(GL.GL_LIGHT0, GL.GL_SPECULAR, colorValues[2]);
-		GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_SPECULAR, colorValues[6]);
-		GL.glLightModelfv(GL.GL_LIGHT_MODEL_AMBIENT, colorValues[3]);
-		GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_SHININESS, materialShininess);
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/NurbTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/NurbTab.java
deleted file mode 100644
index c25e8c6..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/NurbTab.java
+++ /dev/null
@@ -1,294 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.opengl.*;
-import org.eclipse.swt.widgets.*;
-
-class NurbTab extends OpenGLTab {
-	private float xPos = -5.0f, yPos = -5.0f, zPos = -25.0f;
-	private float xRot = 330.0f, yRot = 0.0f, zRot = 0.0f;
-	private int nurb;
-
-	/**
-	 * Returns a 3 dimensional array to store vertex points for the nurb
-	 * surface.
-	 * 
-	 * @return the array
-	 */
-	float[][][] buildNurb() {
-		float[][][] ctrl = new float[4][4][3];
-		for (int i = 0; i < 4; i++) {
-			for (int j = 0; j < 4; j++) {
-				// set the x value
-				ctrl[i][j][0] = 2 * (i + (float) Math.cos(i + j));
-				// set the y value
-				ctrl[i][j][1] = 2 * (j + (float) Math.cos(i + j));
-				// set the z value
-				if ((i == 1 && j == 1) || (i == 2 && j == 2)) {
-					// this makes the hill
-					ctrl[i][j][2] = 6.0f;
-				} else {
-					ctrl[i][j][2] = 0.0f;
-				}
-			}
-		}
-		// sets this particular z value to a large number to make a high
-		// hill
-		ctrl[2][2][2] = 8.0f;
-
-		return ctrl;
-	}
-	
-	/**
-	 * Returns a 1 dimensional array representing the 3 dimensional
-	 * argument.  This result can be passed to the nurb renderer
-	 * 
-	 * @param ctrl source 3D array
-	 * @return 1D array
-	 */
-	float[] convert(float[][][] ctrl) {
-		float[] pts =
-			new float[ctrl.length * ctrl[0].length * ctrl[0][0].length];
-		int row = 0;
-		int col = 0;
-		// set rowIncr to number of columns * depth 
-		int rowIncr = ctrl[0].length * ctrl[0][0].length;
-		// set colIncr to depth 
-		int colIncr = ctrl[0][0].length;
-		// loop through rows 
-		for (int i = 0; i < ctrl.length; i++) {
-			col = 0;
-			// loop through columns
-			for (int j = 0; j < ctrl[0].length; j++) {
-				// loop through to get the depth values
-				for (int k = 0; k < ctrl[0][0].length; k++) {
-					pts[row + col + k] = ctrl[i][j][k];
-				}
-				col += colIncr;
-			}
-			row += rowIncr;
-		}
-		return pts;
-	}
-	
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(final Composite composite) {
-		Group movementGroup = new Group(composite, SWT.NONE);
-		movementGroup.setText("Translation");
-		movementGroup.setLayout(new GridLayout(2, false));
-
-		new Label(movementGroup, SWT.NONE).setText("X:");
-		final Slider xMove = new Slider(movementGroup, SWT.NONE);
-		xMove.setIncrement(1);
-		xMove.setMaximum(12);
-		xMove.setMinimum(0);
-		xMove.setThumb(2);
-		xMove.setPageIncrement(2);
-		xMove.setSelection(5);
-		xMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xPos = xMove.getSelection() - 10;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Y:");
-		final Slider yMove = new Slider(movementGroup, SWT.NONE);
-		yMove.setIncrement(1);
-		yMove.setMaximum(12);
-		yMove.setMinimum(0);
-		yMove.setThumb(2);
-		yMove.setPageIncrement(2);
-		yMove.setSelection(5);
-		yMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yPos = yMove.getSelection() - 10;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Z:");
-		final Slider zMove = new Slider(movementGroup, SWT.NONE);
-		zMove.setIncrement(1);
-		zMove.setMaximum(12);
-		zMove.setMinimum(0);
-		zMove.setThumb(2);
-		zMove.setPageIncrement(2);
-		zMove.setSelection(5);
-		zMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zPos = zMove.getSelection() - 30;
-			}
-		});
-
-		Group rotationGroup = new Group(composite, SWT.NONE);
-		rotationGroup.setText("Rotation");
-		rotationGroup.setLayout(new GridLayout(2, false));
-
-		new Label(rotationGroup, SWT.NONE).setText("X:");
-		final Slider xRotation = new Slider(rotationGroup, SWT.NONE);
-		xRotation.setIncrement(10);
-		xRotation.setMaximum(362);
-		xRotation.setMinimum(0);
-		xRotation.setThumb(2);
-		xRotation.setPageIncrement(20);
-		xRotation.setSelection(330);
-		xRotation.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xRot = xRotation.getSelection();
-			}
-		});
-
-		new Label(rotationGroup, SWT.NONE).setText("Y:");
-		final Slider yRotation = new Slider(rotationGroup, SWT.NONE);
-		yRotation.setIncrement(10);
-		yRotation.setMaximum(362);
-		yRotation.setMinimum(0);
-		yRotation.setThumb(2);
-		yRotation.setPageIncrement(20);
-		yRotation.setSelection(0);
-		yRotation.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yRot = yRotation.getSelection();
-			}
-		});
-
-		new Label(rotationGroup, SWT.NONE).setText("Z:");
-		final Slider zRotation = new Slider(rotationGroup, SWT.NONE);
-		zRotation.setIncrement(10);
-		zRotation.setMaximum(362);
-		zRotation.setMinimum(0);
-		zRotation.setThumb(2);
-		zRotation.setPageIncrement(20);
-		zRotation.setSelection(0);
-		zRotation.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zRot = zRotation.getSelection();
-			}
-		});
-
-		new Label(composite, SWT.NONE).setText("Sampling Tolerance:");
-		final Slider sSlider = new Slider(composite, SWT.NONE);
-		sSlider.setIncrement(1);
-		sSlider.setMaximum(101);
-		sSlider.setMinimum(0);
-		sSlider.setThumb(2);
-		sSlider.setPageIncrement(2);
-		sSlider.setSelection(75);
-		sSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				GLU.gluNurbsProperty(
-					nurb,
-					GLU.GLU_SAMPLING_TOLERANCE,
-					sSlider.getSelection() + 1);
-			}
-		});
-
-		final Button fillButton = new Button(composite, SWT.CHECK);
-		fillButton.setText("Fill");
-		fillButton.setSelection(true);
-		fillButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (fillButton.getSelection()) {
-					GLU.gluNurbsProperty(
-						nurb,
-						GLU.GLU_DISPLAY_MODE,
-						GLU.GLU_FILL);
-				} else {
-					GLU.gluNurbsProperty(
-						nurb,
-						GLU.GLU_DISPLAY_MODE,
-						GLU.GLU_OUTLINE_POLYGON);
-				}
-			}
-		});
-		
-		ColorSelectionGroup colorGroup =
-			new ColorSelectionGroup(composite, SWT.NONE);
-		colorGroup.setText("Foreground color");
-		colorGroup.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				GL.glColor3ub((byte) rgb.red, (byte) rgb.green, (byte) rgb.blue);
-			}
-		});
-	}
-	
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GLU.gluDeleteNurbsRenderer(nurb);
-	}
-	
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Nurb";
-	}
-	
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		// set up material color which helps show curves
-		float mat_specular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
-		float mat_shininess[] = { 100.0f };
-		GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_SPECULAR, mat_specular);
-		GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_SHININESS, mat_shininess);
-		GL.glColorMaterial(GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT_AND_DIFFUSE);
-		
-		GL.glEnable(GL.GL_LIGHTING);
-		GL.glEnable(GL.GL_LIGHT0);
-		GL.glEnable(GL.GL_COLOR_MATERIAL);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		GL.glEnable(GL.GL_AUTO_NORMAL);
-		GL.glEnable(GL.GL_NORMALIZE);
-		
-		nurb = GLU.gluNewNurbsRenderer();
-
-		GLU.gluNurbsProperty(
-			nurb,
-			GLU.GLU_SAMPLING_METHOD,
-			GLU.GLU_PATH_LENGTH);
-		// sampling tolerance is specific for GLU.GLU_PATH_LENGTH
-		GLU.gluNurbsProperty(nurb, GLU.GLU_SAMPLING_TOLERANCE, 75.0f);
-		GLU.gluNurbsProperty(nurb, GLU.GLU_DISPLAY_MODE, GLU.GLU_FILL);
-	}
-	
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-		GL.glLoadIdentity();
-		// do translation and rotation
-		GL.glTranslatef(xPos, yPos, zPos);
-		GL.glRotatef(xRot, 1.0f, 0.0f, 0.0f);
-		GL.glRotatef(yRot, 0.0f, 1.0f, 0.0f);
-		GL.glRotatef(zRot, 0.0f, 0.0f, 1.0f);
-		// define nurbs surface
-		float[] knots = { 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f };
-		GLU.gluBeginSurface(nurb);
-		GLU.gluNurbsSurface(
-			nurb, 8, knots, 8, knots, 12, 3,
-			convert(buildNurb()), 4, 4, GL.GL_MAP2_VERTEX_3);
-		GLU.gluEndSurface(nurb);
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ObjectsTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ObjectsTab.java
deleted file mode 100644
index 3ef288e..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ObjectsTab.java
+++ /dev/null
@@ -1,376 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.opengl.*;
-import org.eclipse.swt.widgets.*;
-
-class ObjectsTab extends OpenGLTab {
-	private class Shape {
-		private String name;
-		private int index;
-		/**
-		 * Constructor.
-		 * 
-		 * @param name the display name of this shape
-		 * @param index the display list index corresponding to this shape
-		 */
-		Shape(String name, int index) {
-			super();
-			this.index = index;
-			this.name = name;
-		}
-		void dispose() {
-			GL.glDeleteLists(index, 1);
-		}
-		void draw() {
-			GL.glCallList(index);
-		}
-		String getName() {
-			return name;
-		}
-	}
-
-	private Shape[] shapes;
-	private Shape currentShape;
-	private float xRot = 0.0f, yRot = 0.0f;
-	private boolean fill = true;
-	private int quadratic;
-	private final static int SLEEP_LENGTH = 50;
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(final Composite composite) {
-		GridLayout layout = new GridLayout(2, false);
-		layout.marginWidth = 0;
-		Composite controls = new Composite(composite, SWT.NONE);
-		controls.setLayout(layout);
-		
-		new Label(controls, SWT.NONE).setText("Object:");
-		final Combo objectsCombo = new Combo(controls, SWT.READ_ONLY);
-		for (int i = 0; i < shapes.length; i++) {
-			objectsCombo.add(shapes[i].getName());
-		}
-		objectsCombo.select(0);
-		objectsCombo.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				currentShape = shapes[objectsCombo.getSelectionIndex()];
-			}
-		});
-
-		final Button fillToggleButton = new Button(controls, SWT.CHECK);
-		fillToggleButton.setText("Fill");
-		fillToggleButton.setSelection(true);
-		fillToggleButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				fill = fillToggleButton.getSelection();
-			}
-		});
-		
-		ColorSelectionGroup colorGroup =
-			new ColorSelectionGroup(composite, SWT.NONE);
-		colorGroup.setText("Foreground color");
-		colorGroup.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				GL.glColor3ub((byte) rgb.red, (byte) rgb.green, (byte) rgb.blue);
-			}
-		});
-	}
-
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GLU.gluDeleteQuadric(quadratic);
-		for (int i = 0; i < shapes.length; i++) {
-			shapes [i].dispose();
-		}
-	}
-	
-	/**
-	 * Creates a circle centered at 0,0 in the viewport.
-	 * 
-	 * @param radius
-	 * @param xShrink
-	 * @param yShrink
-	 */
-	void drawCircle(float radius, float xShrink, float yShrink) {
-		GL.glBegin(GL.GL_POLYGON);
-		float dia = (float) 2.0 * (float) Math.PI;
-		for (float angle = 0.0f; angle <= dia; angle += 0.1f) {
-			GL.glVertex2d(radius * Math.cos(angle), radius * Math.sin(angle));
-		}
-		GL.glEnd();
-	}
-	
-	/**
-	 * Creates a cube centered at 0,0 in the viewport.
-	 * 
-	 * @param width
-	 * @param height
-	 * @param depth
-	 */
-	void drawCube(float width, float height, float depth) {
-		GL.glBegin(GL.GL_QUADS);
-		// front
-		GL.glVertex3f(-width, -height, depth);	// bottom left 			
-		GL.glVertex3f(width, -height, depth);	// bottom right
-		GL.glVertex3f(width, height, depth);	// top right
-		GL.glVertex3f(-width, height, depth);	// top left
-		// back
-		GL.glVertex3f(-width, -height, -depth);	// bottom left 			
-		GL.glVertex3f(width, -height, -depth);	// bottom right
-		GL.glVertex3f(width, height, -depth);	// top right
-		GL.glVertex3f(-width, height, -depth);	// top left
-		// left
-		GL.glVertex3f(-width, -height, -depth);	// bottom left				
-		GL.glVertex3f(-width, -height, depth);	// bottom right
-		GL.glVertex3f(-width, height, depth);	// top right
-		GL.glVertex3f(-width, height, -depth);	// top left	
-		// right
-		GL.glVertex3f(width, -height, depth);	// bottom left				
-		GL.glVertex3f(width, -height, -depth);	// bottom right
-		GL.glVertex3f(width, height, -depth);	// top right
-		GL.glVertex3f(width, height, depth);	// top left
-		// top
-		GL.glVertex3f(width, height, -depth);	// back right
-		GL.glVertex3f(-width, height, -depth);	// back left
-		GL.glVertex3f(-width, height, depth);	// front left
-		GL.glVertex3f(width, height, depth);	// front right
-		// bottom
-		GL.glVertex3f(width, -height, depth);	// front right
-		GL.glVertex3f(-width, -height, depth);	// front left
-		GL.glVertex3f(-width, -height, -depth);	// back left
-		GL.glVertex3f(width, -height, -depth);	// back right
-		GL.glEnd();
-	}
-	
-	/**
-	 * Creates a pyramid centered at 0,0 in the viewport.
-	 * 
-	 * @param width
-	 * @param height
-	 * @param depth
-	 */
-	void drawPyramid(float width, float height, float depth) {
-		GL.glBegin(GL.GL_TRIANGLES);
-		// front
-		GL.glVertex3f(0.0f, height, 0.0f);		// top				
-		GL.glVertex3f(-width, -height, depth);	// left	
-		GL.glVertex3f(width, -height, depth);	// right
-		// left
-		GL.glVertex3f(0.0f, height, 0.0f);		// top				
-		GL.glVertex3f(-width, -height, -depth);	// left	
-		GL.glVertex3f(-width, -height, depth);	// right	
-		// front
-		GL.glVertex3f(-width, -height, -depth);	// left	
-		GL.glVertex3f(0.0f, height, 0.0f);		// top						
-		GL.glVertex3f(width, -height, -depth);	// right
-		// right
-		GL.glVertex3f(0.0f, height, 0.0f);		// top				
-		GL.glVertex3f(width, -height, depth);	// left	
-		GL.glVertex3f(width, -height, -depth);	// right			
-		GL.glEnd();
-		GL.glBegin(GL.GL_QUADS);
-		// bottom
-		GL.glVertex3f(-width, -height, depth);	// front left
-		GL.glVertex3f(-width, -height, -depth);	// back left
-		GL.glVertex3f(width, -height, -depth);	// back right
-		GL.glVertex3f(width, -height, depth);	// front right
-		GL.glEnd();
-	}
-	
-	/**
-	 * Creates a square centered at 0,0 in the viewport.
-	 * 
-	 * @param width
-	 * @param height
-	 */
-	void drawSquare(float width, float height) {
-		GL.glBegin(GL.GL_QUADS);
-		GL.glVertex3f(-width, -height, 0.0f);	// bottom left 			
-		GL.glVertex3f(width, -height, 0.0f);	// bottom right
-		GL.glVertex3f(width, height, 0.0f);		// top right
-		GL.glVertex3f(-width, height, 0.0f);	// top left
-		GL.glEnd();
-	}
-	
-	/**
-	 * This method is from glut_shapes.c .
-	 * 
-	 * @param r
-	 * @param R
-	 * @param nsides
-	 * @param rings
-	 */
-	void drawTorus(float r, float R, int nsides, int rings) {
-		float ringDelta = 2.0f * (float) Math.PI / rings;
-		float sideDelta = 2.0f * (float) Math.PI / nsides;
-		float theta = 0.0f;
-		float cosTheta = 1.0f;
-		float sinTheta = 0.0f;
-		
-		for (int i = rings - 1; i >= 0; i--) {
-			float theta1 = theta + ringDelta;
-			float cosTheta1 = (float) Math.cos(theta1);
-			float sinTheta1 = (float) Math.sin(theta1);
-			GL.glBegin(GL.GL_QUAD_STRIP);
-			float phi = 0.0f;
-			
-			for (int j = nsides; j >= 0; j--) {
-				phi += sideDelta;
-				float cosPhi = (float) Math.cos(phi);
-				float sinPhi = (float) Math.sin(phi);
-				float dist = R + r * cosPhi;
-				GL.glNormal3f(cosTheta1 * cosPhi, -sinTheta1 * cosPhi, sinPhi);
-				GL.glVertex3f(cosTheta1 * dist, -sinTheta1 * dist, r * sinPhi);
-				GL.glNormal3f(cosTheta * cosPhi, -sinTheta * cosPhi, sinPhi);
-				GL.glVertex3f(cosTheta * dist, -sinTheta * dist, r * sinPhi);
-			}
-			
-			GL.glEnd();
-			theta = theta1;
-			cosTheta = cosTheta1;
-			sinTheta = sinTheta1;
-		}
-	}
-	
-	/**
-	 * Creates a triangle centered at 0,0 in the viewport.
-	 * 
-	 * @param width
-	 * @param height
-	 */
-	void drawTriangle(float width, float height) {
-		GL.glBegin(GL.GL_TRIANGLES);
-		GL.glVertex3f(0.0f, height, 0.0f);		// middle 
-		GL.glVertex3f(-width, -height, 0.0f);	// left 
-		GL.glVertex3f(width, -height, 0.0f);	// right		 		
-		GL.glEnd();
-	}
-	
-	/**
-	 * @see OpenGLTab#getSleepLength()
-	 */
-	int getSleepLength() {
-		return SLEEP_LENGTH;	
-	}
-	
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Objects";
-	}
-	
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST);
-		GL.glClearDepth(1.0);
-		quadratic = GLU.gluNewQuadric();
-		GLU.gluQuadricNormals(quadratic, GLU.GLU_SMOOTH);
-		GL.glLineWidth(2);
-
-		GL.glEnable(GL.GL_DEPTH_TEST);
-
-		// create the display lists and shapes
-		shapes = new Shape[11];
-		int index = 1;
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawTriangle(2.0f, 2.0f);
-		GL.glEndList();
-		shapes[0] = new Shape("Triangle", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawPyramid(2.0f, 2.0f, 2.0f);
-		GL.glEndList();
-		shapes[1] = new Shape("Pyramid", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawSquare(2.0f, 2.0f);
-		GL.glEndList();
-		shapes[2] = new Shape("Square", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawCube(2.0f, 2.0f, 2.0f);
-		GL.glEndList();
-		shapes[3] = new Shape("Cube", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawCircle(2.0f, 0.0f, 0.0f);
-		GL.glEndList();
-		shapes[4] = new Shape("Circle", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		GLU.gluPartialDisk(quadratic, 0.5, 2.0, 18, 18, 90, 125);
-		GL.glEndList();
-		shapes[5] = new Shape("Partial Disk", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		GLU.gluDisk(quadratic, 0.5, 2.0, 18, 18);
-		GL.glEndList();
-		shapes[6] = new Shape("Disk", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawTorus(1, 2, 18, 18);
-		GL.glEndList();
-		shapes[7] = new Shape("Torus", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		GLU.gluSphere(quadratic, 2.0, 18, 18);
-		GL.glEndList();
-		shapes[8] = new Shape("Sphere", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		GLU.gluCylinder(quadratic, 2.0, 2.0, 4, 18, 18);
-		GL.glEndList();
-		shapes[9] = new Shape("Cylinder", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		GLU.gluCylinder(quadratic, 0, 2.0, 4, 18, 18);
-		GL.glEndList();
-		shapes[10] = new Shape("Cone", index++);
-
-		currentShape = shapes[0];
-	}
-	
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-		GL.glLoadIdentity();
-		GL.glTranslatef(0.0f, 0.0f, -14.0f);
-		// rotate around X and Y axis
-		GL.glRotatef(yRot, 0.0f, 1.0f, 0.0f);
-		GL.glRotatef(xRot, 1.0f, 0.0f, 0.0f);
-		// sets polygon fill mode
-		if (fill) {
-			GL.glPolygonMode(GL.GL_FRONT_AND_BACK, GL.GL_FILL);
-		} else {
-			GL.glPolygonMode(GL.GL_FRONT_AND_BACK, GL.GL_LINE);
-		}
-		currentShape.draw();
-		yRot += 1.5;
-		xRot += 1.5;
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLExample.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLExample.java
deleted file mode 100644
index 9e7e10d..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLExample.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class OpenGLExample {
-	private TabFolder tabFolder;
-	private OpenGLTab[] tabs;
-	private int sleep;
-
-	/**
-	 * Renders the scene of the current tab.
-	 */
-	void display() {
-		int index = tabFolder.getSelectionIndex();
-		tabs[index].render();
-		tabs[index].swap();
-	}
-	
-	/**
-	 * Disposes of all contained tabs.
-	 */
-	void dispose() {
-		tabFolder = null;
-		for (int i = 0; i < tabs.length; i++) {
-			tabs[i].dispose();
-		}
-	}
-
-	/**
-	 * Runs the OpenGL example
-	 */
-	void run() {
-		final Display display = new Display();
-		final Shell shell =
-			new Shell(display, SWT.SHELL_TRIM | SWT.NO_BACKGROUND);
-		shell.setLayout(new FillLayout());
-
-		tabFolder = new TabFolder(shell, SWT.NONE);
-		tabs =
-			new OpenGLTab[] {
-				new AntialiasingTab(),
-				new AreaTab(),
-				new BezierTab(),
-				new BitmapTextTab(),
-				new FogTab(),
-				new GradientTab(),
-				new LightTab(),
-				new NurbTab(),
-				new ObjectsTab(),
-				// outline tab is windows specific
-				new OutlineTextTab (),
-				new ReflectionTab(),
-				new StencilTab(),
-				new TextureTab(),
-				new TransparencyTab()};
-				
-		for (int i = 0; i < tabs.length; i++) {
-			TabItem item = new TabItem(tabFolder, SWT.NONE);
-			item.setText(tabs[i].getTabText());
-			item.setControl(tabs[i].createTabFolderPage(tabFolder));
-		}
-		
-		tabFolder.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				OpenGLTab tab = tabs[tabFolder.getSelectionIndex()];
-				tab.setCurrent();
-				sleep = tab.getSleepLength();
-			}
-		});
-		if (tabs.length > 0) {
-			tabs[0].setCurrent();
-			sleep = tabs[0].getSleepLength();
-		}
-		
-		shell.setText("OpenGL Example");
-		Runnable timer = new Runnable() {
-			public void run() {
-				if (shell.isDisposed()) return;
-				display();
-				display.timerExec(sleep, this);
-			}
-		};
-		timer.run();
-		shell.addListener(SWT.Dispose, new Listener() {
-			public void handleEvent(Event e) {
-				dispose();
-			}
-		});
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) {
-				display.sleep();
-			}
-		}
-	}
-	
-	/**
-	 * Invokes as a standalone program.
-	 */
-	public static void main(String[] args) {
-		new OpenGLExample().run();
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLTab.java
deleted file mode 100644
index d8523b9..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLTab.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.opengl.*;
-
-/**
- * <code>OpenGLTab</code> is the abstract superclass of every page
- * in the example's tab folder.  Each page in the tab folder
- * displays a different example.
- *
- * An OpenGLTab itself is not a control but instead provides a hierarchy
- * with which to share code that is common to every page in the folder.
- */
-abstract class OpenGLTab {
-	private Canvas glCanvas;
-	private Composite tabFolderPage;
-	private GLContext context;
-	private boolean stencilSupport;
-	private final static int DEFAULT_SLEEP_LENGTH = 100;
-
-	/**
-	 * Creates this tab's controls.  Subclasses must override.
-	 *
-	 * @param composite the parent composite
-	 */
-	abstract void createControls(Composite composite);
-
-	/**
-	 * Creates the OpenGL canvas on which all drawing is done.
-	 */
-	void createOpenGLContext() {
-		context = new GLContext(glCanvas);
-		setCurrent();
-		setupViewingArea();
-	}
-
-	/**
-	 * Creates the tab folder page.
-	 *
-	 * @param tabFolder the parent tab folder
-	 * @return the new page
-	 */
-	Composite createTabFolderPage(TabFolder tabFolder) {
-		tabFolderPage = new Composite(tabFolder, SWT.NONE);
-		tabFolderPage.setLayout(new GridLayout(2, false));
-
-		GridData gridData = new GridData();
-		gridData.heightHint = 400;
-		gridData.widthHint = 400;
-		gridData.verticalAlignment = GridData.BEGINNING;
-		glCanvas = new Canvas(tabFolderPage, SWT.NONE);
-		glCanvas.setLayout(new GridLayout());
-		glCanvas.setLayoutData(gridData);
-		glCanvas.setSize(400, 400);		// needed for windows
-
-		gridData = new GridData();
-		gridData.verticalAlignment = GridData.BEGINNING;
-		Composite controlComposite = new Composite(tabFolderPage, SWT.NONE);
-		controlComposite.setLayout(new GridLayout());
-		controlComposite.setLayoutData(gridData);
-
-		// create the OpenGL Screen and controls
-		createOpenGLContext();
-
-		// determine if native stencil support is available
-		int[] param = new int[1];
-		GL.glGetIntegerv(GL.GL_STENCIL_BITS, param);
-		stencilSupport = param[0] != 0;
-
-		init();
-
-		if (!isStencilSupportNeeded() || hasStencilSupport()) {
-			createControls(controlComposite);
-		} else {
-			Label label = new Label(controlComposite, SWT.NONE);
-			label.setText("This tab requires native stencil support.");
-		}
-
-		return tabFolderPage;
-	}
-
-	/**
-	 * Disposes all resources allocated by this tab.
-	 */
-	void dispose() {
-		context.dispose();
-	}
-
-	/**
-	 * Returns the context for this tab.
-	 * 
-	 * @return GLContext
-	 */
-	GLContext getContext() {
-		return context;
-	}
-
-	/**
-	 * Returns the glCanvas for this tab.
-	 * 
-	 * @return Canvas
-	 */
-	Canvas getGlCanvas() {
-		return glCanvas;
-	}
-
-	/**
-	 * Returns the length of time in milliseconds that the example
-	 * should sleep between animation redraws.  As this length
-	 * increases, user responsiveness increases and the frequency of
-	 * animation redraws decreases.  Subclasses with moving animations
-	 * may wish to override this default implementation to return a
-	 * smaller value if their animations do not occur frequently enough. 
-	 *
-	 * @return the length of time in milliseconds to sleep between redraws
-	 */
-	int getSleepLength() {
-		return DEFAULT_SLEEP_LENGTH;	
-	}
-
-	/**
-	 * Returns the text for this tab.  Subclasses must override.
-	 *
-	 * @return the text for the tab item
-	 */
-	abstract String getTabText();
-
-	/**
-	 * Returns whether this machine has native stencils support.
-	 * 
-	 * @return boolean
-	 */
-	boolean hasStencilSupport() {
-		return stencilSupport;
-	}
-
-	/**
-	 * Initialize OpenGL resources for this tab.  Subclasses must override.
-	 */
-	abstract void init();
-
-	/**
-	 * Loads a texture.
-	 * 
-	 * @param context
-	 * @param fileName
-	 * @param index
-	 * @param texture[]
-	 */
-	static void loadTexture(GLContext context, String fileName, int index, int[] texture) {
-		GL.glBindTexture(GL.GL_TEXTURE_2D, texture[index]);
-		ImageData source =
-			new ImageData(OpenGLTab.class.getResourceAsStream(fileName));
-		Image image = new Image(Display.getCurrent(), source);
-		Image newImage = new Image(Display.getCurrent(), 256, 256);
-		GC gc = new GC(newImage);
-		gc.drawImage(image, 0, 0, source.width, source.height, 0, 0, 256, 256);
-		source = newImage.getImageData();
-		gc.dispose();
-		source = context.convertImageData(source);
-		newImage.dispose();
-		image.dispose();
-		GL.glTexImage2D(
-			GL.GL_TEXTURE_2D, 0, 3, 
-			source.width, source.height, 0,
-			GL.GL_RGB, GL.GL_UNSIGNED_BYTE, source.data);
-		GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR);
-		GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR);
-	}
-
-	/**
-	 * Renders this tab.
-	 */
-	void render() {
-		if (!isStencilSupportNeeded() || hasStencilSupport()) {
-			renderScene();
-		} else {
-			GL.glClear(GL.GL_COLOR_BUFFER_BIT);
-		}
-	}
-
-	/**
-	 * Renders the scene for this tab.  Subclasses must override.
-	 */
-	abstract void renderScene();
-
-	/**
-	 * Returns whether this tab requires stencil support in order to display
-	 * properly. Subclasses may wish to override this method.
-	 * 
-	 * @return boolean
-	 */
-	boolean isStencilSupportNeeded() {
-		return false;
-	}
-
-	/**
-	 * Sets this rendering context to be current.
-	 */
-	void setCurrent() {
-		context.setCurrent();
-	}
-	
-	/**
-	 * Sets up the viewing area for the OpenGL screen.  The default
-	 * behavior is to use a perspective view, but there also exist frustrum
-	 * and ortho views.  Subclasses may wish to override this method.
-	 */
-	void setupViewingArea() {
-		Rectangle rect = glCanvas.getClientArea();
-		int width = rect.width;
-		int height = rect.height;
-		height = Math.max(height, 1);
-		GL.glViewport(0, 0, width, height);
-		GL.glMatrixMode(GL.GL_PROJECTION);	// select the projection matrix
-		GL.glLoadIdentity();				// reset the projection matrix
-		float fAspect = (float) width / (float) height;
-		GLU.gluPerspective(45.0f, fAspect, 0.5f, 400.0f);
-		GL.glMatrixMode(GL.GL_MODELVIEW);	// select the modelview matrix
-		GL.glLoadIdentity();
-	}
-
-	/**
-	 * Swaps the buffers.
-	 */
-	void swap() {
-		context.swapBuffers();
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OutlineTextTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OutlineTextTab.java
deleted file mode 100644
index 0742f00..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OutlineTextTab.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.opengl.*;
-import org.eclipse.swt.widgets.*;
-
-class OutlineTextTab extends OpenGLTab {
-	private Text messageText;
-	private FontData fontData;
-	private float[] textColor = { 1.0f, 0.0f, 0.0f };
-	private boolean fill = true;
-	private float extrude = 0.0f;
-	private float xPos = 0.0f, yPos = 0.0f, zPos = -10.0f;
-	private float xRot = 0.0f;
-	private int listIndexBase;
-	private final static int LIST_INDEX_SIZE = 256;
-	private final static int DEFAULT_FONT_SIZE = 24;
-	private final static String DEFAULT_FONT_NAME = "Arial";
-	private final static int SLEEP_LENGTH = 50;
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(final Composite composite) {
-		if (!SWT.getPlatform().startsWith("win32")) {
-			new Label(composite, SWT.NONE).setText("This tab requires win32.");
-			return;
-		}
-		
-		Group movementGroup = new Group(composite, SWT.NONE);
-		movementGroup.setText("Translation");
-		movementGroup.setLayout(new GridLayout(2, false));
-
-		new Label(movementGroup, SWT.NONE).setText("X:");
-		final Slider xMove = new Slider(movementGroup, SWT.NONE);
-		xMove.setIncrement(1);
-		xMove.setMaximum(22);
-		xMove.setMinimum(0);
-		xMove.setThumb(2);
-		xMove.setPageIncrement(2);
-		xMove.setSelection(10);
-		xMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xPos = xMove.getSelection() - 10;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Y:");
-		final Slider yMove = new Slider(movementGroup, SWT.NONE);
-		yMove.setIncrement(1);
-		yMove.setMaximum(22);
-		yMove.setMinimum(0);
-		yMove.setThumb(2);
-		yMove.setPageIncrement(2);
-		yMove.setSelection(10);
-		yMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yPos = yMove.getSelection() - 10;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Z:");
-		final Slider zMove = new Slider(movementGroup, SWT.NONE);
-		zMove.setIncrement(1);
-		zMove.setMaximum(22);
-		zMove.setMinimum(0);
-		zMove.setThumb(2);
-		zMove.setPageIncrement(2);
-		zMove.setSelection(10);
-		zMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zPos = zMove.getSelection() - 20;
-			}
-		});
-
-		Composite textGroup = new Composite(composite,SWT.NONE);
-		GridLayout layout = new GridLayout(2,false);
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		textGroup.setLayout(layout);
-		textGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		
-		new Label(textGroup, SWT.NONE).setText("Text:");
-		messageText = new Text(textGroup, SWT.BORDER);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.grabExcessHorizontalSpace = true;
-		messageText.setLayoutData(data);
-		messageText.setText("OpenGL - SWT");
-		
-		new Label(composite, SWT.NONE).setText("Extrude:");
-		final Slider extrudeSlider = new Slider(composite, SWT.NONE);
-		extrudeSlider.setIncrement(1);
-		extrudeSlider.setMaximum(22);
-		extrudeSlider.setMinimum(0);
-		extrudeSlider.setThumb(2);
-		extrudeSlider.setPageIncrement(2);
-		extrudeSlider.setSelection(0);
-		extrudeSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				extrude = (float) extrudeSlider.getSelection() / 10;
-				getContext().loadOutlineFont(
-					fontData, extrudeSlider.getDisplay(),
-					listIndexBase, 0, 255, 0.0f, extrude,
-					fill ? GL.GL_POLYGON : GL.GL_LINE,
-					null);
-			}
-		});
-
-		final Button fontSelectButton = new Button(composite, SWT.NONE);
-		fontSelectButton.setText("Set Font");
-		final ColorSelectionGroup colorGroup =
-			new ColorSelectionGroup(composite, SWT.NONE);
-		colorGroup.setText("Text color");
-		colorGroup.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				GL.glColor3ub((byte) rgb.red, (byte) rgb.green, (byte) rgb.blue);
-			}
-		});
-		
-		fontSelectButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				FontDialog fontDialog = new FontDialog(fontSelectButton.getShell());
-				fontDialog.setText("Choose Font Options");
-				double[] currentColor = new double[4];
-				GL.glGetDoublev(GL.GL_CURRENT_COLOR, currentColor);
-				fontDialog.setRGB(
-					new RGB(
-						(int) currentColor[0] * 255,
-						(int) currentColor[1] * 255,
-						(int) currentColor[2] * 255));
-				fontDialog.setFontData(fontData);
-				FontData result = fontDialog.open();
-				if (result != null) {
-					fontData = result;
-					RGB rgb = fontDialog.getRGB();
-					GL.glColor3ub((byte) rgb.red, (byte) rgb.green, (byte) rgb.blue);
-					colorGroup.setRGB(rgb);
-					getContext().loadOutlineFont(
-						fontData, fontSelectButton.getDisplay(),
-						listIndexBase, 0, 255, 0.0f, extrude,
-						fill ? GL.GL_POLYGON : GL.GL_LINE,
-						null);
-				}
-			}
-		});
-
-		final Button fillButton = new Button(composite, SWT.CHECK);
-		fillButton.setText("Fill");
-		fillButton.setSelection(true);
-		fillButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				fill = fillButton.getSelection();
-				getContext().loadOutlineFont(
-					fontData, fillButton.getDisplay(),
-					listIndexBase, 0, 255, 0.0f, extrude,
-					fill ? GL.GL_POLYGON : GL.GL_LINE,
-					null);
-			}
-		});
-	}
-
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GL.glDeleteLists(listIndexBase, LIST_INDEX_SIZE);
-	}
-
-	/**
-	 * Draws the text to the screen
-	 * 
-	 * @param string the text to draw
-	 */
-	void drawText(String string) {
-		char[] stringChars = string.toCharArray();
-		int[] text = new int[stringChars.length];
-		for (int i = 0; i < text.length; i++) {
-			text[i] = (int) stringChars[i];
-		}
-		GL.glPushAttrib(GL.GL_LIST_BIT);
-		GL.glListBase(listIndexBase);
-		GL.glCallLists(text.length, GL.GL_UNSIGNED_INT, text);
-		GL.glPopAttrib();
-	}
-
-	/**
-	 * @see OpenGLTab#getSleepLength()
-	 */
-	int getSleepLength() {
-		return SLEEP_LENGTH;
-	}
-
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Outline Text";
-	}
-
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glColor3fv(textColor);
-		GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		GL.glEnable(GL.GL_BLEND);
-		// build the initial font
-		listIndexBase = GL.glGenLists(LIST_INDEX_SIZE);
-		fontData = new FontData();
-		fontData.setHeight(DEFAULT_FONT_SIZE);
-		fontData.setName(DEFAULT_FONT_NAME);
-		getContext().loadOutlineFont(
-			fontData, getGlCanvas().getDisplay(),
-			listIndexBase, 0, 255, 0f, extrude,
-			fill ? GL.GL_POLYGON : GL.GL_LINE,
-			null);
-	}
-
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-		GL.glLoadIdentity();
-		GL.glTranslatef(xPos, yPos, zPos);
-		GL.glRotatef(xRot, 1.0f, 0.0f, 0.0f); // rotate on X axis
-		// use GL.glScalef to change size since outline fonts
-		// don't support size
-		float size = (float) fontData.getHeight() / 24;
-		GL.glScalef(size, size, 1.0f);
-		// draw the text, assuming that we're running on win32
-		if (messageText != null) drawText(messageText.getText());
-		xRot += 1.2f;
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ReflectionTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ReflectionTab.java
deleted file mode 100644
index 883bda0..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ReflectionTab.java
+++ /dev/null
@@ -1,556 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.opengl.*;
-import org.eclipse.swt.widgets.*;
-
-class ReflectionTab extends OpenGLTab {
-	private float ballY = 0.0f;
-	private float ballZ = 1.6666666f;
-	private float ballX = 0.0f;
-	private float ballRot = 0.0f;
-	private float cubeX = 2.5f;
-	private float cubeY = -2.0f;
-	private float cubeZ = 2.0f;
-	private float xPos = 0.0f;
-	private float yPos = 0.0f;
-	private float zPos = 22.0f;
-	private float ballRotSpeed = 0.0f;
-	private int quadratic;
-	private int[] textures = new int[3];
-	private final static int
-		LIST_INDEX_BALL = 1,LIST_INDEX_BOX = 2,
-		LIST_INDEX_MIRROR = 3, LIST_INDEX_ROOM = 4;
-	private final static int
-		TEXTURE_INDEX_BALL = 0, TEXTURE_INDEX_FLOOR = 1,
-		TEXTURE_INDEX_BOX = 2;
-	private final static String[] IMAGES = {
-		"images/Ball.jpg", "images/Floor.jpg", "images/Box.bmp" };
-	private final static int SLEEP_LENGTH = 50;
-
-	/**
-	 * Draws the ball
-	 */
-	void createBall() {
-		GL.glNewList(LIST_INDEX_BALL, GL.GL_COMPILE);
-		GL.glColor3f(1.0f, 1.0f, 1.0f);
-		GL.glBindTexture(GL.GL_TEXTURE_2D, textures[TEXTURE_INDEX_BALL]);
-		GLU.gluSphere(quadratic, 0.35f, 32, 16);
-		GL.glDisable(GL.GL_BLEND);
-		GL.glEndList();
-	}
-
-	/**
-	 * Draws the box
-	 */
-	void createBox() {
-		float size = 1.0f;
-		GL.glNewList(LIST_INDEX_BOX, GL.GL_COMPILE);
-		GL.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glBindTexture(GL.GL_TEXTURE_2D, textures[TEXTURE_INDEX_BOX]);
-		GL.glBegin(GL.GL_QUADS);
-		// front	
-		GL.glNormal3f(0.0f, 0.0f, 1.0f);
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(-size, -size, size);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(size, -size, size);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(size, size, size);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(-size, size, size);
-		// back	
-		GL.glNormal3f(0.0f, 0.0f, -1.0f);
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(-size, -size, -size);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(size, -size, -size);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(size, size, -size);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(-size, size, -size);
-		// left	
-		GL.glNormal3f(-1.0f, 0.0f, 0.0f);
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(-size, -size, -size);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(-size, -size, size);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(-size, size, size);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(-size, size, -size);
-		// right	
-		GL.glNormal3f(1.0f, 0.0f, 0.0f);
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(size, -size, -size);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(size, -size, size);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(size, size, size);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(size, size, -size);
-		// top	
-		GL.glNormal3f(0.0f, 1.0f, 0.0f);
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(size, size, -size);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(-size, size, -size);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(-size, size, size);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(size, size, size);
-		// bottom	
-		GL.glNormal3f(0.0f, -1.0f, 0.0f);
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(size, -size, -size);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(-size, -size, -size);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(-size, -size, size);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(size, -size, size);
-		GL.glEnd();
-		GL.glEndList();
-	}
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		Group ballTranslation = new Group(composite, SWT.NONE);
-		ballTranslation.setLayout(new GridLayout(2, false));
-		ballTranslation.setText("Ball Translation");
-
-		new Label(ballTranslation, SWT.NONE).setText("X:");
-		final Slider ballXPosSlider = new Slider(ballTranslation, SWT.NONE);
-		ballXPosSlider.setIncrement(1);
-		ballXPosSlider.setMaximum(38);
-		ballXPosSlider.setMinimum(0);
-		ballXPosSlider.setThumb(2);
-		ballXPosSlider.setPageIncrement(2);
-		ballXPosSlider.setSelection(18);
-		ballXPosSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				ballX = (float) (ballXPosSlider.getSelection() - 18) / 5;
-			}
-		});
-
-		new Label(ballTranslation, SWT.NONE).setText("Y:");
-		final Slider ballYPosSlider = new Slider(ballTranslation, SWT.NONE);
-		ballYPosSlider.setIncrement(1);
-		ballYPosSlider.setMaximum(38);
-		ballYPosSlider.setMinimum(0);
-		ballYPosSlider.setThumb(2);
-		ballYPosSlider.setPageIncrement(2);
-		ballYPosSlider.setSelection(18);
-		ballYPosSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				ballY = (float) (ballYPosSlider.getSelection() - 18) / 5;
-			}
-		});
-
-		new Label(ballTranslation, SWT.NONE).setText("Z:");
-		final Slider ballZPosSlider = new Slider(ballTranslation, SWT.NONE);
-		ballZPosSlider.setIncrement(1);
-		ballZPosSlider.setMaximum(24);
-		ballZPosSlider.setMinimum(0);
-		ballZPosSlider.setThumb(1);
-		ballZPosSlider.setPageIncrement(2);
-		ballZPosSlider.setSelection(4);
-		ballZPosSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				ballZ = (float) (ballZPosSlider.getSelection() + 1) / 3;
-			}
-		});
-
-		Group cubeTranslation = new Group(composite, SWT.NONE);
-		cubeTranslation.setLayout(new GridLayout(2, false));
-		cubeTranslation.setText("Cube Translation");
-
-		new Label(cubeTranslation, SWT.NONE).setText("X:");
-		final Slider cubeXPosSlider = new Slider(cubeTranslation, SWT.NONE);
-		cubeXPosSlider.setIncrement(1);
-		cubeXPosSlider.setMaximum(14);
-		cubeXPosSlider.setMinimum(0);
-		cubeXPosSlider.setThumb(2);
-		cubeXPosSlider.setPageIncrement(2);
-		cubeXPosSlider.setSelection(11);
-		cubeXPosSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				cubeX = (float) (cubeXPosSlider.getSelection() - 6) / 2;
-			}
-		});
-
-		new Label(cubeTranslation, SWT.NONE).setText("Y:");
-		final Slider cubeYPosSlider = new Slider(cubeTranslation, SWT.NONE);
-		cubeYPosSlider.setIncrement(1);
-		cubeYPosSlider.setMaximum(14);
-		cubeYPosSlider.setMinimum(0);
-		cubeYPosSlider.setThumb(2);
-		cubeYPosSlider.setPageIncrement(2);
-		cubeYPosSlider.setSelection(2);
-		cubeYPosSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				cubeY = (float) (cubeYPosSlider.getSelection() - 6) / 2;
-			}
-		});
-
-		new Label(cubeTranslation, SWT.NONE).setText("Z:");
-		final Slider cubeZPosSlider = new Slider(cubeTranslation, SWT.NONE);
-		cubeZPosSlider.setIncrement(1);
-		cubeZPosSlider.setMaximum(10);
-		cubeZPosSlider.setMinimum(1);
-		cubeZPosSlider.setThumb(1);
-		cubeZPosSlider.setPageIncrement(2);
-		cubeZPosSlider.setSelection(2);
-		cubeZPosSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				cubeZ = (float) (cubeZPosSlider.getSelection() + 2) / 2;
-			}
-		});
-
-		Group movementGroup = new Group(composite, SWT.NONE);
-		movementGroup.setLayout(new GridLayout(2, false));
-		movementGroup.setText("Room Rotation");
-
-		new Label(movementGroup, SWT.NONE).setText("X:");
-		final Slider screenXPosSlider = new Slider(movementGroup, SWT.NONE);
-		screenXPosSlider.setIncrement(1);
-		screenXPosSlider.setMaximum(42);
-		screenXPosSlider.setMinimum(0);
-		screenXPosSlider.setThumb(2);
-		screenXPosSlider.setPageIncrement(2);
-		screenXPosSlider.setSelection(20);
-		screenXPosSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xPos = screenXPosSlider.getSelection() - 20;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Y:");
-		final Slider screenYPosSlider = new Slider(movementGroup, SWT.NONE);
-		screenYPosSlider.setIncrement(1);
-		screenYPosSlider.setMaximum(42);
-		screenYPosSlider.setMinimum(0);
-		screenYPosSlider.setThumb(2);
-		screenYPosSlider.setPageIncrement(2);
-		screenYPosSlider.setSelection(20);
-		screenYPosSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yPos = screenYPosSlider.getSelection() - 20;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Z:");
-		final Slider screenZPosSlider = new Slider(movementGroup, SWT.NONE);
-		screenZPosSlider.setIncrement(1);
-		screenZPosSlider.setMaximum(42);
-		screenZPosSlider.setMinimum(0);
-		screenZPosSlider.setThumb(2);
-		screenZPosSlider.setPageIncrement(2);
-		screenZPosSlider.setSelection(20);
-		screenZPosSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zPos = screenZPosSlider.getSelection() + 2;
-			}
-		});
-
-		new Label(composite, SWT.NONE).setText("Ball Rotation Speed:");
-		final Slider ballRotSlider = new Slider(composite, SWT.NONE);
-		ballRotSlider.setIncrement(1);
-		ballRotSlider.setMaximum(22);
-		ballRotSlider.setMinimum(0);
-		ballRotSlider.setThumb(2);
-		ballRotSlider.setPageIncrement(2);
-		ballRotSlider.setSelection(0);
-		ballRotSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				ballRotSpeed = ballRotSlider.getSelection();
-			}
-		});
-	}
-	
-	/**
-	 * Draws the mirror
-	 */
-	void createMirror() {
-		GL.glNewList(LIST_INDEX_MIRROR, GL.GL_COMPILE);
-		GL.glDisable(GL.GL_TEXTURE_2D);
-		GL.glColor4f(1.0f, 1.0f, 1.0f, 0.4f);
-		GL.glNormal3f(0.0f, 0.0f, 1.0f);
-		GL.glBegin(GL.GL_QUADS);
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(-2.0f, 2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(-2.0f, -2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(2.0f, -2.0f, 0.0f);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(2.0f, 2.0f, 0.0f);
-		GL.glEnd();
-		GL.glEnable(GL.GL_TEXTURE_2D);
-		GL.glEndList();
-	}
-	
-	/**
-	 * Draws the room
-	 */
-	void createRoom() {
-		GL.glNewList(LIST_INDEX_ROOM, GL.GL_COMPILE);
-		GL.glDisable(GL.GL_TEXTURE_2D);
-		GL.glBegin(GL.GL_QUADS);
-		// left wall
-		GL.glNormal3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(-4.0f, 4.0f, 0.0f);
-		GL.glVertex3f(-4.0f, 4.0f, 6.0f);
-		GL.glVertex3f(-4.0f, -4.0f, 6.0f);
-		GL.glVertex3f(-4.0f, -4.0f, 0.0f);
-		// right wall
-		GL.glNormal3f(-1.0f, 0.0f, 01.0f);
-		GL.glVertex3f(4.0f, 4.0f, 0.0f);
-		GL.glVertex3f(4.0f, 4.0f, 6.0f);
-		GL.glVertex3f(4.0f, -4.0f, 6.0f);
-		GL.glVertex3f(4.0f, -4.0f, 0.0f);
-		// ceiling	
-		GL.glNormal3f(0.0f, -1.0f, 0.0f);
-		GL.glColor3f(0.9f, 0.9f, 0.9f);
-		GL.glVertex3f(-4.0f, 4.0f, 0.0f);
-		GL.glVertex3f(-4.0f, 4.0f, 6.0f);
-		GL.glVertex3f(4.0f, 4.0f, 6.0f);
-		GL.glVertex3f(4.0f, 4.0f, 0.0f);
-		GL.glEnd();
-		// back wall with triangle strip to illiminate t-intersections 
-		GL.glBegin(GL.GL_TRIANGLE_STRIP);
-		GL.glNormal3f(0.0f, 0.0f, 1.0f);
-		GL.glVertex3d(-4.0, -4.0, 0.0);
-		GL.glVertex3d(-2.2, -4.0, 0.0);
-		GL.glVertex3d(-2.2, -2.2, 0.0);
-		GL.glVertex3d(2.2, -4.0, 0.0);
-		GL.glVertex3d(2.2, -2.2, 0.0);
-		GL.glVertex3d(4.0, -4.0, 0.0);
-		GL.glVertex3d(2.2, -2.2, 0.0);
-		GL.glVertex3d(4.0, -2.2, 0.0);
-		GL.glVertex3d(2.2, 2.2, 0.0);
-		GL.glVertex3d(4.0, 2.2, 0.0);
-		GL.glVertex3d(2.2, 2.2, 0.0);
-		GL.glVertex3d(4.0, 4.0, 0.0);
-		GL.glVertex3d(2.2, 2.2, 0.0);
-		GL.glVertex3d(2.2, 4.0, 0.0);
-		GL.glVertex3d(-2.2, 2.2, 0.0);
-		GL.glVertex3d(-2.2, 4.0, 0.0);
-		GL.glVertex3d(-4.0, 4.0, 0.0);
-		GL.glVertex3d(-2.2, 2.2, 0.0);
-		GL.glVertex3d(-4.0, 2.2, 0.0);
-		GL.glVertex3d(-2.2, -2.2, 0.0);
-		GL.glVertex3d(-4.0, -2.2, 0.0);
-		GL.glVertex3d(-4.0, -4.0, 0.0);
-		GL.glEnd();
-		GL.glEnable(GL.GL_TEXTURE_2D);
-		// draw floor
-		GL.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glBindTexture(GL.GL_TEXTURE_2D, textures[TEXTURE_INDEX_FLOOR]);
-		GL.glNormal3f(0.0f, 1.0f, 0.0f);
-		GL.glBegin(GL.GL_QUADS);
-		// floor
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(-4.0f, -4.0f, 6.0f);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(-4.0f, -4.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(4.0f, -4.0f, 0.0f);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(4.0f, -4.0f, 6.0f);
-		GL.glEnd();
-		// draw mirror frame
-		GL.glBindTexture(GL.GL_TEXTURE_2D, textures[TEXTURE_INDEX_BOX]);
-		GL.glNormal3f(0.0f, 0.0f, 1.0f);
-		GL.glBegin(GL.GL_QUADS);
-		// top
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(-2.2f, 2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(2.2f, 2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(2.2f, 2.2f, 0.0f);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(-2.2f, 2.2f, 0.0f);
-		// right
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(2.0f, 2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(2.0f, -2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(2.2f, -2.0f, 0.0f);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(2.2f, 2.0f, 0.0f);
-		// bottom
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(-2.2f, -2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(2.2f, -2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(2.2f, -2.2f, 0.0f);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(-2.2f, -2.2f, 0.0f);
-		// left
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(-2.0f, 2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(-2.0f, -2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(-2.2f, -2.0f, 0.0f);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(-2.2f, 2.0f, 0.0f);
-		GL.glEnd();
-		GL.glEndList();
-	}
-
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GLU.gluDeleteQuadric(quadratic);
-		GL.glDeleteLists(LIST_INDEX_BALL, 1);
-		GL.glDeleteLists(LIST_INDEX_BOX, 1);
-		GL.glDeleteLists(LIST_INDEX_MIRROR, 1);
-		GL.glDeleteLists(LIST_INDEX_ROOM, 1);
-	}
-
-	/**
-	 * @see OpenGLTab#getSleepLength()
-	 */
-	int getSleepLength() {
-		return SLEEP_LENGTH;
-	}
-	
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Reflection";
-	}
-
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		if (!hasStencilSupport()) return;
-
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glClearDepth(1.0f);
-		GL.glClearStencil(0);
-		GL.glGenTextures(IMAGES.length, textures);
-		for (int i = 0; i < IMAGES.length; i++) {
-			loadTexture(getContext(), IMAGES[i], i, textures);
-		}
-
-		GL.glShadeModel(GL.GL_SMOOTH);
-		quadratic = GLU.gluNewQuadric();
-		GLU.gluQuadricNormals(quadratic, GL.GL_SMOOTH);
-		GLU.gluQuadricTexture(quadratic, true);
-		GL.glDepthFunc(GL.GL_LEQUAL);
-		GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-		GL.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST);
-
-		// set up the lights
-		float[] LightAmb = { 0.7f, 0.7f, 0.7f, 1.0f };
-		float[] LightDif = { 1.0f, 1.0f, 1.0f, 1.0f };
-		float[] lightsAmbient = { 0.5f, 0.5f, 0.5f, 1.0f };
-		GL.glLightModelfv(GL.GL_LIGHT_MODEL_AMBIENT, lightsAmbient);
-		GL.glLightfv(GL.GL_LIGHT0, GL.GL_AMBIENT, LightAmb);
-		GL.glLightfv(GL.GL_LIGHT0, GL.GL_DIFFUSE, LightDif);
-
-		GL.glEnable(GL.GL_LIGHT0);
-		GL.glEnable(GL.GL_LIGHTING);
-		GL.glEnable(GL.GL_LINE_SMOOTH);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		GL.glEnable(GL.GL_TEXTURE_2D);
-		GL.glEnable(GL.GL_BLEND);
-
-		createRoom();
-		createBall();
-		createBox();
-		createMirror();
-	}
-
-	/**
-	 * @see OpenGLTab#isStencilSupportNeeded
-	 */
-	boolean isStencilSupportNeeded() {
-		return true;
-	}
-
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(
-			GL.GL_COLOR_BUFFER_BIT
-				| GL.GL_DEPTH_BUFFER_BIT
-				| GL.GL_STENCIL_BUFFER_BIT);
-
-		GL.glLoadIdentity();
-		GLU.gluLookAt(xPos, yPos, zPos, 0, 0, 0, 0, 1, 0);
-		// clip plane equation
-		double clipEquation[] = { 0.0f, 0.0f, -1.0f, 0.0f };
-		float[] LightPos = { 0.0f, 2.0f, 7.0f, 1.0f };
-		GL.glColorMask(false, false, false, false);
-		// enable stencil buffer for "marking" the mirror		
-		GL.glEnable(GL.GL_STENCIL_TEST);
-		// set the stencil buffer to 1 where a polygon is drawn
-		GL.glStencilFunc(GL.GL_ALWAYS, 1, 1);
-		GL.glStencilOp(GL.GL_KEEP, GL.GL_KEEP, GL.GL_REPLACE);
-		GL.glDisable(GL.GL_DEPTH_TEST);
-		GL.glCallList(LIST_INDEX_MIRROR);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		GL.glColorMask(true, true, true, true);
-		GL.glStencilFunc(GL.GL_EQUAL, 1, 1);
-		// draw where the stencil is 1						
-		GL.glStencilOp(GL.GL_KEEP, GL.GL_KEEP, GL.GL_KEEP);
-		GL.glEnable(GL.GL_CLIP_PLANE0);
-		GL.glClipPlane(GL.GL_CLIP_PLANE0, clipEquation);
-		GL.glPushMatrix();
-		GL.glScalef(1.0f, 1.0f, -1.0f);
-		GL.glLightfv(GL.GL_LIGHT0, GL.GL_POSITION, LightPos);
-		GL.glCallList(LIST_INDEX_ROOM);			// reflection
-		GL.glPushMatrix();
-		GL.glTranslatef(cubeX, cubeY, cubeZ);
-		GL.glCallList(LIST_INDEX_BOX);			// reflection
-		GL.glPopMatrix();
-		GL.glTranslatef(ballX, ballY, ballZ);
-		GL.glRotatef(ballRot, 1.0f, 0.0f, 0.0f);
-		GL.glCallList(LIST_INDEX_BALL);			// reflection
-		GL.glPopMatrix();
-		GL.glDisable(GL.GL_CLIP_PLANE0);
-		GL.glDisable(GL.GL_STENCIL_TEST);
-		GL.glLightfv(GL.GL_LIGHT0, GL.GL_POSITION, LightPos);
-		GL.glEnable(GL.GL_BLEND);
-		GL.glDisable(GL.GL_LIGHTING);
-		GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-		GL.glCallList(LIST_INDEX_MIRROR);
-		GL.glEnable(GL.GL_LIGHTING);
-		GL.glDisable(GL.GL_BLEND);
-		GL.glCallList(LIST_INDEX_ROOM);
-		GL.glPushMatrix();
-		GL.glTranslatef(cubeX, cubeY, cubeZ);
-		GL.glCallList(LIST_INDEX_BOX);
-		GL.glPopMatrix();
-		GL.glTranslatef(ballX, ballY, ballZ);
-		GL.glRotatef(ballRot, 1.0f, 0.0f, 0.0f);
-		GL.glCallList(LIST_INDEX_BALL);
-		ballRot += ballRotSpeed;
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/SelectionTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/SelectionTab.java
deleted file mode 100644
index e4c8fa8..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/SelectionTab.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.opengl.*;
-
-abstract class SelectionTab extends OpenGLTab {
-	private final static int BUFFER_LENGTH = 64;
-
-	/**
-	 * Sets the selected object.  Subclasses must override this method.
-	 */
-	abstract void processPick(int[] pSelectBuff, int hits);
-
-	/**
-	 * Invoke processPick for the object at the specified coordinate.
-	 */
-	int processSelection(int xPos, int yPos, int pointSize) {
-		int[] selectBuffer = new int[BUFFER_LENGTH];
-		int[] viewport = new int[4];
-		// new fix for sun jre
-		int ptr = getContext().getSelectBufferPtr(selectBuffer);
-
-		GL.glSelectBuffer(BUFFER_LENGTH, ptr);
-		GL.glGetIntegerv(GL.GL_VIEWPORT, viewport);
-		GL.glRenderMode(GL.GL_SELECT);
-		GL.glMatrixMode(GL.GL_PROJECTION);
-		GL.glPushMatrix();
-		GL.glLoadIdentity();
-		GLU.gluPickMatrix(xPos, yPos, pointSize, pointSize, viewport);
-		Rectangle rect = getGlCanvas().getClientArea();
-		float fAspect = (float) rect.width / (float) rect.height;
-		GLU.gluPerspective(45.0f, fAspect, 0.5f, 600.0f);
-		GL.glMatrixMode(GL.GL_MODELVIEW);
-		GL.glInitNames();
-		render();
-		int hits = GL.glRenderMode(GL.GL_RENDER);
-		// new fix for sun jre
-		// must be called after render mode is switched
-		getContext().getSelectBuffer(ptr, selectBuffer);
-		if (hits != 0) processPick(selectBuffer, hits);
-		GL.glMatrixMode(GL.GL_PROJECTION);
-		GL.glPopMatrix();
-		GL.glMatrixMode(GL.GL_MODELVIEW);
-		return hits;
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/StencilTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/StencilTab.java
deleted file mode 100644
index be5f4a4..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/StencilTab.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.opengl.*;
-import org.eclipse.swt.widgets.*;
-
-class StencilTab extends OpenGLTab {
-	private abstract class Shape {
-		private String name;
-		/**
-		 * Constructor
-		 * 
-		 * @param name the shape's name
-		 */
-		Shape(String name) {
-			super();
-			this.name = name;
-		}
-		/**
-		 * Draws this shape.
-		 */
-		abstract void draw();
-		/**
-		 * Returns the name.
-		 * 
-		 * @return String
-		 */
-		String getName() {
-			return name;
-		}
-	}
-
-	private Shape[] shapes = new Shape[5];
-	private Shape currentShape;
-	private float xPos = 0, yPos = 0;
-	private float size = 0.45f;
-	private int texture;
-	private int quadratic;
-	private final static String IMAGE = "images/splash.bmp";
-	private final static int SLEEP_LENGTH = 50;
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		Composite controls = new Composite(composite, SWT.NONE);
-		GridLayout layout = new GridLayout(2, false);
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		controls.setLayout(layout);
-		new Label(controls, SWT.NONE).setText("Object:");
-		final Combo shapeCombo = new Combo(controls, SWT.READ_ONLY);
-		for (int i = 0; i < shapes.length; i++) {
-			shapeCombo.add(shapes[i].getName());
-		}
-		shapeCombo.select(0);
-		shapeCombo.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				currentShape = shapes[shapeCombo.getSelectionIndex()];
-			}
-		});
-
-		new Label(composite, SWT.NONE).setText("Size:");
-		final Slider sizeSlider = new Slider(composite, SWT.HORIZONTAL);
-		sizeSlider.setValues(0, 15, 75, 5, 5, 10);
-		sizeSlider.setSelection(45);
-		sizeSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				size = ((float) sizeSlider.getSelection()) / 100;
-			}
-		});
-	}
-
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GLU.gluDeleteQuadric(quadratic);
-	}
-
-	/**
-	 * @see OpenGLTab#getSleepLength()
-	 */
-	int getSleepLength() {
-		return SLEEP_LENGTH;
-	}
-	
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Stencil";
-	}
-
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		if (!hasStencilSupport()) return;
-		
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glClearDepth(1.0f);
-		int[] textureOut = new int[1];
-		GL.glGenTextures(1, textureOut);
-		loadTexture(getContext(), IMAGE, 0, textureOut);
-		this.texture = textureOut[0];
-		quadratic = GLU.gluNewQuadric();
-		GLU.gluQuadricNormals(quadratic, GLU.GLU_SMOOTH);
-		GL.glDepthFunc(GL.GL_LEQUAL);
-		GL.glEnable(GL.GL_STENCIL_TEST);
-		GL.glEnable(GL.GL_TEXTURE_2D);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		// create shapes
-		shapes[0] = new Shape("Triangle") {
-			public void draw() {
-				GL.glBegin(GL.GL_TRIANGLES);
-				GL.glVertex3f(0.0f, size, 0.0f);
-				GL.glVertex3f(-size, -size, 0.0f);
-				GL.glVertex3f(size, -size, 0.0f);
-				GL.glEnd();
-			}
-		};
-
-		shapes[1] = new Shape("Disk") {
-			public void draw() {
-				GLU.gluDisk(quadratic, 0.0f, size, 32, 32);
-			}
-		};
-
-		shapes[2] = new Shape("Square") {
-			public void draw() {
-				GL.glRectf(-size, -size, size, size);
-			}
-		};
-
-		shapes[3] = new Shape("Hour Glass") {
-			public void draw() {
-				GL.glBegin(GL.GL_TRIANGLES);
-				GL.glVertex3f(0.0f, size, 0.0f);
-				GL.glVertex3f(-size, -size, 0.0f);
-				GL.glVertex3f(size, -size, 0.0f);
-				GL.glVertex3f(0.0f, -size, 0.0f);
-				GL.glVertex3f(size, size, 0.0f);
-				GL.glVertex3f(-size, size, 0.0f);
-				GL.glEnd();
-			}
-		};
-
-		shapes[4] = new Shape("Star") {
-			public void draw() {
-				GL.glBegin(GL.GL_TRIANGLES);
-				GL.glVertex3f(-0.3f, 0, 0.0f);
-				GL.glVertex3f(2 * size - 0.3f, 0, 0.0f);
-				GL.glVertex3f(size - 0.3f, 2 * size * 0.85f, 0.0f);
-				GL.glVertex3f(2 * size - 0.3f, size, 0.0f);
-				GL.glVertex3f(0 - 0.3f, size, 0.0f);
-				GL.glVertex3f(size - 0.3f, -size * 0.85f, 0.0f);
-				GL.glEnd();
-			}
-		};
-
-		currentShape = shapes[0];
-	}
-
-	/**
-	 * @see OpenGLTab#isStencilSupportNeeded
-	 */
-	boolean isStencilSupportNeeded() {
-		return true;
-	}
-
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(
-			GL.GL_COLOR_BUFFER_BIT
-				| GL.GL_DEPTH_BUFFER_BIT
-				| GL.GL_STENCIL_BUFFER_BIT);
-
-		GL.glLoadIdentity();
-		GL.glTranslatef(
-			(float) (1.5 * Math.cos(xPos)),
-			(float) (1.0 * Math.sin(yPos)),
-			-3.0f);
-		xPos += 0.15f;
-		yPos += 0.3f;
-
-		GL.glColorMask(false, false, false, false);
-		GL.glStencilFunc(GL.GL_ALWAYS, 1, 1);
-		GL.glStencilOp(GL.GL_KEEP, GL.GL_KEEP, GL.GL_REPLACE);
-		GL.glDisable(GL.GL_DEPTH_TEST);
-		GL.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
-
-		currentShape.draw();
-
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		GL.glColorMask(true, true, true, true);
-		GL.glStencilFunc(GL.GL_EQUAL, 1, 1);
-		GL.glStencilOp(GL.GL_KEEP, GL.GL_KEEP, GL.GL_KEEP);
-
-		GL.glLoadIdentity();
-		// load the texture behind the stencil object
-		GL.glTranslatef(0.0f, 0.0f, -3.1f);
-		GL.glBindTexture(GL.GL_TEXTURE_2D, texture);
-		GL.glBegin(GL.GL_QUADS);
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(-0.85f, -0.85f, 1.0f);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(0.85f, -0.85f, 1.0f);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(0.85f, 0.85f, 1.0f);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(-0.85f, 0.85f, 1.0f);
-		GL.glEnd();
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TextureTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TextureTab.java
deleted file mode 100644
index 1375b6f..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TextureTab.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.opengl.*;
-import org.eclipse.swt.widgets.*;
-
-class TextureTab extends OpenGLTab {
-	private float yrot = 0, zrot = 0;
-	private float xPos = 0.0f, yPos = 0.0f, zPos = -20;
-	private int texture = 0;
-	private float[][][] points = new float[45][45][3];
-	private final static String IMAGE = "images/splash.bmp";
-	private final static int SLEEP_LENGTH = 50;
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		Group movementGroup = new Group(composite, SWT.NONE);
-		movementGroup.setText("Translation");
-		movementGroup.setLayout(new GridLayout(2, false));
-
-		new Label(movementGroup, SWT.NONE).setText("X:");
-		final Slider xMove = new Slider(movementGroup, SWT.NONE);
-		xMove.setIncrement(1);
-		xMove.setMaximum(12);
-		xMove.setMinimum(0);
-		xMove.setThumb(2);
-		xMove.setPageIncrement(2);
-		xMove.setSelection(5);
-		xMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xPos = xMove.getSelection() - 5;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Y:");
-		final Slider yMove = new Slider(movementGroup, SWT.NONE);
-		yMove.setIncrement(1);
-		yMove.setMaximum(12);
-		yMove.setMinimum(0);
-		yMove.setThumb(2);
-		yMove.setPageIncrement(2);
-		yMove.setSelection(5);
-		yMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yPos = yMove.getSelection() - 5;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Z:");
-		final Slider zMove = new Slider(movementGroup, SWT.NONE);
-		zMove.setIncrement(1);
-		zMove.setMaximum(24);
-		zMove.setMinimum(0);
-		zMove.setThumb(4);
-		zMove.setPageIncrement(2);
-		zMove.setSelection(10);
-		zMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zPos = zMove.getSelection() - 30;
-			}
-		});
-	}
-
-	/**
-	 * @see OpenGLTab#getSleepLength()
-	 */
-	int getSleepLength() {
-		return SLEEP_LENGTH;
-	}
-	
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Texture";
-	}
-
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		//GL.glClearColor(0.0f, 0.0f, 0.3f, 1.0f); 
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glClearDepth(1.0f);
-		int[] textureOut = new int[1];
-		GL.glGenTextures(1, textureOut);
-		loadTexture(getContext(), IMAGE, 0, textureOut);
-		texture = textureOut[0];
-		GL.glDepthFunc(GL.GL_LEQUAL);
-		GL.glPolygonMode(GL.GL_BACK, GL.GL_FILL);
-		GL.glPolygonMode(GL.GL_FRONT, GL.GL_LINE);
-		GL.glEnable(GL.GL_LIST_MODE);
-		GL.glEnable(GL.GL_TEXTURE_2D);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		// initialize points	
-		for (int x = 0; x < 45; x++) {
-			for (int y = 0; y < 45; y++) {
-				points[x][y][0] = x / 5.0f - 4.5f;
-				points[x][y][1] = y / 5.0f - 4.5f;
-				points[x][y][2] =
-					(float) Math.sin(
-						(((x / 5.0f) * 40.0f) / 360.0f) * Math.PI * 2);
-			}
-		}
-	}
-
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(
-			GL.GL_COLOR_BUFFER_BIT
-				| GL.GL_DEPTH_BUFFER_BIT
-				| GL.GL_STENCIL_BUFFER_BIT);
-		GL.glLoadIdentity();
-		GL.glTranslatef(xPos, yPos, zPos);
-		GL.glRotatef(yrot, 0.0f, 1.0f, 0.0f);
-		GL.glRotatef(zrot, 0.0f, 0.0f, 1.0f);
-		GL.glBindTexture(GL.GL_TEXTURE_2D, texture);
-
-		GL.glBegin(GL.GL_QUADS);
-		for (int x = 0; x < 44; x++) {
-			for (int y = 0; y < 44; y++) {
-				float fx = x / 44.0f;
-				float fy = y / 44.0f;
-				float fxb = (x + 1) / 44.0f;
-				float fyb = (y + 1) / 44.0f;
-				GL.glTexCoord2f(fx, fy);
-				GL.glVertex3f(
-					points[x][y][0],
-					points[x][y][1],
-					points[x][y][2]);
-				GL.glTexCoord2f(fx, fyb);
-				GL.glVertex3f(
-					points[x][y + 1][0],
-					points[x][y + 1][1],
-					points[x][y + 1][2]);
-				GL.glTexCoord2f(fxb, fyb);
-				GL.glVertex3f(
-					points[x + 1][y + 1][0],
-					points[x + 1][y + 1][1],
-					points[x + 1][y + 1][2]);
-				GL.glTexCoord2f(fxb, fy);
-				GL.glVertex3f(
-					points[x + 1][y][0],
-					points[x + 1][y][1],
-					points[x + 1][y][2]);
-			}
-		}
-		GL.glEnd();
-		// perform wave motion
-		for (int y = 0; y < 45; y++) {
-			float hold = points[0][y][2];
-			for (int x = 0; x < 44; x++) {
-				points[x][y][2] = points[x + 1][y][2];
-			}
-			points[44][y][2] = hold;
-		}
-		yrot += 0.9f;
-		zrot += 0.6f;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TransparencyTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TransparencyTab.java
deleted file mode 100644
index 11f39fb..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TransparencyTab.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.opengl.*;
-import org.eclipse.swt.widgets.*;
-
-class TransparencyTab extends SelectionTab {
-	private float[] alphas = { 0.3f, 0.5f, 1.0f };
-	private int quadratic;
-	private int currentSelection = 1;
-	private final static int
-		INDEX_TRIANGLE = 1, INDEX_SPHERE = 2, INDEX_DISK = 3;
-	private final static String[] OBJECTS = {"Triangle", "Sphere", "Disk" };
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		Composite objectGroup = new Composite(composite, SWT.NONE);
-		GridLayout layout = new GridLayout(2, false);
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		objectGroup.setLayout(layout);
-		objectGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		new Label(objectGroup, SWT.NONE).setText("Object:");
-		final Combo objectCombo = new Combo(objectGroup, SWT.READ_ONLY);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.grabExcessHorizontalSpace = true;
-		objectCombo.setLayoutData(data);
-		objectCombo.setItems(OBJECTS);
-		objectCombo.select(0);
-		
-		new Label(composite, SWT.NONE).setText("Transparency:");
-		final Slider transparencySlider = new Slider(composite, SWT.HORIZONTAL);
-		transparencySlider.setValues(0, 0, 11, 1, 1, 2);
-		transparencySlider.setSelection(7);
-		transparencySlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				float alpha = transparencySlider.getSelection();
-				alpha = 1.0f - alpha / 10;
-				alphas[currentSelection - 1] = alpha;
-			}
-		});
-		objectCombo.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				currentSelection = objectCombo.getSelectionIndex() + 1;
-				transparencySlider.setSelection(
-					(int) ((1.0f - alphas[currentSelection - 1]) * 10));
-			}
-		});
-
-		final Canvas glCanvas = getGlCanvas();
-		glCanvas.addMouseListener(new MouseAdapter() {
-			public void mouseUp(MouseEvent e) {
-				Rectangle rect = glCanvas.getClientArea();
-				e.y = rect.height - e.y;
-				if (e.button == 1) {
-					processSelection(e.x, e.y, 2);
-					transparencySlider.setSelection(
-						(int) ((1.0f - alphas[currentSelection - 1]) * 10));
-					objectCombo.select(currentSelection - 1);
-				}
-			}
-		});
-	}
-
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GLU.gluDeleteQuadric(quadratic);
-		GL.glDeleteLists(INDEX_DISK, 1);
-		GL.glDeleteLists(INDEX_SPHERE, 1);
-		GL.glDeleteLists(INDEX_TRIANGLE, 1);
-	}
-
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Transparency";
-	}
-
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-		quadratic = GLU.gluNewQuadric();
-		GLU.gluQuadricNormals(quadratic, GLU.GLU_SMOOTH);
-		GL.glEnable(GL.GL_CULL_FACE);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		GL.glEnable(GL.GL_BLEND);
-		// create display lists		
-		GL.glNewList(INDEX_SPHERE, GL.GL_COMPILE);
-		GLU.gluQuadricDrawStyle(quadratic, GLU.GLU_FILL);
-		GLU.gluSphere(quadratic, 1.5, 32, 32);
-		GL.glEndList();
-		GL.glNewList(INDEX_DISK, GL.GL_COMPILE);
-		GLU.gluQuadricDrawStyle(quadratic, GLU.GLU_FILL);
-		GLU.gluDisk(quadratic, 1.0, 3, 32, 32);
-		GL.glEndList();
-		GL.glNewList(INDEX_TRIANGLE, GL.GL_COMPILE);
-		GL.glBegin(GL.GL_TRIANGLES);
-		GL.glVertex3f(0.0f, 2.0f, 0.0f);
-		GL.glVertex3f(-2.0f, -2.0f, 2.0f);
-		GL.glVertex3f(2.0f, -2.0f, 2.0f);
-		GL.glEnd();
-		GL.glEndList();
-	}
-
-	/**
-	 * @see SelectionTab.processPick (int[], int)
-	 */
-	void processPick(int[] pSelectBuff, int hits) {
-		int count, zDepth;
-		int tempSelection = pSelectBuff[3];
-		zDepth = pSelectBuff[2];
-		// pick object with largest z value
-		for (int i = 4; i <= 4 * (hits - 1); i = i + 4) {
-			if (zDepth > pSelectBuff[i + 2]) {
-				zDepth = pSelectBuff[i + 2];
-				tempSelection = pSelectBuff[i + 3];
-			}
-		}
-		if (tempSelection > 0) currentSelection = tempSelection;
-	}
-
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		// draw items with transparent qualities in reverse Z order
-		GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-		GL.glLoadIdentity();
-		GL.glTranslatef(0.0f, 0.0f, -14.0f);
-		GL.glPushName(0);
-
-		// draw disk
-		GL.glPushMatrix();
-		GL.glTranslatef(-1.0f, 0.0f, 1.0f);
-		GL.glColor4f(0.0f, 1.0f, 0.0f, alphas[2]);
-		GL.glLoadName(INDEX_DISK);
-		GL.glCallList(INDEX_DISK);
-		if (currentSelection == INDEX_DISK) {
-			GL.glColor3f(1.0f, 0.0f, 0.0f);
-			GLU.gluQuadricDrawStyle(quadratic, GLU.GLU_LINE);
-			GLU.gluDisk(quadratic, 0.98, 3.02, 32, 32);
-		}
-		GL.glPopMatrix();
-
-		// draw triangle
-		GL.glTranslatef(0.0f, 0.0f, +3.0f);
-		GL.glLoadName(INDEX_TRIANGLE);
-		GL.glColor4f(1.0f, 0.0f, 0.0f, alphas[0]);
-		GL.glCallList(INDEX_TRIANGLE);
-		GL.glPointSize(5.0f);
-		if (currentSelection == INDEX_TRIANGLE) {
-			GL.glBegin(GL.GL_POINTS);
-			GL.glColor3f(1.0f, 0.0f, 0.0f);
-			GL.glVertex3f(0.0f, 2.0f, 0.0f);
-			GL.glVertex3f(-2.0f, -2.0f, 2.0f);
-			GL.glVertex3f(2.0f, -2.0f, 2.0f);
-			GL.glEnd();
-		}
-
-		// draw sphere
-		GL.glPushMatrix();
-		GL.glTranslatef(1.0f, 0.0f, +3.0f);
-		GL.glColor4f(0.0f, 0.0f, 1.0f, alphas[1]);
-		GL.glLoadName(INDEX_SPHERE);
-		GL.glCallList(INDEX_SPHERE);
-		if (currentSelection == INDEX_SPHERE) {
-			GL.glColor3f(1.0f, 0.0f, 0.0f);
-			GLU.gluQuadricDrawStyle(quadratic, GLU.GLU_LINE);
-			GLU.gluSphere(quadratic, 1.51, 8, 8);
-		}
-		GL.glPopMatrix();
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Ball.jpg b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Ball.jpg
deleted file mode 100644
index 6890d26..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Ball.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Box.bmp b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Box.bmp
deleted file mode 100644
index 5eef663..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Box.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Floor.jpg b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Floor.jpg
deleted file mode 100644
index 4934c9c..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Floor.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/splash.bmp b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/splash.bmp
deleted file mode 100644
index 6ec75da..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/splash.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/untitled.jpg b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/untitled.jpg
deleted file mode 100644
index f5d6aa1..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/untitled.jpg
+++ /dev/null
Binary files differ