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

Sprout from R3_4_maintenance 2008-11-25 20:23:34 UTC Kevin Barnes <krbarnes> 'v3451 for M20081119'
Cherrypick from master 2008-10-30 15:16:13 UTC Duong Nguyen <dnguyen> 'Bug 237102 - [OLE] OleControlSite with Excel.Sheet renders deactivated view improperly':
    examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OLEExample.java
Delete:
    bundles/org.eclipse.swt.opengl/.classpath_carbon
    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/META-INF/MANIFEST.MF
    bundles/org.eclipse.swt.opengl/about.html
    bundles/org.eclipse.swt.opengl/carbon/library/agl.c
    bundles/org.eclipse.swt.opengl/carbon/library/agl.h
    bundles/org.eclipse.swt.opengl/carbon/library/agl_stats.c
    bundles/org.eclipse.swt.opengl/carbon/library/agl_stats.h
    bundles/org.eclipse.swt.opengl/carbon/library/agl_structs.h
    bundles/org.eclipse.swt.opengl/carbon/org/eclipse/swt/internal/opengl/carbon/AGL.java
    bundles/org.eclipse.swt.opengl/carbon/org/eclipse/swt/opengl/GLCanvas.java
    bundles/org.eclipse.swt.opengl/common/library/gl.c
    bundles/org.eclipse.swt.opengl/common/library/gl.h
    bundles/org.eclipse.swt.opengl/common/library/gl_stats.c
    bundles/org.eclipse.swt.opengl/common/library/gl_stats.h
    bundles/org.eclipse.swt.opengl/common/library/gl_structs.c
    bundles/org.eclipse.swt.opengl/common/library/gl_structs.h
    bundles/org.eclipse.swt.opengl/common/library/glu.c
    bundles/org.eclipse.swt.opengl/common/library/glu.h
    bundles/org.eclipse.swt.opengl/common/library/glu_stats.c
    bundles/org.eclipse.swt.opengl/common/library/glu_stats.h
    bundles/org.eclipse.swt.opengl/common/library/glu_structs.c
    bundles/org.eclipse.swt.opengl/common/library/glu_structs.h
    bundles/org.eclipse.swt.opengl/common/library/swt.c
    bundles/org.eclipse.swt.opengl/common/library/swt.h
    bundles/org.eclipse.swt.opengl/common/org/eclipse/opengl/GL.java
    bundles/org.eclipse.swt.opengl/common/org/eclipse/opengl/GLU.java
    bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GLData.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/library/build.sh
    bundles/org.eclipse.swt.opengl/gtk/library/glx.c
    bundles/org.eclipse.swt.opengl/gtk/library/glx.h
    bundles/org.eclipse.swt.opengl/gtk/library/glx_stats.c
    bundles/org.eclipse.swt.opengl/gtk/library/glx_stats.h
    bundles/org.eclipse.swt.opengl/gtk/library/glx_structs.c
    bundles/org.eclipse.swt.opengl/gtk/library/glx_structs.h
    bundles/org.eclipse.swt.opengl/gtk/library/make_linux.mak
    bundles/org.eclipse.swt.opengl/gtk/library/structs.c
    bundles/org.eclipse.swt.opengl/gtk/library/structs.h
    bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/internal/opengl/gtk/GLX.java
    bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/internal/opengl/gtk/XVisualInfo.java
    bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/GLCanvas.java
    bundles/org.eclipse.swt.opengl/motif/library/build.sh
    bundles/org.eclipse.swt.opengl/motif/library/glx.c
    bundles/org.eclipse.swt.opengl/motif/library/make_aix.mak
    bundles/org.eclipse.swt.opengl/motif/library/make_hpux.mak
    bundles/org.eclipse.swt.opengl/motif/library/make_linux.mak
    bundles/org.eclipse.swt.opengl/motif/library/make_solaris.mak
    bundles/org.eclipse.swt.opengl/motif/library/structs.c
    bundles/org.eclipse.swt.opengl/motif/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/library/build.bat
    bundles/org.eclipse.swt.opengl/win32/library/glw.c
    bundles/org.eclipse.swt.opengl/win32/library/make_win32.mak
    bundles/org.eclipse.swt.opengl/win32/library/structs.c
    bundles/org.eclipse.swt.opengl/win32/library/structs.h
    bundles/org.eclipse.swt.opengl/win32/library/swt.rc
    bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/GLCanvas.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/WGL.java
    examples/org.eclipse.swt.opengl.examples/.classpath
    examples/org.eclipse.swt.opengl.examples/.cvsignore
    examples/org.eclipse.swt.opengl.examples/.project
    examples/org.eclipse.swt.opengl.examples/about.html
    examples/org.eclipse.swt.opengl.examples/build.properties
    examples/org.eclipse.swt.opengl.examples/plugin.properties
    examples/org.eclipse.swt.opengl.examples/plugin.xml
    examples/org.eclipse.swt.opengl.examples/src/examples_opengl.properties
    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/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/ImageDataUtil.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LWJGLExample.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/ReflectionTab.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
    examples/org.eclipse.swt.snippets/.classpath
    examples/org.eclipse.swt.snippets/.cvsignore
    examples/org.eclipse.swt.snippets/.project
    examples/org.eclipse.swt.snippets/about.html
    examples/org.eclipse.swt.snippets/build.properties
    examples/org.eclipse.swt.snippets/plugin.properties
    examples/org.eclipse.swt.snippets/plugin.xml
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet1.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet10.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet100.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet101.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet102.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet103.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet104.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet105.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet106.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet107.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet108.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet109.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet11.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet110.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet111.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet112.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet113.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet114.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet115.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet116.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet117.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet118.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet119.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet12.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet120.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet121.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet122.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet123.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet124.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet125.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet126.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet127.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet128.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet129.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet13.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet130.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet131.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet132.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet133.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet134.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet135.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet136.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet137.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet138.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet139.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet14.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet140.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet141.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet142.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet143.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet144.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet145.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet146.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet147.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet148.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet149.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet15.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet150.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet151.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet152.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet153.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet154.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet155.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet156.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet157.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet158.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet159.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet16.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet160.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet161.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet162.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet163.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet164.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet165.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet166.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet167.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet168.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet169.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet17.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet170.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet171.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet172.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet173.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet174.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet175.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet176.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet177.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet178.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet179.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet18.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet180.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet181.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet182.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet183.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet184.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet185.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet186.html
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet186.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet187.html
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet187.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet188.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet189.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet19.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet190.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet191.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet192.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet193.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet194.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet195.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet196.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet197.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet198.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet199.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet2.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet20.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet200.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet201.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet202.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet203.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet204.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet205.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet206.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet207.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet208.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet209.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet21.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet210.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet211.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet212.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet213.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet214.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet215.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet216.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet217.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet218.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet219.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet22.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet220.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet221.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet222.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet223.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet224.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet225.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet226.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet227.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet228.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet229.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet23.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet230.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet231.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet232.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet233.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet234.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet235.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet236.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet237.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet238.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet239.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet24.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet240.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet241.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet242.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet243.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet244.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet245.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet246.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet247.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet248.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet249.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet25.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet250.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet251.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet252.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet253.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet256.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet257.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet258.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet259.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet26.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet260.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet261.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet262.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet263.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet264.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet265.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet266.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet267.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet268.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet269.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet27.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet270.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet271.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet272.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet273.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet274.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet275.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet276.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet277.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet278.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet279.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet28.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet280.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet281.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet282.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet283.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet284.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet285.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet286.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet287.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet288.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet289.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet29.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet290.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet291.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet292.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet293.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet294.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet295.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet296.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet297.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet298.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet299.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet3.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet30.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet300.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet301.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet302.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet31.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet32.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet33.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet34.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet35.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet36.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet37.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet38.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet39.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet4.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet40.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet41.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet42.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet43.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet44.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet45.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet46.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet47.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet48.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet49.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet5.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet50.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet51.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet52.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet53.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet54.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet55.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet56.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet57.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet58.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet59.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet6.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet60.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet61.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet62.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet63.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet64.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet65.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet66.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet67.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet68.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet69.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet7.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet70.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet71.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet72.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet73.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet74.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet75.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet76.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet77.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet78.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet79.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet8.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet80.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet81.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet82.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet83.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet84.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet85.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet86.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet87.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet88.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet89.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet9.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet90.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet91.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet92.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet93.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet94.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet95.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet96.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet97.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet98.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet99.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/SnippetLauncher.java
diff --git a/bundles/org.eclipse.swt.opengl/.classpath_carbon b/bundles/org.eclipse.swt.opengl/.classpath_carbon
deleted file mode 100755
index 027aa0d..0000000
--- a/bundles/org.eclipse.swt.opengl/.classpath_carbon
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry sourcepath="JRE_SRC" kind="var" path="JRE_LIB"/>
-	<classpathentry kind="src" path="common"/>
-	<classpathentry kind="src" path="carbon">
-	    <attributes>
-			<attribute value="org.eclipse.swt.opengl.carbon" name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="/org.eclipse.swt"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt.opengl/.classpath_gtk b/bundles/org.eclipse.swt.opengl/.classpath_gtk
deleted file mode 100644
index f310079..0000000
--- a/bundles/org.eclipse.swt.opengl/.classpath_gtk
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry sourcepath="JRE_SRC" kind="var" path="JRE_LIB"/>
-	<classpathentry kind="src" path="common"/>
-	<classpathentry kind="src" path="gtk">
-	    <attributes>
-			<attribute value="org.eclipse.swt.opengl.gtk/os/linux/x86" name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="/org.eclipse.swt"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt.opengl/.classpath_motif b/bundles/org.eclipse.swt.opengl/.classpath_motif
deleted file mode 100644
index 75b5fe1..0000000
--- a/bundles/org.eclipse.swt.opengl/.classpath_motif
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry sourcepath="JRE_SRC" kind="var" path="JRE_LIB"/>
-	<classpathentry kind="src" path="common"/>
-	<classpathentry kind="src" path="motif"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="/org.eclipse.swt"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt.opengl/.classpath_win32 b/bundles/org.eclipse.swt.opengl/.classpath_win32
deleted file mode 100644
index 478159e..0000000
--- a/bundles/org.eclipse.swt.opengl/.classpath_win32
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry sourcepath="JRE_SRC" kind="var" path="JRE_LIB"/>
-	<classpathentry kind="src" path="common"/>
-	<classpathentry kind="src" path="win32">
-	    <attributes>
-			<attribute value="org.eclipse.swt.opengl.win32/os/win32/x86" name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<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/META-INF/MANIFEST.MF b/bundles/org.eclipse.swt.opengl/META-INF/MANIFEST.MF
deleted file mode 100644
index 8da336d..0000000
--- a/bundles/org.eclipse.swt.opengl/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.swt.opengl; singleton=true
-Bundle-Version: 3.1.0
-Bundle-ClassPath: $ws$/opengl.jar
-Bundle-Localization: plugin
-Provide-Package: 
-  org.eclipse.swt.opengl
diff --git a/bundles/org.eclipse.swt.opengl/about.html b/bundles/org.eclipse.swt.opengl/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/bundles/org.eclipse.swt.opengl/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt.opengl/carbon/library/agl.c b/bundles/org.eclipse.swt.opengl/carbon/library/agl.c
deleted file mode 100644
index 6b612c0..0000000
--- a/bundles/org.eclipse.swt.opengl/carbon/library/agl.c
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2000, 2005 IBM Corporation and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-*     IBM Corporation - initial API and implementation
-*******************************************************************************/
-
-#include "swt.h"
-#include "agl_structs.h"
-#include "agl_stats.h"
-
-#define AGL_NATIVE(func) Java_org_eclipse_swt_internal_opengl_carbon_AGL_##func
-
-#ifndef NO_aglChoosePixelFormat
-JNIEXPORT jint JNICALL AGL_NATIVE(aglChoosePixelFormat)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglChoosePixelFormat_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)aglChoosePixelFormat(arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	AGL_NATIVE_EXIT(env, that, aglChoosePixelFormat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglCreateContext
-JNIEXPORT jint JNICALL AGL_NATIVE(aglCreateContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglCreateContext_FUNC);
-	rc = (jint)aglCreateContext(arg0, arg1);
-	AGL_NATIVE_EXIT(env, that, aglCreateContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglDescribePixelFormat
-JNIEXPORT jboolean JNICALL AGL_NATIVE(aglDescribePixelFormat)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jboolean rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglDescribePixelFormat_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jboolean)aglDescribePixelFormat(arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	AGL_NATIVE_EXIT(env, that, aglDescribePixelFormat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglDestroyContext
-JNIEXPORT jboolean JNICALL AGL_NATIVE(aglDestroyContext)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglDestroyContext_FUNC);
-	rc = (jboolean)aglDestroyContext(arg0);
-	AGL_NATIVE_EXIT(env, that, aglDestroyContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglDestroyPixelFormat
-JNIEXPORT void JNICALL AGL_NATIVE(aglDestroyPixelFormat)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	AGL_NATIVE_ENTER(env, that, aglDestroyPixelFormat_FUNC);
-	aglDestroyPixelFormat(arg0);
-	AGL_NATIVE_EXIT(env, that, aglDestroyPixelFormat_FUNC);
-}
-#endif
-
-#ifndef NO_aglEnable
-JNIEXPORT jboolean JNICALL AGL_NATIVE(aglEnable)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglEnable_FUNC);
-	rc = (jboolean)aglEnable(arg0, arg1);
-	AGL_NATIVE_EXIT(env, that, aglEnable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglGetCurrentContext
-JNIEXPORT jint JNICALL AGL_NATIVE(aglGetCurrentContext)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglGetCurrentContext_FUNC);
-	rc = (jint)aglGetCurrentContext();
-	AGL_NATIVE_EXIT(env, that, aglGetCurrentContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglGetDrawable
-JNIEXPORT jint JNICALL AGL_NATIVE(aglGetDrawable)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglGetDrawable_FUNC);
-	rc = (jint)aglGetDrawable(arg0);
-	AGL_NATIVE_EXIT(env, that, aglGetDrawable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglSetCurrentContext
-JNIEXPORT jboolean JNICALL AGL_NATIVE(aglSetCurrentContext)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglSetCurrentContext_FUNC);
-	rc = (jboolean)aglSetCurrentContext(arg0);
-	AGL_NATIVE_EXIT(env, that, aglSetCurrentContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglSetDrawable
-JNIEXPORT jboolean JNICALL AGL_NATIVE(aglSetDrawable)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglSetDrawable_FUNC);
-	rc = (jboolean)aglSetDrawable(arg0, arg1);
-	AGL_NATIVE_EXIT(env, that, aglSetDrawable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglSetInteger__III
-JNIEXPORT jboolean JNICALL AGL_NATIVE(aglSetInteger__III)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglSetInteger__III_FUNC);
-	rc = (jboolean)aglSetInteger(arg0, arg1, arg2);
-	AGL_NATIVE_EXIT(env, that, aglSetInteger__III_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglSetInteger__II_3I
-JNIEXPORT jboolean JNICALL AGL_NATIVE(aglSetInteger__II_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jboolean rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglSetInteger__II_3I_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jboolean)aglSetInteger(arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	AGL_NATIVE_EXIT(env, that, aglSetInteger__II_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglSwapBuffers
-JNIEXPORT void JNICALL AGL_NATIVE(aglSwapBuffers)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	AGL_NATIVE_ENTER(env, that, aglSwapBuffers_FUNC);
-	aglSwapBuffers(arg0);
-	AGL_NATIVE_EXIT(env, that, aglSwapBuffers_FUNC);
-}
-#endif
-
-#ifndef NO_aglUpdateContext
-JNIEXPORT jboolean JNICALL AGL_NATIVE(aglUpdateContext)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglUpdateContext_FUNC);
-	rc = (jboolean)aglUpdateContext(arg0);
-	AGL_NATIVE_EXIT(env, that, aglUpdateContext_FUNC);
-	return rc;
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt.opengl/carbon/library/agl.h b/bundles/org.eclipse.swt.opengl/carbon/library/agl.h
deleted file mode 100644
index 9a87d42..0000000
--- a/bundles/org.eclipse.swt.opengl/carbon/library/agl.h
+++ /dev/null
@@ -1,3 +0,0 @@
-
-#include <OpenGL/gl.h>
-
diff --git a/bundles/org.eclipse.swt.opengl/carbon/library/agl_stats.c b/bundles/org.eclipse.swt.opengl/carbon/library/agl_stats.c
deleted file mode 100644
index c1f0167..0000000
--- a/bundles/org.eclipse.swt.opengl/carbon/library/agl_stats.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2000, 2005 IBM Corporation and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-*     IBM Corporation - initial API and implementation
-*******************************************************************************/
-
-#include "swt.h"
-#include "agl_stats.h"
-
-#ifdef NATIVE_STATS
-
-int AGL_nativeFunctionCount = 14;
-int AGL_nativeFunctionCallCount[14];
-char * AGL_nativeFunctionNames[] = {
-	"aglChoosePixelFormat",
-	"aglCreateContext",
-	"aglDescribePixelFormat",
-	"aglDestroyContext",
-	"aglDestroyPixelFormat",
-	"aglEnable",
-	"aglGetCurrentContext",
-	"aglGetDrawable",
-	"aglSetCurrentContext",
-	"aglSetDrawable",
-	"aglSetInteger__III",
-	"aglSetInteger__II_3I",
-	"aglSwapBuffers",
-	"aglUpdateContext",
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(AGL_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return AGL_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(AGL_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, AGL_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(AGL_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return AGL_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt.opengl/carbon/library/agl_stats.h b/bundles/org.eclipse.swt.opengl/carbon/library/agl_stats.h
deleted file mode 100644
index fc359af..0000000
--- a/bundles/org.eclipse.swt.opengl/carbon/library/agl_stats.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2000, 2005 IBM Corporation and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-*     IBM Corporation - initial API and implementation
-*******************************************************************************/
-
-#ifdef NATIVE_STATS
-extern int AGL_nativeFunctionCount;
-extern int AGL_nativeFunctionCallCount[];
-extern char* AGL_nativeFunctionNames[];
-#define AGL_NATIVE_ENTER(env, that, func) AGL_nativeFunctionCallCount[func]++;
-#define AGL_NATIVE_EXIT(env, that, func) 
-#else
-#define AGL_NATIVE_ENTER(env, that, func) 
-#define AGL_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	aglChoosePixelFormat_FUNC,
-	aglCreateContext_FUNC,
-	aglDescribePixelFormat_FUNC,
-	aglDestroyContext_FUNC,
-	aglDestroyPixelFormat_FUNC,
-	aglEnable_FUNC,
-	aglGetCurrentContext_FUNC,
-	aglGetDrawable_FUNC,
-	aglSetCurrentContext_FUNC,
-	aglSetDrawable_FUNC,
-	aglSetInteger__III_FUNC,
-	aglSetInteger__II_3I_FUNC,
-	aglSwapBuffers_FUNC,
-	aglUpdateContext_FUNC,
-} AGL_FUNCS;
diff --git a/bundles/org.eclipse.swt.opengl/carbon/library/agl_structs.h b/bundles/org.eclipse.swt.opengl/carbon/library/agl_structs.h
deleted file mode 100644
index 36531f5..0000000
--- a/bundles/org.eclipse.swt.opengl/carbon/library/agl_structs.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2000, 2005 IBM Corporation and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-*     IBM Corporation - initial API and implementation
-*******************************************************************************/
-
-#include "agl.h"
-
diff --git a/bundles/org.eclipse.swt.opengl/carbon/org/eclipse/swt/internal/opengl/carbon/AGL.java b/bundles/org.eclipse.swt.opengl/carbon/org/eclipse/swt/internal/opengl/carbon/AGL.java
deleted file mode 100644
index 3c1339e..0000000
--- a/bundles/org.eclipse.swt.opengl/carbon/org/eclipse/swt/internal/opengl/carbon/AGL.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.opengl.carbon;
-
-import org.eclipse.swt.opengl.Library;
-
-public class AGL {
-
-static {
-	Library.loadLibrary("gl");
-}
-
-/* Attributes */
-public static final int AGL_NONE = 0;
-public static final int AGL_BUFFER_SIZE = 2;
-public static final int AGL_LEVEL = 3;
-public static final int AGL_RGBA = 4;
-public static final int AGL_DOUBLEBUFFER = 5;
-public static final int AGL_STEREO = 6;
-public static final int AGL_AUX_BUFFERS = 7;
-public static final int AGL_RED_SIZE = 8;
-public static final int AGL_GREEN_SIZE = 9;
-public static final int AGL_BLUE_SIZE = 10;
-public static final int AGL_ALPHA_SIZE = 11;
-public static final int AGL_DEPTH_SIZE = 12;
-public static final int AGL_STENCIL_SIZE = 13;
-public static final int AGL_ACCUM_RED_SIZE = 14;
-public static final int AGL_ACCUM_GREEN_SIZE = 15;
-public static final int AGL_ACCUM_BLUE_SIZE = 16;
-public static final int AGL_ACCUM_ALPHA_SIZE = 17;
-
-public static final int AGL_SAMPLE_BUFFERS_ARB = 55;
-public static final int AGL_SAMPLES_ARB = 56;
-
-/* Integer parameters */
-public static final int AGL_BUFFER_RECT = 202;
-public static final int AGL_SWAP_INTERVAL = 222;
-public static final int AGL_BUFFER_NAME = 231;
-public static final int AGL_CLIP_REGION = 254;
-
-public static final native int aglChoosePixelFormat(int gdevs, int ndev, int[] attribs);
-public static final native int aglCreateContext(int pix, int share);
-public static final native boolean aglDescribePixelFormat(int pix, int attrib, int[] value);
-public static final native boolean aglDestroyContext(int ctx);
-public static final native void aglDestroyPixelFormat(int pix);
-public static final native boolean aglEnable(int ctx, int pname);
-public static final native int aglGetCurrentContext();
-public static final native int aglGetDrawable(int ctx);
-public static final native boolean aglSetCurrentContext(int ctx);
-public static final native boolean aglSetDrawable(int ctx, int draw);
-public static final native boolean aglSetInteger(int ctx, int pname, int[] params);
-public static final native boolean aglSetInteger(int ctx, int pname, int param);
-public static final native void aglSwapBuffers(int ctx);
-public static final native boolean aglUpdateContext(int ctx);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt.opengl/carbon/org/eclipse/swt/opengl/GLCanvas.java b/bundles/org.eclipse.swt.opengl/carbon/org/eclipse/swt/opengl/GLCanvas.java
deleted file mode 100755
index ebfc775..0000000
--- a/bundles/org.eclipse.swt.opengl/carbon/org/eclipse/swt/opengl/GLCanvas.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.widgets.*;
-import org.eclipse.swt.internal.carbon.*;
-import org.eclipse.swt.internal.opengl.carbon.*;
-
-/**
- * GLCanvas is a widget capable of displaying OpenGL content.
- */
-
-public class GLCanvas extends Canvas {	
-	int context;
-	int pixelFormat;
-	static final int MAX_ATTRIBUTES = 32;
-
-/**
- * Create a GLCanvas widget using the attributes described in the GLData
- * object provided.
- *
- * @param parent a composite widget
- * @param style the bitwise OR'ing of widget styles
- * @param data the requested attributes of the GLCanvas
- *
- * @exception IllegalArgumentException
- * <ul><li>ERROR_NULL_ARGUMENT when the data is null
- *     <li>ERROR_UNSUPPORTED_DEPTH when the requested attributes cannot be provided</ul> 
- * @exception SWTException
- * <ul><li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
- *     <li>ERROR_CANNOT_CREATE_OBJECT when failed to create OLE Object
- *     <li>ERROR_CANNOT_OPEN_FILE when failed to open file
- *     <li>ERROR_INTERFACE_NOT_FOUND when unable to create callbacks for OLE Interfaces
- *     <li>ERROR_INVALID_CLASSID
- * </ul>
- */
-public GLCanvas (Composite parent, int style, GLData data) {
-	super (parent, style);
-	if (data == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	int aglAttrib [] = new int [MAX_ATTRIBUTES];
-	int pos = 0;
-	aglAttrib [pos++] = AGL.AGL_RGBA;
-	if (data.doubleBuffer) aglAttrib [pos++] = AGL.AGL_DOUBLEBUFFER;
-	if (data.stereo) aglAttrib [pos++] = AGL.AGL_STEREO;
-	if (data.redSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_RED_SIZE;
-		aglAttrib [pos++] = data.redSize;
-	}
-	if (data.greenSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_GREEN_SIZE;
-		aglAttrib [pos++] = data.greenSize;
-	}
-	if (data.blueSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_BLUE_SIZE;
-		aglAttrib [pos++] = data.blueSize;
-	}
-	if (data.alphaSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_ALPHA_SIZE;
-		aglAttrib [pos++] = data.alphaSize;
-	}
-	if (data.depthSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_DEPTH_SIZE;
-		aglAttrib [pos++] = data.depthSize;
-	}
-	if (data.stencilSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_STENCIL_SIZE;
-		aglAttrib [pos++] = data.stencilSize;
-	}
-	if (data.accumRedSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_ACCUM_RED_SIZE;
-		aglAttrib [pos++] = data.accumRedSize;
-	}
-	if (data.accumGreenSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_ACCUM_GREEN_SIZE;
-		aglAttrib [pos++] = data.accumGreenSize;
-	}
-	if (data.accumBlueSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_ACCUM_BLUE_SIZE;
-		aglAttrib [pos++] = data.accumBlueSize;
-	}
-	if (data.accumAlphaSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_ACCUM_ALPHA_SIZE;
-		aglAttrib [pos++] = data.accumAlphaSize;
-	}
-	if (data.sampleBuffers > 0) {
-		aglAttrib [pos++] = AGL.AGL_SAMPLE_BUFFERS_ARB;
-		aglAttrib [pos++] = data.sampleBuffers;
-	}
-	if (data.samples > 0) {
-		aglAttrib [pos++] = AGL.AGL_SAMPLES_ARB;
-		aglAttrib [pos++] = data.samples;
-	}
-	aglAttrib [pos++] = AGL.AGL_NONE;
-	pixelFormat = AGL.aglChoosePixelFormat (0, 0, aglAttrib);
-//	context = AGL.aglCreateContext (pixelFormat, share == null ? 0 : share.context);
-	context = AGL.aglCreateContext (pixelFormat, 0);
-	int window = OS.GetControlOwner (handle);
-	int port = OS.GetWindowPort (window);
-	AGL.aglSetDrawable (context, port);
-
-	Listener listener = new Listener () {
-		public void handleEvent (Event event) {
-			switch (event.type) {
-			case SWT.Dispose:
-				AGL.aglDestroyContext (context);
-				AGL.aglDestroyPixelFormat (pixelFormat);
-				break;
-			case SWT.Resize:
-			case SWT.Hide:
-			case SWT.Show:
-				getDisplay().asyncExec(new Runnable() {
-					public void run() {
-						fixBounds();
-					}
-				});
-				break;
-			}
-		}
-	};
-	addListener (SWT.Resize, listener);
-	Shell shell = getShell();
-	shell.addListener(SWT.Resize, listener);
-	shell.addListener(SWT.Show, listener);
-	shell.addListener(SWT.Hide, listener);
-	Control c = this;
-	do {
-		c.addListener(SWT.Show, listener);
-		c.addListener(SWT.Hide, listener);
-		c = c.getParent();
-	} while (c != shell);
-	addListener (SWT.Dispose, listener);
-}
-
-void fixBounds () {
-	GCData data = new GCData ();
-	int gc = internal_new_GC (data);
-	Rect bounds = new Rect ();
-	OS.GetRegionBounds (data.visibleRgn, bounds);
-	int width = bounds.right - bounds.left;
-	int height = bounds.bottom - bounds.top;
-	Rect rect = new Rect ();
-	int window = OS.GetControlOwner (handle);
-	int port = OS.GetWindowPort (window);
-	OS.GetPortBounds (port, rect);
-	int [] glbounds = new int [4];
-	glbounds[0] = bounds.left;
-	glbounds[1] = rect.bottom - rect.top - bounds.top - height;
-	glbounds[2] = width;
-	glbounds[3] = height;
-	AGL.aglSetInteger (context, AGL.AGL_BUFFER_RECT, glbounds);
-	AGL.aglEnable (context, AGL.AGL_BUFFER_RECT);
-	AGL.aglSetInteger (context, AGL.AGL_CLIP_REGION, data.visibleRgn);
-	AGL.aglUpdateContext (context);
-	internal_dispose_GC (gc, data);
-}
-
-/**
- * Returns a GLData object describing the created context.
- *  
- * @return GLData description of the OpenGL context attributes
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public GLData getGLData () {
-	checkWidget ();
-	GLData data = new GLData ();
-	int [] value = new int [1];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_DOUBLEBUFFER, value);
-	data.doubleBuffer = value [0] != 0;
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_STEREO, value);
-	data.stereo = value [0] != 0;
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_RED_SIZE, value);
-	data.redSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_GREEN_SIZE, value);
-	data.greenSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_BLUE_SIZE, value);
-	data.blueSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_ALPHA_SIZE, value);
-	data.alphaSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_DEPTH_SIZE, value);
-	data.depthSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_STENCIL_SIZE, value);
-	data.stencilSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_ACCUM_RED_SIZE, value);
-	data.accumRedSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_ACCUM_GREEN_SIZE, value);
-	data.accumGreenSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_ACCUM_BLUE_SIZE, value);
-	data.accumBlueSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_ACCUM_ALPHA_SIZE, value);
-	data.accumAlphaSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_SAMPLE_BUFFERS_ARB, value);
-	data.sampleBuffers = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_SAMPLES_ARB, value);
-	data.samples = value [0];
-	return data;
-}
-
-/**
- * Returns a boolean indicating whether the receiver's OpenGL context
- * is the current context.
- *  
- * @return true if the receiver holds the current OpenGL context,
- * false otherwise
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public boolean isCurrent () {
-	checkWidget ();
-	return AGL.aglGetCurrentContext () == context;
-}
-
-/**
- * Sets the OpenGL context associated with this GLCanvas to be the
- * current GL context.
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public void setCurrent () {
-	checkWidget ();
-	if (AGL.aglGetCurrentContext () != context) {
-		AGL.aglSetCurrentContext (context);
-	}
-}
-
-/**
- * Swaps the front and back color buffers.
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public void swapBuffers () {
-	checkWidget ();
-	AGL.aglSwapBuffers (context);
-}
-}
diff --git a/bundles/org.eclipse.swt.opengl/common/library/gl.c b/bundles/org.eclipse.swt.opengl/common/library/gl.c
deleted file mode 100644
index 18b5e9f..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/gl.c
+++ /dev/null
@@ -1,5927 +0,0 @@
-#include "swt.h"
-#include "gl_structs.h"
-#include "gl_stats.h"
-
-#define GL_NATIVE(func) Java_org_eclipse_opengl_GL_##func
-
-#ifndef NO_glAccum
-JNIEXPORT void JNICALL GL_NATIVE(glAccum)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glAccum_FUNC);
-	glAccum(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glAccum_FUNC);
-}
-#endif
-
-#ifndef NO_glAlphaFunc
-JNIEXPORT void JNICALL GL_NATIVE(glAlphaFunc)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glAlphaFunc_FUNC);
-	glAlphaFunc(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glAlphaFunc_FUNC);
-}
-#endif
-
-#ifndef NO_glAreTexturesResident
-JNIEXPORT jboolean JNICALL GL_NATIVE(glAreTexturesResident)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jbooleanArray arg2)
-{
-	jint *lparg1=NULL;
-	jboolean *lparg2=NULL;
-	jboolean rc;
-	GL_NATIVE_ENTER(env, that, glAreTexturesResident_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-		if (arg2) lparg2 = (*env)->GetBooleanArrayElements(env, arg2, NULL);
-	}
-	rc = (jboolean)glAreTexturesResident(arg0, (const GLuint *)lparg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseBooleanArrayElements(env, arg2, lparg2, 0);
-		if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glAreTexturesResident_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glArrayElement
-JNIEXPORT void JNICALL GL_NATIVE(glArrayElement)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glArrayElement_FUNC);
-	glArrayElement(arg0);
-	GL_NATIVE_EXIT(env, that, glArrayElement_FUNC);
-}
-#endif
-
-#ifndef NO_glBegin
-JNIEXPORT void JNICALL GL_NATIVE(glBegin)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glBegin_FUNC);
-	glBegin(arg0);
-	GL_NATIVE_EXIT(env, that, glBegin_FUNC);
-}
-#endif
-
-#ifndef NO_glBindTexture
-JNIEXPORT void JNICALL GL_NATIVE(glBindTexture)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glBindTexture_FUNC);
-	glBindTexture(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glBindTexture_FUNC);
-}
-#endif
-
-#ifndef NO_glBitmap
-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;
-	GL_NATIVE_ENTER(env, that, glBitmap_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg6) lparg6 = (*env)->GetPrimitiveArrayCritical(env, arg6, NULL);
-	} else
-#endif
-	{
-		if (arg6) lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL);
-	}
-	glBitmap(arg0, arg1, arg2, arg3, arg4, arg5, (const GLubyte *)lparg6);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg6) (*env)->ReleasePrimitiveArrayCritical(env, arg6, lparg6, 0);
-	} else
-#endif
-	{
-		if (arg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glBitmap_FUNC);
-}
-#endif
-
-#ifndef NO_glBlendFunc
-JNIEXPORT void JNICALL GL_NATIVE(glBlendFunc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glBlendFunc_FUNC);
-	glBlendFunc(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glBlendFunc_FUNC);
-}
-#endif
-
-#ifndef NO_glCallList
-JNIEXPORT void JNICALL GL_NATIVE(glCallList)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glCallList_FUNC);
-	glCallList(arg0);
-	GL_NATIVE_EXIT(env, that, glCallList_FUNC);
-}
-#endif
-
-#ifndef NO_glCallLists__II_3B
-JNIEXPORT void JNICALL GL_NATIVE(glCallLists__II_3B)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2)
-{
-	jbyte *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glCallLists__II_3B_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL);
-	}
-	glCallLists(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glCallLists__II_3B_FUNC);
-}
-#endif
-
-#ifndef NO_glCallLists__II_3C
-JNIEXPORT void JNICALL GL_NATIVE(glCallLists__II_3C)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2)
-{
-	jchar *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glCallLists__II_3C_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL);
-	}
-	glCallLists(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glCallLists__II_3C_FUNC);
-}
-#endif
-
-#ifndef NO_glCallLists__II_3I
-JNIEXPORT void JNICALL GL_NATIVE(glCallLists__II_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glCallLists__II_3I_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glCallLists(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glCallLists__II_3I_FUNC);
-}
-#endif
-
-#ifndef NO_glClear
-JNIEXPORT void JNICALL GL_NATIVE(glClear)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glClear_FUNC);
-	glClear(arg0);
-	GL_NATIVE_EXIT(env, that, glClear_FUNC);
-}
-#endif
-
-#ifndef NO_glClearAccum
-JNIEXPORT void JNICALL GL_NATIVE(glClearAccum)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	GL_NATIVE_ENTER(env, that, glClearAccum_FUNC);
-	glClearAccum(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glClearAccum_FUNC);
-}
-#endif
-
-#ifndef NO_glClearColor
-JNIEXPORT void JNICALL GL_NATIVE(glClearColor)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	GL_NATIVE_ENTER(env, that, glClearColor_FUNC);
-	glClearColor(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glClearColor_FUNC);
-}
-#endif
-
-#ifndef NO_glClearDepth
-JNIEXPORT void JNICALL GL_NATIVE(glClearDepth)
-	(JNIEnv *env, jclass that, jdouble arg0)
-{
-	GL_NATIVE_ENTER(env, that, glClearDepth_FUNC);
-	glClearDepth(arg0);
-	GL_NATIVE_EXIT(env, that, glClearDepth_FUNC);
-}
-#endif
-
-#ifndef NO_glClearIndex
-JNIEXPORT void JNICALL GL_NATIVE(glClearIndex)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	GL_NATIVE_ENTER(env, that, glClearIndex_FUNC);
-	glClearIndex(arg0);
-	GL_NATIVE_EXIT(env, that, glClearIndex_FUNC);
-}
-#endif
-
-#ifndef NO_glClearStencil
-JNIEXPORT void JNICALL GL_NATIVE(glClearStencil)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glClearStencil_FUNC);
-	glClearStencil(arg0);
-	GL_NATIVE_EXIT(env, that, glClearStencil_FUNC);
-}
-#endif
-
-#ifndef NO_glClipPlane
-JNIEXPORT void JNICALL GL_NATIVE(glClipPlane)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1)
-{
-	jdouble *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glClipPlane_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL);
-	}
-	glClipPlane(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glClipPlane_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3b
-JNIEXPORT void JNICALL GL_NATIVE(glColor3b)
-	(JNIEnv *env, jclass that, jbyte arg0, jbyte arg1, jbyte arg2)
-{
-	GL_NATIVE_ENTER(env, that, glColor3b_FUNC);
-	glColor3b(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glColor3b_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3bv
-JNIEXPORT void JNICALL GL_NATIVE(glColor3bv)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor3bv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	}
-	glColor3bv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor3bv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3d
-JNIEXPORT void JNICALL GL_NATIVE(glColor3d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	GL_NATIVE_ENTER(env, that, glColor3d_FUNC);
-	glColor3d(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glColor3d_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3dv
-JNIEXPORT void JNICALL GL_NATIVE(glColor3dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor3dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glColor3dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor3dv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3f
-JNIEXPORT void JNICALL GL_NATIVE(glColor3f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glColor3f_FUNC);
-	glColor3f(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glColor3f_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3fv
-JNIEXPORT void JNICALL GL_NATIVE(glColor3fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor3fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glColor3fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor3fv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3i
-JNIEXPORT void JNICALL GL_NATIVE(glColor3i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glColor3i_FUNC);
-	glColor3i(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glColor3i_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3iv
-JNIEXPORT void JNICALL GL_NATIVE(glColor3iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor3iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glColor3iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor3iv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3s
-JNIEXPORT void JNICALL GL_NATIVE(glColor3s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	GL_NATIVE_ENTER(env, that, glColor3s_FUNC);
-	glColor3s(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glColor3s_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3sv
-JNIEXPORT void JNICALL GL_NATIVE(glColor3sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor3sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glColor3sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor3sv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3ub
-JNIEXPORT void JNICALL GL_NATIVE(glColor3ub)
-	(JNIEnv *env, jclass that, jbyte arg0, jbyte arg1, jbyte arg2)
-{
-	GL_NATIVE_ENTER(env, that, glColor3ub_FUNC);
-	glColor3ub(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glColor3ub_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3ubv
-JNIEXPORT void JNICALL GL_NATIVE(glColor3ubv)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor3ubv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	}
-	glColor3ubv((const GLubyte *)lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor3ubv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3ui
-JNIEXPORT void JNICALL GL_NATIVE(glColor3ui)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glColor3ui_FUNC);
-	glColor3ui(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glColor3ui_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3uiv
-JNIEXPORT void JNICALL GL_NATIVE(glColor3uiv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor3uiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glColor3uiv((const GLuint *)lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor3uiv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3us
-JNIEXPORT void JNICALL GL_NATIVE(glColor3us)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	GL_NATIVE_ENTER(env, that, glColor3us_FUNC);
-	glColor3us(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glColor3us_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3usv
-JNIEXPORT void JNICALL GL_NATIVE(glColor3usv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor3usv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glColor3usv((const GLushort *)lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor3usv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4b
-JNIEXPORT void JNICALL GL_NATIVE(glColor4b)
-	(JNIEnv *env, jclass that, jbyte arg0, jbyte arg1, jbyte arg2, jbyte arg3)
-{
-	GL_NATIVE_ENTER(env, that, glColor4b_FUNC);
-	glColor4b(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glColor4b_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4bv
-JNIEXPORT void JNICALL GL_NATIVE(glColor4bv)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor4bv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	}
-	glColor4bv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor4bv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4d
-JNIEXPORT void JNICALL GL_NATIVE(glColor4d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	GL_NATIVE_ENTER(env, that, glColor4d_FUNC);
-	glColor4d(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glColor4d_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4dv
-JNIEXPORT void JNICALL GL_NATIVE(glColor4dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor4dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glColor4dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor4dv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4f
-JNIEXPORT void JNICALL GL_NATIVE(glColor4f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	GL_NATIVE_ENTER(env, that, glColor4f_FUNC);
-	glColor4f(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glColor4f_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4fv
-JNIEXPORT void JNICALL GL_NATIVE(glColor4fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor4fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glColor4fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor4fv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4i
-JNIEXPORT void JNICALL GL_NATIVE(glColor4i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GL_NATIVE_ENTER(env, that, glColor4i_FUNC);
-	glColor4i(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glColor4i_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4iv
-JNIEXPORT void JNICALL GL_NATIVE(glColor4iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor4iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glColor4iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor4iv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4s
-JNIEXPORT void JNICALL GL_NATIVE(glColor4s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jshort arg3)
-{
-	GL_NATIVE_ENTER(env, that, glColor4s_FUNC);
-	glColor4s(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glColor4s_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4ub
-JNIEXPORT void JNICALL GL_NATIVE(glColor4ub)
-	(JNIEnv *env, jclass that, jbyte arg0, jbyte arg1, jbyte arg2, jbyte arg3)
-{
-	GL_NATIVE_ENTER(env, that, glColor4ub_FUNC);
-	glColor4ub(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glColor4ub_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4ubv
-JNIEXPORT void JNICALL GL_NATIVE(glColor4ubv)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor4ubv_FUNC);
-	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	glColor4ubv((const GLubyte *)lparg0);
-	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	GL_NATIVE_EXIT(env, that, glColor4ubv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4ui
-JNIEXPORT void JNICALL GL_NATIVE(glColor4ui)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GL_NATIVE_ENTER(env, that, glColor4ui_FUNC);
-	glColor4ui(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glColor4ui_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4uiv
-JNIEXPORT void JNICALL GL_NATIVE(glColor4uiv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor4uiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glColor4uiv((const GLuint *)lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor4uiv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4us
-JNIEXPORT void JNICALL GL_NATIVE(glColor4us)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jshort arg3)
-{
-	GL_NATIVE_ENTER(env, that, glColor4us_FUNC);
-	glColor4us(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glColor4us_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4usv
-JNIEXPORT void JNICALL GL_NATIVE(glColor4usv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor4usv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glColor4usv((const GLushort *)lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor4usv_FUNC);
-}
-#endif
-
-#ifndef NO_glColorMask
-JNIEXPORT void JNICALL GL_NATIVE(glColorMask)
-	(JNIEnv *env, jclass that, jboolean arg0, jboolean arg1, jboolean arg2, jboolean arg3)
-{
-	GL_NATIVE_ENTER(env, that, glColorMask_FUNC);
-	glColorMask(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glColorMask_FUNC);
-}
-#endif
-
-#ifndef NO_glColorMaterial
-JNIEXPORT void JNICALL GL_NATIVE(glColorMaterial)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glColorMaterial_FUNC);
-	glColorMaterial(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glColorMaterial_FUNC);
-}
-#endif
-
-#ifndef NO_glColorPointer
-JNIEXPORT void JNICALL GL_NATIVE(glColorPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	GL_NATIVE_ENTER(env, that, glColorPointer_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL);
-	} else
-#endif
-	{
-		if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	}
-	glColorPointer(arg0, arg1, arg2, lparg3);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColorPointer_FUNC);
-}
-#endif
-
-#ifndef NO_glCopyPixels
-JNIEXPORT void JNICALL GL_NATIVE(glCopyPixels)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	GL_NATIVE_ENTER(env, that, glCopyPixels_FUNC);
-	glCopyPixels(arg0, arg1, arg2, arg3, arg4);
-	GL_NATIVE_EXIT(env, that, glCopyPixels_FUNC);
-}
-#endif
-
-#ifndef NO_glCopyTexImage1D
-JNIEXPORT void JNICALL GL_NATIVE(glCopyTexImage1D)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	GL_NATIVE_ENTER(env, that, glCopyTexImage1D_FUNC);
-	glCopyTexImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-	GL_NATIVE_EXIT(env, that, glCopyTexImage1D_FUNC);
-}
-#endif
-
-#ifndef NO_glCopyTexImage2D
-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)
-{
-	GL_NATIVE_ENTER(env, that, glCopyTexImage2D_FUNC);
-	glCopyTexImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-	GL_NATIVE_EXIT(env, that, glCopyTexImage2D_FUNC);
-}
-#endif
-
-#ifndef NO_glCopyTexSubImage1D
-JNIEXPORT void JNICALL GL_NATIVE(glCopyTexSubImage1D)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	GL_NATIVE_ENTER(env, that, glCopyTexSubImage1D_FUNC);
-	glCopyTexSubImage1D(arg0, arg1, arg2, arg3, arg4, arg5);
-	GL_NATIVE_EXIT(env, that, glCopyTexSubImage1D_FUNC);
-}
-#endif
-
-#ifndef NO_glCopyTexSubImage2D
-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)
-{
-	GL_NATIVE_ENTER(env, that, glCopyTexSubImage2D_FUNC);
-	glCopyTexSubImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-	GL_NATIVE_EXIT(env, that, glCopyTexSubImage2D_FUNC);
-}
-#endif
-
-#ifndef NO_glCullFace
-JNIEXPORT void JNICALL GL_NATIVE(glCullFace)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glCullFace_FUNC);
-	glCullFace(arg0);
-	GL_NATIVE_EXIT(env, that, glCullFace_FUNC);
-}
-#endif
-
-#ifndef NO_glDeleteLists
-JNIEXPORT void JNICALL GL_NATIVE(glDeleteLists)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glDeleteLists_FUNC);
-	glDeleteLists(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glDeleteLists_FUNC);
-}
-#endif
-
-#ifndef NO_glDeleteTextures
-JNIEXPORT void JNICALL GL_NATIVE(glDeleteTextures)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glDeleteTextures_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	}
-	glDeleteTextures(arg0, (const GLuint *)lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glDeleteTextures_FUNC);
-}
-#endif
-
-#ifndef NO_glDepthFunc
-JNIEXPORT void JNICALL GL_NATIVE(glDepthFunc)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glDepthFunc_FUNC);
-	glDepthFunc(arg0);
-	GL_NATIVE_EXIT(env, that, glDepthFunc_FUNC);
-}
-#endif
-
-#ifndef NO_glDepthMask
-JNIEXPORT void JNICALL GL_NATIVE(glDepthMask)
-	(JNIEnv *env, jclass that, jboolean arg0)
-{
-	GL_NATIVE_ENTER(env, that, glDepthMask_FUNC);
-	glDepthMask(arg0);
-	GL_NATIVE_EXIT(env, that, glDepthMask_FUNC);
-}
-#endif
-
-#ifndef NO_glDepthRange
-JNIEXPORT void JNICALL GL_NATIVE(glDepthRange)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1)
-{
-	GL_NATIVE_ENTER(env, that, glDepthRange_FUNC);
-	glDepthRange(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glDepthRange_FUNC);
-}
-#endif
-
-#ifndef NO_glDisable
-JNIEXPORT void JNICALL GL_NATIVE(glDisable)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glDisable_FUNC);
-	glDisable(arg0);
-	GL_NATIVE_EXIT(env, that, glDisable_FUNC);
-}
-#endif
-
-#ifndef NO_glDisableClientState
-JNIEXPORT void JNICALL GL_NATIVE(glDisableClientState)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glDisableClientState_FUNC);
-	glDisableClientState(arg0);
-	GL_NATIVE_EXIT(env, that, glDisableClientState_FUNC);
-}
-#endif
-
-#ifndef NO_glDrawArrays
-JNIEXPORT void JNICALL GL_NATIVE(glDrawArrays)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glDrawArrays_FUNC);
-	glDrawArrays(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glDrawArrays_FUNC);
-}
-#endif
-
-#ifndef NO_glDrawBuffer
-JNIEXPORT void JNICALL GL_NATIVE(glDrawBuffer)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glDrawBuffer_FUNC);
-	glDrawBuffer(arg0);
-	GL_NATIVE_EXIT(env, that, glDrawBuffer_FUNC);
-}
-#endif
-
-#ifndef NO_glDrawElements
-JNIEXPORT void JNICALL GL_NATIVE(glDrawElements)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	GL_NATIVE_ENTER(env, that, glDrawElements_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL);
-	} else
-#endif
-	{
-		if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	}
-	glDrawElements(arg0, arg1, arg2, lparg3);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glDrawElements_FUNC);
-}
-#endif
-
-#ifndef NO_glDrawPixels
-JNIEXPORT void JNICALL GL_NATIVE(glDrawPixels)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	GL_NATIVE_ENTER(env, that, glDrawPixels_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4) lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL);
-	} else
-#endif
-	{
-		if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
-	}
-	glDrawPixels(arg0, arg1, arg2, arg3, lparg4);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-	} else
-#endif
-	{
-		if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glDrawPixels_FUNC);
-}
-#endif
-
-#ifndef NO_glEdgeFlag
-JNIEXPORT void JNICALL GL_NATIVE(glEdgeFlag)
-	(JNIEnv *env, jclass that, jboolean arg0)
-{
-	GL_NATIVE_ENTER(env, that, glEdgeFlag_FUNC);
-	glEdgeFlag(arg0);
-	GL_NATIVE_EXIT(env, that, glEdgeFlag_FUNC);
-}
-#endif
-
-#ifndef NO_glEdgeFlagPointer
-JNIEXPORT void JNICALL GL_NATIVE(glEdgeFlagPointer)
-	(JNIEnv *env, jclass that, jint arg0, jbooleanArray arg1)
-{
-	jboolean *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glEdgeFlagPointer_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetBooleanArrayElements(env, arg1, NULL);
-	}
-	glEdgeFlagPointer(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseBooleanArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glEdgeFlagPointer_FUNC);
-}
-#endif
-
-#ifndef NO_glEdgeFlagv
-JNIEXPORT void JNICALL GL_NATIVE(glEdgeFlagv)
-	(JNIEnv *env, jclass that, jbooleanArray arg0)
-{
-	jboolean *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glEdgeFlagv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetBooleanArrayElements(env, arg0, NULL);
-	}
-	glEdgeFlagv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseBooleanArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glEdgeFlagv_FUNC);
-}
-#endif
-
-#ifndef NO_glEnable
-JNIEXPORT void JNICALL GL_NATIVE(glEnable)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glEnable_FUNC);
-	glEnable(arg0);
-	GL_NATIVE_EXIT(env, that, glEnable_FUNC);
-}
-#endif
-
-#ifndef NO_glEnableClientState
-JNIEXPORT void JNICALL GL_NATIVE(glEnableClientState)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glEnableClientState_FUNC);
-	glEnableClientState(arg0);
-	GL_NATIVE_EXIT(env, that, glEnableClientState_FUNC);
-}
-#endif
-
-#ifndef NO_glEnd
-JNIEXPORT void JNICALL GL_NATIVE(glEnd)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glEnd_FUNC);
-	glEnd();
-	GL_NATIVE_EXIT(env, that, glEnd_FUNC);
-}
-#endif
-
-#ifndef NO_glEndList
-JNIEXPORT void JNICALL GL_NATIVE(glEndList)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glEndList_FUNC);
-	glEndList();
-	GL_NATIVE_EXIT(env, that, glEndList_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalCoord1d
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord1d)
-	(JNIEnv *env, jclass that, jdouble arg0)
-{
-	GL_NATIVE_ENTER(env, that, glEvalCoord1d_FUNC);
-	glEvalCoord1d(arg0);
-	GL_NATIVE_EXIT(env, that, glEvalCoord1d_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalCoord1dv
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord1dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glEvalCoord1dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glEvalCoord1dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glEvalCoord1dv_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalCoord1f
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord1f)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	GL_NATIVE_ENTER(env, that, glEvalCoord1f_FUNC);
-	glEvalCoord1f(arg0);
-	GL_NATIVE_EXIT(env, that, glEvalCoord1f_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalCoord1fv
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord1fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glEvalCoord1fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glEvalCoord1fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glEvalCoord1fv_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalCoord2d
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord2d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1)
-{
-	GL_NATIVE_ENTER(env, that, glEvalCoord2d_FUNC);
-	glEvalCoord2d(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glEvalCoord2d_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalCoord2dv
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord2dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glEvalCoord2dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glEvalCoord2dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glEvalCoord2dv_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalCoord2f
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord2f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glEvalCoord2f_FUNC);
-	glEvalCoord2f(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glEvalCoord2f_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalCoord2fv
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord2fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glEvalCoord2fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glEvalCoord2fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glEvalCoord2fv_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalMesh1
-JNIEXPORT void JNICALL GL_NATIVE(glEvalMesh1)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glEvalMesh1_FUNC);
-	glEvalMesh1(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glEvalMesh1_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalMesh2
-JNIEXPORT void JNICALL GL_NATIVE(glEvalMesh2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	GL_NATIVE_ENTER(env, that, glEvalMesh2_FUNC);
-	glEvalMesh2(arg0, arg1, arg2, arg3, arg4);
-	GL_NATIVE_EXIT(env, that, glEvalMesh2_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalPoint1
-JNIEXPORT void JNICALL GL_NATIVE(glEvalPoint1)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glEvalPoint1_FUNC);
-	glEvalPoint1(arg0);
-	GL_NATIVE_EXIT(env, that, glEvalPoint1_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalPoint2
-JNIEXPORT void JNICALL GL_NATIVE(glEvalPoint2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glEvalPoint2_FUNC);
-	glEvalPoint2(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glEvalPoint2_FUNC);
-}
-#endif
-
-#ifndef NO_glFeedbackBuffer
-JNIEXPORT void JNICALL GL_NATIVE(glFeedbackBuffer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glFeedbackBuffer_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glFeedbackBuffer(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glFeedbackBuffer_FUNC);
-}
-#endif
-
-#ifndef NO_glFinish
-JNIEXPORT void JNICALL GL_NATIVE(glFinish)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glFinish_FUNC);
-	glFinish();
-	GL_NATIVE_EXIT(env, that, glFinish_FUNC);
-}
-#endif
-
-#ifndef NO_glFlush
-JNIEXPORT void JNICALL GL_NATIVE(glFlush)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glFlush_FUNC);
-	glFlush();
-	GL_NATIVE_EXIT(env, that, glFlush_FUNC);
-}
-#endif
-
-#ifndef NO_glFogf
-JNIEXPORT void JNICALL GL_NATIVE(glFogf)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glFogf_FUNC);
-	glFogf(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glFogf_FUNC);
-}
-#endif
-
-#ifndef NO_glFogfv
-JNIEXPORT void JNICALL GL_NATIVE(glFogfv)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glFogfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL);
-	}
-	glFogfv(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glFogfv_FUNC);
-}
-#endif
-
-#ifndef NO_glFogi
-JNIEXPORT void JNICALL GL_NATIVE(glFogi)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glFogi_FUNC);
-	glFogi(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glFogi_FUNC);
-}
-#endif
-
-#ifndef NO_glFogiv
-JNIEXPORT void JNICALL GL_NATIVE(glFogiv)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glFogiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	}
-	glFogiv(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glFogiv_FUNC);
-}
-#endif
-
-#ifndef NO_glFrontFace
-JNIEXPORT void JNICALL GL_NATIVE(glFrontFace)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glFrontFace_FUNC);
-	glFrontFace(arg0);
-	GL_NATIVE_EXIT(env, that, glFrontFace_FUNC);
-}
-#endif
-
-#ifndef NO_glFrustum
-JNIEXPORT void JNICALL GL_NATIVE(glFrustum)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5)
-{
-	GL_NATIVE_ENTER(env, that, glFrustum_FUNC);
-	glFrustum(arg0, arg1, arg2, arg3, arg4, arg5);
-	GL_NATIVE_EXIT(env, that, glFrustum_FUNC);
-}
-#endif
-
-#ifndef NO_glGenLists
-JNIEXPORT jint JNICALL GL_NATIVE(glGenLists)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc;
-	GL_NATIVE_ENTER(env, that, glGenLists_FUNC);
-	rc = (jint)glGenLists(arg0);
-	GL_NATIVE_EXIT(env, that, glGenLists_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glGenTextures
-JNIEXPORT void JNICALL GL_NATIVE(glGenTextures)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGenTextures_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	}
-	glGenTextures(arg0, (GLuint *)lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGenTextures_FUNC);
-}
-#endif
-
-#ifndef NO_glGetBooleanv
-JNIEXPORT void JNICALL GL_NATIVE(glGetBooleanv)
-	(JNIEnv *env, jclass that, jint arg0, jbooleanArray arg1)
-{
-	jboolean *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGetBooleanv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetBooleanArrayElements(env, arg1, NULL);
-	}
-	glGetBooleanv(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseBooleanArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetBooleanv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetClipPlane
-JNIEXPORT void JNICALL GL_NATIVE(glGetClipPlane)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1)
-{
-	jdouble *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGetClipPlane_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL);
-	}
-	glGetClipPlane(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetClipPlane_FUNC);
-}
-#endif
-
-#ifndef NO_glGetDoublev
-JNIEXPORT void JNICALL GL_NATIVE(glGetDoublev)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1)
-{
-	jdouble *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGetDoublev_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL);
-	}
-	glGetDoublev(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetDoublev_FUNC);
-}
-#endif
-
-#ifndef NO_glGetError
-JNIEXPORT jint JNICALL GL_NATIVE(glGetError)
-	(JNIEnv *env, jclass that)
-{
-	jint rc;
-	GL_NATIVE_ENTER(env, that, glGetError_FUNC);
-	rc = (jint)glGetError();
-	GL_NATIVE_EXIT(env, that, glGetError_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glGetFloatv
-JNIEXPORT void JNICALL GL_NATIVE(glGetFloatv)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGetFloatv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL);
-	}
-	glGetFloatv(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetFloatv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetIntegerv
-JNIEXPORT void JNICALL GL_NATIVE(glGetIntegerv)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGetIntegerv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	}
-	glGetIntegerv(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetIntegerv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetLightfv
-JNIEXPORT void JNICALL GL_NATIVE(glGetLightfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetLightfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glGetLightfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetLightfv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetLightiv
-JNIEXPORT void JNICALL GL_NATIVE(glGetLightiv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetLightiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glGetLightiv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetLightiv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetMapdv
-JNIEXPORT void JNICALL GL_NATIVE(glGetMapdv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdoubleArray arg2)
-{
-	jdouble *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetMapdv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL);
-	}
-	glGetMapdv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetMapdv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetMapfv
-JNIEXPORT void JNICALL GL_NATIVE(glGetMapfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetMapfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glGetMapfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetMapfv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetMapiv
-JNIEXPORT void JNICALL GL_NATIVE(glGetMapiv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetMapiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glGetMapiv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetMapiv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetMaterialfv
-JNIEXPORT void JNICALL GL_NATIVE(glGetMaterialfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetMaterialfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glGetMaterialfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetMaterialfv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetMaterialiv
-JNIEXPORT void JNICALL GL_NATIVE(glGetMaterialiv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetMaterialiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glGetMaterialiv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetMaterialiv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetPixelMapfv
-JNIEXPORT void JNICALL GL_NATIVE(glGetPixelMapfv)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGetPixelMapfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL);
-	}
-	glGetPixelMapfv(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetPixelMapfv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetPixelMapuiv
-JNIEXPORT void JNICALL GL_NATIVE(glGetPixelMapuiv)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGetPixelMapuiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	}
-	glGetPixelMapuiv(arg0, (GLuint *)lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetPixelMapuiv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetPixelMapusv
-JNIEXPORT void JNICALL GL_NATIVE(glGetPixelMapusv)
-	(JNIEnv *env, jclass that, jint arg0, jshortArray arg1)
-{
-	jshort *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGetPixelMapusv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL);
-	}
-	glGetPixelMapusv(arg0, (GLushort *)lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetPixelMapusv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetPointerv
-JNIEXPORT void JNICALL GL_NATIVE(glGetPointerv)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGetPointerv_FUNC);
-	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	glGetPointerv(arg0, (GLvoid **)lparg1);
-	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	GL_NATIVE_EXIT(env, that, glGetPointerv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetPolygonStipple
-JNIEXPORT void JNICALL GL_NATIVE(glGetPolygonStipple)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glGetPolygonStipple_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	}
-	glGetPolygonStipple((GLubyte *)lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetPolygonStipple_FUNC);
-}
-#endif
-
-#ifndef NO_glGetString
-JNIEXPORT jint JNICALL GL_NATIVE(glGetString)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc;
-	GL_NATIVE_ENTER(env, that, glGetString_FUNC);
-	rc = (jint)glGetString(arg0);
-	GL_NATIVE_EXIT(env, that, glGetString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glGetTexEnvfv
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexEnvfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexEnvfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glGetTexEnvfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexEnvfv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetTexEnviv
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexEnviv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexEnviv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glGetTexEnviv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexEnviv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetTexGendv
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexGendv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdoubleArray arg2)
-{
-	jdouble *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexGendv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL);
-	}
-	glGetTexGendv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexGendv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetTexGenfv
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexGenfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexGenfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glGetTexGenfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexGenfv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetTexGeniv
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexGeniv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexGeniv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glGetTexGeniv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexGeniv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetTexImage
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexImage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexImage_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4) lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL);
-	} else
-#endif
-	{
-		if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
-	}
-	glGetTexImage(arg0, arg1, arg2, arg3, lparg4);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-	} else
-#endif
-	{
-		if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexImage_FUNC);
-}
-#endif
-
-#ifndef NO_glGetTexLevelParameterfv
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexLevelParameterfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jfloatArray arg3)
-{
-	jfloat *lparg3=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexLevelParameterfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL);
-	} else
-#endif
-	{
-		if (arg3) lparg3 = (*env)->GetFloatArrayElements(env, arg3, NULL);
-	}
-	glGetTexLevelParameterfv(arg0, arg1, arg2, lparg3);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg3) (*env)->ReleaseFloatArrayElements(env, arg3, lparg3, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexLevelParameterfv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetTexLevelParameteriv
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexLevelParameteriv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexLevelParameteriv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL);
-	} else
-#endif
-	{
-		if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	}
-	glGetTexLevelParameteriv(arg0, arg1, arg2, lparg3);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexLevelParameteriv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetTexParameterfv
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexParameterfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexParameterfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glGetTexParameterfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexParameterfv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetTexParameteriv
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexParameteriv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexParameteriv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glGetTexParameteriv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexParameteriv_FUNC);
-}
-#endif
-
-#ifndef NO_glHint
-JNIEXPORT void JNICALL GL_NATIVE(glHint)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glHint_FUNC);
-	glHint(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glHint_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexMask
-JNIEXPORT void JNICALL GL_NATIVE(glIndexMask)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glIndexMask_FUNC);
-	glIndexMask(arg0);
-	GL_NATIVE_EXIT(env, that, glIndexMask_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexPointer
-JNIEXPORT void JNICALL GL_NATIVE(glIndexPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glIndexPointer_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glIndexPointer(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glIndexPointer_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexd
-JNIEXPORT void JNICALL GL_NATIVE(glIndexd)
-	(JNIEnv *env, jclass that, jdouble arg0)
-{
-	GL_NATIVE_ENTER(env, that, glIndexd_FUNC);
-	glIndexd(arg0);
-	GL_NATIVE_EXIT(env, that, glIndexd_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexdv
-JNIEXPORT void JNICALL GL_NATIVE(glIndexdv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glIndexdv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glIndexdv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glIndexdv_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexf
-JNIEXPORT void JNICALL GL_NATIVE(glIndexf)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	GL_NATIVE_ENTER(env, that, glIndexf_FUNC);
-	glIndexf(arg0);
-	GL_NATIVE_EXIT(env, that, glIndexf_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexfv
-JNIEXPORT void JNICALL GL_NATIVE(glIndexfv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glIndexfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glIndexfv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glIndexfv_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexi
-JNIEXPORT void JNICALL GL_NATIVE(glIndexi)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glIndexi_FUNC);
-	glIndexi(arg0);
-	GL_NATIVE_EXIT(env, that, glIndexi_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexiv
-JNIEXPORT void JNICALL GL_NATIVE(glIndexiv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glIndexiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glIndexiv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glIndexiv_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexs
-JNIEXPORT void JNICALL GL_NATIVE(glIndexs)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	GL_NATIVE_ENTER(env, that, glIndexs_FUNC);
-	glIndexs(arg0);
-	GL_NATIVE_EXIT(env, that, glIndexs_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexsv
-JNIEXPORT void JNICALL GL_NATIVE(glIndexsv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glIndexsv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glIndexsv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glIndexsv_FUNC);
-}
-#endif
-
-#ifndef NO_glInitNames
-JNIEXPORT void JNICALL GL_NATIVE(glInitNames)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glInitNames_FUNC);
-	glInitNames();
-	GL_NATIVE_EXIT(env, that, glInitNames_FUNC);
-}
-#endif
-
-#ifndef NO_glInterleavedArrays
-JNIEXPORT void JNICALL GL_NATIVE(glInterleavedArrays)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glInterleavedArrays_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glInterleavedArrays(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glInterleavedArrays_FUNC);
-}
-#endif
-
-#ifndef NO_glIsEnabled
-JNIEXPORT jboolean JNICALL GL_NATIVE(glIsEnabled)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc;
-	GL_NATIVE_ENTER(env, that, glIsEnabled_FUNC);
-	rc = (jboolean)glIsEnabled(arg0);
-	GL_NATIVE_EXIT(env, that, glIsEnabled_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glIsList
-JNIEXPORT jboolean JNICALL GL_NATIVE(glIsList)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc;
-	GL_NATIVE_ENTER(env, that, glIsList_FUNC);
-	rc = (jboolean)glIsList(arg0);
-	GL_NATIVE_EXIT(env, that, glIsList_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glIsTexture
-JNIEXPORT jboolean JNICALL GL_NATIVE(glIsTexture)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc;
-	GL_NATIVE_ENTER(env, that, glIsTexture_FUNC);
-	rc = (jboolean)glIsTexture(arg0);
-	GL_NATIVE_EXIT(env, that, glIsTexture_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glLightModelf
-JNIEXPORT void JNICALL GL_NATIVE(glLightModelf)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glLightModelf_FUNC);
-	glLightModelf(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glLightModelf_FUNC);
-}
-#endif
-
-#ifndef NO_glLightModelfv
-JNIEXPORT void JNICALL GL_NATIVE(glLightModelfv)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glLightModelfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL);
-	}
-	glLightModelfv(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glLightModelfv_FUNC);
-}
-#endif
-
-#ifndef NO_glLightModeli
-JNIEXPORT void JNICALL GL_NATIVE(glLightModeli)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glLightModeli_FUNC);
-	glLightModeli(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glLightModeli_FUNC);
-}
-#endif
-
-#ifndef NO_glLightModeliv
-JNIEXPORT void JNICALL GL_NATIVE(glLightModeliv)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glLightModeliv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	}
-	glLightModeliv(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glLightModeliv_FUNC);
-}
-#endif
-
-#ifndef NO_glLightf
-JNIEXPORT void JNICALL GL_NATIVE(glLightf)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glLightf_FUNC);
-	glLightf(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glLightf_FUNC);
-}
-#endif
-
-#ifndef NO_glLightfv
-JNIEXPORT void JNICALL GL_NATIVE(glLightfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glLightfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glLightfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glLightfv_FUNC);
-}
-#endif
-
-#ifndef NO_glLighti
-JNIEXPORT void JNICALL GL_NATIVE(glLighti)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glLighti_FUNC);
-	glLighti(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glLighti_FUNC);
-}
-#endif
-
-#ifndef NO_glLightiv
-JNIEXPORT void JNICALL GL_NATIVE(glLightiv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glLightiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glLightiv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glLightiv_FUNC);
-}
-#endif
-
-#ifndef NO_glLineStipple
-JNIEXPORT void JNICALL GL_NATIVE(glLineStipple)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1)
-{
-	GL_NATIVE_ENTER(env, that, glLineStipple_FUNC);
-	glLineStipple(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glLineStipple_FUNC);
-}
-#endif
-
-#ifndef NO_glLineWidth
-JNIEXPORT void JNICALL GL_NATIVE(glLineWidth)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	GL_NATIVE_ENTER(env, that, glLineWidth_FUNC);
-	glLineWidth(arg0);
-	GL_NATIVE_EXIT(env, that, glLineWidth_FUNC);
-}
-#endif
-
-#ifndef NO_glListBase
-JNIEXPORT void JNICALL GL_NATIVE(glListBase)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glListBase_FUNC);
-	glListBase(arg0);
-	GL_NATIVE_EXIT(env, that, glListBase_FUNC);
-}
-#endif
-
-#ifndef NO_glLoadIdentity
-JNIEXPORT void JNICALL GL_NATIVE(glLoadIdentity)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glLoadIdentity_FUNC);
-	glLoadIdentity();
-	GL_NATIVE_EXIT(env, that, glLoadIdentity_FUNC);
-}
-#endif
-
-#ifndef NO_glLoadMatrixd
-JNIEXPORT void JNICALL GL_NATIVE(glLoadMatrixd)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glLoadMatrixd_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glLoadMatrixd(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glLoadMatrixd_FUNC);
-}
-#endif
-
-#ifndef NO_glLoadMatrixf
-JNIEXPORT void JNICALL GL_NATIVE(glLoadMatrixf)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glLoadMatrixf_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glLoadMatrixf(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glLoadMatrixf_FUNC);
-}
-#endif
-
-#ifndef NO_glLoadName
-JNIEXPORT void JNICALL GL_NATIVE(glLoadName)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glLoadName_FUNC);
-	glLoadName(arg0);
-	GL_NATIVE_EXIT(env, that, glLoadName_FUNC);
-}
-#endif
-
-#ifndef NO_glLogicOp
-JNIEXPORT void JNICALL GL_NATIVE(glLogicOp)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glLogicOp_FUNC);
-	glLogicOp(arg0);
-	GL_NATIVE_EXIT(env, that, glLogicOp_FUNC);
-}
-#endif
-
-#ifndef NO_glMap1d
-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;
-	GL_NATIVE_ENTER(env, that, glMap1d_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg5) lparg5 = (*env)->GetPrimitiveArrayCritical(env, arg5, NULL);
-	} else
-#endif
-	{
-		if (arg5) lparg5 = (*env)->GetDoubleArrayElements(env, arg5, NULL);
-	}
-	glMap1d(arg0, arg1, arg2, arg3, arg4, lparg5);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg5) (*env)->ReleasePrimitiveArrayCritical(env, arg5, lparg5, 0);
-	} else
-#endif
-	{
-		if (arg5) (*env)->ReleaseDoubleArrayElements(env, arg5, lparg5, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glMap1d_FUNC);
-}
-#endif
-
-#ifndef NO_glMap1f
-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;
-	GL_NATIVE_ENTER(env, that, glMap1f_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg5) lparg5 = (*env)->GetPrimitiveArrayCritical(env, arg5, NULL);
-	} else
-#endif
-	{
-		if (arg5) lparg5 = (*env)->GetFloatArrayElements(env, arg5, NULL);
-	}
-	glMap1f(arg0, arg1, arg2, arg3, arg4, lparg5);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg5) (*env)->ReleasePrimitiveArrayCritical(env, arg5, lparg5, 0);
-	} else
-#endif
-	{
-		if (arg5) (*env)->ReleaseFloatArrayElements(env, arg5, lparg5, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glMap1f_FUNC);
-}
-#endif
-
-#ifndef NO_glMap2d
-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;
-	GL_NATIVE_ENTER(env, that, glMap2d_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg9) lparg9 = (*env)->GetPrimitiveArrayCritical(env, arg9, NULL);
-	} else
-#endif
-	{
-		if (arg9) lparg9 = (*env)->GetDoubleArrayElements(env, arg9, NULL);
-	}
-	glMap2d(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, lparg9);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg9) (*env)->ReleasePrimitiveArrayCritical(env, arg9, lparg9, 0);
-	} else
-#endif
-	{
-		if (arg9) (*env)->ReleaseDoubleArrayElements(env, arg9, lparg9, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glMap2d_FUNC);
-}
-#endif
-
-#ifndef NO_glMap2f
-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;
-	GL_NATIVE_ENTER(env, that, glMap2f_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg9) lparg9 = (*env)->GetPrimitiveArrayCritical(env, arg9, NULL);
-	} else
-#endif
-	{
-		if (arg9) lparg9 = (*env)->GetFloatArrayElements(env, arg9, NULL);
-	}
-	glMap2f(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, lparg9);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg9) (*env)->ReleasePrimitiveArrayCritical(env, arg9, lparg9, 0);
-	} else
-#endif
-	{
-		if (arg9) (*env)->ReleaseFloatArrayElements(env, arg9, lparg9, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glMap2f_FUNC);
-}
-#endif
-
-#ifndef NO_glMapGrid1d
-JNIEXPORT void JNICALL GL_NATIVE(glMapGrid1d)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2)
-{
-	GL_NATIVE_ENTER(env, that, glMapGrid1d_FUNC);
-	glMapGrid1d(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glMapGrid1d_FUNC);
-}
-#endif
-
-#ifndef NO_glMapGrid1f
-JNIEXPORT void JNICALL GL_NATIVE(glMapGrid1f)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glMapGrid1f_FUNC);
-	glMapGrid1f(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glMapGrid1f_FUNC);
-}
-#endif
-
-#ifndef NO_glMapGrid2d
-JNIEXPORT void JNICALL GL_NATIVE(glMapGrid2d)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jint arg3, jdouble arg4, jdouble arg5)
-{
-	GL_NATIVE_ENTER(env, that, glMapGrid2d_FUNC);
-	glMapGrid2d(arg0, arg1, arg2, arg3, arg4, arg5);
-	GL_NATIVE_EXIT(env, that, glMapGrid2d_FUNC);
-}
-#endif
-
-#ifndef NO_glMapGrid2f
-JNIEXPORT void JNICALL GL_NATIVE(glMapGrid2f)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jint arg3, jfloat arg4, jfloat arg5)
-{
-	GL_NATIVE_ENTER(env, that, glMapGrid2f_FUNC);
-	glMapGrid2f(arg0, arg1, arg2, arg3, arg4, arg5);
-	GL_NATIVE_EXIT(env, that, glMapGrid2f_FUNC);
-}
-#endif
-
-#ifndef NO_glMaterialf
-JNIEXPORT void JNICALL GL_NATIVE(glMaterialf)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glMaterialf_FUNC);
-	glMaterialf(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glMaterialf_FUNC);
-}
-#endif
-
-#ifndef NO_glMaterialfv
-JNIEXPORT void JNICALL GL_NATIVE(glMaterialfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glMaterialfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glMaterialfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glMaterialfv_FUNC);
-}
-#endif
-
-#ifndef NO_glMateriali
-JNIEXPORT void JNICALL GL_NATIVE(glMateriali)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glMateriali_FUNC);
-	glMateriali(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glMateriali_FUNC);
-}
-#endif
-
-#ifndef NO_glMaterialiv
-JNIEXPORT void JNICALL GL_NATIVE(glMaterialiv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glMaterialiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glMaterialiv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glMaterialiv_FUNC);
-}
-#endif
-
-#ifndef NO_glMatrixMode
-JNIEXPORT void JNICALL GL_NATIVE(glMatrixMode)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glMatrixMode_FUNC);
-	glMatrixMode(arg0);
-	GL_NATIVE_EXIT(env, that, glMatrixMode_FUNC);
-}
-#endif
-
-#ifndef NO_glMultMatrixd
-JNIEXPORT void JNICALL GL_NATIVE(glMultMatrixd)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glMultMatrixd_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glMultMatrixd(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glMultMatrixd_FUNC);
-}
-#endif
-
-#ifndef NO_glMultMatrixf
-JNIEXPORT void JNICALL GL_NATIVE(glMultMatrixf)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glMultMatrixf_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glMultMatrixf(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glMultMatrixf_FUNC);
-}
-#endif
-
-#ifndef NO_glNewList
-JNIEXPORT void JNICALL GL_NATIVE(glNewList)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glNewList_FUNC);
-	glNewList(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glNewList_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3b
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3b)
-	(JNIEnv *env, jclass that, jbyte arg0, jbyte arg1, jbyte arg2)
-{
-	GL_NATIVE_ENTER(env, that, glNormal3b_FUNC);
-	glNormal3b(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glNormal3b_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3bv
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3bv)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glNormal3bv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	}
-	glNormal3bv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glNormal3bv_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3d
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	GL_NATIVE_ENTER(env, that, glNormal3d_FUNC);
-	glNormal3d(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glNormal3d_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3dv
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glNormal3dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glNormal3dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glNormal3dv_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3f
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glNormal3f_FUNC);
-	glNormal3f(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glNormal3f_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3fv
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glNormal3fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glNormal3fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glNormal3fv_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3i
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glNormal3i_FUNC);
-	glNormal3i(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glNormal3i_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3iv
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glNormal3iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glNormal3iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glNormal3iv_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3s
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	GL_NATIVE_ENTER(env, that, glNormal3s_FUNC);
-	glNormal3s(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glNormal3s_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3sv
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glNormal3sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glNormal3sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glNormal3sv_FUNC);
-}
-#endif
-
-#ifndef NO_glNormalPointer
-JNIEXPORT void JNICALL GL_NATIVE(glNormalPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glNormalPointer_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glNormalPointer(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glNormalPointer_FUNC);
-}
-#endif
-
-#ifndef NO_glOrtho
-JNIEXPORT void JNICALL GL_NATIVE(glOrtho)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5)
-{
-	GL_NATIVE_ENTER(env, that, glOrtho_FUNC);
-	glOrtho(arg0, arg1, arg2, arg3, arg4, arg5);
-	GL_NATIVE_EXIT(env, that, glOrtho_FUNC);
-}
-#endif
-
-#ifndef NO_glPassThrough
-JNIEXPORT void JNICALL GL_NATIVE(glPassThrough)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	GL_NATIVE_ENTER(env, that, glPassThrough_FUNC);
-	glPassThrough(arg0);
-	GL_NATIVE_EXIT(env, that, glPassThrough_FUNC);
-}
-#endif
-
-#ifndef NO_glPixelMapfv
-JNIEXPORT void JNICALL GL_NATIVE(glPixelMapfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glPixelMapfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glPixelMapfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glPixelMapfv_FUNC);
-}
-#endif
-
-#ifndef NO_glPixelMapuiv
-JNIEXPORT void JNICALL GL_NATIVE(glPixelMapuiv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glPixelMapuiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glPixelMapuiv(arg0, arg1, (const GLuint *)lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glPixelMapuiv_FUNC);
-}
-#endif
-
-#ifndef NO_glPixelMapusv
-JNIEXPORT void JNICALL GL_NATIVE(glPixelMapusv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshortArray arg2)
-{
-	jshort *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glPixelMapusv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL);
-	}
-	glPixelMapusv(arg0, arg1, (const GLushort *)lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glPixelMapusv_FUNC);
-}
-#endif
-
-#ifndef NO_glPixelStoref
-JNIEXPORT void JNICALL GL_NATIVE(glPixelStoref)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glPixelStoref_FUNC);
-	glPixelStoref(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glPixelStoref_FUNC);
-}
-#endif
-
-#ifndef NO_glPixelStorei
-JNIEXPORT void JNICALL GL_NATIVE(glPixelStorei)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glPixelStorei_FUNC);
-	glPixelStorei(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glPixelStorei_FUNC);
-}
-#endif
-
-#ifndef NO_glPixelTransferf
-JNIEXPORT void JNICALL GL_NATIVE(glPixelTransferf)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glPixelTransferf_FUNC);
-	glPixelTransferf(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glPixelTransferf_FUNC);
-}
-#endif
-
-#ifndef NO_glPixelTransferi
-JNIEXPORT void JNICALL GL_NATIVE(glPixelTransferi)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glPixelTransferi_FUNC);
-	glPixelTransferi(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glPixelTransferi_FUNC);
-}
-#endif
-
-#ifndef NO_glPixelZoom
-JNIEXPORT void JNICALL GL_NATIVE(glPixelZoom)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glPixelZoom_FUNC);
-	glPixelZoom(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glPixelZoom_FUNC);
-}
-#endif
-
-#ifndef NO_glPointSize
-JNIEXPORT void JNICALL GL_NATIVE(glPointSize)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	GL_NATIVE_ENTER(env, that, glPointSize_FUNC);
-	glPointSize(arg0);
-	GL_NATIVE_EXIT(env, that, glPointSize_FUNC);
-}
-#endif
-
-#ifndef NO_glPolygonMode
-JNIEXPORT void JNICALL GL_NATIVE(glPolygonMode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glPolygonMode_FUNC);
-	glPolygonMode(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glPolygonMode_FUNC);
-}
-#endif
-
-#ifndef NO_glPolygonOffset
-JNIEXPORT void JNICALL GL_NATIVE(glPolygonOffset)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glPolygonOffset_FUNC);
-	glPolygonOffset(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glPolygonOffset_FUNC);
-}
-#endif
-
-#ifndef NO_glPolygonStipple
-JNIEXPORT void JNICALL GL_NATIVE(glPolygonStipple)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glPolygonStipple_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	}
-	glPolygonStipple((GLubyte *)lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glPolygonStipple_FUNC);
-}
-#endif
-
-#ifndef NO_glPopAttrib
-JNIEXPORT void JNICALL GL_NATIVE(glPopAttrib)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glPopAttrib_FUNC);
-	glPopAttrib();
-	GL_NATIVE_EXIT(env, that, glPopAttrib_FUNC);
-}
-#endif
-
-#ifndef NO_glPopClientAttrib
-JNIEXPORT void JNICALL GL_NATIVE(glPopClientAttrib)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glPopClientAttrib_FUNC);
-	glPopClientAttrib();
-	GL_NATIVE_EXIT(env, that, glPopClientAttrib_FUNC);
-}
-#endif
-
-#ifndef NO_glPopMatrix
-JNIEXPORT void JNICALL GL_NATIVE(glPopMatrix)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glPopMatrix_FUNC);
-	glPopMatrix();
-	GL_NATIVE_EXIT(env, that, glPopMatrix_FUNC);
-}
-#endif
-
-#ifndef NO_glPopName
-JNIEXPORT void JNICALL GL_NATIVE(glPopName)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glPopName_FUNC);
-	glPopName();
-	GL_NATIVE_EXIT(env, that, glPopName_FUNC);
-}
-#endif
-
-#ifndef NO_glPrioritizeTextures
-JNIEXPORT void JNICALL GL_NATIVE(glPrioritizeTextures)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jfloatArray arg2)
-{
-	jint *lparg1=NULL;
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glPrioritizeTextures_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glPrioritizeTextures(arg0, (const GLuint *)lparg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-		if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glPrioritizeTextures_FUNC);
-}
-#endif
-
-#ifndef NO_glPushAttrib
-JNIEXPORT void JNICALL GL_NATIVE(glPushAttrib)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glPushAttrib_FUNC);
-	glPushAttrib(arg0);
-	GL_NATIVE_EXIT(env, that, glPushAttrib_FUNC);
-}
-#endif
-
-#ifndef NO_glPushClientAttrib
-JNIEXPORT void JNICALL GL_NATIVE(glPushClientAttrib)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glPushClientAttrib_FUNC);
-	glPushClientAttrib(arg0);
-	GL_NATIVE_EXIT(env, that, glPushClientAttrib_FUNC);
-}
-#endif
-
-#ifndef NO_glPushMatrix
-JNIEXPORT void JNICALL GL_NATIVE(glPushMatrix)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glPushMatrix_FUNC);
-	glPushMatrix();
-	GL_NATIVE_EXIT(env, that, glPushMatrix_FUNC);
-}
-#endif
-
-#ifndef NO_glPushName
-JNIEXPORT void JNICALL GL_NATIVE(glPushName)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glPushName_FUNC);
-	glPushName(arg0);
-	GL_NATIVE_EXIT(env, that, glPushName_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos2d
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos2d_FUNC);
-	glRasterPos2d(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glRasterPos2d_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos2dv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos2dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glRasterPos2dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos2dv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos2f
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos2f_FUNC);
-	glRasterPos2f(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glRasterPos2f_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos2fv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos2fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glRasterPos2fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos2fv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos2i
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos2i_FUNC);
-	glRasterPos2i(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glRasterPos2i_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos2iv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos2iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glRasterPos2iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos2iv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos2s
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos2s_FUNC);
-	glRasterPos2s(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glRasterPos2s_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos2sv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos2sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glRasterPos2sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos2sv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos3d
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos3d_FUNC);
-	glRasterPos3d(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glRasterPos3d_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos3dv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos3dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glRasterPos3dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos3dv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos3f
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos3f_FUNC);
-	glRasterPos3f(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glRasterPos3f_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos3fv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos3fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glRasterPos3fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos3fv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos3i
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos3i_FUNC);
-	glRasterPos3i(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glRasterPos3i_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos3iv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos3iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glRasterPos3iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos3iv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos3s
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos3s_FUNC);
-	glRasterPos3s(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glRasterPos3s_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos3sv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos3sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glRasterPos3sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos3sv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos4d
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos4d_FUNC);
-	glRasterPos4d(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRasterPos4d_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos4dv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos4dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glRasterPos4dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos4dv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos4f
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos4f_FUNC);
-	glRasterPos4f(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRasterPos4f_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos4fv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos4fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glRasterPos4fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos4fv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos4i
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos4i_FUNC);
-	glRasterPos4i(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRasterPos4i_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos4iv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos4iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glRasterPos4iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos4iv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos4s
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jshort arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos4s_FUNC);
-	glRasterPos4s(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRasterPos4s_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos4sv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos4sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glRasterPos4sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos4sv_FUNC);
-}
-#endif
-
-#ifndef NO_glReadBuffer
-JNIEXPORT void JNICALL GL_NATIVE(glReadBuffer)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glReadBuffer_FUNC);
-	glReadBuffer(arg0);
-	GL_NATIVE_EXIT(env, that, glReadBuffer_FUNC);
-}
-#endif
-
-#ifndef NO_glReadPixels
-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;
-	GL_NATIVE_ENTER(env, that, glReadPixels_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg6) lparg6 = (*env)->GetPrimitiveArrayCritical(env, arg6, NULL);
-	} else
-#endif
-	{
-		if (arg6) lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL);
-	}
-	glReadPixels(arg0, arg1, arg2, arg3, arg4, arg5, lparg6);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg6) (*env)->ReleasePrimitiveArrayCritical(env, arg6, lparg6, 0);
-	} else
-#endif
-	{
-		if (arg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glReadPixels_FUNC);
-}
-#endif
-
-#ifndef NO_glRectd
-JNIEXPORT void JNICALL GL_NATIVE(glRectd)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRectd_FUNC);
-	glRectd(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRectd_FUNC);
-}
-#endif
-
-#ifndef NO_glRectdv
-JNIEXPORT void JNICALL GL_NATIVE(glRectdv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0, jdoubleArray arg1)
-{
-	jdouble *lparg0=NULL;
-	jdouble *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glRectdv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-		if (arg1) lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL);
-	}
-	glRectdv(lparg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRectdv_FUNC);
-}
-#endif
-
-#ifndef NO_glRectf
-JNIEXPORT void JNICALL GL_NATIVE(glRectf)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRectf_FUNC);
-	glRectf(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRectf_FUNC);
-}
-#endif
-
-#ifndef NO_glRectfv
-JNIEXPORT void JNICALL GL_NATIVE(glRectfv)
-	(JNIEnv *env, jclass that, jfloatArray arg0, jfloatArray arg1)
-{
-	jfloat *lparg0=NULL;
-	jfloat *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glRectfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-		if (arg1) lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL);
-	}
-	glRectfv(lparg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRectfv_FUNC);
-}
-#endif
-
-#ifndef NO_glRecti
-JNIEXPORT void JNICALL GL_NATIVE(glRecti)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRecti_FUNC);
-	glRecti(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRecti_FUNC);
-}
-#endif
-
-#ifndef NO_glRectiv
-JNIEXPORT void JNICALL GL_NATIVE(glRectiv)
-	(JNIEnv *env, jclass that, jintArray arg0, jintArray arg1)
-{
-	jint *lparg0=NULL;
-	jint *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glRectiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-		if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	}
-	glRectiv(lparg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRectiv_FUNC);
-}
-#endif
-
-#ifndef NO_glRects
-JNIEXPORT void JNICALL GL_NATIVE(glRects)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jshort arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRects_FUNC);
-	glRects(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRects_FUNC);
-}
-#endif
-
-#ifndef NO_glRectsv
-JNIEXPORT void JNICALL GL_NATIVE(glRectsv)
-	(JNIEnv *env, jclass that, jshortArray arg0, jshortArray arg1)
-{
-	jshort *lparg0=NULL;
-	jshort *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glRectsv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-		if (arg1) lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL);
-	}
-	glRectsv(lparg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, 0);
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRectsv_FUNC);
-}
-#endif
-
-#ifndef NO_glRenderMode
-JNIEXPORT jint JNICALL GL_NATIVE(glRenderMode)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc;
-	GL_NATIVE_ENTER(env, that, glRenderMode_FUNC);
-	rc = (jint)glRenderMode(arg0);
-	GL_NATIVE_EXIT(env, that, glRenderMode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glRotated
-JNIEXPORT void JNICALL GL_NATIVE(glRotated)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRotated_FUNC);
-	glRotated(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRotated_FUNC);
-}
-#endif
-
-#ifndef NO_glRotatef
-JNIEXPORT void JNICALL GL_NATIVE(glRotatef)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRotatef_FUNC);
-	glRotatef(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRotatef_FUNC);
-}
-#endif
-
-#ifndef NO_glScaled
-JNIEXPORT void JNICALL GL_NATIVE(glScaled)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	GL_NATIVE_ENTER(env, that, glScaled_FUNC);
-	glScaled(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glScaled_FUNC);
-}
-#endif
-
-#ifndef NO_glScalef
-JNIEXPORT void JNICALL GL_NATIVE(glScalef)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glScalef_FUNC);
-	glScalef(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glScalef_FUNC);
-}
-#endif
-
-#ifndef NO_glScissor
-JNIEXPORT void JNICALL GL_NATIVE(glScissor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GL_NATIVE_ENTER(env, that, glScissor_FUNC);
-	glScissor(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glScissor_FUNC);
-}
-#endif
-
-#ifndef NO_glSelectBuffer
-JNIEXPORT void JNICALL GL_NATIVE(glSelectBuffer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glSelectBuffer_FUNC);
-	glSelectBuffer(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glSelectBuffer_FUNC);
-}
-#endif
-
-#ifndef NO_glShadeModel
-JNIEXPORT void JNICALL GL_NATIVE(glShadeModel)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glShadeModel_FUNC);
-	glShadeModel(arg0);
-	GL_NATIVE_EXIT(env, that, glShadeModel_FUNC);
-}
-#endif
-
-#ifndef NO_glStencilFunc
-JNIEXPORT void JNICALL GL_NATIVE(glStencilFunc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glStencilFunc_FUNC);
-	glStencilFunc(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glStencilFunc_FUNC);
-}
-#endif
-
-#ifndef NO_glStencilMask
-JNIEXPORT void JNICALL GL_NATIVE(glStencilMask)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glStencilMask_FUNC);
-	glStencilMask(arg0);
-	GL_NATIVE_EXIT(env, that, glStencilMask_FUNC);
-}
-#endif
-
-#ifndef NO_glStencilOp
-JNIEXPORT void JNICALL GL_NATIVE(glStencilOp)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glStencilOp_FUNC);
-	glStencilOp(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glStencilOp_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord1d
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1d)
-	(JNIEnv *env, jclass that, jdouble arg0)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord1d_FUNC);
-	glTexCoord1d(arg0);
-	GL_NATIVE_EXIT(env, that, glTexCoord1d_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord1dv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord1dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glTexCoord1dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord1dv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord1f
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1f)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord1f_FUNC);
-	glTexCoord1f(arg0);
-	GL_NATIVE_EXIT(env, that, glTexCoord1f_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord1fv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord1fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glTexCoord1fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord1fv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord1i
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1i)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord1i_FUNC);
-	glTexCoord1i(arg0);
-	GL_NATIVE_EXIT(env, that, glTexCoord1i_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord1iv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord1iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glTexCoord1iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord1iv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord1s
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1s)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord1s_FUNC);
-	glTexCoord1s(arg0);
-	GL_NATIVE_EXIT(env, that, glTexCoord1s_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord1sv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord1sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glTexCoord1sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord1sv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord2d
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord2d_FUNC);
-	glTexCoord2d(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glTexCoord2d_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord2dv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord2dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glTexCoord2dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord2dv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord2f
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord2f_FUNC);
-	glTexCoord2f(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glTexCoord2f_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord2fv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord2fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glTexCoord2fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord2fv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord2i
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord2i_FUNC);
-	glTexCoord2i(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glTexCoord2i_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord2iv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord2iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glTexCoord2iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord2iv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord2s
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord2s_FUNC);
-	glTexCoord2s(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glTexCoord2s_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord2sv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord2sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glTexCoord2sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord2sv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord3d
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord3d_FUNC);
-	glTexCoord3d(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexCoord3d_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord3dv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord3dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glTexCoord3dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord3dv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord3f
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord3f_FUNC);
-	glTexCoord3f(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexCoord3f_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord3fv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord3fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glTexCoord3fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord3fv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord3i
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord3i_FUNC);
-	glTexCoord3i(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexCoord3i_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord3iv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord3iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glTexCoord3iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord3iv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord3s
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord3s_FUNC);
-	glTexCoord3s(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexCoord3s_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord3sv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord3sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glTexCoord3sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord3sv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord4d
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord4d_FUNC);
-	glTexCoord4d(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glTexCoord4d_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord4dv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord4dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glTexCoord4dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord4dv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord4f
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord4f_FUNC);
-	glTexCoord4f(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glTexCoord4f_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord4fv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord4fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glTexCoord4fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord4fv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord4i
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord4i_FUNC);
-	glTexCoord4i(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glTexCoord4i_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord4iv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord4iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glTexCoord4iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord4iv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord4s
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jshort arg3)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord4s_FUNC);
-	glTexCoord4s(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glTexCoord4s_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord4sv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord4sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glTexCoord4sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord4sv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoordPointer
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoordPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoordPointer_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL);
-	} else
-#endif
-	{
-		if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	}
-	glTexCoordPointer(arg0, arg1, arg2, lparg3);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoordPointer_FUNC);
-}
-#endif
-
-#ifndef NO_glTexEnvf
-JNIEXPORT void JNICALL GL_NATIVE(glTexEnvf)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexEnvf_FUNC);
-	glTexEnvf(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexEnvf_FUNC);
-}
-#endif
-
-#ifndef NO_glTexEnvfv
-JNIEXPORT void JNICALL GL_NATIVE(glTexEnvfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glTexEnvfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glTexEnvfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexEnvfv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexEnvi
-JNIEXPORT void JNICALL GL_NATIVE(glTexEnvi)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexEnvi_FUNC);
-	glTexEnvi(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexEnvi_FUNC);
-}
-#endif
-
-#ifndef NO_glTexEnviv
-JNIEXPORT void JNICALL GL_NATIVE(glTexEnviv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glTexEnviv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glTexEnviv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexEnviv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexGend
-JNIEXPORT void JNICALL GL_NATIVE(glTexGend)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdouble arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexGend_FUNC);
-	glTexGend(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexGend_FUNC);
-}
-#endif
-
-#ifndef NO_glTexGendv
-JNIEXPORT void JNICALL GL_NATIVE(glTexGendv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdoubleArray arg2)
-{
-	jdouble *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glTexGendv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL);
-	}
-	glTexGendv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexGendv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexGenf
-JNIEXPORT void JNICALL GL_NATIVE(glTexGenf)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexGenf_FUNC);
-	glTexGenf(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexGenf_FUNC);
-}
-#endif
-
-#ifndef NO_glTexGenfv
-JNIEXPORT void JNICALL GL_NATIVE(glTexGenfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glTexGenfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glTexGenfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexGenfv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexGeni
-JNIEXPORT void JNICALL GL_NATIVE(glTexGeni)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexGeni_FUNC);
-	glTexGeni(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexGeni_FUNC);
-}
-#endif
-
-#ifndef NO_glTexGeniv
-JNIEXPORT void JNICALL GL_NATIVE(glTexGeniv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glTexGeniv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glTexGeniv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexGeniv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexImage1D
-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;
-	GL_NATIVE_ENTER(env, that, glTexImage1D_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg7) lparg7 = (*env)->GetPrimitiveArrayCritical(env, arg7, NULL);
-	} else
-#endif
-	{
-		if (arg7) lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL);
-	}
-	glTexImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, lparg7);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg7) (*env)->ReleasePrimitiveArrayCritical(env, arg7, lparg7, 0);
-	} else
-#endif
-	{
-		if (arg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexImage1D_FUNC);
-}
-#endif
-
-#ifndef NO_glTexImage2D
-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;
-	GL_NATIVE_ENTER(env, that, glTexImage2D_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg8) lparg8 = (*env)->GetPrimitiveArrayCritical(env, arg8, NULL);
-	} else
-#endif
-	{
-		if (arg8) lparg8 = (*env)->GetByteArrayElements(env, arg8, NULL);
-	}
-	glTexImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, lparg8);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg8) (*env)->ReleasePrimitiveArrayCritical(env, arg8, lparg8, 0);
-	} else
-#endif
-	{
-		if (arg8) (*env)->ReleaseByteArrayElements(env, arg8, lparg8, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexImage2D_FUNC);
-}
-#endif
-
-#ifndef NO_glTexParameterf
-JNIEXPORT void JNICALL GL_NATIVE(glTexParameterf)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexParameterf_FUNC);
-	glTexParameterf(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexParameterf_FUNC);
-}
-#endif
-
-#ifndef NO_glTexParameterfv
-JNIEXPORT void JNICALL GL_NATIVE(glTexParameterfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glTexParameterfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glTexParameterfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexParameterfv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexParameteri
-JNIEXPORT void JNICALL GL_NATIVE(glTexParameteri)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexParameteri_FUNC);
-	glTexParameteri(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexParameteri_FUNC);
-}
-#endif
-
-#ifndef NO_glTexParameteriv
-JNIEXPORT void JNICALL GL_NATIVE(glTexParameteriv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glTexParameteriv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glTexParameteriv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexParameteriv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexSubImage1D
-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;
-	GL_NATIVE_ENTER(env, that, glTexSubImage1D_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg6) lparg6 = (*env)->GetPrimitiveArrayCritical(env, arg6, NULL);
-	} else
-#endif
-	{
-		if (arg6) lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL);
-	}
-	glTexSubImage1D(arg0, arg1, arg2, arg3, arg4, arg5, lparg6);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg6) (*env)->ReleasePrimitiveArrayCritical(env, arg6, lparg6, 0);
-	} else
-#endif
-	{
-		if (arg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexSubImage1D_FUNC);
-}
-#endif
-
-#ifndef NO_glTexSubImage2D
-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;
-	GL_NATIVE_ENTER(env, that, glTexSubImage2D_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg8) lparg8 = (*env)->GetPrimitiveArrayCritical(env, arg8, NULL);
-	} else
-#endif
-	{
-		if (arg8) lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL);
-	}
-	glTexSubImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, lparg8);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg8) (*env)->ReleasePrimitiveArrayCritical(env, arg8, lparg8, 0);
-	} else
-#endif
-	{
-		if (arg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexSubImage2D_FUNC);
-}
-#endif
-
-#ifndef NO_glTranslated
-JNIEXPORT void JNICALL GL_NATIVE(glTranslated)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTranslated_FUNC);
-	glTranslated(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTranslated_FUNC);
-}
-#endif
-
-#ifndef NO_glTranslatef
-JNIEXPORT void JNICALL GL_NATIVE(glTranslatef)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTranslatef_FUNC);
-	glTranslatef(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTranslatef_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex2d
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1)
-{
-	GL_NATIVE_ENTER(env, that, glVertex2d_FUNC);
-	glVertex2d(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glVertex2d_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex2dv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex2dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glVertex2dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex2dv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex2f
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glVertex2f_FUNC);
-	glVertex2f(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glVertex2f_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex2fv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex2fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glVertex2fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex2fv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex2i
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glVertex2i_FUNC);
-	glVertex2i(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glVertex2i_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex2iv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex2iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glVertex2iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex2iv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex2s
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1)
-{
-	GL_NATIVE_ENTER(env, that, glVertex2s_FUNC);
-	glVertex2s(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glVertex2s_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex2sv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex2sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glVertex2sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex2sv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex3d
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	GL_NATIVE_ENTER(env, that, glVertex3d_FUNC);
-	glVertex3d(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glVertex3d_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex3dv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex3dv_FUNC);
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glVertex3dv(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	GL_NATIVE_EXIT(env, that, glVertex3dv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex3f
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glVertex3f_FUNC);
-	glVertex3f(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glVertex3f_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex3fv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex3fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glVertex3fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex3fv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex3i
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glVertex3i_FUNC);
-	glVertex3i(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glVertex3i_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex3iv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex3iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glVertex3iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex3iv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex3s
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	GL_NATIVE_ENTER(env, that, glVertex3s_FUNC);
-	glVertex3s(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glVertex3s_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex3sv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex3sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glVertex3sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex3sv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex4d
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	GL_NATIVE_ENTER(env, that, glVertex4d_FUNC);
-	glVertex4d(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glVertex4d_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex4dv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex4dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glVertex4dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex4dv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex4f
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	GL_NATIVE_ENTER(env, that, glVertex4f_FUNC);
-	glVertex4f(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glVertex4f_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex4fv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex4fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glVertex4fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex4fv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex4i
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GL_NATIVE_ENTER(env, that, glVertex4i_FUNC);
-	glVertex4i(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glVertex4i_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex4iv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex4iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glVertex4iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex4iv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex4s
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jshort arg3)
-{
-	GL_NATIVE_ENTER(env, that, glVertex4s_FUNC);
-	glVertex4s(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glVertex4s_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex4sv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex4sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glVertex4sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex4sv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertexPointer
-JNIEXPORT void JNICALL GL_NATIVE(glVertexPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	GL_NATIVE_ENTER(env, that, glVertexPointer_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL);
-	} else
-#endif
-	{
-		if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	}
-	glVertexPointer(arg0, arg1, arg2, lparg3);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertexPointer_FUNC);
-}
-#endif
-
-#ifndef NO_glViewport
-JNIEXPORT void JNICALL GL_NATIVE(glViewport)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GL_NATIVE_ENTER(env, that, glViewport_FUNC);
-	glViewport(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glViewport_FUNC);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt.opengl/common/library/gl.h b/bundles/org.eclipse.swt.opengl/common/library/gl.h
deleted file mode 100644
index c8f0a12..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/gl.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifdef __APPLE__
-#include <OpenGL/gl.h>
-#else
-#ifdef WIN32
-#include <windows.h>
-#endif
-#include <GL/gl.h>
-#endif
-
-extern int IS_JNI_1_2;
diff --git a/bundles/org.eclipse.swt.opengl/common/library/gl_stats.c b/bundles/org.eclipse.swt.opengl/common/library/gl_stats.c
deleted file mode 100644
index 257efe0..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/gl_stats.c
+++ /dev/null
@@ -1,366 +0,0 @@
-#include "swt.h"
-#include "gl_stats.h"
-
-#ifdef NATIVE_STATS
-
-int GL_nativeFunctionCount = 335;
-int GL_nativeFunctionCallCount[335];
-char * GL_nativeFunctionNames[] = {
-	"glAccum", 
-	"glAlphaFunc", 
-	"glAreTexturesResident", 
-	"glArrayElement", 
-	"glBegin", 
-	"glBindTexture", 
-	"glBitmap", 
-	"glBlendFunc", 
-	"glCallList", 
-	"glCallLists__II_3B", 
-	"glCallLists__II_3C", 
-	"glCallLists__II_3I", 
-	"glClear", 
-	"glClearAccum", 
-	"glClearColor", 
-	"glClearDepth", 
-	"glClearIndex", 
-	"glClearStencil", 
-	"glClipPlane", 
-	"glColor3b", 
-	"glColor3bv", 
-	"glColor3d", 
-	"glColor3dv", 
-	"glColor3f", 
-	"glColor3fv", 
-	"glColor3i", 
-	"glColor3iv", 
-	"glColor3s", 
-	"glColor3sv", 
-	"glColor3ub", 
-	"glColor3ubv", 
-	"glColor3ui", 
-	"glColor3uiv", 
-	"glColor3us", 
-	"glColor3usv", 
-	"glColor4b", 
-	"glColor4bv", 
-	"glColor4d", 
-	"glColor4dv", 
-	"glColor4f", 
-	"glColor4fv", 
-	"glColor4i", 
-	"glColor4iv", 
-	"glColor4s", 
-	"glColor4ub", 
-	"glColor4ubv", 
-	"glColor4ui", 
-	"glColor4uiv", 
-	"glColor4us", 
-	"glColor4usv", 
-	"glColorMask", 
-	"glColorMaterial", 
-	"glColorPointer", 
-	"glCopyPixels", 
-	"glCopyTexImage1D", 
-	"glCopyTexImage2D", 
-	"glCopyTexSubImage1D", 
-	"glCopyTexSubImage2D", 
-	"glCullFace", 
-	"glDeleteLists", 
-	"glDeleteTextures", 
-	"glDepthFunc", 
-	"glDepthMask", 
-	"glDepthRange", 
-	"glDisable", 
-	"glDisableClientState", 
-	"glDrawArrays", 
-	"glDrawBuffer", 
-	"glDrawElements", 
-	"glDrawPixels", 
-	"glEdgeFlag", 
-	"glEdgeFlagPointer", 
-	"glEdgeFlagv", 
-	"glEnable", 
-	"glEnableClientState", 
-	"glEnd", 
-	"glEndList", 
-	"glEvalCoord1d", 
-	"glEvalCoord1dv", 
-	"glEvalCoord1f", 
-	"glEvalCoord1fv", 
-	"glEvalCoord2d", 
-	"glEvalCoord2dv", 
-	"glEvalCoord2f", 
-	"glEvalCoord2fv", 
-	"glEvalMesh1", 
-	"glEvalMesh2", 
-	"glEvalPoint1", 
-	"glEvalPoint2", 
-	"glFeedbackBuffer", 
-	"glFinish", 
-	"glFlush", 
-	"glFogf", 
-	"glFogfv", 
-	"glFogi", 
-	"glFogiv", 
-	"glFrontFace", 
-	"glFrustum", 
-	"glGenLists", 
-	"glGenTextures", 
-	"glGetBooleanv", 
-	"glGetClipPlane", 
-	"glGetDoublev", 
-	"glGetError", 
-	"glGetFloatv", 
-	"glGetIntegerv", 
-	"glGetLightfv", 
-	"glGetLightiv", 
-	"glGetMapdv", 
-	"glGetMapfv", 
-	"glGetMapiv", 
-	"glGetMaterialfv", 
-	"glGetMaterialiv", 
-	"glGetPixelMapfv", 
-	"glGetPixelMapuiv", 
-	"glGetPixelMapusv", 
-	"glGetPointerv", 
-	"glGetPolygonStipple", 
-	"glGetString", 
-	"glGetTexEnvfv", 
-	"glGetTexEnviv", 
-	"glGetTexGendv", 
-	"glGetTexGenfv", 
-	"glGetTexGeniv", 
-	"glGetTexImage", 
-	"glGetTexLevelParameterfv", 
-	"glGetTexLevelParameteriv", 
-	"glGetTexParameterfv", 
-	"glGetTexParameteriv", 
-	"glHint", 
-	"glIndexMask", 
-	"glIndexPointer", 
-	"glIndexd", 
-	"glIndexdv", 
-	"glIndexf", 
-	"glIndexfv", 
-	"glIndexi", 
-	"glIndexiv", 
-	"glIndexs", 
-	"glIndexsv", 
-	"glInitNames", 
-	"glInterleavedArrays", 
-	"glIsEnabled", 
-	"glIsList", 
-	"glIsTexture", 
-	"glLightModelf", 
-	"glLightModelfv", 
-	"glLightModeli", 
-	"glLightModeliv", 
-	"glLightf", 
-	"glLightfv", 
-	"glLighti", 
-	"glLightiv", 
-	"glLineStipple", 
-	"glLineWidth", 
-	"glListBase", 
-	"glLoadIdentity", 
-	"glLoadMatrixd", 
-	"glLoadMatrixf", 
-	"glLoadName", 
-	"glLogicOp", 
-	"glMap1d", 
-	"glMap1f", 
-	"glMap2d", 
-	"glMap2f", 
-	"glMapGrid1d", 
-	"glMapGrid1f", 
-	"glMapGrid2d", 
-	"glMapGrid2f", 
-	"glMaterialf", 
-	"glMaterialfv", 
-	"glMateriali", 
-	"glMaterialiv", 
-	"glMatrixMode", 
-	"glMultMatrixd", 
-	"glMultMatrixf", 
-	"glNewList", 
-	"glNormal3b", 
-	"glNormal3bv", 
-	"glNormal3d", 
-	"glNormal3dv", 
-	"glNormal3f", 
-	"glNormal3fv", 
-	"glNormal3i", 
-	"glNormal3iv", 
-	"glNormal3s", 
-	"glNormal3sv", 
-	"glNormalPointer", 
-	"glOrtho", 
-	"glPassThrough", 
-	"glPixelMapfv", 
-	"glPixelMapuiv", 
-	"glPixelMapusv", 
-	"glPixelStoref", 
-	"glPixelStorei", 
-	"glPixelTransferf", 
-	"glPixelTransferi", 
-	"glPixelZoom", 
-	"glPointSize", 
-	"glPolygonMode", 
-	"glPolygonOffset", 
-	"glPolygonStipple", 
-	"glPopAttrib", 
-	"glPopClientAttrib", 
-	"glPopMatrix", 
-	"glPopName", 
-	"glPrioritizeTextures", 
-	"glPushAttrib", 
-	"glPushClientAttrib", 
-	"glPushMatrix", 
-	"glPushName", 
-	"glRasterPos2d", 
-	"glRasterPos2dv", 
-	"glRasterPos2f", 
-	"glRasterPos2fv", 
-	"glRasterPos2i", 
-	"glRasterPos2iv", 
-	"glRasterPos2s", 
-	"glRasterPos2sv", 
-	"glRasterPos3d", 
-	"glRasterPos3dv", 
-	"glRasterPos3f", 
-	"glRasterPos3fv", 
-	"glRasterPos3i", 
-	"glRasterPos3iv", 
-	"glRasterPos3s", 
-	"glRasterPos3sv", 
-	"glRasterPos4d", 
-	"glRasterPos4dv", 
-	"glRasterPos4f", 
-	"glRasterPos4fv", 
-	"glRasterPos4i", 
-	"glRasterPos4iv", 
-	"glRasterPos4s", 
-	"glRasterPos4sv", 
-	"glReadBuffer", 
-	"glReadPixels", 
-	"glRectd", 
-	"glRectdv", 
-	"glRectf", 
-	"glRectfv", 
-	"glRecti", 
-	"glRectiv", 
-	"glRects", 
-	"glRectsv", 
-	"glRenderMode", 
-	"glRotated", 
-	"glRotatef", 
-	"glScaled", 
-	"glScalef", 
-	"glScissor", 
-	"glSelectBuffer", 
-	"glShadeModel", 
-	"glStencilFunc", 
-	"glStencilMask", 
-	"glStencilOp", 
-	"glTexCoord1d", 
-	"glTexCoord1dv", 
-	"glTexCoord1f", 
-	"glTexCoord1fv", 
-	"glTexCoord1i", 
-	"glTexCoord1iv", 
-	"glTexCoord1s", 
-	"glTexCoord1sv", 
-	"glTexCoord2d", 
-	"glTexCoord2dv", 
-	"glTexCoord2f", 
-	"glTexCoord2fv", 
-	"glTexCoord2i", 
-	"glTexCoord2iv", 
-	"glTexCoord2s", 
-	"glTexCoord2sv", 
-	"glTexCoord3d", 
-	"glTexCoord3dv", 
-	"glTexCoord3f", 
-	"glTexCoord3fv", 
-	"glTexCoord3i", 
-	"glTexCoord3iv", 
-	"glTexCoord3s", 
-	"glTexCoord3sv", 
-	"glTexCoord4d", 
-	"glTexCoord4dv", 
-	"glTexCoord4f", 
-	"glTexCoord4fv", 
-	"glTexCoord4i", 
-	"glTexCoord4iv", 
-	"glTexCoord4s", 
-	"glTexCoord4sv", 
-	"glTexCoordPointer", 
-	"glTexEnvf", 
-	"glTexEnvfv", 
-	"glTexEnvi", 
-	"glTexEnviv", 
-	"glTexGend", 
-	"glTexGendv", 
-	"glTexGenf", 
-	"glTexGenfv", 
-	"glTexGeni", 
-	"glTexGeniv", 
-	"glTexImage1D", 
-	"glTexImage2D", 
-	"glTexParameterf", 
-	"glTexParameterfv", 
-	"glTexParameteri", 
-	"glTexParameteriv", 
-	"glTexSubImage1D", 
-	"glTexSubImage2D", 
-	"glTranslated", 
-	"glTranslatef", 
-	"glVertex2d", 
-	"glVertex2dv", 
-	"glVertex2f", 
-	"glVertex2fv", 
-	"glVertex2i", 
-	"glVertex2iv", 
-	"glVertex2s", 
-	"glVertex2sv", 
-	"glVertex3d", 
-	"glVertex3dv", 
-	"glVertex3f", 
-	"glVertex3fv", 
-	"glVertex3i", 
-	"glVertex3iv", 
-	"glVertex3s", 
-	"glVertex3sv", 
-	"glVertex4d", 
-	"glVertex4dv", 
-	"glVertex4f", 
-	"glVertex4fv", 
-	"glVertex4i", 
-	"glVertex4iv", 
-	"glVertex4s", 
-	"glVertex4sv", 
-	"glVertexPointer", 
-	"glViewport", 
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(GL_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return GL_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(GL_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, GL_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(GL_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return GL_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt.opengl/common/library/gl_stats.h b/bundles/org.eclipse.swt.opengl/common/library/gl_stats.h
deleted file mode 100644
index 6e1feee..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/gl_stats.h
+++ /dev/null
@@ -1,348 +0,0 @@
-#ifdef NATIVE_STATS
-extern int GL_nativeFunctionCount;
-extern int GL_nativeFunctionCallCount[];
-extern char* GL_nativeFunctionNames[];
-#define GL_NATIVE_ENTER(env, that, func) GL_nativeFunctionCallCount[func]++;
-#define GL_NATIVE_EXIT(env, that, func) 
-#else
-#define GL_NATIVE_ENTER(env, that, func) 
-#define GL_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	glAccum_FUNC,
-	glAlphaFunc_FUNC,
-	glAreTexturesResident_FUNC,
-	glArrayElement_FUNC,
-	glBegin_FUNC,
-	glBindTexture_FUNC,
-	glBitmap_FUNC,
-	glBlendFunc_FUNC,
-	glCallList_FUNC,
-	glCallLists__II_3B_FUNC,
-	glCallLists__II_3C_FUNC,
-	glCallLists__II_3I_FUNC,
-	glClear_FUNC,
-	glClearAccum_FUNC,
-	glClearColor_FUNC,
-	glClearDepth_FUNC,
-	glClearIndex_FUNC,
-	glClearStencil_FUNC,
-	glClipPlane_FUNC,
-	glColor3b_FUNC,
-	glColor3bv_FUNC,
-	glColor3d_FUNC,
-	glColor3dv_FUNC,
-	glColor3f_FUNC,
-	glColor3fv_FUNC,
-	glColor3i_FUNC,
-	glColor3iv_FUNC,
-	glColor3s_FUNC,
-	glColor3sv_FUNC,
-	glColor3ub_FUNC,
-	glColor3ubv_FUNC,
-	glColor3ui_FUNC,
-	glColor3uiv_FUNC,
-	glColor3us_FUNC,
-	glColor3usv_FUNC,
-	glColor4b_FUNC,
-	glColor4bv_FUNC,
-	glColor4d_FUNC,
-	glColor4dv_FUNC,
-	glColor4f_FUNC,
-	glColor4fv_FUNC,
-	glColor4i_FUNC,
-	glColor4iv_FUNC,
-	glColor4s_FUNC,
-	glColor4ub_FUNC,
-	glColor4ubv_FUNC,
-	glColor4ui_FUNC,
-	glColor4uiv_FUNC,
-	glColor4us_FUNC,
-	glColor4usv_FUNC,
-	glColorMask_FUNC,
-	glColorMaterial_FUNC,
-	glColorPointer_FUNC,
-	glCopyPixels_FUNC,
-	glCopyTexImage1D_FUNC,
-	glCopyTexImage2D_FUNC,
-	glCopyTexSubImage1D_FUNC,
-	glCopyTexSubImage2D_FUNC,
-	glCullFace_FUNC,
-	glDeleteLists_FUNC,
-	glDeleteTextures_FUNC,
-	glDepthFunc_FUNC,
-	glDepthMask_FUNC,
-	glDepthRange_FUNC,
-	glDisable_FUNC,
-	glDisableClientState_FUNC,
-	glDrawArrays_FUNC,
-	glDrawBuffer_FUNC,
-	glDrawElements_FUNC,
-	glDrawPixels_FUNC,
-	glEdgeFlag_FUNC,
-	glEdgeFlagPointer_FUNC,
-	glEdgeFlagv_FUNC,
-	glEnable_FUNC,
-	glEnableClientState_FUNC,
-	glEnd_FUNC,
-	glEndList_FUNC,
-	glEvalCoord1d_FUNC,
-	glEvalCoord1dv_FUNC,
-	glEvalCoord1f_FUNC,
-	glEvalCoord1fv_FUNC,
-	glEvalCoord2d_FUNC,
-	glEvalCoord2dv_FUNC,
-	glEvalCoord2f_FUNC,
-	glEvalCoord2fv_FUNC,
-	glEvalMesh1_FUNC,
-	glEvalMesh2_FUNC,
-	glEvalPoint1_FUNC,
-	glEvalPoint2_FUNC,
-	glFeedbackBuffer_FUNC,
-	glFinish_FUNC,
-	glFlush_FUNC,
-	glFogf_FUNC,
-	glFogfv_FUNC,
-	glFogi_FUNC,
-	glFogiv_FUNC,
-	glFrontFace_FUNC,
-	glFrustum_FUNC,
-	glGenLists_FUNC,
-	glGenTextures_FUNC,
-	glGetBooleanv_FUNC,
-	glGetClipPlane_FUNC,
-	glGetDoublev_FUNC,
-	glGetError_FUNC,
-	glGetFloatv_FUNC,
-	glGetIntegerv_FUNC,
-	glGetLightfv_FUNC,
-	glGetLightiv_FUNC,
-	glGetMapdv_FUNC,
-	glGetMapfv_FUNC,
-	glGetMapiv_FUNC,
-	glGetMaterialfv_FUNC,
-	glGetMaterialiv_FUNC,
-	glGetPixelMapfv_FUNC,
-	glGetPixelMapuiv_FUNC,
-	glGetPixelMapusv_FUNC,
-	glGetPointerv_FUNC,
-	glGetPolygonStipple_FUNC,
-	glGetString_FUNC,
-	glGetTexEnvfv_FUNC,
-	glGetTexEnviv_FUNC,
-	glGetTexGendv_FUNC,
-	glGetTexGenfv_FUNC,
-	glGetTexGeniv_FUNC,
-	glGetTexImage_FUNC,
-	glGetTexLevelParameterfv_FUNC,
-	glGetTexLevelParameteriv_FUNC,
-	glGetTexParameterfv_FUNC,
-	glGetTexParameteriv_FUNC,
-	glHint_FUNC,
-	glIndexMask_FUNC,
-	glIndexPointer_FUNC,
-	glIndexd_FUNC,
-	glIndexdv_FUNC,
-	glIndexf_FUNC,
-	glIndexfv_FUNC,
-	glIndexi_FUNC,
-	glIndexiv_FUNC,
-	glIndexs_FUNC,
-	glIndexsv_FUNC,
-	glInitNames_FUNC,
-	glInterleavedArrays_FUNC,
-	glIsEnabled_FUNC,
-	glIsList_FUNC,
-	glIsTexture_FUNC,
-	glLightModelf_FUNC,
-	glLightModelfv_FUNC,
-	glLightModeli_FUNC,
-	glLightModeliv_FUNC,
-	glLightf_FUNC,
-	glLightfv_FUNC,
-	glLighti_FUNC,
-	glLightiv_FUNC,
-	glLineStipple_FUNC,
-	glLineWidth_FUNC,
-	glListBase_FUNC,
-	glLoadIdentity_FUNC,
-	glLoadMatrixd_FUNC,
-	glLoadMatrixf_FUNC,
-	glLoadName_FUNC,
-	glLogicOp_FUNC,
-	glMap1d_FUNC,
-	glMap1f_FUNC,
-	glMap2d_FUNC,
-	glMap2f_FUNC,
-	glMapGrid1d_FUNC,
-	glMapGrid1f_FUNC,
-	glMapGrid2d_FUNC,
-	glMapGrid2f_FUNC,
-	glMaterialf_FUNC,
-	glMaterialfv_FUNC,
-	glMateriali_FUNC,
-	glMaterialiv_FUNC,
-	glMatrixMode_FUNC,
-	glMultMatrixd_FUNC,
-	glMultMatrixf_FUNC,
-	glNewList_FUNC,
-	glNormal3b_FUNC,
-	glNormal3bv_FUNC,
-	glNormal3d_FUNC,
-	glNormal3dv_FUNC,
-	glNormal3f_FUNC,
-	glNormal3fv_FUNC,
-	glNormal3i_FUNC,
-	glNormal3iv_FUNC,
-	glNormal3s_FUNC,
-	glNormal3sv_FUNC,
-	glNormalPointer_FUNC,
-	glOrtho_FUNC,
-	glPassThrough_FUNC,
-	glPixelMapfv_FUNC,
-	glPixelMapuiv_FUNC,
-	glPixelMapusv_FUNC,
-	glPixelStoref_FUNC,
-	glPixelStorei_FUNC,
-	glPixelTransferf_FUNC,
-	glPixelTransferi_FUNC,
-	glPixelZoom_FUNC,
-	glPointSize_FUNC,
-	glPolygonMode_FUNC,
-	glPolygonOffset_FUNC,
-	glPolygonStipple_FUNC,
-	glPopAttrib_FUNC,
-	glPopClientAttrib_FUNC,
-	glPopMatrix_FUNC,
-	glPopName_FUNC,
-	glPrioritizeTextures_FUNC,
-	glPushAttrib_FUNC,
-	glPushClientAttrib_FUNC,
-	glPushMatrix_FUNC,
-	glPushName_FUNC,
-	glRasterPos2d_FUNC,
-	glRasterPos2dv_FUNC,
-	glRasterPos2f_FUNC,
-	glRasterPos2fv_FUNC,
-	glRasterPos2i_FUNC,
-	glRasterPos2iv_FUNC,
-	glRasterPos2s_FUNC,
-	glRasterPos2sv_FUNC,
-	glRasterPos3d_FUNC,
-	glRasterPos3dv_FUNC,
-	glRasterPos3f_FUNC,
-	glRasterPos3fv_FUNC,
-	glRasterPos3i_FUNC,
-	glRasterPos3iv_FUNC,
-	glRasterPos3s_FUNC,
-	glRasterPos3sv_FUNC,
-	glRasterPos4d_FUNC,
-	glRasterPos4dv_FUNC,
-	glRasterPos4f_FUNC,
-	glRasterPos4fv_FUNC,
-	glRasterPos4i_FUNC,
-	glRasterPos4iv_FUNC,
-	glRasterPos4s_FUNC,
-	glRasterPos4sv_FUNC,
-	glReadBuffer_FUNC,
-	glReadPixels_FUNC,
-	glRectd_FUNC,
-	glRectdv_FUNC,
-	glRectf_FUNC,
-	glRectfv_FUNC,
-	glRecti_FUNC,
-	glRectiv_FUNC,
-	glRects_FUNC,
-	glRectsv_FUNC,
-	glRenderMode_FUNC,
-	glRotated_FUNC,
-	glRotatef_FUNC,
-	glScaled_FUNC,
-	glScalef_FUNC,
-	glScissor_FUNC,
-	glSelectBuffer_FUNC,
-	glShadeModel_FUNC,
-	glStencilFunc_FUNC,
-	glStencilMask_FUNC,
-	glStencilOp_FUNC,
-	glTexCoord1d_FUNC,
-	glTexCoord1dv_FUNC,
-	glTexCoord1f_FUNC,
-	glTexCoord1fv_FUNC,
-	glTexCoord1i_FUNC,
-	glTexCoord1iv_FUNC,
-	glTexCoord1s_FUNC,
-	glTexCoord1sv_FUNC,
-	glTexCoord2d_FUNC,
-	glTexCoord2dv_FUNC,
-	glTexCoord2f_FUNC,
-	glTexCoord2fv_FUNC,
-	glTexCoord2i_FUNC,
-	glTexCoord2iv_FUNC,
-	glTexCoord2s_FUNC,
-	glTexCoord2sv_FUNC,
-	glTexCoord3d_FUNC,
-	glTexCoord3dv_FUNC,
-	glTexCoord3f_FUNC,
-	glTexCoord3fv_FUNC,
-	glTexCoord3i_FUNC,
-	glTexCoord3iv_FUNC,
-	glTexCoord3s_FUNC,
-	glTexCoord3sv_FUNC,
-	glTexCoord4d_FUNC,
-	glTexCoord4dv_FUNC,
-	glTexCoord4f_FUNC,
-	glTexCoord4fv_FUNC,
-	glTexCoord4i_FUNC,
-	glTexCoord4iv_FUNC,
-	glTexCoord4s_FUNC,
-	glTexCoord4sv_FUNC,
-	glTexCoordPointer_FUNC,
-	glTexEnvf_FUNC,
-	glTexEnvfv_FUNC,
-	glTexEnvi_FUNC,
-	glTexEnviv_FUNC,
-	glTexGend_FUNC,
-	glTexGendv_FUNC,
-	glTexGenf_FUNC,
-	glTexGenfv_FUNC,
-	glTexGeni_FUNC,
-	glTexGeniv_FUNC,
-	glTexImage1D_FUNC,
-	glTexImage2D_FUNC,
-	glTexParameterf_FUNC,
-	glTexParameterfv_FUNC,
-	glTexParameteri_FUNC,
-	glTexParameteriv_FUNC,
-	glTexSubImage1D_FUNC,
-	glTexSubImage2D_FUNC,
-	glTranslated_FUNC,
-	glTranslatef_FUNC,
-	glVertex2d_FUNC,
-	glVertex2dv_FUNC,
-	glVertex2f_FUNC,
-	glVertex2fv_FUNC,
-	glVertex2i_FUNC,
-	glVertex2iv_FUNC,
-	glVertex2s_FUNC,
-	glVertex2sv_FUNC,
-	glVertex3d_FUNC,
-	glVertex3dv_FUNC,
-	glVertex3f_FUNC,
-	glVertex3fv_FUNC,
-	glVertex3i_FUNC,
-	glVertex3iv_FUNC,
-	glVertex3s_FUNC,
-	glVertex3sv_FUNC,
-	glVertex4d_FUNC,
-	glVertex4dv_FUNC,
-	glVertex4f_FUNC,
-	glVertex4fv_FUNC,
-	glVertex4i_FUNC,
-	glVertex4iv_FUNC,
-	glVertex4s_FUNC,
-	glVertex4sv_FUNC,
-	glVertexPointer_FUNC,
-	glViewport_FUNC,
-} GL_FUNCS;
diff --git a/bundles/org.eclipse.swt.opengl/common/library/gl_structs.c b/bundles/org.eclipse.swt.opengl/common/library/gl_structs.c
deleted file mode 100644
index 92490df..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/gl_structs.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "swt.h"
-#include "gl_structs.h"
-
diff --git a/bundles/org.eclipse.swt.opengl/common/library/gl_structs.h b/bundles/org.eclipse.swt.opengl/common/library/gl_structs.h
deleted file mode 100644
index 8ae9679..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/gl_structs.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "gl.h"
-
diff --git a/bundles/org.eclipse.swt.opengl/common/library/glu.c b/bundles/org.eclipse.swt.opengl/common/library/glu.c
deleted file mode 100644
index 5ef7075..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/glu.c
+++ /dev/null
@@ -1,798 +0,0 @@
-#include "swt.h"
-#include "glu_structs.h"
-#include "glu_stats.h"
-
-#define GLU_NATIVE(func) Java_org_eclipse_opengl_GLU_##func
-
-#ifndef NO_gluBeginCurve
-JNIEXPORT void JNICALL GLU_NATIVE(gluBeginCurve)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluBeginCurve_FUNC);
-	gluBeginCurve((GLUnurbs *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluBeginCurve_FUNC);
-}
-#endif
-
-#ifndef NO_gluBeginPolygon
-JNIEXPORT void JNICALL GLU_NATIVE(gluBeginPolygon)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluBeginPolygon_FUNC);
-	gluBeginPolygon((GLUtesselator*)arg0);
-	GLU_NATIVE_EXIT(env, that, gluBeginPolygon_FUNC);
-}
-#endif
-
-#ifndef NO_gluBeginSurface
-JNIEXPORT void JNICALL GLU_NATIVE(gluBeginSurface)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluBeginSurface_FUNC);
-	gluBeginSurface((GLUnurbs *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluBeginSurface_FUNC);
-}
-#endif
-
-#ifndef NO_gluBeginTrim
-JNIEXPORT void JNICALL GLU_NATIVE(gluBeginTrim)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluBeginTrim_FUNC);
-	gluBeginTrim((GLUnurbs *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluBeginTrim_FUNC);
-}
-#endif
-
-#ifndef NO_gluBuild1DMipmaps
-JNIEXPORT jint JNICALL GLU_NATIVE(gluBuild1DMipmaps)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jint rc;
-	GLU_NATIVE_ENTER(env, that, gluBuild1DMipmaps_FUNC);
-	rc = (jint)gluBuild1DMipmaps(arg0, arg1, arg2, arg3, arg4, (const void *)arg5);
-	GLU_NATIVE_EXIT(env, that, gluBuild1DMipmaps_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_gluBuild2DMipmaps
-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;
-	GLU_NATIVE_ENTER(env, that, gluBuild2DMipmaps_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg6) lparg6 = (*env)->GetPrimitiveArrayCritical(env, arg6, NULL);
-	} else
-#endif
-	{
-		if (arg6) lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL);
-	}
-	rc = (jint)gluBuild2DMipmaps(arg0, arg1, arg2, arg3, arg4, arg5, lparg6);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg6) (*env)->ReleasePrimitiveArrayCritical(env, arg6, lparg6, 0);
-	} else
-#endif
-	{
-		if (arg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluBuild2DMipmaps_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_gluCylinder
-JNIEXPORT void JNICALL GLU_NATIVE(gluCylinder)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3, jint arg4, jint arg5)
-{
-	GLU_NATIVE_ENTER(env, that, gluCylinder_FUNC);
-	gluCylinder((GLUquadric *)arg0, arg1, arg2, arg3, arg4, arg5);
-	GLU_NATIVE_EXIT(env, that, gluCylinder_FUNC);
-}
-#endif
-
-#ifndef NO_gluDeleteNurbsRenderer
-JNIEXPORT void JNICALL GLU_NATIVE(gluDeleteNurbsRenderer)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluDeleteNurbsRenderer_FUNC);
-	gluDeleteNurbsRenderer((GLUnurbs *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluDeleteNurbsRenderer_FUNC);
-}
-#endif
-
-#ifndef NO_gluDeleteQuadric
-JNIEXPORT void JNICALL GLU_NATIVE(gluDeleteQuadric)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluDeleteQuadric_FUNC);
-	gluDeleteQuadric((GLUquadric *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluDeleteQuadric_FUNC);
-}
-#endif
-
-#ifndef NO_gluDeleteTess
-JNIEXPORT void JNICALL GLU_NATIVE(gluDeleteTess)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluDeleteTess_FUNC);
-	gluDeleteTess((GLUtesselator *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluDeleteTess_FUNC);
-}
-#endif
-
-#ifndef NO_gluDisk
-JNIEXPORT void JNICALL GLU_NATIVE(gluDisk)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jint arg3, jint arg4)
-{
-	GLU_NATIVE_ENTER(env, that, gluDisk_FUNC);
-	gluDisk((GLUquadricObj *)arg0, arg1, arg2, arg3, arg4);
-	GLU_NATIVE_EXIT(env, that, gluDisk_FUNC);
-}
-#endif
-
-#ifndef NO_gluEndCurve
-JNIEXPORT void JNICALL GLU_NATIVE(gluEndCurve)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluEndCurve_FUNC);
-	gluEndCurve((GLUnurbsObj *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluEndCurve_FUNC);
-}
-#endif
-
-#ifndef NO_gluEndPolygon
-JNIEXPORT void JNICALL GLU_NATIVE(gluEndPolygon)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluEndPolygon_FUNC);
-	gluEndPolygon((GLUtriangulatorObj *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluEndPolygon_FUNC);
-}
-#endif
-
-#ifndef NO_gluEndSurface
-JNIEXPORT void JNICALL GLU_NATIVE(gluEndSurface)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluEndSurface_FUNC);
-	gluEndSurface((GLUnurbsObj *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluEndSurface_FUNC);
-}
-#endif
-
-#ifndef NO_gluEndTrim
-JNIEXPORT void JNICALL GLU_NATIVE(gluEndTrim)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluEndTrim_FUNC);
-	gluEndTrim((GLUnurbsObj *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluEndTrim_FUNC);
-}
-#endif
-
-#ifndef NO_gluErrorString
-JNIEXPORT jint JNICALL GLU_NATIVE(gluErrorString)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc;
-	GLU_NATIVE_ENTER(env, that, gluErrorString_FUNC);
-	rc = (jint)gluErrorString(arg0);
-	GLU_NATIVE_EXIT(env, that, gluErrorString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_gluGetNurbsProperty
-JNIEXPORT void JNICALL GLU_NATIVE(gluGetNurbsProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GLU_NATIVE_ENTER(env, that, gluGetNurbsProperty_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	gluGetNurbsProperty((GLUnurbs *)arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluGetNurbsProperty_FUNC);
-}
-#endif
-
-#ifndef NO_gluGetString
-JNIEXPORT jint JNICALL GLU_NATIVE(gluGetString)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc;
-	GLU_NATIVE_ENTER(env, that, gluGetString_FUNC);
-	rc = (jint)gluGetString(arg0);
-	GLU_NATIVE_EXIT(env, that, gluGetString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_gluGetTessProperty
-JNIEXPORT void JNICALL GLU_NATIVE(gluGetTessProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdoubleArray arg2)
-{
-	jdouble *lparg2=NULL;
-	GLU_NATIVE_ENTER(env, that, gluGetTessProperty_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL);
-	}
-	gluGetTessProperty((GLUtesselator *)arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluGetTessProperty_FUNC);
-}
-#endif
-
-#ifndef NO_gluLoadSamplingMatrices
-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;
-	GLU_NATIVE_ENTER(env, that, gluLoadSamplingMatrices_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-		if (arg3) lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL);
-	} else
-#endif
-	{
-		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, lparg3);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-		if (arg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluLoadSamplingMatrices_FUNC);
-}
-#endif
-
-#ifndef NO_gluLookAt
-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)
-{
-	GLU_NATIVE_ENTER(env, that, gluLookAt_FUNC);
-	gluLookAt(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-	GLU_NATIVE_EXIT(env, that, gluLookAt_FUNC);
-}
-#endif
-
-#ifndef NO_gluNewNurbsRenderer
-JNIEXPORT jint JNICALL GLU_NATIVE(gluNewNurbsRenderer)
-	(JNIEnv *env, jclass that)
-{
-	jint rc;
-	GLU_NATIVE_ENTER(env, that, gluNewNurbsRenderer_FUNC);
-	rc = (jint)gluNewNurbsRenderer();
-	GLU_NATIVE_EXIT(env, that, gluNewNurbsRenderer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_gluNewQuadric
-JNIEXPORT jint JNICALL GLU_NATIVE(gluNewQuadric)
-	(JNIEnv *env, jclass that)
-{
-	jint rc;
-	GLU_NATIVE_ENTER(env, that, gluNewQuadric_FUNC);
-	rc = (jint)gluNewQuadric();
-	GLU_NATIVE_EXIT(env, that, gluNewQuadric_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_gluNewTess
-JNIEXPORT jint JNICALL GLU_NATIVE(gluNewTess)
-	(JNIEnv *env, jclass that)
-{
-	jint rc;
-	GLU_NATIVE_ENTER(env, that, gluNewTess_FUNC);
-	rc = (jint)gluNewTess();
-	GLU_NATIVE_EXIT(env, that, gluNewTess_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_gluNextContour
-JNIEXPORT void JNICALL GLU_NATIVE(gluNextContour)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GLU_NATIVE_ENTER(env, that, gluNextContour_FUNC);
-	gluNextContour((GLUtesselator *)arg0, arg1);
-	GLU_NATIVE_EXIT(env, that, gluNextContour_FUNC);
-}
-#endif
-
-#ifndef NO_gluNurbsCallback
-JNIEXPORT void JNICALL GLU_NATIVE(gluNurbsCallback)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GLU_NATIVE_ENTER(env, that, gluNurbsCallback_FUNC);
-	gluNurbsCallback((GLUnurbs *)arg0, arg1, (GLvoid(*))arg2);
-	GLU_NATIVE_EXIT(env, that, gluNurbsCallback_FUNC);
-}
-#endif
-
-#ifndef NO_gluNurbsCurve
-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;
-	GLU_NATIVE_ENTER(env, that, gluNurbsCurve_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-		if (arg4) lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL);
-	} else
-#endif
-	{
-		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);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg4) (*env)->ReleaseFloatArrayElements(env, arg4, lparg4, 0);
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluNurbsCurve_FUNC);
-}
-#endif
-
-#ifndef NO_gluNurbsProperty
-JNIEXPORT void JNICALL GLU_NATIVE(gluNurbsProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	GLU_NATIVE_ENTER(env, that, gluNurbsProperty_FUNC);
-	gluNurbsProperty((GLUnurbs *)arg0, arg1, arg2);
-	GLU_NATIVE_EXIT(env, that, gluNurbsProperty_FUNC);
-}
-#endif
-
-#ifndef NO_gluNurbsSurface
-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;
-	GLU_NATIVE_ENTER(env, that, gluNurbsSurface_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-		if (arg4) lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL);
-		if (arg7) lparg7 = (*env)->GetPrimitiveArrayCritical(env, arg7, NULL);
-	} else
-#endif
-	{
-		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((GLUnurbsObj *)arg0, arg1, lparg2, arg3, lparg4, arg5, arg6, lparg7, arg8, arg9, arg10);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg7) (*env)->ReleasePrimitiveArrayCritical(env, arg7, lparg7, 0);
-		if (arg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg7) (*env)->ReleaseFloatArrayElements(env, arg7, lparg7, 0);
-		if (arg4) (*env)->ReleaseFloatArrayElements(env, arg4, lparg4, 0);
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluNurbsSurface_FUNC);
-}
-#endif
-
-#ifndef NO_gluOrtho2D
-JNIEXPORT void JNICALL GLU_NATIVE(gluOrtho2D)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	GLU_NATIVE_ENTER(env, that, gluOrtho2D_FUNC);
-	gluOrtho2D(arg0, arg1, arg2, arg3);
-	GLU_NATIVE_EXIT(env, that, gluOrtho2D_FUNC);
-}
-#endif
-
-#ifndef NO_gluPartialDisk
-JNIEXPORT void JNICALL GLU_NATIVE(gluPartialDisk)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jint arg3, jint arg4, jdouble arg5, jdouble arg6)
-{
-	GLU_NATIVE_ENTER(env, that, gluPartialDisk_FUNC);
-	gluPartialDisk((GLUquadric *)arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-	GLU_NATIVE_EXIT(env, that, gluPartialDisk_FUNC);
-}
-#endif
-
-#ifndef NO_gluPerspective
-JNIEXPORT void JNICALL GLU_NATIVE(gluPerspective)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	GLU_NATIVE_ENTER(env, that, gluPerspective_FUNC);
-	gluPerspective(arg0, arg1, arg2, arg3);
-	GLU_NATIVE_EXIT(env, that, gluPerspective_FUNC);
-}
-#endif
-
-#ifndef NO_gluPickMatrix
-JNIEXPORT void JNICALL GLU_NATIVE(gluPickMatrix)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	GLU_NATIVE_ENTER(env, that, gluPickMatrix_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4) lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL);
-	} else
-#endif
-	{
-		if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
-	}
-	gluPickMatrix(arg0, arg1, arg2, arg3, lparg4);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-	} else
-#endif
-	{
-		if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluPickMatrix_FUNC);
-}
-#endif
-
-#ifndef NO_gluProject
-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;
-	GLU_NATIVE_ENTER(env, that, gluProject_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL);
-		if (arg4) lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL);
-		if (arg5) lparg5 = (*env)->GetPrimitiveArrayCritical(env, arg5, NULL);
-		if (arg6) lparg6 = (*env)->GetPrimitiveArrayCritical(env, arg6, NULL);
-		if (arg7) lparg7 = (*env)->GetPrimitiveArrayCritical(env, arg7, NULL);
-		if (arg8) lparg8 = (*env)->GetPrimitiveArrayCritical(env, arg8, NULL);
-	} else
-#endif
-	{
-		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, lparg5, lparg6, lparg7, lparg8);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg8) (*env)->ReleasePrimitiveArrayCritical(env, arg8, lparg8, 0);
-		if (arg7) (*env)->ReleasePrimitiveArrayCritical(env, arg7, lparg7, 0);
-		if (arg6) (*env)->ReleasePrimitiveArrayCritical(env, arg6, lparg6, 0);
-		if (arg5) (*env)->ReleasePrimitiveArrayCritical(env, arg5, lparg5, 0);
-		if (arg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-		if (arg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg8) (*env)->ReleaseDoubleArrayElements(env, arg8, lparg8, 0);
-		if (arg7) (*env)->ReleaseDoubleArrayElements(env, arg7, lparg7, 0);
-		if (arg6) (*env)->ReleaseDoubleArrayElements(env, arg6, lparg6, 0);
-		if (arg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-		if (arg4) (*env)->ReleaseDoubleArrayElements(env, arg4, lparg4, 0);
-		if (arg3) (*env)->ReleaseDoubleArrayElements(env, arg3, lparg3, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluProject_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_gluPwlCurve
-JNIEXPORT void JNICALL GLU_NATIVE(gluPwlCurve)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2, jint arg3, jint arg4)
-{
-	jfloat *lparg2=NULL;
-	GLU_NATIVE_ENTER(env, that, gluPwlCurve_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	gluPwlCurve((GLUnurbs *)arg0, arg1, lparg2, arg3, arg4);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluPwlCurve_FUNC);
-}
-#endif
-
-#ifndef NO_gluQuadricCallback
-JNIEXPORT void JNICALL GLU_NATIVE(gluQuadricCallback)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GLU_NATIVE_ENTER(env, that, gluQuadricCallback_FUNC);
-	gluQuadricCallback((GLUquadricObj *)arg0, arg1, (GLvoid(*))arg2);
-	GLU_NATIVE_EXIT(env, that, gluQuadricCallback_FUNC);
-}
-#endif
-
-#ifndef NO_gluQuadricDrawStyle
-JNIEXPORT void JNICALL GLU_NATIVE(gluQuadricDrawStyle)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GLU_NATIVE_ENTER(env, that, gluQuadricDrawStyle_FUNC);
-	gluQuadricDrawStyle((GLUquadricObj *)arg0, arg1);
-	GLU_NATIVE_EXIT(env, that, gluQuadricDrawStyle_FUNC);
-}
-#endif
-
-#ifndef NO_gluQuadricNormals
-JNIEXPORT void JNICALL GLU_NATIVE(gluQuadricNormals)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GLU_NATIVE_ENTER(env, that, gluQuadricNormals_FUNC);
-	gluQuadricNormals((GLUquadricObj *)arg0, arg1);
-	GLU_NATIVE_EXIT(env, that, gluQuadricNormals_FUNC);
-}
-#endif
-
-#ifndef NO_gluQuadricOrientation
-JNIEXPORT void JNICALL GLU_NATIVE(gluQuadricOrientation)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GLU_NATIVE_ENTER(env, that, gluQuadricOrientation_FUNC);
-	gluQuadricOrientation((GLUquadric *)arg0, arg1);
-	GLU_NATIVE_EXIT(env, that, gluQuadricOrientation_FUNC);
-}
-#endif
-
-#ifndef NO_gluQuadricTexture
-JNIEXPORT void JNICALL GLU_NATIVE(gluQuadricTexture)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	GLU_NATIVE_ENTER(env, that, gluQuadricTexture_FUNC);
-	gluQuadricTexture((GLUquadric *)arg0, arg1);
-	GLU_NATIVE_EXIT(env, that, gluQuadricTexture_FUNC);
-}
-#endif
-
-#ifndef NO_gluScaleImage
-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;
-	GLU_NATIVE_ENTER(env, that, gluScaleImage_FUNC);
-	rc = (jint)gluScaleImage(arg0, arg1, arg2, arg3, (const void *)arg4, arg5, arg6, arg7, (void *)arg8);
-	GLU_NATIVE_EXIT(env, that, gluScaleImage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_gluSphere
-JNIEXPORT void JNICALL GLU_NATIVE(gluSphere)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jint arg2, jint arg3)
-{
-	GLU_NATIVE_ENTER(env, that, gluSphere_FUNC);
-	gluSphere((GLUquadric *)arg0, arg1, arg2, arg3);
-	GLU_NATIVE_EXIT(env, that, gluSphere_FUNC);
-}
-#endif
-
-#ifndef NO_gluTessBeginContour
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessBeginContour)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluTessBeginContour_FUNC);
-	gluTessBeginContour((GLUtesselator *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluTessBeginContour_FUNC);
-}
-#endif
-
-#ifndef NO_gluTessBeginPolygon
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessBeginPolygon)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GLU_NATIVE_ENTER(env, that, gluTessBeginPolygon_FUNC);
-	gluTessBeginPolygon((GLUtesselator *)arg0, (GLvoid *)arg1);
-	GLU_NATIVE_EXIT(env, that, gluTessBeginPolygon_FUNC);
-}
-#endif
-
-#ifndef NO_gluTessCallback
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessCallback)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GLU_NATIVE_ENTER(env, that, gluTessCallback_FUNC);
-	gluTessCallback((GLUtesselator *)arg0, arg1, (GLvoid(*))arg2);
-	GLU_NATIVE_EXIT(env, that, gluTessCallback_FUNC);
-}
-#endif
-
-#ifndef NO_gluTessEndContour
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessEndContour)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluTessEndContour_FUNC);
-	gluTessEndContour((GLUtesselator *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluTessEndContour_FUNC);
-}
-#endif
-
-#ifndef NO_gluTessEndPolygon
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessEndPolygon)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluTessEndPolygon_FUNC);
-	gluTessEndPolygon((GLUtesselator *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluTessEndPolygon_FUNC);
-}
-#endif
-
-#ifndef NO_gluTessNormal
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessNormal)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	GLU_NATIVE_ENTER(env, that, gluTessNormal_FUNC);
-	gluTessNormal((GLUtesselator *)arg0, arg1, arg2, arg3);
-	GLU_NATIVE_EXIT(env, that, gluTessNormal_FUNC);
-}
-#endif
-
-#ifndef NO_gluTessProperty
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdouble arg2)
-{
-	GLU_NATIVE_ENTER(env, that, gluTessProperty_FUNC);
-	gluTessProperty((GLUtesselator *)arg0, arg1, arg2);
-	GLU_NATIVE_EXIT(env, that, gluTessProperty_FUNC);
-}
-#endif
-
-#ifndef NO_gluTessVertex
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessVertex)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jint arg2)
-{
-	jdouble *lparg1=NULL;
-	GLU_NATIVE_ENTER(env, that, gluTessVertex_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL);
-	}
-	gluTessVertex((GLUtesselator *)arg0, lparg1, (GLvoid *)arg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluTessVertex_FUNC);
-}
-#endif
-
-#ifndef NO_gluUnProject
-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;
-	GLU_NATIVE_ENTER(env, that, gluUnProject_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL);
-		if (arg4) lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL);
-		if (arg5) lparg5 = (*env)->GetPrimitiveArrayCritical(env, arg5, NULL);
-		if (arg6) lparg6 = (*env)->GetPrimitiveArrayCritical(env, arg6, NULL);
-		if (arg7) lparg7 = (*env)->GetPrimitiveArrayCritical(env, arg7, NULL);
-		if (arg8) lparg8 = (*env)->GetPrimitiveArrayCritical(env, arg8, NULL);
-	} else
-#endif
-	{
-		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, lparg5, lparg6, lparg7, lparg8);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg8) (*env)->ReleasePrimitiveArrayCritical(env, arg8, lparg8, 0);
-		if (arg7) (*env)->ReleasePrimitiveArrayCritical(env, arg7, lparg7, 0);
-		if (arg6) (*env)->ReleasePrimitiveArrayCritical(env, arg6, lparg6, 0);
-		if (arg5) (*env)->ReleasePrimitiveArrayCritical(env, arg5, lparg5, 0);
-		if (arg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-		if (arg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg8) (*env)->ReleaseDoubleArrayElements(env, arg8, lparg8, 0);
-		if (arg7) (*env)->ReleaseDoubleArrayElements(env, arg7, lparg7, 0);
-		if (arg6) (*env)->ReleaseDoubleArrayElements(env, arg6, lparg6, 0);
-		if (arg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-		if (arg4) (*env)->ReleaseDoubleArrayElements(env, arg4, lparg4, 0);
-		if (arg3) (*env)->ReleaseDoubleArrayElements(env, arg3, lparg3, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluUnProject_FUNC);
-	return rc;
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt.opengl/common/library/glu.h b/bundles/org.eclipse.swt.opengl/common/library/glu.h
deleted file mode 100644
index 96f8b03..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/glu.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifdef __APPLE__
-#include <OpenGL/glu.h>
-#else
-#ifdef WIN32
-#include <windows.h>
-#endif
-#include <GL/glu.h>
-#endif
-
-extern int IS_JNI_1_2;
diff --git a/bundles/org.eclipse.swt.opengl/common/library/glu_stats.c b/bundles/org.eclipse.swt.opengl/common/library/glu_stats.c
deleted file mode 100644
index 3befc26..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/glu_stats.c
+++ /dev/null
@@ -1,82 +0,0 @@
-#include "swt.h"
-#include "glu_stats.h"
-
-#ifdef NATIVE_STATS
-
-int GLU_nativeFunctionCount = 51;
-int GLU_nativeFunctionCallCount[51];
-char * GLU_nativeFunctionNames[] = {
-	"gluBeginCurve", 
-	"gluBeginPolygon", 
-	"gluBeginSurface", 
-	"gluBeginTrim", 
-	"gluBuild1DMipmaps", 
-	"gluBuild2DMipmaps", 
-	"gluCylinder", 
-	"gluDeleteNurbsRenderer", 
-	"gluDeleteQuadric", 
-	"gluDeleteTess", 
-	"gluDisk", 
-	"gluEndCurve", 
-	"gluEndPolygon", 
-	"gluEndSurface", 
-	"gluEndTrim", 
-	"gluErrorString", 
-	"gluGetNurbsProperty", 
-	"gluGetString", 
-	"gluGetTessProperty", 
-	"gluLoadSamplingMatrices", 
-	"gluLookAt", 
-	"gluNewNurbsRenderer", 
-	"gluNewQuadric", 
-	"gluNewTess", 
-	"gluNextContour", 
-	"gluNurbsCallback", 
-	"gluNurbsCurve", 
-	"gluNurbsProperty", 
-	"gluNurbsSurface", 
-	"gluOrtho2D", 
-	"gluPartialDisk", 
-	"gluPerspective", 
-	"gluPickMatrix", 
-	"gluProject", 
-	"gluPwlCurve", 
-	"gluQuadricCallback", 
-	"gluQuadricDrawStyle", 
-	"gluQuadricNormals", 
-	"gluQuadricOrientation", 
-	"gluQuadricTexture", 
-	"gluScaleImage", 
-	"gluSphere", 
-	"gluTessBeginContour", 
-	"gluTessBeginPolygon", 
-	"gluTessCallback", 
-	"gluTessEndContour", 
-	"gluTessEndPolygon", 
-	"gluTessNormal", 
-	"gluTessProperty", 
-	"gluTessVertex", 
-	"gluUnProject", 
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(GLU_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return GLU_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(GLU_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, GLU_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(GLU_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return GLU_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt.opengl/common/library/glu_stats.h b/bundles/org.eclipse.swt.opengl/common/library/glu_stats.h
deleted file mode 100644
index 99173e6..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/glu_stats.h
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifdef NATIVE_STATS
-extern int GLU_nativeFunctionCount;
-extern int GLU_nativeFunctionCallCount[];
-extern char* GLU_nativeFunctionNames[];
-#define GLU_NATIVE_ENTER(env, that, func) GLU_nativeFunctionCallCount[func]++;
-#define GLU_NATIVE_EXIT(env, that, func) 
-#else
-#define GLU_NATIVE_ENTER(env, that, func) 
-#define GLU_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	gluBeginCurve_FUNC,
-	gluBeginPolygon_FUNC,
-	gluBeginSurface_FUNC,
-	gluBeginTrim_FUNC,
-	gluBuild1DMipmaps_FUNC,
-	gluBuild2DMipmaps_FUNC,
-	gluCylinder_FUNC,
-	gluDeleteNurbsRenderer_FUNC,
-	gluDeleteQuadric_FUNC,
-	gluDeleteTess_FUNC,
-	gluDisk_FUNC,
-	gluEndCurve_FUNC,
-	gluEndPolygon_FUNC,
-	gluEndSurface_FUNC,
-	gluEndTrim_FUNC,
-	gluErrorString_FUNC,
-	gluGetNurbsProperty_FUNC,
-	gluGetString_FUNC,
-	gluGetTessProperty_FUNC,
-	gluLoadSamplingMatrices_FUNC,
-	gluLookAt_FUNC,
-	gluNewNurbsRenderer_FUNC,
-	gluNewQuadric_FUNC,
-	gluNewTess_FUNC,
-	gluNextContour_FUNC,
-	gluNurbsCallback_FUNC,
-	gluNurbsCurve_FUNC,
-	gluNurbsProperty_FUNC,
-	gluNurbsSurface_FUNC,
-	gluOrtho2D_FUNC,
-	gluPartialDisk_FUNC,
-	gluPerspective_FUNC,
-	gluPickMatrix_FUNC,
-	gluProject_FUNC,
-	gluPwlCurve_FUNC,
-	gluQuadricCallback_FUNC,
-	gluQuadricDrawStyle_FUNC,
-	gluQuadricNormals_FUNC,
-	gluQuadricOrientation_FUNC,
-	gluQuadricTexture_FUNC,
-	gluScaleImage_FUNC,
-	gluSphere_FUNC,
-	gluTessBeginContour_FUNC,
-	gluTessBeginPolygon_FUNC,
-	gluTessCallback_FUNC,
-	gluTessEndContour_FUNC,
-	gluTessEndPolygon_FUNC,
-	gluTessNormal_FUNC,
-	gluTessProperty_FUNC,
-	gluTessVertex_FUNC,
-	gluUnProject_FUNC,
-} GLU_FUNCS;
diff --git a/bundles/org.eclipse.swt.opengl/common/library/glu_structs.c b/bundles/org.eclipse.swt.opengl/common/library/glu_structs.c
deleted file mode 100644
index 620ce43..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/glu_structs.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "swt.h"
-#include "glu_structs.h"
-
diff --git a/bundles/org.eclipse.swt.opengl/common/library/glu_structs.h b/bundles/org.eclipse.swt.opengl/common/library/glu_structs.h
deleted file mode 100644
index 5d11acf..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/glu_structs.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "glu.h"
-
diff --git a/bundles/org.eclipse.swt.opengl/common/library/swt.c b/bundles/org.eclipse.swt.opengl/common/library/swt.c
deleted file mode 100644
index 6740c65..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/swt.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
- 
-#include "swt.h"
-
-int IS_JNI_1_2 = 0;
-
-#ifdef JNI_VERSION_1_2
-JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
-	IS_JNI_1_2 = 1;
-	return JNI_VERSION_1_2;
-}
-#endif
diff --git a/bundles/org.eclipse.swt.opengl/common/library/swt.h b/bundles/org.eclipse.swt.opengl/common/library/swt.h
deleted file mode 100644
index 2729037..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/swt.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-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/opengl/GL.java b/bundles/org.eclipse.swt.opengl/common/org/eclipse/opengl/GL.java
deleted file mode 100755
index 01a4fca..0000000
--- a/bundles/org.eclipse.swt.opengl/common/org/eclipse/opengl/GL.java
+++ /dev/null
@@ -1,1447 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 void glBegin (int mode);
-	public static final native void 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 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 void glVertex3dv (double[] 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 void 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);
-}
diff --git a/bundles/org.eclipse.swt.opengl/common/org/eclipse/opengl/GLU.java b/bundles/org.eclipse.swt.opengl/common/org/eclipse/opengl/GLU.java
deleted file mode 100755
index 4c1e333..0000000
--- a/bundles/org.eclipse.swt.opengl/common/org/eclipse/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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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/GLData.java b/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GLData.java
deleted file mode 100644
index f25f11d..0000000
--- a/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GLData.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl;
-
-/**
- * The GLData class is a device-independent description
- * of the pixel format attributes of a GL drawable.
- *
- * @see GLCanvas
- */
-
-public class GLData {
-	/**
-	 * Specifies a double-buffered surface.  During context
-	 * creation, only double-buffered formats are considered
-	 * when set to true. 
-	 */
-	public boolean doubleBuffer;
-
-	/**
-	 * Specifies a stereo surface.  During context creation,
-	 * only stereo formats are considered when set to true. 
-	 */
-	public boolean stereo;
-
-	/**
-	 * The size in bits of the color buffer's red channel.
-	 * During context creation, this specifies the minimum
-	 * required red bits.
-	 */
-	public int redSize;
-
-	/**
-	 * The size in bits of the color buffer's green channel.
-	 * During context creation, this specifies the minimum
-	 * required green bits.
-	 */
-	public int greenSize;
-
-	/**
-	 * The size in bits of the color buffer's blue channel.
-	 * During context creation, this specifies the minimum
-	 * required blue bits.
-	 */
-	public int blueSize;
-
-	/**
-	 * The size in bits of the color buffer's alpha channel.
-	 * During context creation, this specifies the minimum
-	 * required alpha bits.
-	 */
-	public int alphaSize;
-
-	/**
-	 * The size in bits of the depth buffer.  During context
-	 * creation, the smallest depth buffer of at least the
-	 * specified value is preferred, or zero for no depth
-	 * buffer.
-	 */
-	public int depthSize;
-
-	/**
-	 * The desired number of stencil bitplanes.  During
-	 * context creation, the smallest stencil buffer of at
-	 * least the specified value is preferred, or zero for
-	 * no stencil buffer.
-	 */
-	public int stencilSize;
-
-	/**
-	 * The size in bits of the accumulation buffer's red
-	 * channel. During context creation, this specifies the
-	 * minimum required red bits.
-	 */
-	public int accumRedSize;
-
-	/**
-	 * The size in bits of the accumulation buffer's green
-	 * channel. During context creation, this specifies the
-	 * minimum required green bits.
-	 */
-	public int accumGreenSize;
-
-	/**
-	 * The size in bits of the accumulation buffer's blue
-	 * channel. During context creation, this specifies the
-	 * minimum required blue bits.
-	 */
-	public int accumBlueSize;
-
-	/**
-	 * The size in bits of the accumulation buffer's alpha
-	 * channel. During context creation, this specifies the
-	 * minimum required alpha bits.
-	 */
-	public int accumAlphaSize;
-
-	/**
-	 * The number of multisample buffers used by this context.
-	 * During context creation, this specifies the minimum
-	 * number of multisample buffers requested.
-	 */
-	public int sampleBuffers;
-
-	/**
-	 * The number of samples accepted in the multisample buffer.
-	 * During creation, pixel formats with the smallest number of
-	 * samples that meets or exceeds the specified minimum number
-	 * are preferred.
-	 */
-	public int samples;
-	
-/**
- * Returns a string containing a concise, human-readable
- * description of the receiver.
- *
- * @return a string representation of the data
- */
-public String toString() {
-	return (doubleBuffer ? "doubleBuffer," : "") +
-		(stereo ? "stereo," : "") +
-		"r:" + redSize + " g:" + greenSize + " b:" + blueSize + " a:" + alphaSize + "," +
-		"depth:" + depthSize + ",stencil:" + stencilSize +
-		",accum r:" + accumRedSize + "g:" + accumGreenSize + "b:" + accumBlueSize + "a:" + accumAlphaSize +
-		",sampleBuffers:" + sampleBuffers + ",samples:" + samples;
-}
-}
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 2069032..0000000
--- a/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/ImageDataUtil.java
+++ /dev/null
@@ -1,566 +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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl;
-
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.PaletteData;
-
-
-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;
-	}
-
-	public static 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;
-	}
-}
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 26467bc..0000000
--- a/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/Library.java
+++ /dev/null
@@ -1,27 +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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl;
-
-import org.eclipse.swt.*;
-
-public class Library {
-
-public static void loadLibrary (String name) {
-	String platform = SWT.getPlatform ();	
-	try {
-		String newName = name + '-' + platform;
-		System.loadLibrary (newName);
-		return;
-	} catch (UnsatisfiedLinkError e1) {		
-		throw e1;
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt.opengl/gtk/library/build.sh b/bundles/org.eclipse.swt.opengl/gtk/library/build.sh
deleted file mode 100644
index dc26d12..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/build.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-#*******************************************************************************
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#*******************************************************************************
-
-if [ "${OS}" = "" ]; then
-	OS=`uname -s`
-fi
-
-case $OS in
-	"Linux")
-		makefile="make_linux.mak"
-		echo "Building Linux GTK version of SWT OpenGL"
-		;;
-	*)
-		echo "*** Unknown OS <${OS}>"
-		;;
-esac
-
-export JAVA_HOME
-
-make -f $makefile ${1+"$@"}
diff --git a/bundles/org.eclipse.swt.opengl/gtk/library/glx.c b/bundles/org.eclipse.swt.opengl/gtk/library/glx.c
deleted file mode 100644
index e3615ca..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/glx.c
+++ /dev/null
@@ -1,290 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2000, 2005 IBM Corporation and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-*     IBM Corporation - initial API and implementation
-*******************************************************************************/
-
-#include "swt.h"
-#include "glx_structs.h"
-#include "glx_stats.h"
-
-#define GLX_NATIVE(func) Java_org_eclipse_swt_internal_opengl_gtk_GLX_##func
-
-#ifndef NO_glXChooseVisual
-JNIEXPORT jint JNICALL GLX_NATIVE(glXChooseVisual)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXChooseVisual_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)glXChooseVisual(arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	GLX_NATIVE_EXIT(env, that, glXChooseVisual_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXCopyContext
-JNIEXPORT void JNICALL GLX_NATIVE(glXCopyContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GLX_NATIVE_ENTER(env, that, glXCopyContext_FUNC);
-	glXCopyContext(arg0, arg1, arg2, arg3);
-	GLX_NATIVE_EXIT(env, that, glXCopyContext_FUNC);
-}
-#endif
-
-#ifndef NO_glXCreateContext
-JNIEXPORT jint JNICALL GLX_NATIVE(glXCreateContext)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jboolean arg3)
-{
-	XVisualInfo _arg1, *lparg1=NULL;
-	jint rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXCreateContext_FUNC);
-	if (arg1) if ((lparg1 = getXVisualInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)glXCreateContext(arg0, lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) setXVisualInfoFields(env, arg1, lparg1);
-	GLX_NATIVE_EXIT(env, that, glXCreateContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXCreateGLXPixmap
-JNIEXPORT jint JNICALL GLX_NATIVE(glXCreateGLXPixmap)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XVisualInfo _arg1, *lparg1=NULL;
-	jint rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXCreateGLXPixmap_FUNC);
-	if (arg1) if ((lparg1 = getXVisualInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)glXCreateGLXPixmap(arg0, lparg1, arg2);
-fail:
-	if (arg1 && lparg1) setXVisualInfoFields(env, arg1, lparg1);
-	GLX_NATIVE_EXIT(env, that, glXCreateGLXPixmap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXDestroyContext
-JNIEXPORT void JNICALL GLX_NATIVE(glXDestroyContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GLX_NATIVE_ENTER(env, that, glXDestroyContext_FUNC);
-	glXDestroyContext(arg0, arg1);
-	GLX_NATIVE_EXIT(env, that, glXDestroyContext_FUNC);
-}
-#endif
-
-#ifndef NO_glXDestroyGLXPixmap
-JNIEXPORT void JNICALL GLX_NATIVE(glXDestroyGLXPixmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GLX_NATIVE_ENTER(env, that, glXDestroyGLXPixmap_FUNC);
-	glXDestroyGLXPixmap(arg0, arg1);
-	GLX_NATIVE_EXIT(env, that, glXDestroyGLXPixmap_FUNC);
-}
-#endif
-
-#ifndef NO_glXGetClientString
-JNIEXPORT jint JNICALL GLX_NATIVE(glXGetClientString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXGetClientString_FUNC);
-	rc = (jint)glXGetClientString(arg0, arg1);
-	GLX_NATIVE_EXIT(env, that, glXGetClientString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXGetConfig
-JNIEXPORT jint JNICALL GLX_NATIVE(glXGetConfig)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jintArray arg3)
-{
-	XVisualInfo _arg1, *lparg1=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXGetConfig_FUNC);
-	if (arg1) if ((lparg1 = getXVisualInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)glXGetConfig(arg0, lparg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) setXVisualInfoFields(env, arg1, lparg1);
-	GLX_NATIVE_EXIT(env, that, glXGetConfig_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXGetCurrentContext
-JNIEXPORT jint JNICALL GLX_NATIVE(glXGetCurrentContext)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXGetCurrentContext_FUNC);
-	rc = (jint)glXGetCurrentContext();
-	GLX_NATIVE_EXIT(env, that, glXGetCurrentContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXGetCurrentDrawable
-JNIEXPORT jint JNICALL GLX_NATIVE(glXGetCurrentDrawable)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXGetCurrentDrawable_FUNC);
-	rc = (jint)glXGetCurrentDrawable();
-	GLX_NATIVE_EXIT(env, that, glXGetCurrentDrawable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXIsDirect
-JNIEXPORT jboolean JNICALL GLX_NATIVE(glXIsDirect)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXIsDirect_FUNC);
-	rc = (jboolean)glXIsDirect(arg0, arg1);
-	GLX_NATIVE_EXIT(env, that, glXIsDirect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXMakeCurrent
-JNIEXPORT jboolean JNICALL GLX_NATIVE(glXMakeCurrent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXMakeCurrent_FUNC);
-	rc = (jboolean)glXMakeCurrent(arg0, arg1, arg2);
-	GLX_NATIVE_EXIT(env, that, glXMakeCurrent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXQueryExtension
-JNIEXPORT jboolean JNICALL GLX_NATIVE(glXQueryExtension)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jboolean rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXQueryExtension_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jboolean)glXQueryExtension(arg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	GLX_NATIVE_EXIT(env, that, glXQueryExtension_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXQueryExtensionsString
-JNIEXPORT jint JNICALL GLX_NATIVE(glXQueryExtensionsString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXQueryExtensionsString_FUNC);
-	rc = (jint)glXQueryExtensionsString(arg0, arg1);
-	GLX_NATIVE_EXIT(env, that, glXQueryExtensionsString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXQueryServerString
-JNIEXPORT jint JNICALL GLX_NATIVE(glXQueryServerString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXQueryServerString_FUNC);
-	rc = (jint)glXQueryServerString(arg0, arg1, arg2);
-	GLX_NATIVE_EXIT(env, that, glXQueryServerString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXQueryVersion
-JNIEXPORT jboolean JNICALL GLX_NATIVE(glXQueryVersion)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jboolean rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXQueryVersion_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jboolean)glXQueryVersion(arg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	GLX_NATIVE_EXIT(env, that, glXQueryVersion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXSwapBuffers
-JNIEXPORT void JNICALL GLX_NATIVE(glXSwapBuffers)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GLX_NATIVE_ENTER(env, that, glXSwapBuffers_FUNC);
-	glXSwapBuffers(arg0, arg1);
-	GLX_NATIVE_EXIT(env, that, glXSwapBuffers_FUNC);
-}
-#endif
-
-#ifndef NO_glXUseXFont
-JNIEXPORT void JNICALL GLX_NATIVE(glXUseXFont)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GLX_NATIVE_ENTER(env, that, glXUseXFont_FUNC);
-	glXUseXFont(arg0, arg1, arg2, arg3);
-	GLX_NATIVE_EXIT(env, that, glXUseXFont_FUNC);
-}
-#endif
-
-#ifndef NO_glXWaitGL
-JNIEXPORT void JNICALL GLX_NATIVE(glXWaitGL)
-	(JNIEnv *env, jclass that)
-{
-	GLX_NATIVE_ENTER(env, that, glXWaitGL_FUNC);
-	glXWaitGL();
-	GLX_NATIVE_EXIT(env, that, glXWaitGL_FUNC);
-}
-#endif
-
-#ifndef NO_glXWaitX
-JNIEXPORT void JNICALL GLX_NATIVE(glXWaitX)
-	(JNIEnv *env, jclass that)
-{
-	GLX_NATIVE_ENTER(env, that, glXWaitX_FUNC);
-	glXWaitX();
-	GLX_NATIVE_EXIT(env, that, glXWaitX_FUNC);
-}
-#endif
-
-#ifndef NO_memmove
-JNIEXPORT void JNICALL GLX_NATIVE(memmove)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XVisualInfo _arg0, *lparg0=NULL;
-	GLX_NATIVE_ENTER(env, that, memmove_FUNC);
-	if (arg0) if ((lparg0 = getXVisualInfoFields(env, arg0, &_arg0)) == NULL) goto fail;
-	memmove(lparg0, arg1, arg2);
-fail:
-	if (arg0 && lparg0) setXVisualInfoFields(env, arg0, lparg0);
-	GLX_NATIVE_EXIT(env, that, memmove_FUNC);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt.opengl/gtk/library/glx.h b/bundles/org.eclipse.swt.opengl/gtk/library/glx.h
deleted file mode 100644
index 4129ee5..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/glx.h
+++ /dev/null
@@ -1,2 +0,0 @@
-
-#include <GL/glx.h>
diff --git a/bundles/org.eclipse.swt.opengl/gtk/library/glx_stats.c b/bundles/org.eclipse.swt.opengl/gtk/library/glx_stats.c
deleted file mode 100644
index 111d187..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/glx_stats.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2000, 2005 IBM Corporation and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-*     IBM Corporation - initial API and implementation
-*******************************************************************************/
-
-#include "swt.h"
-#include "glx_stats.h"
-
-#ifdef NATIVE_STATS
-
-int GLX_nativeFunctionCount = 21;
-int GLX_nativeFunctionCallCount[21];
-char * GLX_nativeFunctionNames[] = {
-	"glXChooseVisual",
-	"glXCopyContext",
-	"glXCreateContext",
-	"glXCreateGLXPixmap",
-	"glXDestroyContext",
-	"glXDestroyGLXPixmap",
-	"glXGetClientString",
-	"glXGetConfig",
-	"glXGetCurrentContext",
-	"glXGetCurrentDrawable",
-	"glXIsDirect",
-	"glXMakeCurrent",
-	"glXQueryExtension",
-	"glXQueryExtensionsString",
-	"glXQueryServerString",
-	"glXQueryVersion",
-	"glXSwapBuffers",
-	"glXUseXFont",
-	"glXWaitGL",
-	"glXWaitX",
-	"memmove",
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(GLX_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return GLX_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(GLX_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, GLX_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(GLX_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return GLX_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt.opengl/gtk/library/glx_stats.h b/bundles/org.eclipse.swt.opengl/gtk/library/glx_stats.h
deleted file mode 100644
index 8ec1695..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/glx_stats.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2000, 2005 IBM Corporation and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-*     IBM Corporation - initial API and implementation
-*******************************************************************************/
-
-#ifdef NATIVE_STATS
-extern int GLX_nativeFunctionCount;
-extern int GLX_nativeFunctionCallCount[];
-extern char* GLX_nativeFunctionNames[];
-#define GLX_NATIVE_ENTER(env, that, func) GLX_nativeFunctionCallCount[func]++;
-#define GLX_NATIVE_EXIT(env, that, func) 
-#else
-#define GLX_NATIVE_ENTER(env, that, func) 
-#define GLX_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	glXChooseVisual_FUNC,
-	glXCopyContext_FUNC,
-	glXCreateContext_FUNC,
-	glXCreateGLXPixmap_FUNC,
-	glXDestroyContext_FUNC,
-	glXDestroyGLXPixmap_FUNC,
-	glXGetClientString_FUNC,
-	glXGetConfig_FUNC,
-	glXGetCurrentContext_FUNC,
-	glXGetCurrentDrawable_FUNC,
-	glXIsDirect_FUNC,
-	glXMakeCurrent_FUNC,
-	glXQueryExtension_FUNC,
-	glXQueryExtensionsString_FUNC,
-	glXQueryServerString_FUNC,
-	glXQueryVersion_FUNC,
-	glXSwapBuffers_FUNC,
-	glXUseXFont_FUNC,
-	glXWaitGL_FUNC,
-	glXWaitX_FUNC,
-	memmove_FUNC,
-} GLX_FUNCS;
diff --git a/bundles/org.eclipse.swt.opengl/gtk/library/glx_structs.c b/bundles/org.eclipse.swt.opengl/gtk/library/glx_structs.c
deleted file mode 100644
index b873c1d..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/glx_structs.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2000, 2005 IBM Corporation and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-*     IBM Corporation - initial API and implementation
-*******************************************************************************/
-
-#include "swt.h"
-#include "glx_structs.h"
-
-#ifndef NO_XVisualInfo
-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;
-
-XVisualInfo_FID_CACHE XVisualInfoFc;
-
-void cacheXVisualInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (XVisualInfoFc.cached) return;
-	XVisualInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XVisualInfoFc.visual = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "visual", "I");
-	XVisualInfoFc.visualid = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "visualid", "I");
-	XVisualInfoFc.screen = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "screen", "I");
-	XVisualInfoFc.depth = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "depth", "I");
-	XVisualInfoFc.cclass = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "cclass", "I");
-	XVisualInfoFc.red_mask = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "red_mask", "I");
-	XVisualInfoFc.green_mask = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "green_mask", "I");
-	XVisualInfoFc.blue_mask = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "blue_mask", "I");
-	XVisualInfoFc.colormap_size = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "colormap_size", "I");
-	XVisualInfoFc.bits_per_rgb = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "bits_per_rgb", "I");
-	XVisualInfoFc.cached = 1;
-}
-
-XVisualInfo *getXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct)
-{
-	if (!XVisualInfoFc.cached) cacheXVisualInfoFields(env, lpObject);
-	lpStruct->visual = (*env)->GetIntField(env, lpObject, XVisualInfoFc.visual);
-	lpStruct->visualid = (*env)->GetIntField(env, lpObject, XVisualInfoFc.visualid);
-	lpStruct->screen = (*env)->GetIntField(env, lpObject, XVisualInfoFc.screen);
-	lpStruct->depth = (*env)->GetIntField(env, lpObject, XVisualInfoFc.depth);
-	lpStruct->cclass = (*env)->GetIntField(env, lpObject, XVisualInfoFc.cclass);
-	lpStruct->red_mask = (*env)->GetIntField(env, lpObject, XVisualInfoFc.red_mask);
-	lpStruct->green_mask = (*env)->GetIntField(env, lpObject, XVisualInfoFc.green_mask);
-	lpStruct->blue_mask = (*env)->GetIntField(env, lpObject, XVisualInfoFc.blue_mask);
-	lpStruct->colormap_size = (*env)->GetIntField(env, lpObject, XVisualInfoFc.colormap_size);
-	lpStruct->bits_per_rgb = (*env)->GetIntField(env, lpObject, XVisualInfoFc.bits_per_rgb);
-	return lpStruct;
-}
-
-void setXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct)
-{
-	if (!XVisualInfoFc.cached) cacheXVisualInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.visual, (jint)lpStruct->visual);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.visualid, (jint)lpStruct->visualid);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.screen, (jint)lpStruct->screen);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.depth, (jint)lpStruct->depth);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.cclass, (jint)lpStruct->cclass);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.red_mask, (jint)lpStruct->red_mask);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.green_mask, (jint)lpStruct->green_mask);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.blue_mask, (jint)lpStruct->blue_mask);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.colormap_size, (jint)lpStruct->colormap_size);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.bits_per_rgb, (jint)lpStruct->bits_per_rgb);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt.opengl/gtk/library/glx_structs.h b/bundles/org.eclipse.swt.opengl/gtk/library/glx_structs.h
deleted file mode 100644
index c04f092..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/glx_structs.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2000, 2005 IBM Corporation and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-*     IBM Corporation - initial API and implementation
-*******************************************************************************/
-
-#include "glx.h"
-
-#ifndef NO_XVisualInfo
-void cacheXVisualInfoFields(JNIEnv *env, jobject lpObject);
-XVisualInfo *getXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct);
-void setXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct);
-#define XVisualInfo_sizeof() sizeof(XVisualInfo)
-#else
-#define cacheXVisualInfoFields(a,b)
-#define getXVisualInfoFields(a,b,c) NULL
-#define setXVisualInfoFields(a,b,c)
-#define XVisualInfo_sizeof() 0
-#endif
-
diff --git a/bundles/org.eclipse.swt.opengl/gtk/library/make_linux.mak b/bundles/org.eclipse.swt.opengl/gtk/library/make_linux.mak
deleted file mode 100644
index f2e954c..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/make_linux.mak
+++ /dev/null
@@ -1,34 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#*******************************************************************************
-
-# Define the installation directories for various products.
-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      = swt.o gl.o glu.o structs.o glx.o
-GL_LIB      = -shared -L/usr/X11R6/lib -lGL -lGLU -lm
-
-CFLAGS = -O2 -Wall -I.
-
-all: make_gl
-
-make_gl: $(GL_DLL)
-	$(LD) $(GL_LIB) -o $(GL_DLL) $(GL_OBJ)
-
-$(GL_DLL): $(GL_OBJ)
-	$(CC) $(CFLAGS) -c glx.c
-
-clean:
-	rm -f *.so *.o
diff --git a/bundles/org.eclipse.swt.opengl/gtk/library/structs.c b/bundles/org.eclipse.swt.opengl/gtk/library/structs.c
deleted file mode 100644
index f11d22d..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/structs.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-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/library/structs.h b/bundles/org.eclipse.swt.opengl/gtk/library/structs.h
deleted file mode 100644
index 5d98fdd..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/structs.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-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/org/eclipse/swt/internal/opengl/gtk/GLX.java b/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/internal/opengl/gtk/GLX.java
deleted file mode 100755
index 3507933..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/internal/opengl/gtk/GLX.java
+++ /dev/null
@@ -1,221 +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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.opengl.gtk;
-
-import org.eclipse.swt.opengl.Library;
-
-public class GLX {
-	
-static {
-	Library.loadLibrary("gl");
-}
-
-/*
-** 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 1.4 
-*/
-public static final int GLX_SAMPLE_BUFFERS = 100000;
-public static final int GLX_SAMPLES = 100001;
-
-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, 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/internal/opengl/gtk/XVisualInfo.java b/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/internal/opengl/gtk/XVisualInfo.java
deleted file mode 100755
index 8f39696..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/internal/opengl/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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.opengl.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/gtk/org/eclipse/swt/opengl/GLCanvas.java b/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/GLCanvas.java
deleted file mode 100644
index 113f3ed..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/GLCanvas.java
+++ /dev/null
@@ -1,257 +0,0 @@
-package org.eclipse.swt.opengl;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.gtk.*;
-import org.eclipse.swt.internal.opengl.gtk.*;
-import org.eclipse.opengl.*;
-
-/**
- * GLCanvas is a widget capable of displaying OpenGL content.
- */
-
-public class GLCanvas extends Canvas {
-	int /*long*/ xdisplay;
-	int /*long*/ xid;
-	int /*long*/ context;
-	int /*long*/ glWindow;
-	XVisualInfo vinfo;
-
-	private static final int MAX_ATTRIBUTES = 32;
-
-/**
- * Create a GLCanvas widget using the attributes described in the GLData
- * object provided.
- *
- * @param parent a composite widget
- * @param style the bitwise OR'ing of widget styles
- * @param data the requested attributes of the GLCanvas
- *
- * @exception IllegalArgumentException
- * <ul><li>ERROR_NULL_ARGUMENT when the data is null
- *     <li>ERROR_UNSUPPORTED_DEPTH when the requested attributes cannot be provided</ul> 
- * @exception SWTException
- * <ul><li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
- *     <li>ERROR_CANNOT_CREATE_OBJECT when failed to create OLE Object
- *     <li>ERROR_CANNOT_OPEN_FILE when failed to open file
- *     <li>ERROR_INTERFACE_NOT_FOUND when unable to create callbacks for OLE Interfaces
- *     <li>ERROR_INVALID_CLASSID
- * </ul>
- */
-public GLCanvas (Composite parent, int style, GLData data) {
-	super (parent, style);	
-	if (data == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	int glxAttrib [] = new int [MAX_ATTRIBUTES];
-	int pos = 0;
-
-	OS.gtk_widget_realize (handle);
-	int /*long*/ window = OS.GTK_WIDGET_WINDOW (handle);
-	xdisplay = OS.gdk_x11_drawable_get_xdisplay (window);
-	int xscreen = OS.XDefaultScreen (xdisplay);
-
-	glxAttrib [pos++] = GLX.GLX_RGBA;
-	if (data.doubleBuffer) glxAttrib [pos++] = GLX.GLX_DOUBLEBUFFER;
-	if (data.stereo) glxAttrib [pos++] = GLX.GLX_STEREO;
-	if (data.redSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_RED_SIZE;
-		glxAttrib [pos++] = data.redSize;
-	}
-	if (data.greenSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_GREEN_SIZE;
-		glxAttrib [pos++] = data.greenSize;
-	}
-	if (data.blueSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_BLUE_SIZE;
-		glxAttrib [pos++] = data.blueSize;
-	}
-	if (data.alphaSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_ALPHA_SIZE;
-		glxAttrib [pos++] = data.alphaSize;
-	}
-	if (data.depthSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_DEPTH_SIZE;
-		glxAttrib [pos++] = data.depthSize;
-	}
-	if (data.stencilSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_STENCIL_SIZE;
-		glxAttrib [pos++] = data.stencilSize;
-	}
-	if (data.accumRedSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_ACCUM_RED_SIZE;
-		glxAttrib [pos++] = data.accumRedSize;
-	}
-	if (data.accumGreenSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_ACCUM_GREEN_SIZE;
-		glxAttrib [pos++] = data.accumGreenSize;
-	}
-	if (data.accumBlueSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_ACCUM_BLUE_SIZE;
-		glxAttrib [pos++] = data.accumBlueSize;
-	}
-	if (data.accumAlphaSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_ACCUM_ALPHA_SIZE;
-		glxAttrib [pos++] = data.accumAlphaSize;
-	}
-	if (data.sampleBuffers > 0) {
-		glxAttrib [pos++] = GLX.GLX_SAMPLE_BUFFERS;
-		glxAttrib [pos++] = data.sampleBuffers;
-	}
-	if (data.samples > 0) {
-		glxAttrib [pos++] = GLX.GLX_SAMPLES;
-		glxAttrib [pos++] = data.samples;
-	}
-	glxAttrib [pos++] = 0;
-	int infoPtr = GLX.glXChooseVisual (xdisplay, xscreen, glxAttrib);
-	if (infoPtr == 0) SWT.error (SWT.ERROR_UNSUPPORTED_DEPTH);
-	vinfo = new XVisualInfo ();
-	GLX.memmove (vinfo, infoPtr, XVisualInfo.sizeof);
-	OS.XFree (infoPtr);
-	int /*long*/ screen = OS.gdk_screen_get_default ();
-	int /*long*/ gdkvisual = OS.gdk_x11_screen_lookup_visual (screen, vinfo.visualid);
-	//context = GLX.glXCreateContext (xdisplay, info, share == null ? 0 : share.context, true);
-	context = GLX.glXCreateContext (xdisplay, vinfo, 0, true);
-	if (context == 0) SWT.error (SWT.ERROR_NO_HANDLES);
-	GdkWindowAttr attrs = new GdkWindowAttr ();
-	attrs.width = 1;
-	attrs.height = 1;
-	attrs.event_mask = OS.GDK_KEY_PRESS_MASK | OS.GDK_KEY_RELEASE_MASK |
-		OS.GDK_FOCUS_CHANGE_MASK | OS.GDK_POINTER_MOTION_MASK |
-		OS.GDK_BUTTON_PRESS_MASK | OS.GDK_BUTTON_RELEASE_MASK |
-		OS.GDK_ENTER_NOTIFY_MASK | OS.GDK_LEAVE_NOTIFY_MASK |
-		OS.GDK_EXPOSURE_MASK | OS.GDK_VISIBILITY_NOTIFY_MASK;
-	attrs.window_type = OS.GDK_WINDOW_CHILD;
-	attrs.visual = gdkvisual;
-	glWindow = OS.gdk_window_new (window, attrs, OS.GDK_WA_VISUAL);
-	OS.gdk_window_set_user_data (glWindow, handle);
-	xid = OS.gdk_x11_drawable_get_xid (glWindow);
-	OS.gdk_window_show (glWindow);
-
-	Listener listener = new Listener () {
-		public void handleEvent (Event event) {
-			switch (event.type) {
-			case SWT.Paint:
-				/**
-				* Bug in MESA.  MESA does some nasty sort of polling to try
-				* and ensure that their buffer sizes match the current X state.
-				* This state can be updated using glViewport().
-				* FIXME: There has to be a better way of doing this.
-				*/
-				int [] viewport = new int [4];
-				GL.glGetIntegerv (GL.GL_VIEWPORT, viewport);
-				GL.glViewport (viewport [0],viewport [1],viewport [2],viewport [3]);
-				break;
-			case SWT.Resize:
-				Rectangle clientArea = getClientArea();
-				OS.gdk_window_move (glWindow, clientArea.x, clientArea.y);
-				OS.gdk_window_resize (glWindow, clientArea.width, clientArea.height);
-				break;
-			case SWT.Dispose:
-				if (context != 0) {
-					if (GLX.glXGetCurrentContext () == context) {
-						GLX.glXMakeCurrent(xdisplay, 0, 0);
-					}
-					GLX.glXDestroyContext (xdisplay, context);
-					context = 0;
-				}
-				if (glWindow != 0) {
-					OS.gdk_window_destroy (glWindow);
-					glWindow = 0;
-				}
-				break;
-			}
-		}
-	};
-	addListener (SWT.Resize, listener);
-	addListener (SWT.Paint, listener);
-	addListener (SWT.Dispose, listener);
-}
-
-/**
- * Returns a GLData object describing the created context.
- *  
- * @return GLData description of the OpenGL context attributes
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public GLData getGLData () {
-	checkWidget ();
-	GLData data = new GLData ();
-	int [] value = new int [1];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_DOUBLEBUFFER, value);
-	data.doubleBuffer = value [0] != 0;
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_STEREO, value);
-	data.stereo = value [0] != 0;
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_RED_SIZE, value);
-	data.redSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_GREEN_SIZE, value);
-	data.greenSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_BLUE_SIZE, value);
-	data.blueSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_ALPHA_SIZE, value);
-	data.alphaSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_DEPTH_SIZE, value);
-	data.depthSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_STENCIL_SIZE, value);
-	data.stencilSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_ACCUM_RED_SIZE, value);
-	data.accumRedSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_ACCUM_GREEN_SIZE, value);
-	data.accumGreenSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_ACCUM_BLUE_SIZE, value);
-	data.accumBlueSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_ACCUM_ALPHA_SIZE, value);
-	data.accumAlphaSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_SAMPLE_BUFFERS, value);
-	data.sampleBuffers = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_SAMPLES, value);
-	data.samples = value [0];
-	return data;
-}
-
-/**
- * Returns a boolean indicating whether the receiver's OpenGL context
- * is the current context.
- *  
- * @return true if the receiver holds the current OpenGL context,
- * false otherwise
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public boolean isCurrent () {
-	checkWidget ();
-	return GLX.glXGetCurrentContext () == context;
-}
-
-/**
- * Sets the OpenGL context associated with this GLCanvas to be the
- * current GL context.
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public void setCurrent () {
-	checkWidget ();
-	if (GLX.glXGetCurrentContext () == context) return;
-	GLX.glXMakeCurrent (xdisplay, xid, context);
-}
-
-/**
- * Swaps the front and back color buffers.
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public void swapBuffers () {
-	checkWidget ();
-	GLX.glXSwapBuffers (xdisplay, xid);
-}
-}
diff --git a/bundles/org.eclipse.swt.opengl/motif/library/build.sh b/bundles/org.eclipse.swt.opengl/motif/library/build.sh
deleted file mode 100644
index afec19d..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/library/build.sh
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/bin/sh
-#*******************************************************************************
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Kevin Cornell (Rational Software Corporation)
-#     Tom Tromey (Red Hat, Inc.)
-#     Sridhar Bidigalu (ICS)
-#*******************************************************************************
-
-cd `dirname $0`
-
-# Determine the operating system being built
-makefile=""
-OS=`uname -s`
-MODEL=`uname -m`
-
-case $OS in
-	"AIX")
-		JAVA_HOME=/bluebird/teamswt/swt-builddir/aixj9
-		MOTIF_HOME=/usr
-		CDE_HOME=/usr/dt
-		makefile="make_aix.mak"
-		echo "Building AIX version of SWT"
-		;;
-	"Linux")
-		JAVA_HOME=/bluebird/teamswt/swt-builddir/IBMJava2-141
-		MOTIF_HOME=/bluebird/teamswt/swt-builddir/motif21
-		QT_HOME=$QTDIR
-		makefile="make_linux.mak"
-		echo "Building Linux version of SWT"
-		;;
-	"SunOS")
-		JAVA_HOME=/usr/java
-		MOTIF_HOME=/usr/dt
-		CDE_HOME=/usr/dt
-		PATH=/opt/SUNWspro/bin:$PATH
-		export PATH		
-		makefile="make_solaris.mak"
-		echo "Building Solaris version of SWT"
-		;;
-	"HP-UX")
-		JAVA_HOME=/opt/jdk14101
-		MOTIF_HOME=/usr
-		CDE_HOME=/usr/dt
-		case $MODEL in
-			"ia64")
-				makefile="make_hpux_ia64.mak"
-				echo "Building HPUX ia64 version of SWT"
-				;;
-			*)
-				makefile="make_hpux_PA_RISC.mak"
-				echo "Building HPUX risc version of SWT"
-				;;
-		esac
-		;;
-
-	*)
-		echo "Unknown OS -- build aborted"
-		;;
-esac
-
-export JAVA_HOME MOTIF_HOME CDE_HOME QT_HOME
-
-make -f $makefile $1 $2 $3 $4
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt.opengl/motif/library/glx.c b/bundles/org.eclipse.swt.opengl/motif/library/glx.c
deleted file mode 100644
index df8e102..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/library/glx.c
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-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/library/make_aix.mak b/bundles/org.eclipse.swt.opengl/motif/library/make_aix.mak
deleted file mode 100644
index 78b7b7a..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/library/make_aix.mak
+++ /dev/null
@@ -1,40 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-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      = swt.o 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/library/make_hpux.mak b/bundles/org.eclipse.swt.opengl/motif/library/make_hpux.mak
deleted file mode 100644
index e0afb28..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/library/make_hpux.mak
+++ /dev/null
@@ -1,44 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-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      = swt.o 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/library/make_linux.mak b/bundles/org.eclipse.swt.opengl/motif/library/make_linux.mak
deleted file mode 100644
index 2c995c0..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/library/make_linux.mak
+++ /dev/null
@@ -1,38 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-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      = swt.o 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/library/make_solaris.mak b/bundles/org.eclipse.swt.opengl/motif/library/make_solaris.mak
deleted file mode 100644
index c9510b7..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/library/make_solaris.mak
+++ /dev/null
@@ -1,45 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-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      = swt.o 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/library/structs.c b/bundles/org.eclipse.swt.opengl/motif/library/structs.c
deleted file mode 100644
index f11d22d..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/library/structs.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-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/library/structs.h b/bundles/org.eclipse.swt.opengl/motif/library/structs.h
deleted file mode 100644
index 5d98fdd..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/library/structs.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-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 29df45c..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/GLContext.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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) {
-		/* 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;
-		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 a5a3e5a..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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 028032d..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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.properties b/bundles/org.eclipse.swt.opengl/plugin.properties
deleted file mode 100644
index 4e303e2..0000000
--- a/bundles/org.eclipse.swt.opengl/plugin.properties
+++ /dev/null
@@ -1,12 +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 Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Standard Widget Toolkit OpenGL Bindings
-providerName = Eclipse.org
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt.opengl/plugin.xml b/bundles/org.eclipse.swt.opengl/plugin.xml
deleted file mode 100644
index feaf868..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="3.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" export="true"/>
-   </requires>
-
-
-</plugin>
diff --git a/bundles/org.eclipse.swt.opengl/win32/library/build.bat b/bundles/org.eclipse.swt.opengl/win32/library/build.bat
deleted file mode 100644
index e3cd949..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/library/build.bat
+++ /dev/null
@@ -1,34 +0,0 @@
-rem *******************************************************************************
-rem  Copyright (c) 2000, 2005 IBM Corporation and others.
-rem  All rights reserved. This program and the accompanying materials
-rem  are made available under the terms of the Eclipse Public License v1.0
-rem  which accompanies this distribution, and is available at 
-rem  http://www.eclipse.org/legal/epl-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/library/glw.c b/bundles/org.eclipse.swt.opengl/win32/library/glw.c
deleted file mode 100644
index 81c8ed5..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/library/glw.c
+++ /dev/null
@@ -1,283 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-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/library/make_win32.mak b/bundles/org.eclipse.swt.opengl/win32/library/make_win32.mak
deleted file mode 100644
index af6a861..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/library/make_win32.mak
+++ /dev/null
@@ -1,56 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-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 = swt.obj 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/library/structs.c b/bundles/org.eclipse.swt.opengl/win32/library/structs.c
deleted file mode 100644
index a38435b..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/library/structs.c
+++ /dev/null
@@ -1,304 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-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/library/structs.h b/bundles/org.eclipse.swt.opengl/win32/library/structs.h
deleted file mode 100644
index 14c62a8..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/library/structs.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-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/library/swt.rc b/bundles/org.eclipse.swt.opengl/win32/library/swt.rc
deleted file mode 100644
index c5b350c..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/library/swt.rc
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-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/GLCanvas.java b/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/GLCanvas.java
deleted file mode 100644
index 32b1a1a..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/GLCanvas.java
+++ /dev/null
@@ -1,189 +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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.opengl.internal.win32.*;
-import org.eclipse.swt.internal.win32.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * GLCanvas is a widget capable of displaying OpenGL content.
- */
-
-public class GLCanvas extends Canvas {
-	int context;
-	int pixelFormat;
-
-/**
- * Create a GLCanvas widget using the attributes described in the GLData
- * object provided.
- *
- * @param parent a composite widget
- * @param style the bitwise OR'ing of widget styles
- * @param data the requested attributes of the GLCanvas
- *
- * @exception IllegalArgumentException
- * <ul><li>ERROR_NULL_ARGUMENT when the data is null
- *     <li>ERROR_UNSUPPORTED_DEPTH when the requested attributes cannot be provided</ul> 
- * @exception SWTException
- * <ul><li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
- *     <li>ERROR_CANNOT_CREATE_OBJECT when failed to create OLE Object
- *     <li>ERROR_CANNOT_OPEN_FILE when failed to open file
- *     <li>ERROR_INTERFACE_NOT_FOUND when unable to create callbacks for OLE Interfaces
- *     <li>ERROR_INVALID_CLASSID
- * </ul>
- */
-public GLCanvas (Composite parent, int style, GLData data) {
-	super (parent, style);
-	if (data == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-
-	PIXELFORMATDESCRIPTOR pfd = new PIXELFORMATDESCRIPTOR ();
-	pfd.nSize = (short) PIXELFORMATDESCRIPTOR.sizeof;
-	pfd.nVersion = 1;
-	pfd.dwFlags = WGL.PFD_DRAW_TO_WINDOW | WGL.PFD_SUPPORT_OPENGL;
-	pfd.dwLayerMask = WGL.PFD_MAIN_PLANE;
-	pfd.iPixelType = (byte) WGL.PFD_TYPE_RGBA;
-	if (data.doubleBuffer) pfd.dwFlags |= WGL.PFD_DOUBLEBUFFER;
-	if (data.stereo) pfd.dwFlags |= WGL.PFD_STEREO;
-	pfd.cRedBits = (byte) data.redSize;
-	pfd.cGreenBits = (byte) data.greenSize;
-	pfd.cBlueBits = (byte) data.blueSize;
-	pfd.cAlphaBits = (byte) data.alphaSize;
-	pfd.cDepthBits = (byte) data.depthSize;
-	pfd.cStencilBits = (byte) data.stencilSize;
-	pfd.cAccumRedBits = (byte) data.accumRedSize;
-	pfd.cAccumGreenBits = (byte) data.accumGreenSize;
-	pfd.cAccumBlueBits = (byte) data.accumBlueSize;
-	pfd.cAccumAlphaBits = (byte) data.accumAlphaSize;
-	pfd.cAccumBits = (byte) (pfd.cAccumRedBits + pfd.cAccumGreenBits + pfd.cAccumBlueBits + pfd.cAccumAlphaBits);
-	//FIXME - use wglChoosePixelFormatARB
-//	if (data.sampleBuffers > 0) {
-//		wglAttrib [pos++] = WGL.WGL_SAMPLE_BUFFERS_ARB;
-//		wglAttrib [pos++] = data.sampleBuffers;
-//	}
-//	if (data.samples > 0) {
-//		wglAttrib [pos++] = WGL.WGL_SAMPLES_ARB;
-//		wglAttrib [pos++] = data.samples;
-//	}
-
-	int hDC = OS.GetDC (handle);
-	pixelFormat = WGL.ChoosePixelFormat (hDC, pfd);
-	if (pixelFormat == 0) {
-		OS.ReleaseDC (handle, hDC);
-		SWT.error (SWT.ERROR_UNSUPPORTED_DEPTH);
-	}
-	if (!WGL.SetPixelFormat (hDC, pixelFormat, pfd)) {
-		OS.ReleaseDC (handle, hDC);
-		SWT.error (SWT.ERROR_UNSUPPORTED_DEPTH);
-	}
-	context = WGL.wglCreateContext (hDC);
-	if (context == 0) {
-		OS.ReleaseDC (handle, hDC);
-		SWT.error (SWT.ERROR_NO_HANDLES);
-	}
-	OS.ReleaseDC (handle, hDC);
-//	if (share != null) {
-//		WGL.wglShareLists (context, share.context);
-//	}
-	
-	Listener listener = new Listener () {
-		public void handleEvent (Event event) {
-			switch (event.type) {
-			case SWT.Dispose:
-				WGL.wglDeleteContext (context);
-				break;
-			}
-		}
-	};
-	addListener (SWT.Dispose, listener);
-}
-
-/**
- * Returns a GLData object describing the created context.
- *  
- * @return GLData description of the OpenGL context attributes
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public GLData getGLData () {
-	checkWidget ();
-	GLData data = new GLData ();
-	PIXELFORMATDESCRIPTOR pfd = new PIXELFORMATDESCRIPTOR ();
-	pfd.nSize = (short) PIXELFORMATDESCRIPTOR.sizeof;
-	int hDC = OS.GetDC (handle);
-	WGL.DescribePixelFormat(hDC, pixelFormat, PIXELFORMATDESCRIPTOR.sizeof, pfd);
-	OS.ReleaseDC (handle, hDC);
-	data.doubleBuffer = (pfd.dwFlags & WGL.PFD_DOUBLEBUFFER) != 0;
-	data.stereo = (pfd.dwFlags & WGL.PFD_STEREO) != 0;
-	data.redSize = pfd.cRedBits;
-	data.greenSize = pfd.cGreenBits;
-	data.blueSize = pfd.cBlueBits;
-	data.alphaSize = pfd.cAlphaBits;
-	data.depthSize = pfd.cDepthBits;
-	data.stencilSize = pfd.cStencilBits;
-	data.accumRedSize = pfd.cAccumRedBits;
-	data.accumGreenSize = pfd.cAccumGreenBits;
-	data.accumBlueSize = pfd.cAccumBlueBits;
-	data.accumAlphaSize = pfd.cAccumAlphaBits;
-	return data;
-}
-
-/**
- * Returns a boolean indicating whether the receiver's OpenGL context
- * is the current context.
- *  
- * @return true if the receiver holds the current OpenGL context,
- * false otherwise
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public boolean isCurrent () {
-	checkWidget ();
-	return WGL.wglGetCurrentContext () == handle;
-}
-
-/**
- * Sets the OpenGL context associated with this GLCanvas to be the
- * current GL context.
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public void setCurrent () {
-	checkWidget ();
-	if (WGL.wglGetCurrentContext () == handle) return;
-	int hDC = OS.GetDC (handle);
-	WGL.wglMakeCurrent (hDC, context);
-	OS.ReleaseDC (handle, hDC);
-}
-
-/**
- * Swaps the front and back color buffers.
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public void swapBuffers () {
-	checkWidget ();
-	int hDC = OS.GetDC (handle);
-	WGL.SwapBuffers (hDC);
-	OS.ReleaseDC (handle, 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 8f674ae..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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 a817010..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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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/WGL.java b/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/WGL.java
deleted file mode 100644
index 52db669..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/WGL.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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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);
-}
diff --git a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OLEExample.java b/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OLEExample.java
index 00382ed..11724a6 100644
--- a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OLEExample.java
+++ b/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OLEExample.java
@@ -30,6 +30,7 @@
 	OleClientSite clientSite;
 	OleFrame oleFrame;
 	Button closeButton;
+	boolean createClientSite = true; // to create OleControlSite, set to false.
 	
 	public static void main(String[] args) {
 		Display display = new Display();
@@ -63,6 +64,22 @@
 		});
 	}
 
+	OleClientSite createSite(OleFrame frame, String progID) {
+		if (createClientSite) {
+			return new OleClientSite(frame, SWT.NONE, progID);
+		} else {
+			return new OleControlSite(frame, SWT.NONE, progID);
+		}
+	}
+	
+	OleClientSite createSite(OleFrame frame, String progID, File file) {
+		if (createClientSite) {
+			return new OleClientSite(frame, SWT.NONE, progID, file);
+		} else {
+			return new OleControlSite(frame, SWT.NONE, progID, file);
+		}
+	}
+	
 	void disposeClient() {
 		if (clientSite != null)
 			clientSite.dispose();
@@ -89,7 +106,7 @@
 						fileExtension.equalsIgnoreCase("rtf") ||
 						fileExtension.equalsIgnoreCase("txt")) {
 					try {
-						clientSite = new OleClientSite(oleFrame, SWT.NONE, "Word.Document", new File(fileName));
+						clientSite = createSite(oleFrame, "Word.Document", new File(fileName));
 					} catch (SWTException error2) {
 						disposeClient();
 					}
@@ -104,7 +121,7 @@
 				String fileExtension = fileName.substring(index + 1);
 				if (fileExtension.equalsIgnoreCase("xls")) {
 					try {
-						clientSite = new OleClientSite(oleFrame, SWT.NONE, "Excel.Sheet", new File(fileName));
+						clientSite = createSite(oleFrame, "Excel.Sheet", new File(fileName));
 					} catch (SWTException error2) {
 						disposeClient();
 					}
@@ -119,7 +136,7 @@
 				String fileExtension = fileName.substring(index + 1);
 				if (fileExtension.equalsIgnoreCase("mpa")) {
 					try {
-						clientSite = new OleClientSite(oleFrame, SWT.NONE, "MPlayer", new File(fileName));
+						clientSite = createSite(oleFrame, "MPlayer", new File(fileName));
 					} catch (SWTException error2) {
 						disposeClient();
 					}
@@ -139,7 +156,7 @@
 						|| fileExtension.equalsIgnoreCase("asf")
 						|| fileExtension.equalsIgnoreCase("wav")) {
 					try {
-						clientSite = new OleClientSite(oleFrame, SWT.NONE, "WMPlayer.OCX");
+						clientSite = createSite(oleFrame, "WMPlayer.OCX");
 						OleAutomation player = new OleAutomation(clientSite);
 						int playURL[] = player.getIDsOfNames(new String[] { "URL" });
 						if (playURL != null) {
@@ -164,7 +181,7 @@
 				String fileExtension = fileName.substring(index + 1);
 				if (fileExtension.equalsIgnoreCase("pdf")) {
 					try {
-						clientSite = new OleClientSite(oleFrame, SWT.NONE, "PDF.PdfCtrl.5");
+						clientSite = createSite(oleFrame, "PDF.PdfCtrl.5");
 						clientSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
 					    OleAutomation pdf = new OleAutomation (clientSite);
 					    int loadFile[] = pdf.getIDsOfNames (new String [] {"LoadFile"});
@@ -188,7 +205,7 @@
 		// try opening with Explorer
 		if (clientSite == null) {
 			try {
-				clientSite = new OleClientSite(oleFrame, SWT.NONE, "Shell.Explorer");
+				clientSite = createSite(oleFrame, "Shell.Explorer");
 				OleAutomation explorer = new OleAutomation(clientSite);
 				int[] navigate = explorer.getIDsOfNames(new String[]{"Navigate"}); 
 				
@@ -215,7 +232,7 @@
 	void newClientSite(String progID) {
 		disposeClient();
 		try {
-			clientSite = new OleClientSite(oleFrame, SWT.NONE, progID);
+			clientSite = createSite(oleFrame, progID);
 		} catch (SWTException error) {
 
 		}
diff --git a/examples/org.eclipse.swt.opengl.examples/.classpath b/examples/org.eclipse.swt.opengl.examples/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/examples/org.eclipse.swt.opengl.examples/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.swt.opengl.examples/.cvsignore b/examples/org.eclipse.swt.opengl.examples/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/examples/org.eclipse.swt.opengl.examples/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.opengl.examples/.project b/examples/org.eclipse.swt.opengl.examples/.project
deleted file mode 100644
index cb316b4..0000000
--- a/examples/org.eclipse.swt.opengl.examples/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.opengl.examples</name>
-	<comment></comment>
-	<projects>
-	</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.opengl.examples/about.html b/examples/org.eclipse.swt.opengl.examples/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/examples/org.eclipse.swt.opengl.examples/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.opengl.examples/build.properties b/examples/org.eclipse.swt.opengl.examples/build.properties
deleted file mode 100644
index 6698d19..0000000
--- a/examples/org.eclipse.swt.opengl.examples/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = doc-html/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               glexamples.jar
-
-src.includes = about.html,\
-               doc-html/,\
-               src/
-               
-source.glexamples.jar = src/
diff --git a/examples/org.eclipse.swt.opengl.examples/plugin.properties b/examples/org.eclipse.swt.opengl.examples/plugin.properties
deleted file mode 100755
index 53ce66c..0000000
--- a/examples/org.eclipse.swt.opengl.examples/plugin.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-providerName = Eclipse.org
-plugin.OpenGLExampleSet.name = SWT OpenGL Examples Plugin
-
-launchitem.OpenGLExample.name = OpenGL Example
-launchitem.OpenGLExample.description = \
-	The OpenGL example shows how to use many OpenGL features in \
-	an SWT application.
diff --git a/examples/org.eclipse.swt.opengl.examples/plugin.xml b/examples/org.eclipse.swt.opengl.examples/plugin.xml
deleted file mode 100755
index 118725e..0000000
--- a/examples/org.eclipse.swt.opengl.examples/plugin.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.swt.opengl.examples"
-   name="%plugin.OpenGLExampleSet.name"
-   version="0.5.0"
-   provider-name="%providerName"
-   class="">
-
-<!-- Required plugins -->
-<requires>
-   <import plugin="org.eclipse.swt"/>
-   <import plugin="org.eclipse.opengl" version="0.5.0" match="greaterOrEqual"/>
-</requires>
-
-<!-- Runtime -->
-<runtime>
-   <library name="glexamples.jar">
-      <export name="*"/>
-   </library>
-</runtime>
-
-<!-- Extensions -->
-<!-- Extension points -->
-<extension
-      point="org.eclipse.swt.examples.launcher.launchItems">
-   <item
-         name="%launchitem.OpenGLExample.name"
-         description="%launchitem.OpenGLExample.description"
-         category="org.eclipse.swt.examples.launchStandaloneCategory"
-         id="org.eclipse.swt.opengl.examples.OpenGLExample.standalonelauncher">
-      <program
-            pluginId="org.eclipse.swt.opengl.examples"
-            mainClass="org.eclipse.swt.opengl.examples.OpenGLExample">
-      </program>
-   </item>
-</extension>
-</plugin>
diff --git a/examples/org.eclipse.swt.opengl.examples/src/examples_opengl.properties b/examples/org.eclipse.swt.opengl.examples/src/examples_opengl.properties
deleted file mode 100755
index 4927132..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/examples_opengl.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-error.CouldNotLoadResources = Unable to load resources
-window.title = SWT OpenGL Example
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 2ffacb9..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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-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 be5ee72..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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-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/ColorSelectionGroup.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ColorSelectionGroup.java
deleted file mode 100644
index c5dbb53..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ColorSelectionGroup.java
+++ /dev/null
@@ -1,167 +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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import java.util.Vector;
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-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 9320d59..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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-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 cd9d5df..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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-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);
-	}
-}
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 8e93541..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/IColorSelectionListener.java
+++ /dev/null
@@ -1,17 +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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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/ImageDataUtil.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ImageDataUtil.java
deleted file mode 100755
index 9166ae9..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ImageDataUtil.java
+++ /dev/null
@@ -1,559 +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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.PaletteData;
-
-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;
-		
-	/**
-	 * 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;
-	}
-
-	public static 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;
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LWJGLExample.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LWJGLExample.java
deleted file mode 100644
index 11d1c20..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LWJGLExample.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.opengl.GLCanvas;
-import org.eclipse.swt.opengl.GLData;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GLContext;
-import org.lwjgl.opengl.glu.GLU;
-import org.lwjgl.LWJGLException;
-
-/*
- * SWT OpenGL snippet: use LWJGL to draw to an SWT GLCanvas
- */
-public class LWJGLExample {
-	static 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, cosTheta = 1.0f, 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);
-			GL11.glBegin(GL11.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;
-				GL11.glNormal3f(cosTheta1 * cosPhi, -sinTheta1 * cosPhi, sinPhi);
-				GL11.glVertex3f(cosTheta1 * dist, -sinTheta1 * dist, r * sinPhi);
-				GL11.glNormal3f(cosTheta * cosPhi, -sinTheta * cosPhi, sinPhi);
-				GL11.glVertex3f(cosTheta * dist, -sinTheta * dist, r * sinPhi);
-			}
-			GL11.glEnd();
-			theta = theta1;
-			cosTheta = cosTheta1;
-			sinTheta = sinTheta1;
-		}
-	}
-
-	public static void main(String [] args) {
-		final Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		Composite comp = new Composite(shell, SWT.NONE);
-		comp.setLayout(new FillLayout());
-		GLData data = new GLData ();
-		data.doubleBuffer = true;
-		final GLCanvas canvas = new GLCanvas(comp, SWT.NONE, data);
-
-		canvas.setCurrent();
-		try {
-       		GLContext.useContext(canvas);
-        } catch(LWJGLException e) { e.printStackTrace(); }
-        
-        canvas.addListener(SWT.Resize, new Listener() {
-        	public void handleEvent(Event event) {
-        		Rectangle bounds = canvas.getBounds();
-        		float fAspect = (float) bounds.width / (float) bounds.height;
-				canvas.setCurrent();
-				try {
-					GLContext.useContext(canvas);
-		        } catch(LWJGLException e) { e.printStackTrace(); }
-        		GL11.glViewport(0, 0, bounds.width, bounds.height);
-        		GL11.glMatrixMode(GL11.GL_PROJECTION);
-        		GL11.glLoadIdentity();
-        		GLU.gluPerspective(45.0f, fAspect, 0.5f, 400.0f);
-        		GL11.glMatrixMode(GL11.GL_MODELVIEW);
-        		GL11.glLoadIdentity();
-        	}
-        });
-
-		GL11.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL11.glColor3f(1.0f, 0.0f, 0.0f);
-		GL11.glHint(GL11.GL_PERSPECTIVE_CORRECTION_HINT, GL11.GL_NICEST);
-		GL11.glClearDepth(1.0);
-		GL11.glLineWidth(2);
-		GL11.glEnable(GL11.GL_DEPTH_TEST);
-
-		shell.setText("SWT/LWJGL Example");
-		shell.setSize(640, 480);
-		shell.open();
-
-	    display.asyncExec(new Runnable() {
-	    	int rot = 0;
-			public void run() {
-				if (!canvas.isDisposed()) {
-					canvas.setCurrent();
-					try {
-						GLContext.useContext(canvas);
-			        } catch(LWJGLException e) { e.printStackTrace(); }
-					GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
-					GL11.glClearColor(.3f, .5f, .8f, 1.0f);
-					GL11.glLoadIdentity();
-					GL11.glTranslatef(0.0f, 0.0f, -10.0f);
-					float frot = rot;
-					GL11.glRotatef(0.15f * rot, 2.0f * frot, 10.0f * frot, 1.0f);
-					GL11.glRotatef(0.3f * rot, 3.0f * frot, 1.0f * frot, 1.0f);
-					rot++;
-					GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_LINE);
-					GL11.glColor3f(0.9f, 0.9f, 0.9f);
-					drawTorus(1, 1.9f + ((float) Math.sin((0.004f * frot))), 15, 15);
-					canvas.swapBuffers();
-					display.asyncExec(this);
-				}
-			}
-		});
-
-		while(!shell.isDisposed()) {
-			if (!display.readAndDispatch()) {
-				display.sleep();
-			}
-		}
-		display.dispose();
-	}
-}
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 801e948..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LightTab.java
+++ /dev/null
@@ -1,350 +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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-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;
-
-	/**
-	 * @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 d83f047..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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-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 3191e0f..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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-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 a13da25..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLExample.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.*;
-
-import java.util.*;
-
-public class OpenGLExample {
-	private static ResourceBundle resourceBundle =
-		ResourceBundle.getBundle("examples_opengl");
-	private TabFolder tabFolder;
-	private OpenGLTab[] tabs;
-	private int sleep;
-	
-	public OpenGLExample() {}
-
-	/**
-	 * Creates an instance of an OpenGLExample embedded inside
-	 * the supplied parent Composite.
-	 * 
-	 * @param parent the container of the example
-	 */
-	public OpenGLExample(Composite parent) {
-		tabFolder = new TabFolder(parent, SWT.NONE);
-		tabs =
-			new OpenGLTab[] {
-				new AntialiasingTab(),
-				new AreaTab(),
-				new FogTab(),
-				new GradientTab(),
-				new LightTab(),
-				new NurbTab(),
-				new ObjectsTab(),
-				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();
-		}
-		
-		Runnable timer = new Runnable() {
-			public void run() {
-				if (tabFolder.isDisposed()) return;
-				display();
-				tabFolder.getDisplay().timerExec(sleep, this);
-			}
-		};
-		timer.run();
-		tabFolder.addListener(SWT.Dispose, new Listener() {
-			public void handleEvent(Event e) {
-				dispose();
-			}
-		});
-	}
-
-	/**
-	 * 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();
-		}
-	}
-
-	/**
-	 * Gets a string from the resource bundle.
-	 * We don't want to crash because of a missing String.
-	 * Returns the key if not found.
-	 */
-	static String getResourceString(String key) {
-		try {
-			return resourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}			
-	}
-
-	/**
-	 * Invokes as a standalone program.
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		OpenGLExample instance = new OpenGLExample(shell);
-		shell.setText(getResourceString("window.title"));
-		shell.open();
-		while (! shell.isDisposed()) {
-			if (! display.readAndDispatch()) display.sleep();
-		}
-		instance.dispose();
-	}
-
-	public Shell open (Display display) {
-		Shell shell = new Shell (display);
-		shell.setLayout(new FillLayout());
-		new OpenGLExample(shell);
-		shell.setText(getResourceString("window.title"));
-		shell.open();
-		return shell;
-	}
-}
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 6799e8d..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLTab.java
+++ /dev/null
@@ -1,229 +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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-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 GLCanvas glCanvas;
-	private Composite tabFolderPage;
-	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 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;
-		GLData data = new GLData();
-		data.doubleBuffer = true;
-		data.stencilSize = 8;
-		glCanvas = new GLCanvas(tabFolderPage, SWT.NO_BACKGROUND, data);
-		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
-		setCurrent();
-		setupViewingArea();
-
-		// 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() {
-	}
-
-	/**
-	 * Returns the glCanvas for this tab.
-	 * 
-	 * @return Canvas
-	 */
-	GLCanvas 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(GLCanvas 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 = ImageDataUtil.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() {
-		setCurrent();
-		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() {
-		glCanvas.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() {
-		glCanvas.swapBuffers();
-	}
-}
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 db654b1..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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-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(getGlCanvas(), 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/StencilTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/StencilTab.java
deleted file mode 100644
index 3b337e6..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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-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(getGlCanvas(), 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 6dae11a..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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-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(getGlCanvas(), 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;
-	}
-}
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 4d9db53..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TransparencyTab.java
+++ /dev/null
@@ -1,181 +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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class TransparencyTab extends OpenGLTab {
-	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));
-			}
-		});
-	}
-
-	/**
-	 * @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 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
diff --git a/examples/org.eclipse.swt.snippets/.classpath b/examples/org.eclipse.swt.snippets/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/examples/org.eclipse.swt.snippets/.classpath
+++ /dev/null
@@ -1,7 +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="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.swt.snippets/.cvsignore b/examples/org.eclipse.swt.snippets/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/examples/org.eclipse.swt.snippets/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/.project b/examples/org.eclipse.swt.snippets/.project
deleted file mode 100644
index da5ce16..0000000
--- a/examples/org.eclipse.swt.snippets/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.snippets</name>
-	<comment></comment>
-	<projects>
-	</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.snippets/about.html b/examples/org.eclipse.swt.snippets/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/examples/org.eclipse.swt.snippets/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/build.properties b/examples/org.eclipse.swt.snippets/build.properties
deleted file mode 100644
index ceaaa93..0000000
--- a/examples/org.eclipse.swt.snippets/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.swtsnippets.jar = src/
diff --git a/examples/org.eclipse.swt.snippets/plugin.properties b/examples/org.eclipse.swt.snippets/plugin.properties
deleted file mode 100644
index d1e0212..0000000
--- a/examples/org.eclipse.swt.snippets/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = SWT Snippets
-providerName = Eclipse.org
diff --git a/examples/org.eclipse.swt.snippets/plugin.xml b/examples/org.eclipse.swt.snippets/plugin.xml
deleted file mode 100644
index b73d5a6..0000000
--- a/examples/org.eclipse.swt.snippets/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.swt.snippets"
-   name="%pluginName"
-   version="3.1.0"
-   provider-name="%providerName">
-
-   <requires>
-      <import plugin="org.eclipse.swt" export="true"/>
-   </requires>
-
-</plugin>
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet1.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet1.java
deleted file mode 100644
index 7ba0b1c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet1.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * example snippet: Hello World
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.widgets.*;
-
-public class Snippet1 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell(display);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet10.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet10.java
deleted file mode 100644
index 1b74eb9..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet10.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Draw using transformations, paths and alpha blending
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet10 {
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setText("Advanced Graphics");
-		FontData fd = shell.getFont().getFontData()[0];
-		final Font font = new Font(display, fd.getName(), 60, SWT.BOLD | SWT.ITALIC);
-		final Image image = new Image(display, 640, 480);
-		final Rectangle rect = image.getBounds();
-		GC gc = new GC(image);
-		gc.setBackground(display.getSystemColor(SWT.COLOR_RED));
-		gc.fillOval(rect.x, rect.y, rect.width, rect.height);
-		gc.dispose();
-		shell.addListener(SWT.Paint, new Listener() {
-			public void handleEvent(Event event) {
-				GC gc = event.gc;				
-				Transform tr = new Transform(display);
-				tr.translate(50, 120);
-				tr.rotate(-30);
-				gc.drawImage(image, 0, 0, rect.width, rect.height, 0, 0, rect.width / 2, rect.height / 2);
-				gc.setAlpha(100);
-				gc.setTransform(tr);
-				Path path = new Path(display);
-				path.addString("SWT", 0, 0, font);
-				gc.setBackground(display.getSystemColor(SWT.COLOR_GREEN));
-				gc.setForeground(display.getSystemColor(SWT.COLOR_BLUE));
-				gc.fillPath(path);
-				gc.drawPath(path);
-				tr.dispose();
-				path.dispose();
-			}			
-		});
-		shell.setSize(shell.computeSize(rect.width / 2, rect.height / 2));
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		image.dispose();
-		font.dispose();
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet100.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet100.java
deleted file mode 100644
index 2fff80a..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet100.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Font example snippet: create a large font for use by a text widget
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet100 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setBounds(10, 10, 200, 200);
-	Text text = new Text(shell, SWT.MULTI);
-	text.setBounds(10, 10, 150, 150);
-	Font initialFont = text.getFont();
-	FontData[] fontData = initialFont.getFontData();
-	for (int i = 0; i < fontData.length; i++) {
-		fontData[i].setHeight(24);
-	}
-	Font newFont = new Font(display, fontData);
-	text.setFont(newFont);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	newFont.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet101.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet101.java
deleted file mode 100644
index d70e976..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet101.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Table example snippet: insert a table item (at an index)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet101 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Table table = new Table (shell, SWT.BORDER | SWT.MULTI);
-	table.setSize (200, 200);
-	for (int i=0; i<12; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		item.setText ("Item " + i);
-	}
-	TableItem item = new TableItem (table, SWT.NONE, 1);
-	item.setText ("*** New Item " + table.indexOf (item) + " ***");
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet102.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet102.java
deleted file mode 100644
index 23056b6..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet102.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Tree example snippet: insert a tree item (at an index)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet102 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Tree tree = new Tree (shell, SWT.BORDER | SWT.MULTI);
-	tree.setSize (200, 200);
-	for (int i=0; i<12; i++) {
-		TreeItem item = new TreeItem (tree, SWT.NONE);
-		item.setText ("Item " + i);
-	}
-	TreeItem item = new TreeItem (tree, SWT.NONE, 1);
-	TreeItem [] items = tree.getItems ();
-	int index = 0;
-	while (index < items.length && items [index] != item) index++;
-	item.setText ("*** New Item " + index + " ***");
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet103.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet103.java
deleted file mode 100644
index 5ab73fb..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet103.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Table example snippet: update table item text
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet103 {
-
-static char content = 'a';
-public static void main(String[] args) {
-	final Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setBounds(10, 10, 200, 240);
-	Table table = new Table(shell, SWT.NONE);
-	table.setBounds(10, 10, 160, 160);
-
-	final TableItem[] items = new TableItem[4];
-	for (int i = 0; i < 4; i++) {
-		new TableColumn(table, SWT.NONE).setWidth(40);
-	}
-	for (int i = 0; i < 4; i++) {
-		items[i] = new TableItem(table, SWT.NONE);
-		populateItem(items[i]);
-	}
-
-	Button button = new Button(shell, SWT.PUSH);
-	button.setText("Change");
-	button.pack();
-	button.setLocation(10, 180);
-	button.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			for (int i = 0; i < 4; i++) {
-				populateItem(items[i]);
-			}
-		}
-	});
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-
-static void populateItem(TableItem item) {
-	String stringContent = String.valueOf(content);
-	item.setText(
-		new String[] {
-			stringContent,
-			stringContent,
-			stringContent,
-			stringContent });
-	content++;
-	if (content > 'z') content = 'a';
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet104.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet104.java
deleted file mode 100644
index 4dd38d2..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet104.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Shell example snippet: create a splash screen
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet104 {
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	final int [] count = new int [] {4};
-	final Image image = new Image(display, 300, 300);
-	GC gc = new GC(image);
-	gc.setBackground(display.getSystemColor(SWT.COLOR_CYAN));
-	gc.fillRectangle(image.getBounds());
-	gc.drawText("Splash Screen", 10, 10);
-	gc.dispose();
-	final Shell splash = new Shell(SWT.ON_TOP);
-	final ProgressBar bar = new ProgressBar(splash, SWT.NONE);
-	bar.setMaximum(count[0]);
-	Label label = new Label(splash, SWT.NONE);
-	label.setImage(image);
-	FormLayout layout = new FormLayout();
-	splash.setLayout(layout);
-	FormData labelData = new FormData ();
-	labelData.right = new FormAttachment (100, 0);
-	labelData.bottom = new FormAttachment (100, 0);
-	label.setLayoutData(labelData);
-	FormData progressData = new FormData ();
-	progressData.left = new FormAttachment (0, 5);
-	progressData.right = new FormAttachment (100, -5);
-	progressData.bottom = new FormAttachment (100, -5);
-	bar.setLayoutData(progressData);
-	splash.pack();
-	Rectangle splashRect = splash.getBounds();
-	Rectangle displayRect = display.getBounds();
-	int x = (displayRect.width - splashRect.width) / 2;
-	int y = (displayRect.height - splashRect.height) / 2;
-	splash.setLocation(x, y);
-	splash.open();
-	display.asyncExec(new Runnable() {
-		public void run() {
-			Shell [] shells = new Shell[count[0]];
-			for (int i=0; i<count[0]; i++) {
-				shells [i] = new Shell(display);
-				shells [i].setSize (300, 300);
-				shells [i].addListener(SWT.Close, new Listener() {
-					public void handleEvent (Event e) {
-						--count[0];
-					}
-				});
-				bar.setSelection(i+1);
-				try {Thread.sleep(1000);} catch (Throwable e) {}
-			}
-			splash.close();
-			image.dispose();
-			for (int i=0; i<count[0]; i++) {
-				shells [i].open();
-			}
-		}
-	});
-	while (count [0] != 0) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet105.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet105.java
deleted file mode 100644
index c23d327..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet105.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Program example snippet: invoke an external batch file
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.program.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet105 {
-
-public static void main(String[] args) {
-	Display display = new Display ();
-	Program.launch("c:\\cygwin\\cygwin.bat");
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet106.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet106.java
deleted file mode 100644
index 68c3aca..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet106.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Table example snippet: insert a table column (at an index)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet106 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout (SWT.VERTICAL));
-	final Table table = new Table (shell, SWT.BORDER | SWT.MULTI);
-	table.setHeaderVisible (true);
-	for (int i=0; i<4; i++) {
-		TableColumn column = new TableColumn (table, SWT.NONE);
-		column.setText ("Column " + i);
-	}
-	final TableColumn [] columns = table.getColumns ();
-	for (int i=0; i<12; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		for (int j=0; j<columns.length; j++) {
-			item.setText (j, "Item " + i);
-		}
-	}
-	for (int i=0; i<columns.length; i++) columns [i].pack ();
-	Button button = new Button (shell, SWT.PUSH);
-	final int index = 1;
-	button.setText ("Insert Column " + index + "a");
-	button.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			TableColumn column = new TableColumn (table, SWT.NONE, index);
-			column.setText ("Column " + index + "a");
-			TableItem [] items = table.getItems ();
-			for (int i=0; i<items.length; i++) {
-				items [i].setText (index, "Item " + i + "a");
-			}
-			column.pack ();
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet107.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet107.java
deleted file mode 100644
index 9f13698..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet107.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-/*
- * Sash example snippet: implement a simple splitter (with a 20 pixel limit)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet107 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	Button button1 = new Button (shell, SWT.PUSH);
-	button1.setText ("Button 1");
-	final Sash sash = new Sash (shell, SWT.VERTICAL);
-	Button button2 = new Button (shell, SWT.PUSH);
-	button2.setText ("Button 2");
-	
-	final FormLayout form = new FormLayout ();
-	shell.setLayout (form);
-	
-	FormData button1Data = new FormData ();
-	button1Data.left = new FormAttachment (0, 0);
-	button1Data.right = new FormAttachment (sash, 0);
-	button1Data.top = new FormAttachment (0, 0);
-	button1Data.bottom = new FormAttachment (100, 0);
-	button1.setLayoutData (button1Data);
-
-	final int limit = 20, percent = 50;
-	final FormData sashData = new FormData ();
-	sashData.left = new FormAttachment (percent, 0);
-	sashData.top = new FormAttachment (0, 0);
-	sashData.bottom = new FormAttachment (100, 0);
-	sash.setLayoutData (sashData);
-	sash.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			Rectangle sashRect = sash.getBounds ();
-			Rectangle shellRect = shell.getClientArea ();
-			int right = shellRect.width - sashRect.width - limit;
-			e.x = Math.max (Math.min (e.x, right), limit);
-			if (e.x != sashRect.x)  {
-				sashData.left = new FormAttachment (0, e.x);
-				shell.layout ();
-			}
-		}
-	});
-	
-	FormData button2Data = new FormData ();
-	button2Data.left = new FormAttachment (sash, 0);
-	button2Data.right = new FormAttachment (100, 0);
-	button2Data.top = new FormAttachment (0, 0);
-	button2Data.bottom = new FormAttachment (100, 0);
-	button2.setLayoutData (button2Data);
-	
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet108.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet108.java
deleted file mode 100644
index 887fa3b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet108.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Button example snippet: set the default button
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet108 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Label label = new Label (shell, SWT.NONE);
-	label.setText ("Enter your name:");
-	Text text = new Text (shell, SWT.BORDER);
-	text.setLayoutData (new RowData (100, SWT.DEFAULT));
-	Button ok = new Button (shell, SWT.PUSH);
-	ok.setText ("OK");
-	ok.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			System.out.println("OK");
-		}
-	});
-	Button cancel = new Button (shell, SWT.PUSH);
-	cancel.setText ("Cancel");
-	cancel.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			System.out.println("Cancel");
-		}
-	});
-	shell.setDefaultButton (cancel);
-	shell.setLayout (new RowLayout ());
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet109.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet109.java
deleted file mode 100644
index 37b25bc..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet109.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * SashForm example snippet: create a sash form with three children
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet109 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	Shell shell = new Shell(display);
-	shell.setLayout (new FillLayout());
-
-	SashForm form = new SashForm(shell,SWT.HORIZONTAL);
-	form.setLayout(new FillLayout());
-	
-	Composite child1 = new Composite(form,SWT.NONE);
-	child1.setLayout(new FillLayout());
-	new Label(child1,SWT.NONE).setText("Label in pane 1");
-	
-	Composite child2 = new Composite(form,SWT.NONE);
-	child2.setLayout(new FillLayout());
-	new Button(child2,SWT.PUSH).setText("Button in pane2");
-
-	Composite child3 = new Composite(form,SWT.NONE);
-	child3.setLayout(new FillLayout());
-	new Label(child3,SWT.PUSH).setText("Label in pane3");
-	
-	form.setWeights(new int[] {30,40,30});
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet11.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet11.java
deleted file mode 100644
index e274805..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet11.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Text example snippet: set the selection (i-beam)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet11 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Text text = new Text (shell, SWT.BORDER | SWT.V_SCROLL);
-	text.setBounds (10, 10, 100, 100);
-	for (int i=0; i<16; i++) {
-		text.append ("Line " + i + "\n");
-	}
-	shell.open ();
-	text.setSelection (30);
-	System.out.println ("selection=" + text.getSelection ());
-	System.out.println ("caret position=" + text.getCaretPosition ());
-	System.out.println ("caret location=" + text.getCaretLocation ());
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet110.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet110.java
deleted file mode 100644
index 5bda0c3..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet110.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Table example snippet: find a table cell from mouse down (works for any table style)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-
-public class Snippet110 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	final Table table = new Table (shell, SWT.BORDER | SWT.V_SCROLL);
-	table.setHeaderVisible (true);
-	table.setLinesVisible (true);
-	final int rowCount = 64, columnCount = 4;
-	for (int i=0; i < columnCount; i++) {
-		TableColumn column = new TableColumn (table, SWT.NONE);
-		column.setText ("Column " + i);
-	}
-	for (int i=0; i < rowCount; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		for (int j=0; j < columnCount; j++) {
-			item.setText (j, "Item " + i + "-" + j);
-		}
-	}
-	for (int i=0; i < columnCount; i++) {
-		table.getColumn (i).pack ();
-	}
-	Point size = table.computeSize (SWT.DEFAULT, 200);
-	table.setSize (size);
-	shell.pack ();
-	table.addListener (SWT.MouseDown, new Listener () {
-		public void handleEvent (Event event) {
-			Rectangle clientArea = table.getClientArea ();
-			Point pt = new Point (event.x, event.y);
-			int index = table.getTopIndex ();
-			while (index < table.getItemCount ()) {
-				boolean visible = false;
-				TableItem item = table.getItem (index);
-				for (int i=0; i < columnCount; i++) {
-					Rectangle rect = item.getBounds (i);
-					if (rect.contains (pt)) {
-						System.out.println ("Item " + index + "-" + i);
-					}
-					if (!visible && rect.intersects (clientArea)) {
-						visible = true;
-					}
-				}
-				if (!visible) return;
-				index++;
-			}
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet111.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet111.java
deleted file mode 100644
index 5fed1e7..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet111.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * TreeEditor example snippet: edit the text of a tree item (in place, fancy)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.custom.*;
-
-public class Snippet111 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Color black = display.getSystemColor (SWT.COLOR_BLACK);
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	final Tree tree = new Tree (shell, SWT.BORDER);
-	for (int i=0; i<16; i++) {
-		TreeItem itemI = new TreeItem (tree, SWT.NONE);
-		itemI.setText ("Item " + i);
-		for (int j=0; j<16; j++) {
-			TreeItem itemJ = new TreeItem (itemI, SWT.NONE);
-			itemJ.setText ("Item " + j);
-		}
-	}
-	final TreeItem [] lastItem = new TreeItem [1];
-	final TreeEditor editor = new TreeEditor (tree);
-	tree.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			final TreeItem item = (TreeItem) event.item;
-			if (item != null && item == lastItem [0]) {
-				boolean showBorder = true;
-				final Composite composite = new Composite (tree, SWT.NONE);
-				if (showBorder) composite.setBackground (black);
-				final Text text = new Text (composite, SWT.NONE);
-				final int inset = showBorder ? 1 : 0;
-				composite.addListener (SWT.Resize, new Listener () {
-					public void handleEvent (Event e) {
-						Rectangle rect = composite.getClientArea ();
-						text.setBounds (rect.x + inset, rect.y + inset, rect.width - inset * 2, rect.height - inset * 2);
-					}
-				});
-				Listener textListener = new Listener () {
-					public void handleEvent (final Event e) {
-						switch (e.type) {
-							case SWT.FocusOut:
-								item.setText (text.getText ());
-								composite.dispose ();
-								break;
-							case SWT.Verify:
-								String newText = text.getText ();
-								String leftText = newText.substring (0, e.start);
-								String rightText = newText.substring (e.end, newText.length ());
-								GC gc = new GC (text);
-								Point size = gc.textExtent (leftText + e.text + rightText);
-								gc.dispose ();
-								size = text.computeSize (size.x, SWT.DEFAULT);
-								editor.horizontalAlignment = SWT.LEFT;
-								Rectangle itemRect = item.getBounds (), rect = tree.getClientArea ();
-								editor.minimumWidth = Math.max (size.x, itemRect.width) + inset * 2;
-								int left = itemRect.x, right = rect.x + rect.width;
-								editor.minimumWidth = Math.min (editor.minimumWidth, right - left);
-								editor.minimumHeight = size.y + inset * 2;
-								editor.layout ();
-								break;
-							case SWT.Traverse:
-								switch (e.detail) {
-									case SWT.TRAVERSE_RETURN:
-										item.setText (text.getText ());
-										//FALL THROUGH
-									case SWT.TRAVERSE_ESCAPE:
-										composite.dispose ();
-										e.doit = false;
-								}
-								break;
-						}
-					}
-				};
-				text.addListener (SWT.FocusOut, textListener);
-				text.addListener (SWT.Traverse, textListener);
-				text.addListener (SWT.Verify, textListener);
-				editor.setEditor (composite, item);
-				text.setText (item.getText ());
-				text.selectAll ();
-				text.setFocus ();
-			}
-			lastItem [0] = item;
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet112.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet112.java
deleted file mode 100644
index 06532a7..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet112.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Image example snippet: display an image in a group
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet112 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Image image = new Image (display, 20, 20);
-	Color color = display.getSystemColor (SWT.COLOR_RED);
-	GC gc = new GC (image);
-	gc.setBackground (color);
-	gc.fillRectangle (image.getBounds ());
-	gc.dispose ();
-
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	Group group = new Group (shell, SWT.NONE);
-	group.setLayout (new FillLayout ());
-	group.setText ("a square");
-	Canvas canvas = new Canvas (group, SWT.NONE);
-	canvas.addPaintListener (new PaintListener () {
-		public void paintControl (PaintEvent e) {
-			e.gc.drawImage (image, 0, 0);
-		}
-	});
-
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ())
-			display.sleep ();
-	}
-	image.dispose ();
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet113.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet113.java
deleted file mode 100644
index 87ba34e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet113.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Table example snippet: detect a selection or check event in a table (SWT.CHECK)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet113 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Table table = new Table (shell, SWT.CHECK | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-	for (int i=0; i<12; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		item.setText ("Item " + i);
-	}
-	table.setSize (100, 100);
-	table.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			String string = event.detail == SWT.CHECK ? "Checked" : "Selected";
-			System.out.println (event.item + " " + string);
-		}
-	});
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet114.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet114.java
deleted file mode 100644
index cec6fc6..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet114.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Tree example snippet: detect a selection or check event in a tree (SWT.CHECK)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet114 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Tree tree = new Tree (shell, SWT.CHECK | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-	for (int i=0; i<12; i++) {
-		TreeItem item = new TreeItem (tree, SWT.NONE);
-		item.setText ("Item " + i);
-	}
-	tree.setSize (100, 100);
-	tree.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			String string = event.detail == SWT.CHECK ? "Checked" : "Selected";
-			System.out.println (event.item + " " + string);
-		}
-	});
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet115.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet115.java
deleted file mode 100644
index 45d2245..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet115.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Composite example snippet: force radio behavior on two different composites
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet115 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout (SWT.VERTICAL));
-	Composite c1 = new Composite (shell, SWT.BORDER | SWT.NO_RADIO_GROUP);
-	c1.setLayout (new RowLayout ());
-	Composite c2 = new Composite (shell, SWT.BORDER | SWT.NO_RADIO_GROUP);
-	c2.setLayout (new RowLayout ());
-	final Composite [] composites = new Composite [] {c1, c2};
-	Listener radioGroup = new Listener () {
-		public void handleEvent (Event event) {
-			for (int i=0; i<composites.length; i++) {
-				Composite composite = composites [i];
-				Control [] children = composite.getChildren ();
-				for (int j=0; j<children.length; j++) {
-					Control child = children [j];
-					if (child instanceof Button) {
-						Button button = (Button) child;
-						if ((button.getStyle () & SWT.RADIO) != 0) button.setSelection (false);
-					}
-				}
-			}
-			Button button = (Button) event.widget;
-			button.setSelection (true);
-		}
-	};
-	for (int i=0; i<4; i++) {
-		Button button = new Button (c1, SWT.RADIO);
-		button.setText ("Button " + i);
-		button.addListener (SWT.Selection, radioGroup);
-	}
-	for (int i=0; i<4; i++) {
-		Button button = new Button (c2, SWT.RADIO);
-		button.setText ("Button " + (i + 4));
-		button.addListener (SWT.Selection, radioGroup);
-	}
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet116.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet116.java
deleted file mode 100644
index ac95ef8..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet116.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Text example snippet: stop CR from going to the default button
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet116  {
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new GridLayout());
-	Text text = new Text(shell, SWT.SINGLE | SWT.BORDER);
-	text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	text.setText("Here is some text");
-	text.addSelectionListener(new SelectionAdapter() {
-		public void widgetDefaultSelected(SelectionEvent e) {
-			System.out.println("Text default selected (overrides default button)");
-		}
-	});
-	text.addTraverseListener(new TraverseListener() {
-		public void keyTraversed(TraverseEvent e) {
-			if (e.detail == SWT.TRAVERSE_RETURN) {
-				e.doit = false;
-				e.detail = SWT.TRAVERSE_NONE;
-			}
-		}
-	});
-	Button button = new Button(shell, SWT.PUSH);
-	button.setText("Ok");
-	button.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			System.out.println("Button selected");
-		}
-	});
-	shell.setDefaultButton(button);
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet117.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet117.java
deleted file mode 100644
index 736e988..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet117.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Text example snippet: add a select all menu item to the control
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet117  {
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Text t = new Text(shell, SWT.BORDER | SWT.MULTI);
-    t.setText ("here is some text to be selected");
-	Menu bar = new Menu (shell, SWT.BAR);
-	shell.setMenuBar (bar);
-	MenuItem editItem = new MenuItem (bar, SWT.CASCADE);
-	editItem.setText ("Edit");
-	Menu submenu = new Menu (shell, SWT.DROP_DOWN);
-	editItem.setMenu (submenu);
-
-	MenuItem item = new MenuItem (submenu, SWT.PUSH);
-	item.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			t.selectAll();
-		}
-	});
-	item.setText ("Select &All\tCtrl+A");
-	item.setAccelerator (SWT.MOD1 + 'A');
-	
-	// Note that as long as your application has not overridden 
-	// the global accelerators for copy, paste, and cut 
-	//(CTRL+C or CTRL+INSERT, CTRL+V or SHIFT+INSERT, and CTRL+X or SHIFT+DELETE)
-	// these behaviours are already available by default.
-	// If your application overrides these accelerators,
-	// you will need to call Text.copy(), Text.paste() and Text.cut()
-	// from the Selection callback for the accelerator when the 
-	// text widget has focus.
-
-	shell.setSize(200, 200);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet118.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet118.java
deleted file mode 100644
index 45650c8..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet118.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Cursor example snippet: create a color cursor from an image file
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet118 {
-
-public static void main (String [] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.setSize(150, 150);
-	final Cursor[] cursor = new Cursor[1];
-	Button button = new Button(shell, SWT.PUSH);
-	button.setText("Change cursor");
-	Point size = button.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-	button.setSize(size);
-	button.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event e) {
-			FileDialog dialog = new FileDialog(shell);
-			dialog.setFilterExtensions(new String[] {"*.ico", "*.gif", "*.*"});
-			String name = dialog.open();
-			if (name == null) return;
-			ImageData image = new ImageData(name);
-			Cursor oldCursor = cursor[0];
-			cursor[0] = new Cursor(display, image, 0, 0);
-			shell.setCursor(cursor[0]);
-			if (oldCursor != null) oldCursor.dispose();
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	if (cursor[0] != null) cursor[0].dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet119.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet119.java
deleted file mode 100644
index 03f7939..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet119.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Cursor example snippet: create a color cursor from a source and a mask
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet119 {
-
-static byte[] srcData = {
-	(byte)0x11, (byte)0x11, (byte)0x11, (byte)0x00, (byte)0x00, (byte)0x11, (byte)0x11, (byte)0x11,
-	(byte)0x11, (byte)0x10, (byte)0x00, (byte)0x01, (byte)0x10, (byte)0x00, (byte)0x01, (byte)0x11, 
-	(byte)0x11, (byte)0x00, (byte)0x22, (byte)0x01, (byte)0x10, (byte)0x33, (byte)0x00, (byte)0x11,
-	(byte)0x10, (byte)0x02, (byte)0x22, (byte)0x01, (byte)0x10, (byte)0x33, (byte)0x30, (byte)0x01,
-	(byte)0x10, (byte)0x22, (byte)0x22, (byte)0x01, (byte)0x10, (byte)0x33, (byte)0x33, (byte)0x01,
-	(byte)0x10, (byte)0x22, (byte)0x22, (byte)0x01, (byte)0x10, (byte)0x33, (byte)0x33, (byte)0x01,
-	(byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
-	(byte)0x01, (byte)0x11, (byte)0x11, (byte)0x01, (byte)0x10, (byte)0x11, (byte)0x11, (byte)0x10,
-	(byte)0x01, (byte)0x11, (byte)0x11, (byte)0x01, (byte)0x10, (byte)0x11, (byte)0x11, (byte)0x10,
-	(byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
-	(byte)0x10, (byte)0x44, (byte)0x44, (byte)0x01, (byte)0x10, (byte)0x55, (byte)0x55, (byte)0x01,
-	(byte)0x10, (byte)0x44, (byte)0x44, (byte)0x01, (byte)0x10, (byte)0x55, (byte)0x55, (byte)0x01,
-	(byte)0x10, (byte)0x04, (byte)0x44, (byte)0x01, (byte)0x10, (byte)0x55, (byte)0x50, (byte)0x01,
-	(byte)0x11, (byte)0x00, (byte)0x44, (byte)0x01, (byte)0x10, (byte)0x55, (byte)0x00, (byte)0x11,
-	(byte)0x11, (byte)0x10, (byte)0x00, (byte)0x01, (byte)0x10, (byte)0x00, (byte)0x01, (byte)0x11,
-	(byte)0x11, (byte)0x11, (byte)0x11, (byte)0x00, (byte)0x00, (byte)0x11, (byte)0x11, (byte)0x11,
-};
-
-static byte[] mskData = {
-	(byte)0x03, (byte)0xc0, 
-	(byte)0x1f, (byte)0xf8,
-	(byte)0x3f, (byte)0xfc,
-	(byte)0x7f, (byte)0xfe,
-	(byte)0x7f, (byte)0xfe,
-	(byte)0x7f, (byte)0xfe,
-	(byte)0xff, (byte)0xff,
-	(byte)0xfe, (byte)0x7f,
-	(byte)0xfe, (byte)0x7f,
-	(byte)0xff, (byte)0xff,
-	(byte)0x7f, (byte)0xfe,
-	(byte)0x7f, (byte)0xfe,
-	(byte)0x7f, (byte)0xfe,
-	(byte)0x3f, (byte)0xfc,
-	(byte)0x1f, (byte)0xf8,
-	(byte)0x03, (byte)0xc0
-};
-
-public static void main (String [] args) {
-	Display display = new Display();
-	Color white = display.getSystemColor (SWT.COLOR_WHITE);
-	Color black = display.getSystemColor (SWT.COLOR_BLACK);
-	Color yellow = display.getSystemColor (SWT.COLOR_YELLOW);
-	Color red = display.getSystemColor (SWT.COLOR_RED);
-	Color green = display.getSystemColor (SWT.COLOR_GREEN);
-	Color blue = display.getSystemColor (SWT.COLOR_BLUE);
-	
-	//Create a source ImageData of depth 4
-	PaletteData palette = new PaletteData (new RGB[] {
-		black.getRGB(), white.getRGB(), yellow.getRGB(), 
-		red.getRGB(), blue.getRGB(), green.getRGB()});
-	ImageData sourceData = new ImageData (16, 16, 4, palette, 1, srcData);
-	
-	//Create a mask ImageData of depth 1 (monochrome)
-	palette = new PaletteData (new RGB [] {black.getRGB(), white.getRGB(),});
-	ImageData maskData = new ImageData (16, 16, 1, palette, 1, mskData);
-
-	//Set mask
-	sourceData.maskData = maskData.data;
-	sourceData.maskPad = maskData.scanlinePad;
-
-	//Create cursor
-	Cursor cursor = new Cursor(display, sourceData, 10, 10);
-
-	//Remove mask to draw them separately just to show what they look like
-	sourceData.maskData = null;
-	sourceData.maskPad = -1;
-
-	Shell shell = new Shell(display);
-	final Image source = new Image (display,sourceData);
-	final Image mask = new Image (display, maskData);
-	shell.addPaintListener(new PaintListener() {
-		public void paintControl(PaintEvent e) {
-			GC gc = e.gc;
-			int x = 10, y = 10;
-			String stringSource = "source: ";
-			String stringMask = "mask: ";
-			gc.drawString(stringSource, x, y);
-			gc.drawString(stringMask, x, y + 30);
-			x += Math.max(gc.stringExtent(stringSource).x, gc.stringExtent(stringMask).x);
-			gc.drawImage(source, x, y);
-			gc.drawImage(mask, x, y + 30);
-		}
-	});
-	shell.setSize(150, 150);
-	shell.open();
-	shell.setCursor(cursor);
-	
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	cursor.dispose();
-	source.dispose();
-	mask.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet12.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet12.java
deleted file mode 100644
index 8d7a992..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet12.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Text example snippet: set the selection (start, end)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet12 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Text text = new Text (shell, SWT.BORDER | SWT.V_SCROLL);
-	text.setBounds (10, 10, 100, 100);
-	for (int i=0; i<16; i++) {
-		text.append ("Line " + i + "\n");
-	}
-	shell.open ();
-	text.setSelection (30, 38);
-	System.out.println ("selection=" + text.getSelection ());
-	System.out.println ("caret position=" + text.getCaretPosition ());
-	System.out.println ("caret location=" + text.getCaretLocation ());
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-} 
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet120.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet120.java
deleted file mode 100644
index 12070cd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet120.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Monitor example snippet: center a shell on the primary monitor
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet120 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setSize (200, 200);
-	Monitor primary = display.getPrimaryMonitor ();
-	Rectangle bounds = primary.getBounds ();
-	Rectangle rect = shell.getBounds ();
-	int x = bounds.x + (bounds.width - rect.width) / 2;
-	int y = bounds.y + (bounds.height - rect.height) / 2;
-	shell.setLocation (x, y);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet121.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet121.java
deleted file mode 100644
index 45016a0..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet121.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Text example snippet: prompt for a password (set the echo character)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet121 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	Text text = new Text (shell, SWT.SINGLE | SWT.BORDER);
-	text.setEchoChar ('*');
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet122.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet122.java
deleted file mode 100644
index c6afbd7..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet122.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Clipboard example snippet: enable/disable menu depending on clipboard content availability
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet122 {
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	final Clipboard cb = new Clipboard(display);
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Text text = new Text(shell, SWT.BORDER | SWT.MULTI | SWT.WRAP);
-	Menu menu = new Menu(shell, SWT.POP_UP);
-	final MenuItem copyItem = new MenuItem(menu, SWT.PUSH);
-	copyItem.setText("Copy");
-	copyItem.addSelectionListener(new SelectionAdapter(){
-		public void widgetSelected(SelectionEvent e) {
-			String selection = text.getSelectionText();
-			if (selection.length() == 0) return;
-			Object[] data = new Object[]{selection};
-			Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
-			cb.setContents(data, types);
-		}
-	});
-	final MenuItem pasteItem = new MenuItem(menu, SWT.PUSH);
-	pasteItem.setText ("Paste");
-	pasteItem.addSelectionListener(new SelectionAdapter(){
-		public void widgetSelected(SelectionEvent e) {
-			String string = (String)(cb.getContents(TextTransfer.getInstance()));
-			if (string != null) text.insert(string);
-		}
-	});
-	menu.addMenuListener(new MenuAdapter() {
-		public void menuShown(MenuEvent e) {
-			// is copy valid?
-			String selection = text.getSelectionText();
-			copyItem.setEnabled(selection.length() > 0);
-			// is paste valid?
-			TransferData[] available = cb.getAvailableTypes();
-			boolean enabled = false;
-			for (int i = 0; i < available.length; i++) {
-				if (TextTransfer.getInstance().isSupportedType(available[i])) {
-					enabled = true;
-					break;
-				}
-			}
-			pasteItem.setEnabled(enabled);
-		}
-	});
-	text.setMenu (menu);
-
-	shell.setSize(200, 200);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	cb.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet123.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet123.java
deleted file mode 100644
index 2dc6dfc..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet123.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * OLE and ActiveX example snippet: get events from IE control (win32 only)
- * 
- * This snippet only runs as-is on 32-bit architectures because it uses
- * java integers to represent native pointers.  "long" comments are included
- * throughout the snippet to show where int should be changed to long in
- * order to run on a 64-bit architecture.
- * 
- * NOTE: This snippet uses internal SWT packages that are
- * subject to change without notice.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.internal.win32.OS;
-
-public class Snippet123 {
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	OleControlSite controlSite;
-	try {
-		OleFrame frame = new OleFrame(shell, SWT.NONE);
-		controlSite = new OleControlSite(frame, SWT.NONE, "Shell.Explorer");
-		controlSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
-	} catch (SWTError e) {
-		System.out.println("Unable to open activeX control");
-		return;
-	}
-	shell.open();
-	
-	// IWebBrowser
-	final OleAutomation webBrowser = new OleAutomation(controlSite);
-
-	// When a new document is loaded, access the document object for the new page.
-	int DownloadComplete = 104;
-	controlSite.addEventListener(DownloadComplete, new OleListener() {
-		public void handleEvent(OleEvent event) {
-			int[] htmlDocumentID = webBrowser.getIDsOfNames(new String[]{"Document"}); 
-			if (htmlDocumentID == null) return;
-			Variant pVarResult = webBrowser.getProperty(htmlDocumentID[0]);
-			if (pVarResult == null || pVarResult.getType() == 0) return;
-			//IHTMLDocument2
-			OleAutomation htmlDocument = pVarResult.getAutomation();
-
-			// Request to be notified of click, double click and key down events
-			EventDispatch myDispatch = new EventDispatch(EventDispatch.onclick);
-			IDispatch idispatch = new IDispatch(myDispatch.getAddress());
-			Variant dispatch = new Variant(idispatch);
-			htmlDocument.setProperty(EventDispatch.onclick, dispatch);
-
-			myDispatch = new EventDispatch(EventDispatch.ondblclick);
-			idispatch = new IDispatch(myDispatch.getAddress());
-			dispatch = new Variant(idispatch);
-			htmlDocument.setProperty(EventDispatch.ondblclick, dispatch);
-
-			myDispatch = new EventDispatch(EventDispatch.onkeydown);
-			idispatch = new IDispatch(myDispatch.getAddress());
-			dispatch = new Variant(idispatch);
-			htmlDocument.setProperty(EventDispatch.onkeydown, dispatch);
-			
-			//Remember to release OleAutomation Object
-			htmlDocument.dispose();
-		}
-	});
-	
-	// Navigate to a web site
-	int[] ids = webBrowser.getIDsOfNames(new String[]{"Navigate", "URL"}); 
-	Variant[] rgvarg = new Variant[] {new Variant("http://www.google.com")};
-	int[] rgdispidNamedArgs = new int[]{ids[1]};
-	webBrowser.invoke(ids[0], rgvarg, rgdispidNamedArgs);
-		
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	//Remember to release OleAutomation Object
-	webBrowser.dispose();
-	display.dispose();
-	
-}
-}
-// EventDispatch implements a simple IDispatch interface which will be called 
-// when the event is fired.
-class EventDispatch {
-	private COMObject iDispatch;
-	private int refCount = 0;
-	private int eventID;
-	
-	final static int onhelp = 0x8001177d;
-	final static int onclick = 0x80011778;
-	final static int ondblclick = 0x80011779;
-	final static int onkeyup = 0x80011776;
-	final static int onkeydown = 0x80011775;
-	final static int onkeypress = 0x80011777;
-	final static int onmouseup = 0x80011773;
-	final static int onmousedown = 0x80011772;
-	final static int onmousemove = 0x80011774;
-	final static int onmouseout = 0x80011771;
-	final static int onmouseover = 0x80011770;
-	final static int onreadystatechange = 0x80011789;
-	final static int onafterupdate = 0x80011786;
-	final static int onrowexit= 0x80011782;
-	final static int onrowenter = 0x80011783;
-	final static int ondragstart = 0x80011793;
-	final static int onselectstart = 0x80011795;
-
-	EventDispatch(int eventID) {
-		this.eventID = eventID;
-		createCOMInterfaces();
-	}
-	int /*long*/ getAddress() {
-		return iDispatch.getAddress();
-	}
-	private void createCOMInterfaces() {
-		iDispatch = new COMObject(new int[]{2, 0, 0, 1, 3, 4, 8}){
-			public int /*long*/ method0(int /*long*/[] args) {return QueryInterface(args[0], args[1]);}
-			public int /*long*/ method1(int /*long*/[] args) {return AddRef();}
-			public int /*long*/ method2(int /*long*/[] args) {return Release();}
-			// method3 GetTypeInfoCount - not implemented
-			// method4 GetTypeInfo - not implemented
-			// method5 GetIDsOfNames - not implemented
-			public int /*long*/ method6(int /*long*/[] args) {return Invoke((int)/*64*/args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3], args[4], args[5], args[6], args[7]);}
-		};
-	}
-	private void disposeCOMInterfaces() {
-		if (iDispatch != null)
-			iDispatch.dispose();
-		iDispatch = null;
-		
-	}
-	private int AddRef() {
-		refCount++;
-		return refCount;
-	}
-	private int Invoke(int dispIdMember, int /*long*/ riid, int lcid, int dwFlags, int /*long*/ pDispParams, int /*long*/ pVarResult, int /*long*/ pExcepInfo, int /*long*/ pArgErr)	{
-		switch (eventID) {
-			case onhelp: System.out.println("onhelp"); break;
-			case onclick: System.out.println("onclick"); break;
-			case ondblclick: System.out.println("ondblclick"); break;
-			case onkeyup: System.out.println("onkeyup"); break;
-			case onkeydown: System.out.println("onkeydown"); break;
-			case onkeypress: System.out.println("onkeypress"); break;
-			case onmouseup: System.out.println("onmouseup"); break;
-			case onmousedown: System.out.println("onmousedown"); break;
-			case onmousemove: System.out.println("onmousemove"); break;
-			case onmouseout: System.out.println("onmouseout"); break;
-			case onmouseover: System.out.println("onmouseover"); break;
-			case onreadystatechange: System.out.println("onreadystatechange"); break;
-			case onafterupdate: System.out.println("onafterupdate"); break;
-			case onrowexit: System.out.println("onrowexit"); break;
-			case onrowenter: System.out.println("onrowenter"); break;
-			case ondragstart: System.out.println("ondragstart"); break;
-			case onselectstart: System.out.println("onselectstart"); break;
-		}
-		return COM.S_OK;
-	}
-	private int QueryInterface(int /*long*/ riid, int /*long*/ ppvObject) {
-		if (riid == 0 || ppvObject == 0) return COM.E_INVALIDARG;
-		GUID guid = new GUID();
-		COM.MoveMemory(guid, riid, GUID.sizeof);
-	
-		if (COM.IsEqualGUID(guid, COM.IIDIUnknown) || COM.IsEqualGUID(guid, COM.IIDIDispatch)) {
-			COM.MoveMemory(ppvObject, new int /*long*/[] {iDispatch.getAddress()}, OS.PTR_SIZEOF);
-			AddRef();
-			return COM.S_OK;
-		}
-		COM.MoveMemory(ppvObject, new int /*long*/[] {0}, OS.PTR_SIZEOF);
-		return COM.E_NOINTERFACE;
-	}
-	int Release() {
-		refCount--;
-		if (refCount == 0) {
-			disposeCOMInterfaces();
-		}
-		return refCount;
-	}
-}
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet124.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet124.java
deleted file mode 100644
index 6b01fbd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet124.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * TableEditor example snippet: edit a cell in a table (in place, fancy)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.custom.*;
-
-public class Snippet124 {
-public static void main (String[] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	final Table table = new Table(shell, SWT.BORDER | SWT.MULTI);
-	table.setLinesVisible (true);
-	for (int i=0; i<3; i++) {
-		TableColumn column = new TableColumn (table, SWT.NONE);
-		column.setWidth(100);
-	}
-	for (int i=0; i<3; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		item.setText(new String [] {"" + i, "" + i , "" + i});
-	}
-	final TableEditor editor = new TableEditor (table);
-	editor.horizontalAlignment = SWT.LEFT;
-	editor.grabHorizontal = true;
-	table.addListener (SWT.MouseDown, new Listener () {
-		public void handleEvent (Event event) {
-			Rectangle clientArea = table.getClientArea ();
-			Point pt = new Point (event.x, event.y);
-			int index = table.getTopIndex ();
-			while (index < table.getItemCount ()) {
-				boolean visible = false;
-				final TableItem item = table.getItem (index);
-				for (int i=0; i<table.getColumnCount (); i++) {
-					Rectangle rect = item.getBounds (i);
-					if (rect.contains (pt)) {
-						final int column = i;
-						final Text text = new Text (table, SWT.NONE);
-						Listener textListener = new Listener () {
-							public void handleEvent (final Event e) {
-								switch (e.type) {
-									case SWT.FocusOut:
-										item.setText (column, text.getText ());
-										text.dispose ();
-										break;
-									case SWT.Traverse:
-										switch (e.detail) {
-											case SWT.TRAVERSE_RETURN:
-												item.setText (column, text.getText ());
-												//FALL THROUGH
-											case SWT.TRAVERSE_ESCAPE:
-												text.dispose ();
-												e.doit = false;
-										}
-										break;
-								}
-							}
-						};
-						text.addListener (SWT.FocusOut, textListener);
-						text.addListener (SWT.Traverse, textListener);
-						editor.setEditor (text, item, i);
-						text.setText (item.getText (i));
-						text.selectAll ();
-						text.setFocus ();
-						return;
-					}
-					if (!visible && rect.intersects (clientArea)) {
-						visible = true;
-					}
-				}
-				if (!visible) return;
-				index++;
-			}
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet125.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet125.java
deleted file mode 100644
index d1ab757..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet125.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Tool Tips example snippet: create fake tool tips for items in a table
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet125 {
-
-public static void main (String[] args) {
-	final Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	final Table table = new Table (shell, SWT.BORDER);
-	for (int i = 0; i < 20; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		item.setText ("item " + i);
-	}
-	// Disable native tooltip
-	table.setToolTipText ("");
-	
-	// Implement a "fake" tooltip
-	final Listener labelListener = new Listener () {
-		public void handleEvent (Event event) {
-			Label label = (Label)event.widget;
-			Shell shell = label.getShell ();
-			switch (event.type) {
-				case SWT.MouseDown:
-					Event e = new Event ();
-					e.item = (TableItem) label.getData ("_TABLEITEM");
-					// Assuming table is single select, set the selection as if
-					// the mouse down event went through to the table
-					table.setSelection (new TableItem [] {(TableItem) e.item});
-					table.notifyListeners (SWT.Selection, e);
-					shell.dispose ();
-					table.setFocus();
-					break;
-				case SWT.MouseExit:
-					shell.dispose ();
-					break;
-			}
-		}
-	};
-	
-	Listener tableListener = new Listener () {
-		Shell tip = null;
-		Label label = null;
-		public void handleEvent (Event event) {
-			switch (event.type) {
-				case SWT.Dispose:
-				case SWT.KeyDown:
-				case SWT.MouseMove: {
-					if (tip == null) break;
-					tip.dispose ();
-					tip = null;
-					label = null;
-					break;
-				}
-				case SWT.MouseHover: {
-					TableItem item = table.getItem (new Point (event.x, event.y));
-					if (item != null) {
-						if (tip != null  && !tip.isDisposed ()) tip.dispose ();
-						tip = new Shell (shell, SWT.ON_TOP | SWT.NO_FOCUS | SWT.TOOL);
-						tip.setBackground (display.getSystemColor (SWT.COLOR_INFO_BACKGROUND));
-						FillLayout layout = new FillLayout ();
-						layout.marginWidth = 2;
-						tip.setLayout (layout);
-						label = new Label (tip, SWT.NONE);
-						label.setForeground (display.getSystemColor (SWT.COLOR_INFO_FOREGROUND));
-						label.setBackground (display.getSystemColor (SWT.COLOR_INFO_BACKGROUND));
-						label.setData ("_TABLEITEM", item);
-						label.setText (item.getText ());
-						label.addListener (SWT.MouseExit, labelListener);
-						label.addListener (SWT.MouseDown, labelListener);
-						Point size = tip.computeSize (SWT.DEFAULT, SWT.DEFAULT);
-						Rectangle rect = item.getBounds (0);
-						Point pt = table.toDisplay (rect.x, rect.y);
-						tip.setBounds (pt.x, pt.y, size.x, size.y);
-						tip.setVisible (true);
-					}
-				}
-			}
-		}
-	};
-	table.addListener (SWT.Dispose, tableListener);
-	table.addListener (SWT.KeyDown, tableListener);
-	table.addListener (SWT.MouseMove, tableListener);
-	table.addListener (SWT.MouseHover, tableListener);
-	shell.pack ();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet126.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet126.java
deleted file mode 100644
index ec3bac5..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet126.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Table example snippet: place arbitrary controls in a table
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.custom.*;
-
-public class Snippet126 {
-public static void main(String[] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	Table table = new Table (shell, SWT.BORDER | SWT.MULTI);
-	table.setLinesVisible (true);
-	for (int i=0; i<3; i++) {
-		TableColumn column = new TableColumn(table, SWT.NONE);
-		column.setWidth (100);
-	}
-	for (int i=0; i<12; i++) {
-		new TableItem (table, SWT.NONE);
-	}
-	TableItem [] items = table.getItems ();
-	for (int i=0; i<items.length; i++) {
-		TableEditor editor = new TableEditor (table);
-		CCombo combo = new CCombo (table, SWT.NONE);
-		combo.setText("CCombo");
-		combo.add("item 1");
-		combo.add("item 2");
-		editor.grabHorizontal = true;
-		editor.setEditor(combo, items[i], 0);
-		editor = new TableEditor (table);
-		Text text = new Text (table, SWT.NONE);
-		text.setText("Text");
-		editor.grabHorizontal = true;
-		editor.setEditor(text, items[i], 1);
-		editor = new TableEditor (table);
-		Button button = new Button (table, SWT.CHECK);
-		button.pack ();
-		editor.minimumWidth = button.getSize ().x;
-		editor.horizontalAlignment = SWT.LEFT;
-		editor.setEditor (button, items[i], 2);
-	}
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet127.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet127.java
deleted file mode 100644
index 60efebd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet127.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Control example snippet: prevent Tab from traversing out of a control
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet127 {
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new RowLayout ());
-	Button button1 = new Button(shell, SWT.PUSH);
-	button1.setText("Can't Traverse");
-	button1.addTraverseListener(new TraverseListener () {
-		public void keyTraversed(TraverseEvent e) {
-			switch (e.detail) {
-				case SWT.TRAVERSE_TAB_NEXT:
-				case SWT.TRAVERSE_TAB_PREVIOUS: {
-					e.doit = false;
-				}
-			}
-		}
-	});
-	Button button2 = new Button (shell, SWT.PUSH);
-	button2.setText("Can Traverse");
-	shell.pack ();
-	shell.open();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet128.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet128.java
deleted file mode 100644
index c3891fb..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet128.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Browser example snippet: bring up a browser
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.browser.*;
-
-public class Snippet128 {
-	public static void main(String [] args) {
-		Display display = new Display();
-		final Shell shell = new Shell(display);
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 3;
-		shell.setLayout(gridLayout);
-		ToolBar toolbar = new ToolBar(shell, SWT.NONE);
-		ToolItem itemBack = new ToolItem(toolbar, SWT.PUSH);
-		itemBack.setText("Back");
-		ToolItem itemForward = new ToolItem(toolbar, SWT.PUSH);
-		itemForward.setText("Forward");
-		ToolItem itemStop = new ToolItem(toolbar, SWT.PUSH);
-		itemStop.setText("Stop");
-		ToolItem itemRefresh = new ToolItem(toolbar, SWT.PUSH);
-		itemRefresh.setText("Refresh");
-		ToolItem itemGo = new ToolItem(toolbar, SWT.PUSH);
-		itemGo.setText("Go");
-		
-		GridData data = new GridData();
-		data.horizontalSpan = 3;
-		toolbar.setLayoutData(data);
-
-		Label labelAddress = new Label(shell, SWT.NONE);
-		labelAddress.setText("Address");
-		
-		final Text location = new Text(shell, SWT.BORDER);
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.horizontalSpan = 2;
-		data.grabExcessHorizontalSpace = true;
-		location.setLayoutData(data);
-
-		final Browser browser;
-		try {
-			browser = new Browser(shell, SWT.NONE);
-		} catch (SWTError e) {
-			System.out.println("Could not instantiate Browser: " + e.getMessage());
-			return;
-		}
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalSpan = 3;
-		data.grabExcessHorizontalSpace = true;
-		data.grabExcessVerticalSpace = true;
-		browser.setLayoutData(data);
-
-		final Label status = new Label(shell, SWT.NONE);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		status.setLayoutData(data);
-
-		final ProgressBar progressBar = new ProgressBar(shell, SWT.NONE);
-		data = new GridData();
-		data.horizontalAlignment = GridData.END;
-		progressBar.setLayoutData(data);
-
-		/* event handling */
-		Listener listener = new Listener() {
-			public void handleEvent(Event event) {
-				ToolItem item = (ToolItem)event.widget;
-				String string = item.getText();
-				if (string.equals("Back")) browser.back(); 
-				else if (string.equals("Forward")) browser.forward();
-				else if (string.equals("Stop")) browser.stop();
-				else if (string.equals("Refresh")) browser.refresh();
-				else if (string.equals("Go")) browser.setUrl(location.getText());
-		   }
-		};
-		browser.addProgressListener(new ProgressListener() {
-			public void changed(ProgressEvent event) {
-					if (event.total == 0) return;                            
-					int ratio = event.current * 100 / event.total;
-					progressBar.setSelection(ratio);
-			}
-			public void completed(ProgressEvent event) {
-				progressBar.setSelection(0);
-			}
-		});
-		browser.addStatusTextListener(new StatusTextListener() {
-			public void changed(StatusTextEvent event) {
-				status.setText(event.text);	
-			}
-		});
-		browser.addLocationListener(new LocationListener() {
-			public void changed(LocationEvent event) {
-				if (event.top) location.setText(event.location);
-			}
-			public void changing(LocationEvent event) {
-			}
-		});
-		itemBack.addListener(SWT.Selection, listener);
-		itemForward.addListener(SWT.Selection, listener);
-		itemStop.addListener(SWT.Selection, listener);
-		itemRefresh.addListener(SWT.Selection, listener);
-		itemGo.addListener(SWT.Selection, listener);
-		location.addListener(SWT.DefaultSelection, new Listener() {
-			public void handleEvent(Event e) {
-				browser.setUrl(location.getText());
-			}
-		});
-		
-		shell.open();
-		browser.setUrl("http://eclipse.org");
-		
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet129.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet129.java
deleted file mode 100644
index 08a001d..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet129.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Table example snippet: color cells and rows in table
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet129 {
- 
-public static void main(String[] args) {
-	Display display = new Display();
-	Color red = display.getSystemColor(SWT.COLOR_RED);
-	Color blue = display.getSystemColor(SWT.COLOR_BLUE);
-	Color white = display.getSystemColor(SWT.COLOR_WHITE);
-	Color gray = display.getSystemColor(SWT.COLOR_GRAY);
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	Table table = new Table(shell, SWT.BORDER | SWT.FULL_SELECTION);
-	table.setBackground(gray);
-	TableColumn column1 = new TableColumn(table, SWT.NONE);
-	TableColumn column2 = new TableColumn(table, SWT.NONE);
-	TableColumn column3 = new TableColumn(table, SWT.NONE);
-	TableItem item = new TableItem(table, SWT.NONE);
-	item.setText(new String[] {"entire","row","red foreground"});
-	item.setForeground(red);
-	item = new TableItem(table, SWT.NONE);
-	item.setText(new String[] {"entire","row","red background"});
-	item.setBackground(red);
-	item = new TableItem(table, SWT.NONE);
-	item.setText(new String[] {"entire","row","white fore/red back"});
-	item.setForeground(white);
-	item.setBackground(red);
-	item = new TableItem(table, SWT.NONE);
-	item.setText(new String[] {"normal","blue foreground","red foreground"});
-	item.setForeground(1, blue);
-	item.setForeground(2, red);
-	item = new TableItem(table, SWT.NONE);
-	item.setText(new String[] {"normal","blue background","red background"});
-	item.setBackground(1, blue);
-	item.setBackground(2, red);
-	item = new TableItem(table, SWT.NONE);
-	item.setText(new String[] {"white fore/blue back","normal","white fore/red back"});
-	item.setForeground(0, white);
-	item.setBackground(0, blue);
-	item.setForeground(2, white);
-	item.setBackground(2, red);
-	
-	column1.pack();
-	column2.pack();
-	column3.pack();
-	
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet13.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet13.java
deleted file mode 100644
index 59a8d09..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet13.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * GC example snippet: draw a thick line
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet13 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.open ();
-	GC gc = new GC (shell);
-	gc.setLineWidth (4);
-	gc.drawRectangle (20, 20, 100, 100);
-	gc.dispose ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet130.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet130.java
deleted file mode 100644
index 2c80cb8..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet130.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * BusyIndicator example snippet: display busy cursor during long running task
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet130 {
-
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setLayout(new GridLayout());
-		final Text text = new Text(shell, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL);
-		text.setLayoutData(new GridData(GridData.FILL_BOTH));
-		final int[] nextId = new int[1];
-		Button b = new Button(shell, SWT.PUSH);
-		b.setText("invoke long running job");
-		b.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				Runnable longJob = new Runnable() {
-					boolean done = false;
-					int id;
-					public void run() {
-						Thread thread = new Thread(new Runnable() {
-							public void run() {
-								id = nextId[0]++;
-								display.syncExec(new Runnable() {
-									public void run() {
-										if (text.isDisposed()) return;
-										text.append("\nStart long running task "+id);
-									}
-								});
-								for (int i = 0; i < 100000; i++) {
-									if (display.isDisposed()) return;
-									System.out.println("do task that takes a long time in a separate thread "+id);
-								}
-								if (display.isDisposed()) return;
-								display.syncExec(new Runnable() {
-									public void run() {
-										if (text.isDisposed()) return;
-										text.append("\nCompleted long running task "+id);
-									}
-								});
-								done = true;
-								display.wake();
-							}
-						});
-						thread.start();
-						while (!done && !shell.isDisposed()) {
-							if (!display.readAndDispatch())
-								display.sleep();
-						}
-					}
-				};
-				BusyIndicator.showWhile(display, longJob);
-			}
-		});
-		shell.setSize(250, 150);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet131.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet131.java
deleted file mode 100644
index b0d0c05..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet131.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Menu example snippet: show a popup menu (wait for it to close)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet131 {
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.addListener (SWT.MenuDetect, new Listener () {
-		public void handleEvent (Event event) {
-			Menu menu = new Menu (shell, SWT.POP_UP);
-			MenuItem item = new MenuItem (menu, SWT.PUSH);
-			item.setText ("Menu Item");
-			item.addListener (SWT.Selection, new Listener () {
-				public void handleEvent (Event e) {
-					System.out.println ("Item Selected");
-				}
-			});
-			menu.setLocation (event.x, event.y);
-			menu.setVisible (true);
-			while (!menu.isDisposed () && menu.isVisible ()) {
-				if (!display.readAndDispatch ()) display.sleep ();
-			}
-			menu.dispose ();
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet132.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet132.java
deleted file mode 100644
index db30099..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet132.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-  
-/*
- * Printing example snippet: print "Hello World!" in black, outlined in red, to default printer
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.printing.*;
-
-public class Snippet132 {
-
-public static void main (String [] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.open ();
-	PrinterData data = Printer.getDefaultPrinterData();
-	if (data == null) {
-		System.out.println("Warning: No default printer.");
-		return;
-	}
-	Printer printer = new Printer(data);
-	if (printer.startJob("SWT Printing Snippet")) {
-		Color black = printer.getSystemColor(SWT.COLOR_BLACK);
-		Color white = printer.getSystemColor(SWT.COLOR_WHITE);
-		Color red = printer.getSystemColor(SWT.COLOR_RED);
-		Rectangle trim = printer.computeTrim(0, 0, 0, 0);
-		Point dpi = printer.getDPI();
-		int leftMargin = dpi.x + trim.x; // one inch from left side of paper
-		int topMargin = dpi.y / 2 + trim.y; // one-half inch from top edge of paper
-		GC gc = new GC(printer);
-		if (printer.startPage()) {
-			gc.setBackground(white);
-			gc.setForeground(black);
-			String testString = "Hello World!";
-			Point extent = gc.stringExtent(testString);
-			gc.drawString(testString, leftMargin, topMargin);
-			gc.setForeground(red);
-			gc.drawRectangle(leftMargin, topMargin, extent.x, extent.y);
-			printer.endPage();
-		}
-		gc.dispose();
-		printer.endJob();
-	}
-	printer.dispose();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet133.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet133.java
deleted file mode 100644
index 799c625..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet133.java
+++ /dev/null
@@ -1,316 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-  
-/*
- * Printing example snippet: print text to printer, with word wrap and pagination
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import java.io.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.printing.*;
-
-public class Snippet133 {
-	Display display;
-	Shell shell;
-	Text text;
-	Font font;
-	Color foregroundColor, backgroundColor;
-	
-	Printer printer;
-	GC gc;
-	FontData[] printerFontData;
-	RGB printerForeground, printerBackground;
-
-	int lineHeight = 0;
-	int tabWidth = 0;
-	int leftMargin, rightMargin, topMargin, bottomMargin;
-	int x, y;
-	int index, end;
-	String textToPrint;
-	String tabs;
-	StringBuffer wordBuffer;
-
-	public static void main(String[] args) {
-		new Snippet133().open();
-	}
-	
-	void open() {
-		display = new Display();
-		shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		shell.setText("Print Text");
-		text = new Text(shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
-		
-		Menu menuBar = new Menu(shell, SWT.BAR);
-		shell.setMenuBar(menuBar);
-		MenuItem item = new MenuItem(menuBar, SWT.CASCADE);
-		item.setText("&File");
-		Menu fileMenu = new Menu(shell, SWT.DROP_DOWN);
-		item.setMenu(fileMenu);
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText("&Open...");
-		item.setAccelerator(SWT.CTRL + 'O');
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuOpen();
-			}
-		});
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText("Font...");
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuFont();
-			}
-		});
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText("Foreground Color...");
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuForegroundColor();
-			}
-		});
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText("Background Color...");
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuBackgroundColor();
-			}
-		});
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText("&Print...");
-		item.setAccelerator(SWT.CTRL + 'P');
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuPrint();
-			}
-		});
-		new MenuItem(fileMenu, SWT.SEPARATOR);
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText("E&xit");
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				System.exit(0);
-			}
-		});
-
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		if (font != null) font.dispose();
-		if (foregroundColor != null) foregroundColor.dispose();
-		if (backgroundColor != null) backgroundColor.dispose();
-		display.dispose();
-	}
-		
-	void menuOpen() {
-		final String textString;
-		FileDialog dialog = new FileDialog(shell, SWT.OPEN);
-		dialog.setFilterExtensions(new String[] {"*.java", "*.*"});
-		String name = dialog.open();
-		if ((name == null) || (name.length() == 0)) return;
-	
-		try {
-			File file = new File(name);
-			FileInputStream stream= new FileInputStream(file.getPath());
-			try {
-				Reader in = new BufferedReader(new InputStreamReader(stream));
-				char[] readBuffer= new char[2048];
-				StringBuffer buffer= new StringBuffer((int) file.length());
-				int n;
-				while ((n = in.read(readBuffer)) > 0) {
-					buffer.append(readBuffer, 0, n);
-				}
-				textString = buffer.toString();
-				stream.close();
-			} catch (IOException e) {
-				MessageBox box = new MessageBox(shell, SWT.ICON_ERROR);
-				box.setMessage("Error reading file:\n" + name);
-				box.open();
-				return;
-			}
-		} catch (FileNotFoundException e) {
-			MessageBox box = new MessageBox(shell, SWT.ICON_ERROR);
-			box.setMessage("File not found:\n" + name);
-			box.open();
-			return;
-		}	
-		text.setText(textString);
-	}
-
-	void menuFont() {
-		FontDialog fontDialog = new FontDialog(shell);
-		fontDialog.setFontList(text.getFont().getFontData());
-		FontData fontData = fontDialog.open();
-		if (fontData != null) {
-			if (font != null) font.dispose();
-			font = new Font(display, fontData);
-			text.setFont(font);
-		}
-	}
-
-	void menuForegroundColor() {
-		ColorDialog colorDialog = new ColorDialog(shell);
-		colorDialog.setRGB(text.getForeground().getRGB());
-		RGB rgb = colorDialog.open();
-		if (rgb != null) {
-			if (foregroundColor != null) foregroundColor.dispose();
-			foregroundColor = new Color(display, rgb);
-			text.setForeground(foregroundColor);
-		}
-	}
-
-	void menuBackgroundColor() {
-		ColorDialog colorDialog = new ColorDialog(shell);
-		colorDialog.setRGB(text.getBackground().getRGB());
-		RGB rgb = colorDialog.open();
-		if (rgb != null) {
-			if (backgroundColor != null) backgroundColor.dispose();
-			backgroundColor = new Color(display, rgb);
-			text.setBackground(backgroundColor);
-		}
-	}
-
-	void menuPrint() {
-		PrintDialog dialog = new PrintDialog(shell, SWT.NONE);
-		PrinterData data = dialog.open();
-		if (data == null) return;
-		if (data.printToFile) {
-			data.fileName = "print.out"; // you probably want to ask the user for a filename
-		}
-		
-		/* Get the text to print from the Text widget (you could get it from anywhere, i.e. your java model) */
-		textToPrint = text.getText();
-
-		/* Get the font & foreground & background data. */
-		printerFontData = text.getFont().getFontData();
-		printerForeground = text.getForeground().getRGB();
-		printerBackground = text.getBackground().getRGB();
-		
-		/* Do the printing in a background thread so that spooling does not freeze the UI. */
-		printer = new Printer(data);
-		Thread printingThread = new Thread("Printing") {
-			public void run() {
-				print(printer);
-				printer.dispose();
-			}
-		};
-		printingThread.start();
-	}
-	
-	void print(Printer printer) {
-		if (printer.startJob("Text")) {   // the string is the job name - shows up in the printer's job list
-			Rectangle clientArea = printer.getClientArea();
-			Rectangle trim = printer.computeTrim(0, 0, 0, 0);
-			Point dpi = printer.getDPI();
-			leftMargin = dpi.x + trim.x; // one inch from left side of paper
-			rightMargin = clientArea.width - dpi.x + trim.x + trim.width; // one inch from right side of paper
-			topMargin = dpi.y + trim.y; // one inch from top edge of paper
-			bottomMargin = clientArea.height - dpi.y + trim.y + trim.height; // one inch from bottom edge of paper
-			
-			/* Create a buffer for computing tab width. */
-			int tabSize = 4; // is tab width a user setting in your UI?
-			StringBuffer tabBuffer = new StringBuffer(tabSize);
-			for (int i = 0; i < tabSize; i++) tabBuffer.append(' ');
-			tabs = tabBuffer.toString();
-
-			/* Create printer GC, and create and set the printer font & foreground color. */
-			gc = new GC(printer);
-			Font printerFont = new Font(printer, printerFontData);
-			Color printerForegroundColor = new Color(printer, printerForeground);
-			Color printerBackgroundColor = new Color(printer, printerBackground); 
-			
-			gc.setFont(printerFont);
-			gc.setForeground(printerForegroundColor);
-			gc.setBackground(printerBackgroundColor);
-			tabWidth = gc.stringExtent(tabs).x;
-			lineHeight = gc.getFontMetrics().getHeight();
-		
-			/* Print text to current gc using word wrap */
-			printText();
-			printer.endJob();
-
-			/* Cleanup graphics resources used in printing */
-			printerFont.dispose();
-			printerForegroundColor.dispose();
-			printerBackgroundColor.dispose();
-			gc.dispose();
-		}
-	}
-	
-	void printText() {
-		printer.startPage();
-		wordBuffer = new StringBuffer();
-		x = leftMargin;
-		y = topMargin;
-		index = 0;
-		end = textToPrint.length();
-		while (index < end) {
-			char c = textToPrint.charAt(index);
-			index++;
-			if (c != 0) {
-				if (c == 0x0a || c == 0x0d) {
-					if (c == 0x0d && index < end && textToPrint.charAt(index) == 0x0a) {
-						index++; // if this is cr-lf, skip the lf
-					}
-					printWordBuffer();
-					newline();
-				} else {
-					if (c != '\t') {
-						wordBuffer.append(c);
-					}
-					if (Character.isWhitespace(c)) {
-						printWordBuffer();
-						if (c == '\t') {
-							x += tabWidth;
-						}
-					}
-				}
-			}
-		}
-		if (y + lineHeight <= bottomMargin) {
-			printer.endPage();
-		}
-	}
-
-	void printWordBuffer() {
-		if (wordBuffer.length() > 0) {
-			String word = wordBuffer.toString();
-			int wordWidth = gc.stringExtent(word).x;
-			if (x + wordWidth > rightMargin) {
-				/* word doesn't fit on current line, so wrap */
-				newline();
-			}
-			gc.drawString(word, x, y, false);
-			x += wordWidth;
-			wordBuffer = new StringBuffer();
-		}
-	}
-
-	void newline() {
-		x = leftMargin;
-		y += lineHeight;
-		if (y + lineHeight > bottomMargin) {
-			printer.endPage();
-			if (index + 1 < end) {
-				y = topMargin;
-				printer.startPage();
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet134.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet134.java
deleted file mode 100644
index c8d819a..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet134.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Shell example snippet: create a non-rectangular window
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet134 {
-
-static int[] circle(int r, int offsetX, int offsetY) {
-	int[] polygon = new int[8 * r + 4];
-	//x^2 + y^2 = r^2
-	for (int i = 0; i < 2 * r + 1; i++) {
-		int x = i - r;
-		int y = (int)Math.sqrt(r*r - x*x);
-		polygon[2*i] = offsetX + x;
-		polygon[2*i+1] = offsetY + y;
-		polygon[8*r - 2*i - 2] = offsetX + x;
-		polygon[8*r - 2*i - 1] = offsetY - y;
-	}
-	return polygon;
-}
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	//Shell must be created with style SWT.NO_TRIM
-	final Shell shell = new Shell(display, SWT.NO_TRIM | SWT.ON_TOP);
-	shell.setBackground(display.getSystemColor(SWT.COLOR_RED));
-	//define a region that looks like a key hole
-	Region region = new Region();
-	region.add(circle(67, 67, 67));
-	region.subtract(circle(20, 67, 50));
-	region.subtract(new int[]{67, 50, 55, 105, 79, 105});
-	//define the shape of the shell using setRegion
-	shell.setRegion(region);
-	Rectangle size = region.getBounds();
-	shell.setSize(size.width, size.height);
-	//add ability to move shell around
-	Listener l = new Listener() {
-		Point origin;
-		public void handleEvent(Event e) {
-			switch (e.type) {
-				case SWT.MouseDown:
-					origin = new Point(e.x, e.y);
-					break;
-				case SWT.MouseUp:
-					origin = null;
-					break;
-				case SWT.MouseMove:
-					if (origin != null) {
-						Point p = display.map(shell, null, e.x, e.y);
-						shell.setLocation(p.x - origin.x, p.y - origin.y);
-					}
-					break;
-			}
-		}
-	};
-	shell.addListener(SWT.MouseDown, l);
-	shell.addListener(SWT.MouseUp, l);
-	shell.addListener(SWT.MouseMove, l);
-	//add ability to close shell
-	Button b = new Button(shell, SWT.PUSH);
-	b.setBackground(shell.getBackground());
-	b.setText("close");
-	b.pack();
-	b.setLocation(10, 68);
-	b.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event e) {
-			shell.close();
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	region.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet135.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet135.java
deleted file mode 100644
index b28f714..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet135.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * example snippet: embed Swing/AWT in SWT
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import java.awt.EventQueue;
-import java.io.*;
-import java.util.*;
-import javax.swing.*;
-import javax.swing.table.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.awt.SWT_AWT;
-
-public class Snippet135 {
-
-	static class FileTableModel extends AbstractTableModel {		
-		File[] files;        
-		String[] columnsName = {"Name", "Size", "Date Modified"};
-		
-		public FileTableModel (File[] files) {
-			this.files = files;
-		}
-		public int getColumnCount () {
-			return columnsName.length;
-		}
-		public Class getColumnClass (int col) {
-			if (col == 1) return Long.class;
-			if (col == 2) return Date.class;
-			return String.class;
-		}
-		public int getRowCount () {
-			return files == null ? 0 : files.length;
-		}
-		public Object getValueAt (int row, int col) {
-			if (col == 0) return files[row].getName();
-			if (col == 1) return new Long(files[row].length());
-			if (col == 2) return new Date(files[row].lastModified());
-			return "";
-		}
-		public String getColumnName (int col) {
-			return columnsName[col];
-		}
-	}
-
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setText("SWT and Swing/AWT Example");
-
-		Listener exitListener = new Listener() {
-			public void handleEvent(Event e) {
-				MessageBox dialog = new MessageBox(shell, SWT.OK | SWT.CANCEL | SWT.ICON_QUESTION);
-				dialog.setText("Question");
-				dialog.setMessage("Exit?");
-				if (e.type == SWT.Close) e.doit = false;
-				if (dialog.open() != SWT.OK) return;
-				shell.dispose();
-			}
-		};	
-		Listener aboutListener = new Listener() {
-			public void handleEvent(Event e) {
-				final Shell s = new Shell(shell, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
-				s.setText("About");
-				GridLayout layout = new GridLayout(1, false);
-				layout.verticalSpacing = 20;
-				layout.marginHeight = layout.marginWidth = 10;
-				s.setLayout(layout);
-				Label label = new Label(s, SWT.NONE);
-				label.setText("SWT and AWT Example.");
-				Button button = new Button(s, SWT.PUSH);
-				button.setText("OK");
-				GridData data = new GridData();
-				data.horizontalAlignment = GridData.CENTER;
-				button.setLayoutData(data);
-				button.addListener(SWT.Selection, new Listener() {
-					public void handleEvent(Event event) {
-						s.dispose();
-					}
-				});
-				s.pack();
-				Rectangle parentBounds = shell.getBounds();
-				Rectangle bounds = s.getBounds();
-				int x = parentBounds.x + (parentBounds.width - bounds.width) / 2;
-				int y = parentBounds.y + (parentBounds.height - bounds.height) / 2;
-				s.setLocation(x, y);
-				s.open();
-				while (!s.isDisposed()) {
-					if (!display.readAndDispatch()) display.sleep();
-				}
-			}
-		};
-		shell.addListener(SWT.Close, exitListener);
-		Menu mb = new Menu(shell, SWT.BAR);
-		MenuItem fileItem = new MenuItem(mb, SWT.CASCADE);
-		fileItem.setText("&File");
-		Menu fileMenu = new Menu(shell, SWT.DROP_DOWN);
-		fileItem.setMenu(fileMenu);
-		MenuItem exitItem = new MenuItem(fileMenu, SWT.PUSH);
-		exitItem.setText("&Exit\tCtrl+X");
-		exitItem.setAccelerator(SWT.CONTROL + 'X');
-		exitItem.addListener(SWT.Selection, exitListener);
-		MenuItem aboutItem = new MenuItem(fileMenu, SWT.PUSH);
-		aboutItem.setText("&About\tCtrl+A");
-		aboutItem.setAccelerator(SWT.CONTROL + 'A');
-		aboutItem.addListener(SWT.Selection, aboutListener);
-		shell.setMenuBar(mb);
-
-		RGB color = shell.getBackground().getRGB();
-		Label separator1 = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
-		Label locationLb = new Label(shell, SWT.NONE);
-		locationLb.setText("Location:");
-		Composite locationComp = new Composite(shell, SWT.EMBEDDED);
-		ToolBar toolBar = new ToolBar(shell, SWT.FLAT);
-		ToolItem exitToolItem = new ToolItem(toolBar, SWT.PUSH);
-		exitToolItem.setText("&Exit");
-		exitToolItem.addListener(SWT.Selection, exitListener);
-		ToolItem aboutToolItem = new ToolItem(toolBar, SWT.PUSH);
-		aboutToolItem.setText("&About");
-		aboutToolItem.addListener(SWT.Selection, aboutListener);
-		Label separator2 = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
-		final Composite comp = new Composite(shell, SWT.NONE);
-		final Tree fileTree = new Tree(comp, SWT.SINGLE | SWT.BORDER);
-		Sash sash = new Sash(comp, SWT.VERTICAL);
-		Composite tableComp = new Composite(comp, SWT.EMBEDDED);
-		Label separator3 = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
-		Composite statusComp = new Composite(shell, SWT.EMBEDDED);
-
-		java.awt.Frame locationFrame = SWT_AWT.new_Frame(locationComp);
-		final java.awt.TextField locationText = new java.awt.TextField();
-		locationFrame.add(locationText);
-
-		java.awt.Frame fileTableFrame = SWT_AWT.new_Frame(tableComp);
-		java.awt.Panel panel = new java.awt.Panel(new java.awt.BorderLayout());
-		fileTableFrame.add(panel);
-		final JTable fileTable = new JTable(new FileTableModel(null));
-		fileTable.setDoubleBuffered(true);
-		fileTable.setShowGrid(false);
-		fileTable.createDefaultColumnsFromModel();
-		JScrollPane scrollPane = new JScrollPane(fileTable);
-		panel.add(scrollPane);
-
-		java.awt.Frame statusFrame = SWT_AWT.new_Frame(statusComp);
-		statusFrame.setBackground(new java.awt.Color(color.red, color.green, color.blue));
-		final java.awt.Label statusLabel = new java.awt.Label();
-		statusFrame.add(statusLabel);
-		statusLabel.setText("Select a file");
-
-		sash.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (e.detail == SWT.DRAG) return;
-				GridData data = (GridData)fileTree.getLayoutData();
-				Rectangle trim = fileTree.computeTrim(0, 0, 0, 0);
-				data.widthHint = e.x - trim.width;
-				comp.layout();
-			}
-		});
-
-		File[] roots = File.listRoots();
-		for (int i = 0; i < roots.length; i++) {
-			File file = roots[i];
-			TreeItem treeItem = new TreeItem(fileTree, SWT.NONE);
-			treeItem.setText(file.getAbsolutePath());
-			treeItem.setData(file);
-			new TreeItem(treeItem, SWT.NONE);
-		}
-		fileTree.addListener(SWT.Expand, new Listener() {
-			public void handleEvent(Event e) {
-				TreeItem item = (TreeItem)e.item;
-				if (item == null) return;
-				if (item.getItemCount() == 1) {
-					TreeItem firstItem = item.getItems()[0];
-					if (firstItem.getData() != null) return;
-					firstItem.dispose();
-				} else {
-					return;
-				}
-				File root = (File)item.getData();
-				File[] files = root.listFiles();
-				if (files == null) return;
-				for (int i = 0; i < files.length; i++) {
-					File file = files[i];
-					if (file.isDirectory()) {
-						TreeItem treeItem = new TreeItem(item, SWT.NONE);
-						treeItem.setText(file.getName());
-						treeItem.setData(file);
-						new TreeItem(treeItem, SWT.NONE);
-					}
-				}
-			}
-		});
-		fileTree.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				TreeItem item = (TreeItem)e.item;
-				if (item == null) return;
-				final File root = (File)item.getData();
-				EventQueue.invokeLater(new Runnable() {
-					public void run() {
-						statusLabel.setText(root.getAbsolutePath());
-						locationText.setText(root.getAbsolutePath());
-						fileTable.setModel(new FileTableModel(root.listFiles()));
-					}
-				});
-			}
-		});
-		
-		GridLayout layout = new GridLayout(4, false);
-		layout.marginWidth = layout.marginHeight = 0;
-		layout.horizontalSpacing = layout.verticalSpacing = 1;
-		shell.setLayout(layout);
-		GridData data;		
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 4;
-		separator1.setLayoutData(data);
-		data = new GridData();
-		data.horizontalSpan = 1;
-		data.horizontalIndent = 10;
-		locationLb.setLayoutData(data);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		data.heightHint = locationText.getPreferredSize().height;
-		locationComp.setLayoutData(data);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 1;
-		toolBar.setLayoutData(data);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 4;
-		separator2.setLayoutData(data);
-		data = new GridData(GridData.FILL_BOTH);
-		data.horizontalSpan = 4;
-		comp.setLayoutData(data);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 4;
-		separator3.setLayoutData(data);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 4;
-		data.heightHint = statusLabel.getPreferredSize().height;
-		statusComp.setLayoutData(data);
-		
-		layout = new GridLayout(3, false);
-		layout.marginWidth = layout.marginHeight = 0;
-		layout.horizontalSpacing = layout.verticalSpacing = 1;
-		comp.setLayout(layout);			
-		data = new GridData(GridData.FILL_VERTICAL);
-		data.widthHint = 200;
-		fileTree.setLayoutData(data);		
-		data = new GridData(GridData.FILL_VERTICAL);
-		sash.setLayoutData(data);		
-		data = new GridData(GridData.FILL_BOTH);
-		tableComp.setLayoutData(data);
-
-		shell.open();
-		while(!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet136.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet136.java
deleted file mode 100644
index d7150ac..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet136.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Browser example snippet: render HTML from memory
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.browser.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet136 {
-	public static void main(String [] args) {
-		String html = "<HTML><HEAD><TITLE>HTML Test</TITLE></HEAD><BODY>";
-		for (int i = 0; i < 100; i++) html += "<P>This is line "+i+"</P>";
-		html += "</BODY></HTML>";
-
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		Browser browser;
-		try {
-			browser = new Browser(shell, SWT.NONE);
-		} catch (SWTError e) {
-			System.out.println("Could not instantiate Browser: " + e.getMessage());
-			return;
-		}
-		browser.setText(html);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
-
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet137.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet137.java
deleted file mode 100644
index 1acf749..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet137.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Browser example snippet: render HTML that includes relative links from memory
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.browser.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet137 {
-
-public static void main(String [] args) {
-	/* Relative links: use the HTML base tag */
-	String html = "<html><head>"+
-		"<base href=\"http://www.eclipse.org/swt/\" >"+
-		"<title>HTML Test</title></head>"+
-		"<body><a href=\"faq.php\">local link</a></body></html>";
-
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	Browser browser;
-	try {
-		browser = new Browser(shell, SWT.NONE);
-	} catch (SWTError e) {
-		System.out.println("Could not instantiate Browser: " + e.getMessage());
-		return;
-	}
-	browser.setText(html);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet138.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet138.java
deleted file mode 100644
index 72c8425..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet138.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * example snippet: set icons with different resolutions
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet138 {
-	public static void main(String[] args) {
-		Display display = new Display();
-		
-		Image small = new Image(display, 16, 16);
-		GC gc = new GC(small);
-		gc.setBackground(display.getSystemColor(SWT.COLOR_RED));
-		gc.fillArc(0, 0, 16, 16, 45, 270);
-		gc.dispose();
-		
-		Image large = new Image(display, 32, 32);
-		gc = new GC(large);
-		gc.setBackground(display.getSystemColor(SWT.COLOR_RED));
-		gc.fillArc(0, 0, 32, 32, 45, 270);
-		gc.dispose();
-		
-		/* Provide different resolutions for icons to get
-		 * high quality rendering wherever the OS needs 
-		 * large icons. For example, the ALT+TAB window 
-		 * on certain systems uses a larger icon.
-		 */
-		Shell shell = new Shell(display);
-		shell.setText("Small and Large icons");
-		shell.setImages(new Image[] {small, large});
-
-		/* No large icon: the OS will scale up the
-		 * small icon when it needs a large one.
-		 */
-		Shell shell2 = new Shell(display);
-		shell2.setText("Small icon");
-		shell2.setImage(small);
-		
-		shell.open();
-		shell2.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		small.dispose();
-		large.dispose();
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet139.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet139.java
deleted file mode 100644
index bf49fae..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet139.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * This snippet was adapted from org.eclipse.draw2d.ImageUtilities in 
- * http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.draw2d/?cvsroot=Tools_Project
- * by Pratik Shah.
- *
- * example snippet: rotate and flip an image
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet139 {	
-
-static ImageData rotate(ImageData srcData, int direction) {
-	int bytesPerPixel = srcData.bytesPerLine / srcData.width;
-	int destBytesPerLine = (direction == SWT.DOWN)? srcData.width * bytesPerPixel : srcData.height * bytesPerPixel;
-	byte[] newData = new byte[(direction == SWT.DOWN)? srcData.height * destBytesPerLine : srcData.width * destBytesPerLine];
-	int width = 0, height = 0;
-	for (int srcY = 0; srcY < srcData.height; srcY++) {
-		for (int srcX = 0; srcX < srcData.width; srcX++) {
-			int destX = 0, destY = 0, destIndex = 0, srcIndex = 0;
-			switch (direction){
-				case SWT.LEFT: // left 90 degrees
-					destX = srcY;
-					destY = srcData.width - srcX - 1;
-					width = srcData.height;
-					height = srcData.width; 
-					break;
-				case SWT.RIGHT: // right 90 degrees
-					destX = srcData.height - srcY - 1;
-					destY = srcX;
-					width = srcData.height;
-					height = srcData.width; 
-					break;
-				case SWT.DOWN: // 180 degrees
-					destX = srcData.width - srcX - 1;
-					destY = srcData.height - srcY - 1;
-					width = srcData.width;
-					height = srcData.height; 
-					break;
-			}
-			destIndex = (destY * destBytesPerLine) + (destX * bytesPerPixel);
-			srcIndex = (srcY * srcData.bytesPerLine) + (srcX * bytesPerPixel);
-			System.arraycopy(srcData.data, srcIndex, newData, destIndex, bytesPerPixel);
-		}
-	}
-	// destBytesPerLine is used as scanlinePad to ensure that no padding is required
-	return new ImageData(width, height, srcData.depth, srcData.palette, srcData.scanlinePad, newData);
-}
-static ImageData flip(ImageData srcData, boolean vertical) {
-	int bytesPerPixel = srcData.bytesPerLine / srcData.width;
-	int destBytesPerLine = srcData.width * bytesPerPixel;
-	byte[] newData = new byte[srcData.data.length];
-	for (int srcY = 0; srcY < srcData.height; srcY++) {
-		for (int srcX = 0; srcX < srcData.width; srcX++) {
-			int destX = 0, destY = 0, destIndex = 0, srcIndex = 0;
-			if (vertical){
-				destX = srcX;
-				destY = srcData.height - srcY - 1;
-			} else {
-				destX = srcData.width - srcX - 1;
-				destY = srcY; 
-			}
-			destIndex = (destY * destBytesPerLine) + (destX * bytesPerPixel);
-			srcIndex = (srcY * srcData.bytesPerLine) + (srcX * bytesPerPixel);
-			System.arraycopy(srcData.data, srcIndex, newData, destIndex, bytesPerPixel);
-		}
-	}
-	// destBytesPerLine is used as scanlinePad to ensure that no padding is required
-	return new ImageData(srcData.width, srcData.height, srcData.depth, srcData.palette, srcData.scanlinePad, newData);
-}
-
-public static void main(String[] args) {
-	Display display = new Display();
-	
-	// create an image with the word "hello" on it
-	final Image image0 = new Image(display, 50, 30);
-	GC gc = new GC(image0);
-	gc.setBackground(display.getSystemColor(SWT.COLOR_RED));
-	gc.fillRectangle(image0.getBounds());
-	gc.drawString("hello",	5, 5, true);
-	gc.dispose();
-	
-	ImageData data = image0.getImageData();
-	// rotate and flip this image
-	final Image image1 = new Image(display, rotate(data, SWT.LEFT));
-	final Image image2 = new Image(display, rotate(data, SWT.RIGHT));
-	final Image image3 = new Image(display, rotate(data, SWT.DOWN));
-	final Image image4 = new Image(display, flip(data, true));
-	final Image image5 = new Image(display, flip(data, false));
-
-	Shell shell = new Shell(display);
-	// draw the results on the shell
-	shell.addPaintListener(new PaintListener(){
-		public void paintControl(PaintEvent e) {
-			e.gc.drawText("Original Image:", 10, 10, true);
-			e.gc.drawImage(image0, 10, 40);
-			e.gc.drawText("Left, Right, 180:", 10, 80, true);
-			e.gc.drawImage(image1, 10, 110);
-			e.gc.drawImage(image2, 50, 110);
-			e.gc.drawImage(image3, 90, 110);
-			e.gc.drawText("Flipped Vertical, Horizontal:", 10, 170, true);
-			e.gc.drawImage(image4, 10, 200);
-			e.gc.drawImage(image5, 70, 200);
-		}
-	});
-	shell.setSize(300, 300);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	image0.dispose();
-	image1.dispose();
-	image2.dispose();
-	image3.dispose();
-	image4.dispose();
-	image5.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet14.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet14.java
deleted file mode 100644
index d26c6ba..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet14.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Control example snippet: detect mouse enter, exit and hover events
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet14 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setSize (100, 100);
-	shell.addListener (SWT.MouseEnter, new Listener () {
-		public void handleEvent (Event e) {
-			System.out.println ("ENTER");
-		}
-	});
-	shell.addListener (SWT.MouseExit, new Listener () {
-		public void handleEvent (Event e) {
-			System.out.println ("EXIT");
-		}
-	});
-	shell.addListener (SWT.MouseHover, new Listener () {
-		public void handleEvent (Event e) {
-			System.out.println ("HOVER");
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet140.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet140.java
deleted file mode 100644
index ea3e8cb..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet140.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-  
-/*
- * CoolBar example snippet: drop-down a chevron menu containing hidden tool items
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet140 {
-	static Display display;
-	static Shell shell;
-	static CoolBar coolBar;
-	static Menu chevronMenu = null;
-	
-public static void main (String [] args) {
-	display = new Display ();
-	shell = new Shell (display);
-	shell.setLayout(new GridLayout());
-	coolBar = new CoolBar(shell, SWT.FLAT | SWT.BORDER);
-	coolBar.setLayoutData(new GridData(GridData.FILL_BOTH));
-	ToolBar toolBar = new ToolBar(coolBar, SWT.FLAT | SWT.WRAP);
-	int minWidth = 0;
-	for (int j = 0; j < 5; j++) {
-		int width = 0;
-		ToolItem item = new ToolItem(toolBar, SWT.PUSH);
-		item.setText("B" + j);
-		width = item.getWidth();
-		/* find the width of the widest tool */
-		if (width > minWidth) minWidth = width;
-	}
-	CoolItem coolItem = new CoolItem(coolBar, SWT.DROP_DOWN);
-	coolItem.setControl(toolBar);
-	Point size = toolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-	Point coolSize = coolItem.computeSize (size.x, size.y);
-	coolItem.setMinimumSize(minWidth, coolSize.y);
-	coolItem.setPreferredSize(coolSize);
-	coolItem.setSize(coolSize);
-	coolItem.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			if (event.detail == SWT.ARROW) {
-				CoolItem item = (CoolItem) event.widget;
-				Rectangle itemBounds = item.getBounds ();
-				Point pt = coolBar.toDisplay(new Point(itemBounds.x, itemBounds.y));
-				itemBounds.x = pt.x;
-				itemBounds.y = pt.y;
-				ToolBar bar = (ToolBar) item.getControl ();
-				ToolItem[] tools = bar.getItems ();
-				
-				int i = 0;
-				while (i < tools.length) {
-					Rectangle toolBounds = tools[i].getBounds ();
-					pt = bar.toDisplay(new Point(toolBounds.x, toolBounds.y));
-					toolBounds.x = pt.x;
-					toolBounds.y = pt.y;
-					
-					/* Figure out the visible portion of the tool by looking at the
-					 * intersection of the tool bounds with the cool item bounds. */
-			  		Rectangle intersection = itemBounds.intersection (toolBounds);
-			  		
-					/* If the tool is not completely within the cool item bounds, then it
-					 * is partially hidden, and all remaining tools are completely hidden. */
-			  		if (!intersection.equals (toolBounds)) break;
-			  		i++;
-				}
-				
-				/* Create a menu with items for each of the completely hidden buttons. */
-				if (chevronMenu != null) chevronMenu.dispose();
-				chevronMenu = new Menu (coolBar);
-				for (int j = i; j < tools.length; j++) {
-					MenuItem menuItem = new MenuItem (chevronMenu, SWT.PUSH);
-					menuItem.setText (tools[j].getText());
-				}
-				
-				/* Drop down the menu below the chevron, with the left edges aligned. */
-				pt = coolBar.toDisplay(new Point(event.x, event.y));
-				chevronMenu.setLocation (pt.x, pt.y);
-				chevronMenu.setVisible (true);
-			}
-		}
-	});
-
-	shell.pack();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet141.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet141.java
deleted file mode 100644
index faa1e6d..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet141.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Image example snippet: display an animated GIF
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet141 {
-	static Display display;
-	static Shell shell;
-	static GC shellGC;
-	static Color shellBackground;
-	static ImageLoader loader;
-	static ImageData[] imageDataArray;
-	static Thread animateThread;
-	static Image image;
-	static final boolean useGIFBackground = false;
-	
-	public static void main(String[] args) {
-		display = new Display();
-		shell = new Shell(display);
-		shell.setSize(300, 300);
-		shell.open();
-		shellGC = new GC(shell);
-		shellBackground = shell.getBackground();
-
-		FileDialog dialog = new FileDialog(shell);
-		dialog.setFilterExtensions(new String[] {"*.gif"});
-		String fileName = dialog.open();
-		if (fileName != null) {
-			loader = new ImageLoader();
-			try {
-				imageDataArray = loader.load(fileName);
-				if (imageDataArray.length > 1) {
-					animateThread = new Thread("Animation") {
-						public void run() {
-							/* Create an off-screen image to draw on, and fill it with the shell background. */
-							Image offScreenImage = new Image(display, loader.logicalScreenWidth, loader.logicalScreenHeight);
-							GC offScreenImageGC = new GC(offScreenImage);
-							offScreenImageGC.setBackground(shellBackground);
-							offScreenImageGC.fillRectangle(0, 0, loader.logicalScreenWidth, loader.logicalScreenHeight);
-								
-							try {
-								/* Create the first image and draw it on the off-screen image. */
-								int imageDataIndex = 0;	
-								ImageData imageData = imageDataArray[imageDataIndex];
-								if (image != null && !image.isDisposed()) image.dispose();
-								image = new Image(display, imageData);
-								offScreenImageGC.drawImage(
-									image,
-									0,
-									0,
-									imageData.width,
-									imageData.height,
-									imageData.x,
-									imageData.y,
-									imageData.width,
-									imageData.height);
-
-								/* Now loop through the images, creating and drawing each one
-								 * on the off-screen image before drawing it on the shell. */
-								int repeatCount = loader.repeatCount;
-								while (loader.repeatCount == 0 || repeatCount > 0) {
-									switch (imageData.disposalMethod) {
-									case SWT.DM_FILL_BACKGROUND:
-										/* Fill with the background color before drawing. */
-										Color bgColor = null;
-										if (useGIFBackground && loader.backgroundPixel != -1) {
-											bgColor = new Color(display, imageData.palette.getRGB(loader.backgroundPixel));
-										}
-										offScreenImageGC.setBackground(bgColor != null ? bgColor : shellBackground);
-										offScreenImageGC.fillRectangle(imageData.x, imageData.y, imageData.width, imageData.height);
-										if (bgColor != null) bgColor.dispose();
-										break;
-									case SWT.DM_FILL_PREVIOUS:
-										/* Restore the previous image before drawing. */
-										offScreenImageGC.drawImage(
-											image,
-											0,
-											0,
-											imageData.width,
-											imageData.height,
-											imageData.x,
-											imageData.y,
-											imageData.width,
-											imageData.height);
-										break;
-									}
-														
-									imageDataIndex = (imageDataIndex + 1) % imageDataArray.length;
-									imageData = imageDataArray[imageDataIndex];
-									image.dispose();
-									image = new Image(display, imageData);
-									offScreenImageGC.drawImage(
-										image,
-										0,
-										0,
-										imageData.width,
-										imageData.height,
-										imageData.x,
-										imageData.y,
-										imageData.width,
-										imageData.height);
-									
-									/* Draw the off-screen image to the shell. */
-									shellGC.drawImage(offScreenImage, 0, 0);
-									
-									/* Sleep for the specified delay time (adding commonly-used slow-down fudge factors). */
-									try {
-										int ms = imageData.delayTime * 10;
-										if (ms < 20) ms += 30;
-										if (ms < 30) ms += 10;
-										Thread.sleep(ms);
-									} catch (InterruptedException e) {
-									}
-									
-									/* If we have just drawn the last image, decrement the repeat count and start again. */
-									if (imageDataIndex == imageDataArray.length - 1) repeatCount--;
-								}
-							} catch (SWTException ex) {
-								System.out.println("There was an error animating the GIF");
-							} finally {
-								if (offScreenImage != null && !offScreenImage.isDisposed()) offScreenImage.dispose();
-								if (offScreenImageGC != null && !offScreenImageGC.isDisposed()) offScreenImageGC.dispose();
-								if (image != null && !image.isDisposed()) image.dispose();
-							}
-						}
-					};
-					animateThread.setDaemon(true);
-					animateThread.start();
-				}
-			} catch (SWTException ex) {
-				System.out.println("There was an error loading the GIF");
-			}
-		}
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet142.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet142.java
deleted file mode 100644
index 7caf14b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet142.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-  
-/*
- * UI Automation (for testing tools) snippet: post mouse events
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet142 {
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	final Button button = new Button(shell,SWT.NONE);
-	button.setSize(100,100);
-	button.setText("Click");
-	shell.pack();
-	shell.open();
-	button.addListener(SWT.MouseDown, new Listener() {
-		public void handleEvent(Event e){
-			System.out.println("Mouse Down (button: " + e.button + " x: " + e.x + " y: " + e.y + ")");
-		}
-	});
-	final Point pt = display.map(shell, null, 50, 50);
-	new Thread(){
-		Event event;
-		public void run(){
-			try {
-				Thread.sleep(300);
-			} catch (InterruptedException e) {}
-			event = new Event();
-			event.type = SWT.MouseMove;
-			event.x = pt.x;
-			event.y = pt.y;
-			display.post(event);
-			try {
-				Thread.sleep(300);
-			} catch (InterruptedException e) {}
-			event.type = SWT.MouseDown;
-			event.button = 1;
-			display.post(event);
-			try {
-				Thread.sleep(300);
-			} catch (InterruptedException e) {}
-			event.type = SWT.MouseUp;
-			display.post(event);
-		}	
-	}.start();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet143.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet143.java
deleted file mode 100644
index 314a925..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet143.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-  
-/*
- * Tray example snippet: place an icon with a popup menu on the system tray
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet143 {
-
-public static void main(String[] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Image image = new Image (display, 16, 16);
-	final Tray tray = display.getSystemTray ();
-	if (tray == null) {
-		System.out.println ("The system tray is not available");
-	} else {
-		final TrayItem item = new TrayItem (tray, SWT.NONE);
-		item.setToolTipText("SWT TrayItem");
-		item.addListener (SWT.Show, new Listener () {
-			public void handleEvent (Event event) {
-				System.out.println("show");
-			}
-		});
-		item.addListener (SWT.Hide, new Listener () {
-			public void handleEvent (Event event) {
-				System.out.println("hide");
-			}
-		});
-		item.addListener (SWT.Selection, new Listener () {
-			public void handleEvent (Event event) {
-				System.out.println("selection");
-			}
-		});
-		item.addListener (SWT.DefaultSelection, new Listener () {
-			public void handleEvent (Event event) {
-				System.out.println("default selection");
-			}
-		});
-		final Menu menu = new Menu (shell, SWT.POP_UP);
-		for (int i = 0; i < 8; i++) {
-			MenuItem mi = new MenuItem (menu, SWT.PUSH);
-			mi.setText ("Item" + i);
-			mi.addListener (SWT.Selection, new Listener () {
-				public void handleEvent (Event event) {
-					System.out.println("selection " + event.widget);
-				}
-			});
-			if (i == 0) menu.setDefaultItem(mi);
-		}
-		item.addListener (SWT.MenuDetect, new Listener () {
-			public void handleEvent (Event event) {
-				menu.setVisible (true);
-			}
-		});
-		item.setImage (image);
-	}
-	shell.setBounds(50, 50, 300, 200);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	image.dispose ();
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet144.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet144.java
deleted file mode 100644
index a569625..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet144.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Virtual Table example snippet: create a table with 1,000,000 items (lazy)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet144 {
-
-static final int COUNT = 1000000;
-
-public static void main(String[] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout (SWT.VERTICAL));
-	final Table table = new Table (shell, SWT.VIRTUAL | SWT.BORDER);
-	table.addListener (SWT.SetData, new Listener () {
-		public void handleEvent (Event event) {
-			TableItem item = (TableItem) event.item;
-			int index = table.indexOf (item);
-			item.setText ("Item " + index);
-			System.out.println (item.getText ());
-		}
-	});
-	table.setLayoutData (new RowData (200, 200));
-	Button button = new Button (shell, SWT.PUSH);
-	button.setText ("Add Items");
-	final Label label = new Label(shell, SWT.NONE);
-	button.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			long t1 = System.currentTimeMillis ();
-			table.setItemCount (COUNT);
-			long t2 = System.currentTimeMillis ();
-			label.setText ("Items: " + COUNT + ", Time: " + (t2 - t1) + " (ms)");
-			shell.layout ();
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet145.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet145.java
deleted file mode 100644
index 07c650f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet145.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * TextLayout example snippet: draw internationalized styled text on a shell
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-
-public class Snippet145 {
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell (display);
-		
-		Font font1 = new Font(display, "Tahoma", 14, SWT.BOLD);
-		Font font2 = new Font(display, "MS Mincho", 20, SWT.ITALIC);
-		Font font3 = new Font(display, "Arabic Transparent", 18, SWT.NORMAL);
-		
-		Color blue = display.getSystemColor(SWT.COLOR_BLUE);
-		Color green = display.getSystemColor(SWT.COLOR_GREEN);
-		Color yellow = display.getSystemColor(SWT.COLOR_YELLOW);
-		Color gray = display.getSystemColor(SWT.COLOR_GRAY);
-		
-		final TextLayout layout = new TextLayout(display);
-		TextStyle style1 = new TextStyle(font1, yellow, blue);
-		TextStyle style2 = new TextStyle(font2, green, null);
-		TextStyle style3 = new TextStyle(font3, blue, gray);
-		
-		layout.setText("English \u65E5\u672C\u8A9E  \u0627\u0644\u0639\u0631\u0628\u064A\u0651\u0629");
-		layout.setStyle(style1, 0, 6);
-		layout.setStyle(style2, 8, 10);
-		layout.setStyle(style3, 13, 21);
-					
-		shell.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
-		shell.addListener(SWT.Paint, new Listener() {
-			public void handleEvent (Event event) {
-				layout.draw(event.gc, 10, 10);
-			}
-		});
-		shell.open();	
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		font1.dispose();
-		font2.dispose();
-		font3.dispose();
-		layout.dispose();
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet146.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet146.java
deleted file mode 100644
index 2b229af..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet146.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-  
-/*
- * UI Automation (for testing tools) snippet: post key events
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet146 {
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	final Text text = new Text(shell, SWT.BORDER);
-	text.setSize(text.computeSize(150, SWT.DEFAULT));
-	shell.pack();
-	shell.open();
-	new Thread(){
-		public void run(){
-			String string = "Love the method.";
-			for (int i = 0; i < string.length(); i++) {
-				char ch = string.charAt(i);
-				boolean shift = Character.isUpperCase(ch);
-				ch = Character.toLowerCase(ch);
-				if (shift) {
-					Event event = new Event();
-					event.type = SWT.KeyDown;
-					event.keyCode = SWT.SHIFT;
-					display.post(event);	
-				}
-				Event event = new Event();
-				event.type = SWT.KeyDown;
-				event.character = ch;
-				display.post(event);
-				try {
-					Thread.sleep(10);
-				} catch (InterruptedException e) {}
-				event.type = SWT.KeyUp;
-				display.post(event);
-				try {
-					Thread.sleep(100);
-				} catch (InterruptedException e) {}
-				if (shift) {
-					event = new Event();
-					event.type = SWT.KeyUp;
-					event.keyCode = SWT.SHIFT;
-					display.post(event);	
-				}
-			}
-		}	
-	}.start();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet147.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet147.java
deleted file mode 100644
index 6b2be0a..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet147.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Combo example snippet: stop CR from going to the default button
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet147  {
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new GridLayout());
-	Combo combo = new Combo(shell, SWT.NONE);
-	combo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	combo.setText("Here is some text");
-	combo.addSelectionListener(new SelectionAdapter() {
-		public void widgetDefaultSelected(SelectionEvent e) {
-			System.out.println("Combo default selected (overrides default button)");
-		}
-	});
-	combo.addTraverseListener(new TraverseListener() {
-		public void keyTraversed(TraverseEvent e) {
-			if (e.detail == SWT.TRAVERSE_RETURN) {
-				e.doit = false;
-				e.detail = SWT.TRAVERSE_NONE;
-			}
-		}
-	});
-	Button button = new Button(shell, SWT.PUSH);
-	button.setText("Ok");
-	button.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			System.out.println("Button selected");
-		}
-	});
-	shell.setDefaultButton(button);
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet148.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet148.java
deleted file mode 100644
index d395c28..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet148.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Text example snippet: check if the browser is available or not
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.browser.*;
-
-public class Snippet148 {
-
-	public static void main(String[] args) {
-		final Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		Browser browser = null;
-		try {
-			browser = new Browser(shell, SWT.NONE);
-		} catch (SWTError e) {
-			/* The Browser widget throws an SWTError if it fails to
-			 * instantiate properly. Application code should catch
-			 * this SWTError and disable any feature requiring the
-			 * Browser widget.
-			 * Platform requirements for the SWT Browser widget are available
-			 * from the SWT FAQ website. 
-			 */
-		}
-		if (browser != null) {
-			/* The Browser widget can be used */
-			browser.setUrl("http://www.eclipse.org");
-		}
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
-
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet149.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet149.java
deleted file mode 100644
index ed36315..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet149.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * TableEditor example snippet: place a progress bar in a table
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.custom.*;
-
-public class Snippet149 {
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout (new FillLayout ());
-		Table table = new Table (shell, SWT.BORDER);
-		table.setHeaderVisible (true);
-		table.setLinesVisible(true);
-		for (int i=0; i<2; i++) {
-			new TableColumn (table, SWT.NONE);
-		}
-		table.getColumn (0).setText ("Task");
-		table.getColumn (1).setText ("Progress");
-		for (int i=0; i<40; i++) {
-			TableItem item = new TableItem (table, SWT.NONE);
-			item.setText ("Task " + i);
-			if ( i % 5 == 0) {
-				ProgressBar bar = new ProgressBar (table, SWT.NONE);
-				bar.setSelection (i);
-				TableEditor editor = new TableEditor (table);
-				editor.grabHorizontal = editor.grabVertical = true;
-				editor.setEditor (bar, item, 1);
-			}
-		}
-		table.getColumn (0).pack ();
-		table.getColumn (1).setWidth (128);
-		shell.pack ();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) {
-				display.sleep();
-			}
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet15.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet15.java
deleted file mode 100644
index eafedc7..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet15.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Tree example snippet: create a tree
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet15 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	final Tree tree = new Tree (shell, SWT.BORDER);
-	for (int i=0; i<4; i++) {
-		TreeItem iItem = new TreeItem (tree, 0);
-		iItem.setText ("TreeItem (0) -" + i);
-		for (int j=0; j<4; j++) {
-			TreeItem jItem = new TreeItem (iItem, 0);
-			jItem.setText ("TreeItem (1) -" + j);
-			for (int k=0; k<4; k++) {
-				TreeItem kItem = new TreeItem (jItem, 0);
-				kItem.setText ("TreeItem (2) -" + k);
-				for (int l=0; l<4; l++) {
-					TreeItem lItem = new TreeItem (kItem, 0);
-					lItem.setText ("TreeItem (3) -" + l);
-				}
-			}
-		}
-	}
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet150.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet150.java
deleted file mode 100644
index 53f12f0..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet150.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * CoolBar example snippet: create a coolbar (relayout when resized)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet150 {
-
-static int itemCount;
-static CoolItem createItem(CoolBar coolBar, int count) {
-    ToolBar toolBar = new ToolBar(coolBar, SWT.FLAT);
-    for (int i = 0; i < count; i++) {
-        ToolItem item = new ToolItem(toolBar, SWT.PUSH);
-        item.setText(itemCount++ +"");
-    }
-    toolBar.pack();
-    Point size = toolBar.getSize();
-    CoolItem item = new CoolItem(coolBar, SWT.NONE);
-    item.setControl(toolBar);
-    Point preferred = item.computeSize(size.x, size.y);
-    item.setPreferredSize(preferred);
-    return item;
-}
-
-public static void main(String[] args) {
-    Display display = new Display();
-    final Shell shell = new Shell(display);
-    CoolBar coolBar = new CoolBar(shell, SWT.NONE);
-    createItem(coolBar, 3);
-    createItem(coolBar, 2);
-    createItem(coolBar, 3);
-    createItem(coolBar, 4);
-    int style = SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL;
-    Text text = new Text(shell, style);
-    FormLayout layout = new FormLayout();
-    shell.setLayout(layout);
-    FormData coolData = new FormData();
-    coolData.left = new FormAttachment(0);
-    coolData.right = new FormAttachment(100);
-    coolData.top = new FormAttachment(0);
-    coolBar.setLayoutData(coolData);
-    coolBar.addListener(SWT.Resize, new Listener() {
-        public void handleEvent(Event event) {
-            shell.layout();
-        }
-    });
-    FormData textData = new FormData();
-    textData.left = new FormAttachment(0);
-    textData.right = new FormAttachment(100);
-    textData.top = new FormAttachment(coolBar);
-    textData.bottom = new FormAttachment(100);
-    text.setLayoutData(textData);
-    shell.open();
-    while (!shell.isDisposed()) {
-        if (!display.readAndDispatch()) display.sleep();
-    }
-    display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet151.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet151.java
deleted file mode 100644
index f9ab2de..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet151.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Create a virtual table and add 1000 entries to it every 500 ms.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import java.util.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet151 {
-
-static int[] data = new int[0];
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	final Table table = new Table(shell, SWT.BORDER | SWT.VIRTUAL);
-	table.addListener(SWT.SetData, new Listener() {
-		public void handleEvent(Event e) {
-			TableItem item = (TableItem)e.item;
-			int index = table.indexOf(item);
-			item.setText("Item "+data[index]);
-		}
-	});
-	Thread thread = new Thread() {
-		public void run() {
-			int count = 0;
-			Random random = new Random();
-			while (count++ < 500) {
-				if (table.isDisposed()) return;
-				// add 10 random numbers to array and sort
-				int grow = 10;
-				int[] newData = new int[data.length + grow];
-				System.arraycopy(data, 0, newData, 0, data.length);
-				int index = data.length;
-				data = newData;
-				for (int j = 0; j < grow; j++) {
-					data[index++] = random.nextInt();
-				}
-				Arrays.sort(data);
-				display.syncExec(new Runnable() {
-					public void run() {
-						if (table.isDisposed()) return;
-						table.setItemCount(data.length);
-						table.clearAll();
-					}
-				});
-				try {Thread.sleep(500);} catch (Throwable t) {}
-			}
-		}
-	};
-	thread.start();
-	shell.open ();
-	while (!shell.isDisposed() || thread.isAlive()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet152.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet152.java
deleted file mode 100644
index 96a2d52..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet152.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Control example snippet: update a status line when an item is armed
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet152 {
-
-public static void main(String[] args) {
-    Display display = new Display();
-    Shell shell = new Shell(display);
-    FormLayout layout = new FormLayout();
-    shell.setLayout(layout);
-    final Label label = new Label(shell, SWT.BORDER);
-    Listener armListener = new Listener() {
-        public void handleEvent(Event event) {
-            MenuItem item = (MenuItem) event.widget;
-            label.setText(item.getText());
-            label.update();
-        }
-    };
-    Listener showListener = new Listener() {
-        public void handleEvent(Event event) {
-            Menu menu = (Menu) event.widget;
-            MenuItem item = menu.getParentItem();
-            if (item != null) {
-                label.setText(item.getText());
-                label.update();
-            }
-        }
-    };
-    Listener hideListener = new Listener() {
-        public void handleEvent(Event event) {
-            label.setText("");
-            label.update();
-        }
-    };
-    FormData labelData = new FormData();
-    labelData.left = new FormAttachment(0);
-    labelData.right = new FormAttachment(100);
-    labelData.bottom = new FormAttachment(100);
-    label.setLayoutData(labelData);
-    Menu menuBar = new Menu(shell, SWT.BAR);
-    shell.setMenuBar(menuBar);
-    MenuItem fileItem = new MenuItem(menuBar, SWT.CASCADE);
-    fileItem.setText("File");
-    fileItem.addListener(SWT.Arm, armListener);
-    MenuItem editItem = new MenuItem(menuBar, SWT.CASCADE);
-    editItem.setText("Edit");
-    editItem.addListener(SWT.Arm, armListener);
-    Menu fileMenu = new Menu(shell, SWT.DROP_DOWN);
-    fileMenu.addListener(SWT.Hide, hideListener);
-    fileMenu.addListener(SWT.Show, showListener);
-    fileItem.setMenu(fileMenu);
-    String[] fileStrings = { "New", "Close", "Exit" };
-    for (int i = 0; i < fileStrings.length; i++) {
-        MenuItem item = new MenuItem(fileMenu, SWT.PUSH);
-        item.setText(fileStrings[i]);
-        item.addListener(SWT.Arm, armListener);
-    }
-    Menu editMenu = new Menu(shell, SWT.DROP_DOWN);
-    editMenu.addListener(SWT.Hide, hideListener);
-    editMenu.addListener(SWT.Show, showListener);
-    String[] editStrings = { "Cut", "Copy", "Paste" };
-    editItem.setMenu(editMenu);
-    for (int i = 0; i < editStrings.length; i++) {
-        MenuItem item = new MenuItem(editMenu, SWT.PUSH);
-        item.setText(editStrings[i]);
-        item.addListener(SWT.Arm, armListener);
-    }
-    shell.open();
-    while (!shell.isDisposed()) {
-        if (!display.readAndDispatch()) display.sleep();
-    }
-    display.dispose();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet153.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet153.java
deleted file mode 100644
index 5b6862f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet153.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * ToolBar example snippet: update a status line when the pointer enters a ToolItem
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet153 {
-	
-static String statusText = "";
-public static void main(String[] args) {
-    final Display display = new Display();
-    Shell shell = new Shell(display);
-    shell.setBounds(10, 10, 200, 200);
-    final ToolBar bar = new ToolBar(shell, SWT.BORDER);
-    bar.setBounds(10, 10, 150, 50);
-    final Label statusLine = new Label(shell, SWT.BORDER);
-    statusLine.setBounds(10, 90, 150, 30);
-    new ToolItem(bar, SWT.NONE).setText("item 1");
-    new ToolItem(bar, SWT.NONE).setText("item 2");
-    new ToolItem(bar, SWT.NONE).setText("item 3");
-    bar.addMouseMoveListener(new MouseMoveListener() {
-        public void mouseMove(MouseEvent e) {
-            ToolItem item = bar.getItem(new Point(e.x, e.y));
-            String name = "";
-            if (item != null) {
-                name = item.getText();
-            }
-            if (!statusText.equals(name)) {
-                statusLine.setText(name);
-                statusText = name;
-            }
-        }
-    });
-    shell.open();
-    while (!shell.isDisposed()) {
-        if (!display.readAndDispatch()) display.sleep();
-    }
-    display.dispose();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet154.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet154.java
deleted file mode 100644
index f997ca0..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet154.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * example snippet: embed a JTable in SWT (no flicker)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import java.awt.BorderLayout;
-import java.awt.Frame;
-import java.awt.Panel;
-import javax.swing.*;
-import java.util.Vector;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.awt.SWT_AWT;
-
-public class Snippet154 {
-
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-
-		Composite composite = new Composite(shell, SWT.NO_BACKGROUND | SWT.EMBEDDED);
-		
-		/*
-		* Set a Windows specific AWT property that prevents heavyweight
-		* components from erasing their background. Note that this
-		* is a global property and cannot be scoped. It might not be
-		* suitable for your application.
-		*/
-		try {
-			System.setProperty("sun.awt.noerasebackground","true");
-		} catch (NoSuchMethodError error) {}
-
-		/* Create and setting up frame */
-		Frame frame = SWT_AWT.new_Frame(composite);
-		Panel panel = new Panel(new BorderLayout()) {
-			public void update(java.awt.Graphics g) {
-				/* Do not erase the background */ 
-				paint(g);
-			}
-		};
-		frame.add(panel);
-		JRootPane root = new JRootPane();
-		panel.add(root);
-		java.awt.Container contentPane = root.getContentPane();
-
-		/* Creating components */
-		int nrows = 1000, ncolumns = 10;
-		Vector rows = new Vector();
-		for (int i = 0; i < nrows; i++) {
-			Vector row = new Vector();
-			for (int j = 0; j < ncolumns; j++) {
-				row.addElement("Item " + i + "-" + j);
-			}
-			rows.addElement(row);
-		}
-		Vector columns = new Vector();
-		for (int i = 0; i < ncolumns; i++) {
-			columns.addElement("Column " + i);
-		}
-		JTable table = new JTable(rows, columns);
-		table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
-		table.createDefaultColumnsFromModel();
-		JScrollPane scrollPane = new JScrollPane(table);
-		contentPane.setLayout(new BorderLayout());
-		contentPane.add(scrollPane);
-		
-		shell.open();
-		while(!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet155.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet155.java
deleted file mode 100644
index 1b3d8ed..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet155.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * example snippet: draw an X using AWT Graphics
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import java.awt.Frame;
-import java.awt.Canvas;
-import java.awt.Graphics;
-import java.awt.Dimension;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.awt.SWT_AWT;
-
-public class Snippet155 {
-
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		Composite composite = new Composite(shell, SWT.EMBEDDED);
-		
-		/* Draw an X using AWT */
-		Frame frame = SWT_AWT.new_Frame(composite);
-		Canvas canvas = new Canvas() {
-			public void paint (Graphics g) {
-				Dimension d = getSize();
-				g.drawLine(0, 0, d.width, d.height);
-				g.drawLine(d.width, 0, 0, d.height);
-			}
-		};
-		frame.add(canvas);
-
-		shell.open();
-		while(!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet156.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet156.java
deleted file mode 100644
index 9710946..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet156.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * example snippet: convert between SWT Image and AWT BufferedImage
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import java.awt.Frame;
-import java.awt.Graphics;
-import java.awt.Insets;
-import java.awt.image.BufferedImage;
-import java.awt.image.ColorModel;
-import java.awt.image.DirectColorModel;
-import java.awt.image.IndexColorModel;
-import java.awt.image.WritableRaster;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-
-public class Snippet156 {
-	
-static BufferedImage convertToAWT(ImageData data) {
-	ColorModel colorModel = null;
-	PaletteData palette = data.palette;
-	if (palette.isDirect) {
-		colorModel = new DirectColorModel(data.depth, palette.redMask, palette.greenMask, palette.blueMask);
-		BufferedImage bufferedImage = new BufferedImage(colorModel, colorModel.createCompatibleWritableRaster(data.width, data.height), false, null);
-		WritableRaster raster = bufferedImage.getRaster();
-		int[] pixelArray = new int[3];
-		for (int y = 0; y < data.height; y++) {
-			for (int x = 0; x < data.width; x++) {
-				int pixel = data.getPixel(x, y);
-				RGB rgb = palette.getRGB(pixel);
-				pixelArray[0] = rgb.red;
-				pixelArray[1] = rgb.green;
-				pixelArray[2] = rgb.blue;
-				raster.setPixels(x, y, 1, 1, pixelArray);
-			}
-		}
-		return bufferedImage;
-	} else {
-		RGB[] rgbs = palette.getRGBs();
-		byte[] red = new byte[rgbs.length];
-		byte[] green = new byte[rgbs.length];
-		byte[] blue = new byte[rgbs.length];
-		for (int i = 0; i < rgbs.length; i++) {
-			RGB rgb = rgbs[i];
-			red[i] = (byte)rgb.red;
-			green[i] = (byte)rgb.green;
-			blue[i] = (byte)rgb.blue;
-		}
-		if (data.transparentPixel != -1) {
-			colorModel = new IndexColorModel(data.depth, rgbs.length, red, green, blue, data.transparentPixel);
-		} else {
-			colorModel = new IndexColorModel(data.depth, rgbs.length, red, green, blue);
-		}		
-		BufferedImage bufferedImage = new BufferedImage(colorModel, colorModel.createCompatibleWritableRaster(data.width, data.height), false, null);
-		WritableRaster raster = bufferedImage.getRaster();
-		int[] pixelArray = new int[1];
-		for (int y = 0; y < data.height; y++) {
-			for (int x = 0; x < data.width; x++) {
-				int pixel = data.getPixel(x, y);
-				pixelArray[0] = pixel;
-				raster.setPixel(x, y, pixelArray);
-			}
-		}
-		return bufferedImage;
-	}
-}
-
-static ImageData convertToSWT(BufferedImage bufferedImage) {
-	if (bufferedImage.getColorModel() instanceof DirectColorModel) {
-		DirectColorModel colorModel = (DirectColorModel)bufferedImage.getColorModel();
-		PaletteData palette = new PaletteData(colorModel.getRedMask(), colorModel.getGreenMask(), colorModel.getBlueMask());
-		ImageData data = new ImageData(bufferedImage.getWidth(), bufferedImage.getHeight(), colorModel.getPixelSize(), palette);
-		WritableRaster raster = bufferedImage.getRaster();
-		int[] pixelArray = new int[3];
-		for (int y = 0; y < data.height; y++) {
-			for (int x = 0; x < data.width; x++) {
-				raster.getPixel(x, y, pixelArray);
-				int pixel = palette.getPixel(new RGB(pixelArray[0], pixelArray[1], pixelArray[2]));
-				data.setPixel(x, y, pixel);
-			}
-		}		
-		return data;		
-	} else if (bufferedImage.getColorModel() instanceof IndexColorModel) {
-		IndexColorModel colorModel = (IndexColorModel)bufferedImage.getColorModel();
-		int size = colorModel.getMapSize();
-		byte[] reds = new byte[size];
-		byte[] greens = new byte[size];
-		byte[] blues = new byte[size];
-		colorModel.getReds(reds);
-		colorModel.getGreens(greens);
-		colorModel.getBlues(blues);
-		RGB[] rgbs = new RGB[size];
-		for (int i = 0; i < rgbs.length; i++) {
-			rgbs[i] = new RGB(reds[i] & 0xFF, greens[i] & 0xFF, blues[i] & 0xFF);
-		}
-		PaletteData palette = new PaletteData(rgbs);
-		ImageData data = new ImageData(bufferedImage.getWidth(), bufferedImage.getHeight(), colorModel.getPixelSize(), palette);
-		data.transparentPixel = colorModel.getTransparentPixel();
-		WritableRaster raster = bufferedImage.getRaster();
-		int[] pixelArray = new int[1];
-		for (int y = 0; y < data.height; y++) {
-			for (int x = 0; x < data.width; x++) {
-				raster.getPixel(x, y, pixelArray);
-				data.setPixel(x, y, pixelArray[0]);
-			}
-		}
-		return data;
-	}
-	return null;
-}
-
-static ImageData createSampleImage(Display display) {
-	Image image = new Image(display, 100, 100);
-	Rectangle bounds = image.getBounds();
-	GC gc = new GC(image);
-	gc.setBackground(display.getSystemColor(SWT.COLOR_BLUE));
-	gc.fillRectangle(bounds);
-	gc.setBackground(display.getSystemColor(SWT.COLOR_GREEN));
-	gc.fillOval(0, 0, bounds.width, bounds.height);
-	gc.setForeground(display.getSystemColor(SWT.COLOR_RED));
-	gc.drawLine(0, 0, bounds.width, bounds.height);
-	gc.drawLine(bounds.width, 0, 0, bounds.height);
-	gc.dispose();
-	ImageData data = image.getImageData();
-	image.dispose();
-	return data;
-}
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setText("SWT Image");
-	ImageData data;
-	if (args.length > 0) {
-		String fileName = args[0];
-		data = new ImageData(fileName);
-	} else {
-		data = createSampleImage(display);
-	}
-	final Image swtImage = new Image(display, data);
-	final BufferedImage awtImage = convertToAWT(data);
-	final Image swtImage2 = new Image(display, convertToSWT(awtImage));
-	shell.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event e) {
-			int y = 10;
-			if (swtImage != null) {
-				e.gc.drawImage(swtImage, 10, y);
-				y += swtImage.getBounds().height + 10;
-			}
-			if (swtImage2 != null) {
-				e.gc.drawImage(swtImage2, 10, y);
-			}
-		}
-	});
-	Frame frame = new Frame() {
-		public void paint(Graphics g) {
-			Insets insets = getInsets();
-			if (awtImage != null) {
-				g.drawImage(awtImage, 10 + insets.left, 10 + insets.top, null);
-			}
-		}
-	};
-	frame.setTitle("AWT Image");
-	shell.setLocation(50, 50);
-	Rectangle bounds = swtImage.getBounds();
-	shell.setSize(bounds.width + 50, bounds.height * 2 + 100);
-	Point size = shell.getSize();
-	Point location = shell.getLocation();
-	Insets insets = frame.getInsets();
-	frame.setLocation(location.x + size.x + 10, location.y);
-	frame.setSize(size.x - (insets.left + insets.right), size.y - (insets.top + insets.bottom));
-	frame.setVisible(true);	
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	if (swtImage != null) swtImage.dispose();
-	if (swtImage2 != null) swtImage.dispose();
-	frame.dispose();
-	display.dispose();
-	/* Note: If you are using JDK 1.3.x, you need to use System.exit(0) at the end of your program to exit AWT.
-	 * This is because in 1.3.x, AWT does not exit when the frame is disposed, because the AWT thread is not a daemon.
-	 * This was fixed in JDK 1.4.x with the addition of the AWT Shutdown thread.
-	 */
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet157.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet157.java
deleted file mode 100644
index de1cdf5..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet157.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * example snippet: Embed Word in an applet (win32 only)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-	
-import java.applet.*;
-	 
-public class Snippet157 extends Applet {
-	
-	org.eclipse.swt.widgets.Display display;
-	org.eclipse.swt.widgets.Shell swtParent;
-	java.awt.Canvas awtParent;
-
-public void init () {
-	Thread thread = new Thread (new Runnable () {
-		public void run () {
-			setLayout(new java.awt.GridLayout (1, 1));
-			awtParent = new java.awt.Canvas ();
-			add (awtParent);
-			display = new org.eclipse.swt.widgets.Display ();
-			swtParent = org.eclipse.swt.awt.SWT_AWT.new_Shell (display, awtParent);
-			swtParent.setLayout (new org.eclipse.swt.layout.FillLayout ());
-			org.eclipse.swt.ole.win32.OleFrame frame = new org.eclipse.swt.ole.win32.OleFrame (swtParent, org.eclipse.swt.SWT.NONE);
-			org.eclipse.swt.ole.win32.OleClientSite site;
-			try {
-				site = new org.eclipse.swt.ole.win32.OleClientSite (frame, org.eclipse.swt.SWT.NONE, "Word.Document");
-			} catch (org.eclipse.swt.SWTException e) {
-				String str = "Create OleClientSite Error" + e.toString ();
-				System.out.println (str);
-				return;
-			}
-			setSize (500, 500);
-			validate ();
-			site.doVerb (org.eclipse.swt.ole.win32.OLE.OLEIVERB_SHOW);
-			
-			while (swtParent != null && !swtParent.isDisposed ()) {
-				if (!display.readAndDispatch ()) display.sleep ();		
-			}	
-		}
-	});
-	thread.start ();
-}
- public void stop (){
- 	if (display != null && !display.isDisposed ()){
- 		display.syncExec(new Runnable () {
- 			public void run () {
- 				if (swtParent != null && !swtParent.isDisposed ()) swtParent.dispose ();
- 				swtParent = null;
- 				display.dispose ();
- 				display = null;
- 			}
- 		});
- 		remove (awtParent);
- 		awtParent = null;
- 	}
- }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet158.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet158.java
deleted file mode 100644
index 2379fdf..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet158.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Drag and Drop example snippet: determine native data types available (motif only)
- * NOTE: This snippet uses internal SWT packages that are
- * subject to change without notice.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.motif.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet158 extends ByteArrayTransfer {
-
-private static Snippet158 _instance = new Snippet158();
-private int[] ids;
-private String[] names;
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Table control = new Table(shell, SWT.NONE);
-	TableItem item = new TableItem(control, SWT.NONE);
-	item.setText("Drag data over this site to see the native transfer type.");
-	DropTarget target = new DropTarget(control, DND.DROP_DEFAULT | DND.DROP_COPY | DND.DROP_LINK | DND.DROP_MOVE);
-	target.setTransfer(new Transfer[] {Snippet158.getInstance()});
-	target.addDropListener(new DropTargetAdapter() {
-		public void dragEnter(DropTargetEvent event) {			
-			String ops = "";
-			if ((event.operations & DND.DROP_COPY) != 0) ops += "Copy;";
-			if ((event.operations & DND.DROP_MOVE) != 0) ops += "Move;";
-			if ((event.operations & DND.DROP_LINK) != 0) ops += "Link;";
-			control.removeAll();
-			TableItem item1 = new TableItem(control,SWT.NONE);
-			item1.setText("Allowed Operations are "+ops);
-			
-			if (event.detail == DND.DROP_DEFAULT) {
-				if ((event.operations & DND.DROP_COPY) != 0) {
-					event.detail = DND.DROP_COPY;
-				} else if ((event.operations & DND.DROP_LINK) != 0) {
-					event.detail = DND.DROP_LINK;
-				} else if ((event.operations & DND.DROP_MOVE) != 0) {
-					event.detail = DND.DROP_MOVE;
-				}
-			}
-			
-			TransferData[] data = event.dataTypes;
-			for (int i = 0; i < data.length; i++) {
-				int id = data[i].type;
-				String name = getNameFromId(id);
-				TableItem item2 = new TableItem(control,SWT.NONE);
-				item2.setText("Data type is "+id+" "+name);
-			}
-		}
-	});
-	
-	shell.setSize(400, 400);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-
-public static Snippet158 getInstance () {
-	return _instance;
-}
-Snippet158() {
-}
-public void javaToNative (Object object, TransferData transferData) {
-}
-public Object nativeToJava(TransferData transferData){
-	return "Hello World";
-}
-protected String[] getTypeNames(){
-	return names;
-}
-static int shellHandle;
-protected int[] getTypeIds(){
-	if (ids == null) {
-		Display display = Display.getCurrent();
-		int widgetClass = OS.topLevelShellWidgetClass ();
-		shellHandle = OS.XtAppCreateShell (null, null, widgetClass, display.xDisplay, null, 0);
-		OS.XtSetMappedWhenManaged (shellHandle, false);
-		OS.XtRealizeWidget (shellHandle);
-		
-		ids = new int[840];
-		names = new String[840];
-		for (int i = 0; i < ids.length; i++) {
-			ids[i] = i+i;
-			names[i] = getNameFromId(i+1);
-		}
-	}
-	return ids;
-}
-static String getNameFromId(int id) {
-	int xDisplay = OS.XtDisplay (shellHandle);
-	int ptr = 0;
-	try {
-		ptr = OS.XmGetAtomName(xDisplay, id);
-	} catch (Throwable t) {
-	}
-	if (ptr == 0) return "invalid "+id;
-	int length = OS.strlen(ptr);
-	byte[] nameBuf = new byte[length];
-	OS.memmove(nameBuf, ptr, length);
-	OS.XFree(ptr);
-	return new String(Converter.mbcsToWcs(null, nameBuf)).toLowerCase();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet159.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet159.java
deleted file mode 100644
index a1932bc..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet159.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Browser example snippet: modify HTML title tag
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.browser.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet159 {
-	public static void main(String [] args) {
-		final String newTitle = "New Value for Title";
-		Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		final Browser browser;
-		try {
-			browser = new Browser(shell, SWT.NONE);
-		} catch (SWTError e) {
-			System.out.println("Could not instantiate Browser: " + e.getMessage());
-			return;
-		}
-		browser.addTitleListener(new TitleListener() {
-			public void changed(TitleEvent event) {
-				System.out.println("TitleEvent: "+event.title);
-				shell.setText(event.title);
-			}
-		});
-		browser.addProgressListener(new ProgressListener() {
-			public void changed(ProgressEvent event) {
-			}
-			public void completed(ProgressEvent event) {
-				/* Set HTML title tag using JavaScript and DOM when page has been loaded */
-				boolean result = browser.execute("document.title='"+newTitle+"'");
-				if (!result) {
-					/* Script may fail or may not be supported on certain platforms. */
-					System.out.println("Script was not executed.");
-				}
-			}
-		});
-		/* Load an HTML document */
-		browser.setUrl("http://www.eclipse.org");
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
-
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet16.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet16.java
deleted file mode 100644
index 7c6ca33..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet16.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Display example snippet: create one repeating timer (every 500 ms)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet16 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Shell shell = new Shell (display);
-	final int time = 500;
-	Runnable timer = new Runnable () {
-		public void run () {
-			Point point = display.getCursorLocation ();
-			Rectangle rect = shell.getBounds ();
-			if (rect.contains (point)) {
-				System.out.println ("In");
-			} else {
-				System.out.println ("Out");
-			}
-			display.timerExec (time, this);
-		}
-	};
-	display.timerExec (time, timer);
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();	
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet160.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet160.java
deleted file mode 100644
index 4f5ba2b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet160.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Browser example snippet: query DOM node value
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.browser.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet160 {
-	public static void main(String [] args) {
-		final String html = "<html><title>Snippet</title><body><p id='myid'>Best Friends</p><p id='myid2'>Cat and Dog</p></body></html>";
-		Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		final Browser browser;
-		try {
-			browser = new Browser(shell, SWT.NONE);
-		} catch (SWTError e) {
-			System.out.println("Could not instantiate Browser: " + e.getMessage());
-			return;
-		}
-		browser.addStatusTextListener(new StatusTextListener() {
-			public void changed(StatusTextEvent event) {
-				browser.setData("query", event.text);
-			}
-		});
-		browser.addProgressListener(new ProgressListener() {
-			public void changed(ProgressEvent event) {
-			}
-			public void completed(ProgressEvent event) {
-				/* 
-				 * Use JavaScript to query the desired node content through the Document Object Model
-				 * 
-				 * Assign result to the window property status to pass the result to the StatusTextListener
-				 * This trick is required since <code>execute</code> does not return the <code>String</code>
-				 * directly.
-				 */
-				boolean result = browser.execute("window.status=document.getElementById('myid').childNodes[0].nodeValue;");
-				if (!result) {
-					/* Script may fail or may not be supported on certain platforms. */
-					System.out.println("Script was not executed.");
-					return;
-				}
-				String value = (String)browser.getData("query");
-				System.out.println("Node value: "+value);
-			}
-		});
-		/* Load an HTML document */
-		browser.setText(html);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
-
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet161.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet161.java
deleted file mode 100644
index 9a43d89..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet161.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Browser example snippet: modify DOM (executing javascript)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.browser.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet161 {
-	public static void main(String [] args) {
-		final String html = "<html><title>Snippet</title><body><p id='myid'>Best Friends</p><p id='myid2'>Cat and Dog</p></body></html>";
-		Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		final Browser browser;
-		try {
-			browser = new Browser(shell, SWT.BORDER);
-		} catch (SWTError e) {
-			System.out.println("Could not instantiate Browser: " + e.getMessage());
-			return;
-		}
-		Composite comp = new Composite(shell, SWT.NONE);
-		comp.setLayout(new FillLayout(SWT.VERTICAL));
-		final Text text = new Text(comp, SWT.MULTI);
-		text.setText("var newNode = document.createElement('P'); \r\n"+
-				"var text = document.createTextNode('At least when I am around');\r\n"+
-				"newNode.appendChild(text);\r\n"+
-				"document.getElementById('myid').appendChild(newNode);\r\n"+
-				"\r\n"+
-				"document.bgColor='yellow';");
-		final Button button = new Button(comp, SWT.PUSH);
-		button.setText("Execute Script");
-		button.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				boolean result = browser.execute(text.getText());
-				if (!result) {
-					/* Script may fail or may not be supported on certain platforms. */
-					System.out.println("Script was not executed.");
-				}
-			}
-		});
-		browser.setText(html);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
-
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet162.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet162.java
deleted file mode 100644
index 92d286a..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet162.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Adding an accessible listener to provide state information
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.accessibility.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet162 {
-
-final static String STATE = "CheckedIndices";
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	Image checkedImage = getCheckedImage (display);
-	Image uncheckedImage = getUncheckedImage (display);
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	final Table table = new Table (shell, SWT.BORDER);
-	TableColumn column1 = new TableColumn (table, SWT.NONE);
-	TableColumn column2 = new TableColumn (table, SWT.NONE);
-	TableColumn column3 = new TableColumn (table, SWT.NONE);
-	TableItem item1 = new TableItem (table, SWT.NONE);
-	item1.setText (new String [] {"first item", "a", "b"});
-	item1.setImage (1, uncheckedImage);
-	item1.setImage (2, uncheckedImage);
-	item1.setData (STATE, null);
-	TableItem item2 = new TableItem (table, SWT.NONE);
-	item2.setText (new String [] {"second item", "c", "d"});
-	item2.setImage (1, uncheckedImage);
-	item2.setImage (2, checkedImage);
-	item2.setData (STATE, new int [] {2});
-	TableItem item3 = new TableItem (table, SWT.NONE);
-	item3.setText (new String [] {"third", "e", "f"});
-	item3.setImage (1, checkedImage);
-	item3.setImage (2, checkedImage);
-	item3.setData (STATE, new int [] {1, 2});
-	column1.pack ();
-	column2.pack ();
-	column3.pack ();
-	Accessible accessible = table.getAccessible ();
-	accessible.addAccessibleListener (new AccessibleAdapter () {
-		public void getName (AccessibleEvent e) {
-			super.getName (e);
-			if (e.childID >= 0 && e.childID < table.getItemCount ()) {
-				TableItem item = table.getItem (e.childID);
-				Point pt = display.getCursorLocation ();
-				pt = display.map (null, table, pt);
-				for (int i = 0; i < table.getColumnCount (); i++) {
-					if (item.getBounds (i).contains (pt)) {
-						int [] data = (int []) item.getData (STATE);
-						boolean checked = false;
-						if (data != null) {
-							for (int j = 0; j < data.length; j++) {
-								if (data [j] == i) {
-									checked = true;
-									break;
-								}
-							}
-						}
-						e.result = item.getText (i) + " " + (checked ? "checked" : "unchecked");
-						break;
-					}
-				}
-			}
-		}
-	});
-	accessible.addAccessibleControlListener (new AccessibleControlAdapter () {
-		public void getState (AccessibleControlEvent e) {
-			super.getState (e);
-			if (e.childID >= 0 && e.childID < table.getItemCount ()) {
-				TableItem item = table.getItem (e.childID);
-				int [] data = (int []) item.getData (STATE);
-				if (data != null) {
-					Point pt = display.getCursorLocation ();
-					pt = display.map (null, table, pt);
-					for (int i = 0; i < data.length; i++) {
-						if (item.getBounds (data [i]).contains (pt)) {
-							e.detail |= ACC.STATE_CHECKED;
-							break;
-						}
-					}
-				}
-			}
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	checkedImage.dispose ();
-	uncheckedImage.dispose ();
-	display.dispose ();
-}
-
-static Image getCheckedImage (Display display) {
-	Image image = new Image (display, 16, 16);
-	GC gc = new GC (image);
-	gc.setBackground (display.getSystemColor (SWT.COLOR_YELLOW));
-	gc.fillOval (0, 0, 16, 16);
-	gc.setForeground (display.getSystemColor (SWT.COLOR_DARK_GREEN));
-	gc.drawLine (0, 0, 16, 16);
-	gc.drawLine (16, 0, 0, 16);
-	gc.dispose ();
-	return image;
-}
-
-static Image getUncheckedImage (Display display) {
-	Image image = new Image (display, 16, 16);
-	GC gc = new GC (image);
-	gc.setBackground (display.getSystemColor (SWT.COLOR_YELLOW));
-	gc.fillOval (0, 0, 16, 16);
-	gc.dispose ();
-	return image;
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet163.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet163.java
deleted file mode 100644
index f97fd4b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet163.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Setting the font style, foreground and background colors of StyledText
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet163 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	StyledText text = new StyledText (shell, SWT.BORDER);
-	text.setText("0123456789 ABCDEFGHIJKLM NOPQRSTUVWXYZ");
-	// make 0123456789 appear bold
-	StyleRange style1 = new StyleRange();
-	style1.start = 0;
-	style1.length = 10;
-	style1.fontStyle = SWT.BOLD;
-	text.setStyleRange(style1);
-	// make ABCDEFGHIJKLM have a red font
-	StyleRange style2 = new StyleRange();
-	style2.start = 11;
-	style2.length = 13;
-	style2.foreground = display.getSystemColor(SWT.COLOR_RED);
-	text.setStyleRange(style2);
-	// make NOPQRSTUVWXYZ have a blue background
-	StyleRange style3 = new StyleRange();
-	style3.start = 25;
-	style3.length = 13;
-	style3.background = display.getSystemColor(SWT.COLOR_BLUE);
-	text.setStyleRange(style3);
-	
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet164.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet164.java
deleted file mode 100644
index 2f945f4..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet164.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Override the text that is spoken for a native Button.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.accessibility.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet164 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setBounds(10, 10, 200, 200);
-
-	Button button1 = new Button (shell, SWT.PUSH);
-	button1.setText("&Typical button");
-	button1.setBounds(10,10,180,30);
-	Button button2 = new Button (shell, SWT.PUSH);
-	button2.setText("&Overidden button");
-	button2.setBounds(10,50,180,30);
-	button2.getAccessible().addAccessibleListener(new AccessibleAdapter() {
-		public void getName(AccessibleEvent e) {
-			e.result = "Speak this instead of the button text";
-		}
-	});
-	
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet165.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet165.java
deleted file mode 100644
index b5cb18b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet165.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Create a CTabFolder with min and max buttons, as well as close button and 
- * image only on selected tab.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet165 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Image image = new Image(display, 16, 16);
-	GC gc = new GC(image);
-	gc.setBackground(display.getSystemColor(SWT.COLOR_BLUE));
-	gc.fillRectangle(0, 0, 16, 16);
-	gc.setBackground(display.getSystemColor(SWT.COLOR_YELLOW));
-	gc.fillRectangle(3, 3, 10, 10);
-	gc.dispose();
-	final Shell shell = new Shell (display);
-	shell.setLayout(new GridLayout());
-	final CTabFolder folder = new CTabFolder(shell, SWT.BORDER);
-	folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
-	folder.setSimple(false);
-	folder.setUnselectedImageVisible(false);
-	folder.setUnselectedCloseVisible(false);
-	for (int i = 0; i < 8; i++) {
-		CTabItem item = new CTabItem(folder, SWT.CLOSE);
-		item.setText("Item "+i);
-		item.setImage(image);
-		Text text = new Text(folder, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
-		text.setText("Text for item "+i+"\n\none, two, three\n\nabcdefghijklmnop");
-		item.setControl(text);
-	}
-	folder.setMinimizeVisible(true);
-	folder.setMaximizeVisible(true);
-	folder.addCTabFolder2Listener(new CTabFolder2Adapter() {
-		public void minimize(CTabFolderEvent event) {
-			folder.setMinimized(true);
-			shell.layout(true);
-		}
-		public void maximize(CTabFolderEvent event) {
-			folder.setMaximized(true);
-			folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-			shell.layout(true);
-		}
-		public void restore(CTabFolderEvent event) {
-			folder.setMinimized(false);
-			folder.setMaximized(false);
-			folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
-			shell.layout(true);
-		}
-	});
-	shell.setSize(300, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	image.dispose();
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet166.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet166.java
deleted file mode 100644
index 14727f0..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet166.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Create a ScrolledComposite with wrapping content.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet166 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Image image1 = display.getSystemImage(SWT.ICON_WORKING);
-	Image image2 = display.getSystemImage(SWT.ICON_QUESTION);
-	Image image3 = display.getSystemImage(SWT.ICON_ERROR);
-	
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	
-	final ScrolledComposite scrollComposite = new ScrolledComposite(shell, SWT.V_SCROLL | SWT.BORDER);
-
-	final Composite parent = new Composite(scrollComposite, SWT.NONE);
-	for(int i = 0; i <= 50; i++) {
-		Label label = new Label(parent, SWT.NONE);
-		if (i % 3 == 0) label.setImage(image1);
-		if (i % 3 == 1) label.setImage(image2);
-		if (i % 3 == 2) label.setImage(image3);
-	}
-	RowLayout layout = new RowLayout(SWT.HORIZONTAL);
-	layout.wrap = true;
-	parent.setLayout(layout);
-	
-	scrollComposite.setContent(parent);
-	scrollComposite.setExpandVertical(true);
-	scrollComposite.setExpandHorizontal(true);
-	scrollComposite.addControlListener(new ControlAdapter() {
-		public void controlResized(ControlEvent e) {
-			Rectangle r = scrollComposite.getClientArea();
-			scrollComposite.setMinSize(parent.computeSize(r.width, SWT.DEFAULT));
-		}
-	});
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) {
-			display.sleep();
-		}
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet167.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet167.java
deleted file mode 100644
index 9b6211b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet167.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Create two ScrolledComposites that scroll in tandem.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet167 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-
-	final ScrolledComposite sc1 = new ScrolledComposite (shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	Button button1 = new Button (sc1, SWT.PUSH);
-	button1.setText ("Button 1");
-	button1.setSize (400, 300);
-	sc1.setContent (button1);
-
-	final ScrolledComposite sc2 = new ScrolledComposite (shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	Button button2 = new Button(sc2, SWT.PUSH);
-	button2.setText ("Button 2");
-	button2.setSize (300, 400);
-	sc2.setContent (button2);
-
-	final ScrollBar vBar1 = sc1.getVerticalBar ();
-	final ScrollBar vBar2 = sc2.getVerticalBar ();
-	final ScrollBar hBar1 = sc1.getHorizontalBar ();
-	final ScrollBar hBar2 = sc2.getHorizontalBar ();
-	SelectionListener listener1 = new SelectionAdapter () {
-		public void widgetSelected (SelectionEvent e) {
-			int x =  hBar1.getSelection() * (hBar2.getMaximum() - hBar2.getThumb()) / Math.max(1, hBar1.getMaximum() - hBar1.getThumb());
-			int y =  vBar1.getSelection() * (vBar2.getMaximum() - vBar2.getThumb()) / Math.max(1, vBar1.getMaximum() - vBar1.getThumb());
-			sc2.setOrigin (x, y);
-		}
-	};
-	SelectionListener listener2 = new SelectionAdapter () {
-		public void widgetSelected (SelectionEvent e) {
-			int x =  hBar2.getSelection() * (hBar1.getMaximum() - hBar1.getThumb()) / Math.max(1, hBar2.getMaximum() - hBar2.getThumb());
-			int y =  vBar2.getSelection() * (vBar1.getMaximum() - vBar1.getThumb()) / Math.max(1, vBar2.getMaximum() - vBar2.getThumb());
-			sc1.setOrigin (x, y);
-		}
-	};
-	vBar1.addSelectionListener (listener1);
-	hBar1.addSelectionListener (listener1);
-	vBar2.addSelectionListener (listener2);
-	hBar2.addSelectionListener (listener2);
-
-	shell.setSize (400, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet168.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet168.java
deleted file mode 100644
index e74245e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet168.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Draw lines and polygons with different cap and join styles
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet168 {
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event event) {
-			int x = 20, y = 20, w = 120, h = 60;
-			GC gc = event.gc;
-			gc.setForeground(display.getSystemColor(SWT.COLOR_BLUE));
-			gc.setLineWidth(10);
-			int[] caps = {SWT.CAP_FLAT, SWT.CAP_ROUND, SWT.CAP_SQUARE};
-			for (int i = 0; i < caps.length; i++) {
-				gc.setLineCap(caps[i]);
-				gc.drawLine(x, y, x + w, y);
-				y += 20;
-			}
-			int[] joins = {SWT.JOIN_BEVEL, SWT.JOIN_MITER, SWT.JOIN_ROUND};
-			for (int i = 0; i < joins.length; i++) {
-				gc.setLineJoin(joins[i]);
-				gc.drawPolygon(new int[] {x, y, x + w/2, y + h, x + w, y});
-				y += h + 20;
-			}
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet169.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet169.java
deleted file mode 100644
index c3da321..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet169.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Make a toggle button have radio behavior
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet169 {
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	Listener listener = new Listener () {
-		public void handleEvent (Event e) {
-			Control [] children = shell.getChildren ();
-			for (int i=0; i<children.length; i++) {
-				Control child = children [i];
-				if (e.widget != child && child instanceof Button && (child.getStyle () & SWT.TOGGLE) != 0) {
-					((Button) child).setSelection (false);
-				}
-			}
-			((Button) e.widget).setSelection (true);
-		}
-	};
-	for (int i=0; i<20; i++) {
-		Button button = new Button (shell, SWT.TOGGLE);
-		button.setText ("B" + i);
-		button.addListener (SWT.Selection, listener);
-		if (i == 0) button.setSelection (true);
-	}
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet17.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet17.java
deleted file mode 100644
index f0ff83b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet17.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Slider example snippet: print scroll event details
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet17 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Slider slider = new Slider (shell, SWT.HORIZONTAL);
-	slider.setBounds (10, 10, 200, 32);
-	slider.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			String string = "SWT.NONE";
-			switch (event.detail) {
-				case SWT.DRAG: string = "SWT.DRAG"; break;
-				case SWT.HOME: string = "SWT.HOME"; break;
-				case SWT.END: string = "SWT.END"; break;
-				case SWT.ARROW_DOWN: string = "SWT.ARROW_DOWN"; break;
-				case SWT.ARROW_UP: string = "SWT.ARROW_UP"; break;
-				case SWT.PAGE_DOWN: string = "SWT.PAGE_DOWN"; break;
-				case SWT.PAGE_UP: string = "SWT.PAGE_UP"; break;
-			}
-			System.out.println ("Scroll detail -> " + string);
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet170.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet170.java
deleted file mode 100644
index 3bdc3b9..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet170.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Tree example snippet: Create a Tree with columns
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet170 {
-	public static void main(String[] args) {
-		Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		Tree tree = new Tree(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-		tree.setHeaderVisible(true);
-		TreeColumn column1 = new TreeColumn(tree, SWT.LEFT);
-		column1.setText("Column 1");
-		column1.setWidth(200);
-		TreeColumn column2 = new TreeColumn(tree, SWT.CENTER);
-		column2.setText("Column 2");
-		column2.setWidth(200);
-		TreeColumn column3 = new TreeColumn(tree, SWT.RIGHT);
-		column3.setText("Column 3");
-		column3.setWidth(200);
-		for (int i = 0; i < 4; i++) {
-			TreeItem item = new TreeItem(tree, SWT.NONE);
-			item.setText(new String[] { "item " + i, "abc", "defghi" });
-			for (int j = 0; j < 4; j++) {
-				TreeItem subItem = new TreeItem(item, SWT.NONE);
-				subItem.setText(new String[] { "subitem " + j, "jklmnop", "qrs" });
-				for (int k = 0; k < 4; k++) {
-					TreeItem subsubItem = new TreeItem(subItem, SWT.NONE);
-					subsubItem.setText(new String[] { "subsubitem " + k, "tuv", "wxyz" });
-				}
-			}
-		}
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) {
-				display.sleep();
-			}
-		}
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet171.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet171.java
deleted file mode 100644
index 797baec..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet171.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Drag and Drop example snippet: define data transfer types that subclass each
- * other
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import java.io.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet171 {
-
-/*
- * The data being transferred is an <bold>array of type MyType</bold> where
- * MyType is define as:
- */
-static class MyType {
-	String fileName;
-	long fileLength;
-	long lastModified;
-}
-
-static class MyTransfer extends ByteArrayTransfer {
-
-	private static final String MYTYPENAME = "MytypeTransfer";
-	private static final int MYTYPEID = registerType(MYTYPENAME);
-	private static MyTransfer _instance = new MyTransfer();
-
-	public static Transfer getInstance() {
-		return _instance;
-	}
-
-	byte[] javaToByteArray(Object object) {
-		MyType data = (MyType) object;
-		try {
-			ByteArrayOutputStream out = new ByteArrayOutputStream();
-			DataOutputStream writeOut = new DataOutputStream(out);
-			byte[] buffer = data.fileName.getBytes();
-			writeOut.writeInt(buffer.length);
-			writeOut.write(buffer);
-			writeOut.writeLong(data.fileLength);
-			writeOut.writeLong(data.lastModified);
-			buffer = out.toByteArray();
-			writeOut.close();
-			return buffer;
-		} catch (IOException e) {
-		}
-		return null;
-	}
-
-	Object byteArrayToJava(byte[] bytes) {
-		MyType data = new MyType();
-		try {
-			ByteArrayInputStream in = new ByteArrayInputStream(bytes);
-			DataInputStream readIn = new DataInputStream(in);
-			int size = readIn.readInt();
-			byte[] buffer = new byte[size];
-			readIn.read(buffer);
-			data.fileName = new String(buffer);
-			data.fileLength = readIn.readLong();
-			data.lastModified = readIn.readLong();
-			readIn.close();
-		} catch (IOException ex) {
-			return null;
-		}
-		return data;
-	}
-
-	public void javaToNative(Object object, TransferData transferData) {
-		if (!checkMyType(object) || !isSupportedType(transferData)) {
-			DND.error(DND.ERROR_INVALID_DATA);
-		}
-		byte[] buffer = javaToByteArray(object);
-		super.javaToNative(buffer, transferData);
-	}
-
-	public Object nativeToJava(TransferData transferData) {
-		if (isSupportedType(transferData)) {
-			byte[] buffer = (byte[]) super.nativeToJava(transferData);
-			if (buffer == null)
-				return null;
-			return byteArrayToJava(buffer);
-		}
-		return null;
-	}
-
-	protected String[] getTypeNames() {
-		return new String[] { MYTYPENAME };
-	}
-
-	protected int[] getTypeIds() {
-		return new int[] { MYTYPEID };
-	}
-
-	boolean checkMyType(Object object) {
-		return object != null && object instanceof MyType;
-	}
-
-	protected boolean validate(Object object) {
-		return checkMyType(object);
-	}
-}
-
-/*
- * The data being transferred is an <bold>array of type MyType2</bold>
- * where MyType2 is define as:
- */
-static class MyType2 extends MyType {
-	String version;
-}
-
-static class MyTransfer2 extends MyTransfer {
-
-	private static final String MYTYPE2NAME = "Mytype2Transfer";
-	private static final int MYTYPE2ID = registerType(MYTYPE2NAME);
-	private static MyTransfer _instance = new MyTransfer2();
-
-	public static Transfer getInstance() {
-		return _instance;
-	}
-
-	protected String[] getTypeNames() {
-		return new String[] { MYTYPE2NAME };
-	}
-
-	protected int[] getTypeIds() {
-		return new int[] { MYTYPE2ID };
-	}
-
-	byte[] javaToByteArray(Object object) {
-		MyType2 data = (MyType2) object;
-		try {
-			ByteArrayOutputStream out = new ByteArrayOutputStream();
-			DataOutputStream writeOut = new DataOutputStream(out);
-			byte[] buffer = data.fileName.getBytes();
-			writeOut.writeInt(buffer.length);
-			writeOut.write(buffer);
-			writeOut.writeLong(data.fileLength);
-			writeOut.writeLong(data.lastModified);
-			buffer = data.version.getBytes();
-			writeOut.writeInt(buffer.length);
-			writeOut.write(buffer);
-			buffer = out.toByteArray();
-			writeOut.close();
-			return buffer;
-		} catch (IOException e) {
-		}
-		return null;
-	}
-
-	Object byteArrayToJava(byte[] bytes) {
-		MyType2 data = new MyType2();
-		try {
-			ByteArrayInputStream in = new ByteArrayInputStream(bytes);
-			DataInputStream readIn = new DataInputStream(in);
-			int size = readIn.readInt();
-			byte[] buffer = new byte[size];
-			readIn.read(buffer);
-			data.fileName = new String(buffer);
-			data.fileLength = readIn.readLong();
-			data.lastModified = readIn.readLong();
-			size = readIn.readInt();
-			buffer = new byte[size];
-			readIn.read(buffer);
-			data.version = new String(buffer);
-			readIn.close();
-		} catch (IOException ex) {
-			return null;
-		}
-		return data;
-	}
-
-	public void javaToNative(Object object, TransferData transferData) {
-		if (!checkMyType2(object)) {
-			DND.error(DND.ERROR_INVALID_DATA);
-		}
-		super.javaToNative(object, transferData);
-	}
-
-	boolean checkMyType2(Object object) {
-		if (!checkMyType(object))
-			return false;
-		return object != null && object instanceof MyType2;
-	}
-
-	protected boolean validate(Object object) {
-		return checkMyType2(object);
-	}
-}
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Label label1 = new Label(shell, SWT.BORDER | SWT.WRAP);
-	label1.setText("Drag Source for MyData and MyData2");
-	final Label label2 = new Label(shell, SWT.BORDER | SWT.WRAP);
-	label2.setText("Drop Target for MyData");
-	final Label label3 = new Label(shell, SWT.BORDER | SWT.WRAP);
-	label3.setText("Drop Target for MyData2");
-
-	DragSource source = new DragSource(label1, DND.DROP_COPY);
-	source.setTransfer(new Transfer[] { MyTransfer.getInstance(),
-			MyTransfer2.getInstance() });
-	source.addDragListener(new DragSourceAdapter() {
-		public void dragSetData(DragSourceEvent event) {
-			MyType2 myType = new MyType2();
-			myType.fileName = "C:\\abc.txt";
-			myType.fileLength = 1000;
-			myType.lastModified = 12312313;
-			myType.version = "version 2";
-			event.data = myType;
-		}
-	});
-	DropTarget targetMyType = new DropTarget(label2, DND.DROP_COPY | DND.DROP_DEFAULT);
-	targetMyType.setTransfer(new Transfer[] { MyTransfer.getInstance() });
-	targetMyType.addDropListener(new DropTargetAdapter() {
-		public void dragEnter(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT)
-				event.detail = DND.DROP_COPY;
-		}
-
-		public void dragOperationChanged(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT)
-				event.detail = DND.DROP_COPY;
-		}
-
-		public void drop(DropTargetEvent event) {
-			if (event.data != null) {
-				MyType myType = (MyType) event.data;
-				if (myType != null) {
-					String string = "MyType: " + myType.fileName;
-					label2.setText(string);
-				}
-			}
-		}
-
-	});
-	DropTarget targetMyType2 = new DropTarget(label3, DND.DROP_COPY	| DND.DROP_DEFAULT);
-	targetMyType2.setTransfer(new Transfer[] { MyTransfer2.getInstance() });
-	targetMyType2.addDropListener(new DropTargetAdapter() {
-		public void dragEnter(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT)
-				event.detail = DND.DROP_COPY;
-		}
-
-		public void dragOperationChanged(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT)
-				event.detail = DND.DROP_COPY;
-		}
-
-		public void drop(DropTargetEvent event) {
-			if (event.data != null) {
-				MyType2 myType = (MyType2) event.data;
-				if (myType != null) {
-					String string = "MyType2: " + myType.fileName + ":"
-							+ myType.version;
-					label3.setText(string);
-				}
-			}
-		}
-
-	});
-	shell.setSize(300, 200);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet172.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet172.java
deleted file mode 100644
index 671eff6..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet172.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * GridLayout snippet: align widgets in a GridLayout
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet172 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	GridLayout layout = new GridLayout(4, false);
-	shell.setLayout(layout);
-	
-	Button b = new Button(shell, SWT.PUSH);
-	b.setText("LEFT, TOP");
-	b.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("LEFT, CENTER");
-	b.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("LEFT, BOTTOM");
-	b.setLayoutData(new GridData(SWT.LEFT, SWT.BOTTOM, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("LEFT, FILL");
-	b.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("CENTER, TOP");
-	b.setLayoutData(new GridData(SWT.CENTER, SWT.TOP, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("CENTER, CENTER");
-	b.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("CENTER, BOTTOM");
-	b.setLayoutData(new GridData(SWT.CENTER, SWT.BOTTOM, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("CENTER, FILL");
-	b.setLayoutData(new GridData(SWT.CENTER, SWT.FILL, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("RIGHT, TOP");
-	b.setLayoutData(new GridData(SWT.RIGHT, SWT.TOP, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("RIGHT, CENTER");
-	b.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("RIGHT, BOTTOM");
-	b.setLayoutData(new GridData(SWT.RIGHT, SWT.BOTTOM, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("RIGHT, FILL");
-	b.setLayoutData(new GridData(SWT.RIGHT, SWT.FILL, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("FILL, TOP");
-	b.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("FILL, CENTER");
-	b.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("FILL, BOTTOM");
-	b.setLayoutData(new GridData(SWT.FILL, SWT.BOTTOM, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("FILL, FILL");
-	b.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
-	
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet173.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet173.java
deleted file mode 100644
index f5f7ee4..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet173.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Browser snippet: bring up a browser with pop-up blocker
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.browser.*;
-
-public class Snippet173 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setText("Main Window");
-	shell.setLayout(new FillLayout());
-	final Browser browser;
-	try {
-		browser = new Browser(shell, SWT.NONE);
-	} catch (SWTError e) {
-		System.out.println("Could not instantiate Browser: " + e.getMessage());
-		return;
-	}
-	initialize(display, browser);
-	shell.open();
-	/* any website with popups */
-	browser.setUrl("http://www.cnn.com");
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-		}
-		display.dispose();
-	}
-
-/* register WindowEvent listeners */
-static void initialize(final Display display, Browser browser) {
-	browser.addOpenWindowListener(new OpenWindowListener() {
-		public void open(WindowEvent event) {
-			Shell shell = new Shell(display);
-			shell.setText("New Window");
-			shell.setLayout(new FillLayout());
-			Browser browser = new Browser(shell, SWT.NONE);
-			initialize(display, browser);
-			event.browser = browser;
-		}
-	});
-	browser.addVisibilityWindowListener(new VisibilityWindowListener() {
-		public void hide(WindowEvent event) {
-			Browser browser = (Browser)event.widget;
-			Shell shell = browser.getShell();
-			shell.setVisible(false);
-		}
-		public void show(WindowEvent event) {
-			Browser browser = (Browser)event.widget;
-			final Shell shell = browser.getShell();
-			/* popup blocker - ignore windows with no style */
-			if (!event.addressBar && !event.menuBar && !event.statusBar && !event.toolBar) {
-				System.out.println("Popup blocked.");
-				event.display.asyncExec(new Runnable() {
-					public void run() {
-						shell.close();
-					}
-				});
-				return;
-			}
-			if (event.location != null) shell.setLocation(event.location);
-			if (event.size != null) {
-				Point size = event.size;
-				shell.setSize(shell.computeSize(size.x, size.y));
-			}
-			shell.open();
-		}
-	});
-	browser.addCloseWindowListener(new CloseWindowListener() {
-		public void close(WindowEvent event) {
-			Browser browser = (Browser)event.widget;
-			Shell shell = browser.getShell();
-			shell.close();
-		}
-	});
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet174.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet174.java
deleted file mode 100644
index 7ced2f7..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet174.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Sebastian Davids - initial implementation
- *     IBM Corporation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * SWT OpenGL snippet: draw a square
- * 
- * This snippet requires the experimental org.eclipse.swt.opengl plugin, which
- * is not included in SWT by default and should only be used with versions of
- * SWT prior to 3.2.  For information on using OpenGL in SWT see
- * http://www.eclipse.org/swt/opengl/ .
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.opengl.*;
-import org.eclipse.swt.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.*;
-
-public class Snippet174 {
-
-public static void main(String[] args) {
-    Display display = new Display();
-    Shell shell = new Shell(display);
-    shell.setText("OpenGL in SWT");
-    shell.setLayout(new FillLayout());
-    GLData data = new GLData();
-    data.doubleBuffer = true;
-    final GLCanvas canvas = new GLCanvas(shell, SWT.NO_BACKGROUND, data);
-    canvas.addControlListener(new ControlAdapter() {
-        public void controlResized(ControlEvent e) {
-            resize(canvas);
-        }
-    });
-    init(canvas);
-    new Runnable() {
-        public void run() {
-            if (canvas.isDisposed()) return;
-            render();
-            canvas.swapBuffers();
-            canvas.getDisplay().timerExec(50, this);
-        }
-    }.run();
-    shell.open();
-    while (!shell.isDisposed()) {
-        if (!display.readAndDispatch()) display.sleep();
-    }
-    display.dispose();
-}
-
-static void init(GLCanvas canvas) {
-    canvas.setCurrent();
-    resize(canvas);
-    GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-    GL.glColor3f(0.0f, 0.0f, 0.0f);
-    GL.glClearDepth(1.0f);
-    GL.glEnable(GL.GL_DEPTH_TEST);
-    GL.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST);
-}
-
-static void render() {
-    GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-    GL.glLoadIdentity();
-    GL.glTranslatef(0.0f, 0.0f, -6.0f);
-    GL.glBegin(GL.GL_QUADS);
-    GL.glVertex3f(-1.0f, 1.0f, 0.0f);
-    GL.glVertex3f(1.0f, 1.0f, 0.0f);
-    GL.glVertex3f(1.0f, -1.0f, 0.0f);
-    GL.glVertex3f(-1.0f, -1.0f, 0.0f);
-    GL.glEnd();
-}
-
-static void resize(GLCanvas canvas) {
-    canvas.setCurrent();
-    Rectangle rect = canvas.getClientArea();
-    int width = rect.width;
-    int height = Math.max(rect.height, 1);
-    GL.glViewport(0, 0, width, height);
-    GL.glMatrixMode(GL.GL_PROJECTION);
-    GL.glLoadIdentity();
-    float aspect = (float) width / (float) height;
-    GLU.gluPerspective(45.0f, aspect, 0.5f, 400.0f);
-    GL.glMatrixMode(GL.GL_MODELVIEW);
-    GL.glLoadIdentity();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet175.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet175.java
deleted file mode 100644
index a4fc973..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet175.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Exclude a widget from a GridLayout
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-
-public class Snippet175 {
-
-public static void main(String[] args) {
-
-	Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.setLayout(new GridLayout(3, false));
-
-	Button b = new Button(shell, SWT.PUSH);
-	b.setText("Button 0");
-
-	final Button bHidden = new Button(shell, SWT.PUSH);
-	bHidden.setText("Button 1");
-	GridData data = new GridData();
-	data.exclude = true;
-	data.horizontalSpan = 2;
-	data.horizontalAlignment = SWT.FILL;
-	bHidden.setLayoutData(data);
-
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Button 2");
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Button 3");
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Button 4");
-
-	b = new Button(shell, SWT.CHECK);
-	b.setText("hide");
-	b.setSelection(true);
-	b.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event e) {
-			Button b = (Button) e.widget;
-			GridData data = (GridData) bHidden.getLayoutData();
-			data.exclude = b.getSelection();
-			bHidden.setVisible(!data.exclude);
-			shell.layout(false);
-		}
-	});
-	shell.setSize(400, 400);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet176.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet176.java
deleted file mode 100644
index f2af754..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet176.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * RowLayout snippet: align widgets in a row
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet176 {
-
-	public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	RowLayout layout = new RowLayout(SWT.HORIZONTAL);
-	layout.wrap = true;
-	layout.fill = false;
-	layout.justify = true;
-	shell.setLayout(layout);
-
-	Button b = new Button(shell, SWT.PUSH);
-	b.setText("Button 1");
-	b = new Button(shell, SWT.PUSH);
-
-	b.setText("Button 2");
-
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Button 3");
-
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Not shown");
-	b.setVisible(false);
-	RowData data = new RowData();
-	data.exclude = true;
-	b.setLayoutData(data);
-
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Button 200 high");
-	data = new RowData();
-	data.height = 200;
-	b.setLayoutData(data);
-
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Button 200 wide");
-	data = new RowData();
-	data.width = 200;
-	b.setLayoutData(data);
-
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet177.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet177.java
deleted file mode 100644
index e6a8eca..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet177.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * RowLayout snippet: align widgets in a column
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet177 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	RowLayout layout = new RowLayout(SWT.VERTICAL);
-	layout.wrap = true;
-	layout.fill = true;
-	layout.justify = false;
-	shell.setLayout(layout);
-
-	Button b = new Button(shell, SWT.PUSH);
-	b.setText("Button 1");
-	b = new Button(shell, SWT.PUSH);
-
-	b.setText("Button 2");
-
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Button 3");
-
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Not shown");
-	b.setVisible(false);
-	RowData data = new RowData();
-	data.exclude = true;
-	b.setLayoutData(data);
-
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Button 200 high");
-	data = new RowData();
-	data.height = 200;
-	b.setLayoutData(data);
-
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Button 200 wide");
-	data = new RowData();
-	data.width = 200;
-	b.setLayoutData(data);
-
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet178.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet178.java
deleted file mode 100644
index 30754bc..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet178.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * How to access About, Preferences and Quit menus on carbon.
- * NOTE: This snippet uses internal SWT packages that are
- * subject to change without notice.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.carbon.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet178 {
-
-	private static final int kHICommandPreferences = ('p' << 24) + ('r' << 16)
-			+ ('e' << 8) + 'f';
-
-	private static final int kHICommandAbout = ('a' << 24) + ('b' << 16)
-			+ ('o' << 8) + 'u';
-
-	private static final int kHICommandServices = ('s' << 24) + ('e' << 16)
-			+ ('r' << 8) + 'v';
-
-public static void main(String[] arg) {
-	Display.setAppName("AppMenu"); // sets name in Dock
-	Display display = new Display();
-	hookApplicationMenu(display, "About AppMenu");
-	Shell shell = new Shell(display);
-	shell.setText("Main Window");
-	shell.open();
-	while (!shell.isDisposed())
-		if (!display.readAndDispatch())
-			display.sleep();
-
-	display.dispose();
-}
-
-static void hookApplicationMenu(Display display, final String aboutName) {
-	// Callback target
-	Object target = new Object() {
-		int commandProc(int nextHandler, int theEvent, int userData) {
-			if (OS.GetEventKind(theEvent) == OS.kEventProcessCommand) {
-				HICommand command = new HICommand();
-				OS.GetEventParameter(theEvent, OS.kEventParamDirectObject,
-						OS.typeHICommand, null, HICommand.sizeof, null,
-						command);
-				switch (command.commandID) {
-				case kHICommandPreferences:
-					return handleCommand("Preferences"); //$NON-NLS-1$
-				case kHICommandAbout:
-					return handleCommand(aboutName);
-				default:
-					break;
-				}
-			}
-			return OS.eventNotHandledErr;
-		}
-
-		int handleCommand(String command) {
-			Shell shell = new Shell();
-			MessageBox preferences = new MessageBox(shell, SWT.ICON_WARNING);
-			preferences.setText(command);
-			preferences.open();
-			shell.dispose();
-			return OS.noErr;
-		}
-	};
-
-	final Callback commandCallback = new Callback(target, "commandProc", 3); //$NON-NLS-1$
-	int commandProc = commandCallback.getAddress();
-	if (commandProc == 0) {
-		commandCallback.dispose();
-		return; // give up
-	}
-
-	// Install event handler for commands
-	int[] mask = new int[] { OS.kEventClassCommand, OS.kEventProcessCommand };
-	OS.InstallEventHandler(OS.GetApplicationEventTarget(), commandProc,
-			mask.length / 2, mask, 0, null);
-
-	// create About ... menu command
-	int[] outMenu = new int[1];
-	short[] outIndex = new short[1];
-	if (OS.GetIndMenuItemWithCommandID(0, kHICommandPreferences, 1,
-			outMenu, outIndex) == OS.noErr
-			&& outMenu[0] != 0) {
-		int menu = outMenu[0];
-
-		int l = aboutName.length();
-		char buffer[] = new char[l];
-		aboutName.getChars(0, l, buffer, 0);
-		int str = OS.CFStringCreateWithCharacters(OS.kCFAllocatorDefault,
-				buffer, l);
-		OS.InsertMenuItemTextWithCFString(menu, str, (short) 0, 0,
-				kHICommandAbout);
-		OS.CFRelease(str);
-
-		// add separator between About & Preferences
-		OS.InsertMenuItemTextWithCFString(menu, 0, (short) 1,
-				OS.kMenuItemAttrSeparator, 0);
-
-		// enable pref menu
-		OS.EnableMenuCommand(menu, kHICommandPreferences);
-
-		// disable services menu
-		OS.DisableMenuCommand(menu, kHICommandServices);
-	}
-
-	// schedule disposal of callback object
-	display.disposeExec(new Runnable() {
-		public void run() {
-			commandCallback.dispose();
-		}
-	});
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet179.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet179.java
deleted file mode 100644
index 13805f8..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet179.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Text example snippet: verify input (format for date)
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import java.util.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet179 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new GridLayout());
-	final Text text = new Text(shell, SWT.BORDER);
-	text.setText("YYYY/MM/DD");;	
-	final Calendar calendar = Calendar.getInstance();
-	text.addListener(SWT.Verify, new Listener() {
-		boolean ignore;
-		public void handleEvent(Event e) {
-			if (ignore) return;
-			e.doit = false;
-			StringBuffer buffer = new StringBuffer(e.text);
-			char[] chars = new char[buffer.length()];
-			buffer.getChars(0, chars.length, chars, 0);
-			if (e.character == '\b') {
-				for (int i = e.start; i < e.end; i++) {
-					switch (i) {
-						case 0: /* [Y]YYY */
-						case 1: /* Y[Y]YY */
-						case 2: /* YY[Y]Y */
-						case 3: /* YYY[Y] */ {
-							buffer.append('Y'); 	break;
-						}
-						case 5: /* [M]M*/
-						case 6: /* M[M] */{
-							buffer.append('M'); break;
-						}
-						case 8: /* [D]D */
-						case 9: /* D[D] */ {
-							buffer.append('D'); break;
-						}
-						case 4: /* YYYY[/]MM */
-						case 7: /* MM[/]DD */ {
-							buffer.append('/'); break;
-						}
-						default:
-							return;
-					}
-				}
-				text.setSelection(e.start, e.start + buffer.length());
-				ignore = true;
-				text.insert(buffer.toString());
-				ignore = false;
-				text.setSelection(e.start, e.start);
-				return;
-			}
-		
-			int start = e.start;
-			if (start > 9) return;
-			int index = 0;
-			for (int i = 0; i < chars.length; i++) {
-				if (start + index == 4 || start + index == 7) {
-					if (chars[i] == '/') {
-						index++;
-						continue;
-					}
-					buffer.insert(index++, '/');
-				}
-				if (chars[i] < '0' || '9' < chars[i]) return;
-				if (start + index == 5 &&  '1' < chars[i]) return; /* [M]M */
-				if (start + index == 8 &&  '3' < chars[i]) return; /* [D]D */
-				index++;
-			}
-			String newText = buffer.toString();
-			int length = newText.length();
-			StringBuffer date = new StringBuffer(text.getText());
-			date.replace(e.start, e.start + length, newText);
-			calendar.set(Calendar.YEAR, 1901);
-			calendar.set(Calendar.MONTH, Calendar.JANUARY);
-			calendar.set(Calendar.DATE, 1);
-			String yyyy = date.substring(0, 4);
-			if (yyyy.indexOf('Y') == -1) {
-				int year = Integer.parseInt(yyyy);
-				calendar.set(Calendar.YEAR, year);
-			}
-			String mm = date.substring(5, 7);
-			if (mm.indexOf('M') == -1) {
-				int month =  Integer.parseInt(mm) - 1;
-				int maxMonth = calendar.getActualMaximum(Calendar.MONTH);
-				if (0 > month || month > maxMonth) return;
-				calendar.set(Calendar.MONTH, month);
-			}
-			String dd = date.substring(8,10);
-			if (dd.indexOf('D') == -1) {
-				int day = Integer.parseInt(dd);
-				int maxDay = calendar.getActualMaximum(Calendar.DATE);
-				if (1 > day || day > maxDay) return;
-				calendar.set(Calendar.DATE, day);
-			} else {
-				if (calendar.get(Calendar.MONTH)  == Calendar.FEBRUARY) {
-					char firstChar = date.charAt(8);
-					if (firstChar != 'D' && '2' < firstChar) return;
-				}
-			}
-			text.setSelection(e.start, e.start + length);
-			ignore = true;
-			text.insert(newText);
-			ignore = false;
-		}
-	});
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet18.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet18.java
deleted file mode 100644
index 808bfb9..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet18.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * ToolBar example snippet: create a tool bar (text)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet18 {
-
-public static void main (String [] args) {
-	Shell shell = new Shell ();
-	ToolBar bar = new ToolBar (shell, SWT.BORDER);
-	for (int i=0; i<8; i++) {
-		ToolItem item = new ToolItem (bar, SWT.PUSH);
-		item.setText ("Item " + i);
-	}
-	bar.pack ();
-	shell.open ();
-	Display display = shell.getDisplay ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-} 
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet180.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet180.java
deleted file mode 100644
index 0e7f31c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet180.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Create a non-rectangular shell to simulate transparency
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet180 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	final Image image = display.getSystemImage(SWT.ICON_WARNING);
-	//Shell must be created with style SWT.NO_TRIM
-	final Shell shell = new Shell(display, SWT.NO_TRIM | SWT.ON_TOP);
-	shell.setBackground(display.getSystemColor(SWT.COLOR_RED));
-	//define a region 
-	Region region = new Region();
-	Rectangle pixel = new Rectangle(0, 0, 1, 1);
-	for (int y = 0; y < 200; y+=2) {
-			for (int x = 0; x < 200; x+=2) {
-				pixel.x = x;
-				pixel.y = y;
-				region.add(pixel);
-			}
-		}
-	//define the shape of the shell using setRegion
-	shell.setRegion(region);
-	Rectangle size = region.getBounds();
-	shell.setSize(size.width, size.height);
-	shell.addPaintListener(new PaintListener() {
-		public void paintControl(PaintEvent e) {
-			Rectangle bounds = image.getBounds();
-			Point size = shell.getSize();
-			e.gc.drawImage(image, 0, 0, bounds.width, bounds.height, 10, 10, size.x-20, size.y-20);
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	region.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet181.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet181.java
deleted file mode 100644
index 2dd1588..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet181.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Allow user to reorder columns and reorder columns programmatically.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet181 {
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new RowLayout(SWT.HORIZONTAL));
-		final Table table = new Table(shell, SWT.BORDER | SWT.CHECK);
-		table.setLayoutData(new RowData(-1, 300));
-		table.setHeaderVisible(true);
-		TableColumn column = new TableColumn(table, SWT.LEFT);
-		column.setText("Column 0");
-		column = new TableColumn(table, SWT.CENTER);
-		column.setText("Column 1");
-		column = new TableColumn(table, SWT.CENTER);
-		column.setText("Column 2");
-		column = new TableColumn(table, SWT.CENTER);
-		column.setText("Column 3");
-		column = new TableColumn(table, SWT.CENTER);
-		column.setText("Column 4");
-		for (int i = 0; i < 100; i++) {
-			TableItem item = new TableItem(table, SWT.NONE);
-			String[] text = new String[]{i+" 0", i+" 1", i+" 2", i+" 3", i+" 4"};
-			item.setText(text);
-		}
-		Listener listener = new Listener() {
-			public void handleEvent(Event e) {
-				System.out.println("Move "+e.widget);
-			}
-		};
-		TableColumn[] columns = table.getColumns();
-		for (int i = 0; i < columns.length; i++) {
-			columns[i].pack();
-			columns[i].setMoveable(true);
-			columns[i].addListener(SWT.Move, listener);
-		}
-		Button b = new Button(shell, SWT.PUSH);
-		b.setText("invert column order");
-		b.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				int[] order = table.getColumnOrder();
-				for (int i = 0; i < order.length / 2; i++) {
-					int temp = order[i];
-					order[i] = order[order.length - i - 1];
-					order[order.length - i - 1] = temp;
-				}
-				table.setColumnOrder(order);
-			}
-		});
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet182.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet182.java
deleted file mode 100644
index f710f21..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet182.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Link example snippet: create a link widget
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet182 {
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		Link link = new Link(shell, SWT.BORDER);
-		link.setText("This a very simple <A>link</A> widget.");
-		link.setSize(140, 40);
-		shell.pack ();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet183.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet183.java
deleted file mode 100644
index 88c5a1e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet183.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Link example snippet: detect selection events in a link widget
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet183 {
-	
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		Link link = new Link(shell, SWT.NONE);
-		String text = "The SWT component is designed to provide <a>efficient</a>, <a>portable</a> <a href=\"native\">access to the user-interface facilities of the operating systems</a> on which it is implemented.";
-		link.setText(text);
-		link.setSize(400, 400);
-		link.addListener (SWT.Selection, new Listener () {
-			public void handleEvent(Event event) {
-				System.out.println("Selection: " + event.text);
-			}
-		});
-		shell.pack ();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet184.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet184.java
deleted file mode 100644
index 331895a..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet184.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Spinner example snippet: create and initialize a spinner widget
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet184 {
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		Spinner spinner = new Spinner (shell, SWT.BORDER);
-		spinner.setMinimum(0);
-		spinner.setMaximum(1000);
-		spinner.setSelection(500);
-		spinner.setIncrement(1);
-		spinner.setPageIncrement(100);
-		spinner.pack();
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet185.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet185.java
deleted file mode 100644
index d94d7c7..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet185.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Make a dropped data type depend on a target item in table
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import java.io.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet185 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	Label label1 = new Label(shell, SWT.BORDER);
-	label1.setText("Drag Source");
-	final Table table = new Table(shell, SWT.BORDER);
-	for (int i = 0; i < 4; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		if (i % 2 == 0) item.setText("Drop a file");
-		if (i % 2 == 1) item.setText("Drop text");
-	}
-	DragSource dragSource = new DragSource(label1, DND.DROP_COPY);
-	dragSource.setTransfer(new Transfer[] {TextTransfer.getInstance(), FileTransfer.getInstance()});
-	dragSource.addDragListener(new DragSourceAdapter() {
-		public void dragSetData(DragSourceEvent event) {
-			if (FileTransfer.getInstance().isSupportedType(event.dataType)) {
-				File file = new File("temp");
-				event.data = new String[] {file.getAbsolutePath()};
-			}
-			if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
-				event.data = "once upon a time";
-			}
-		} 
-	});
-	DropTarget dropTarget = new DropTarget(table, DND.DROP_COPY | DND.DROP_DEFAULT);
-	dropTarget.setTransfer(new Transfer[] {TextTransfer.getInstance(), FileTransfer.getInstance()});
-	dropTarget.addDropListener(new DropTargetAdapter() {
-		FileTransfer fileTransfer = FileTransfer.getInstance();
-		TextTransfer textTransfer = TextTransfer.getInstance();
-		public void dragEnter(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT) event.detail = DND.DROP_COPY;
-		}
-		public void dragOperationChanged(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT) event.detail = DND.DROP_COPY;
-		}
-		public void dragOver(DropTargetEvent event) {
-			event.detail = DND.DROP_NONE;
-			TableItem item = (TableItem)event.item;
-			if (item == null) return;
-			int itemIndex = table.indexOf(item);
-			if (itemIndex % 2 == 0) {
-				int index = 0;
-				while (index < event.dataTypes.length) {
-					if (fileTransfer.isSupportedType(event.dataTypes[index])) break;
-					index++;
-				}
-				if (index < event.dataTypes.length) {
-					event.currentDataType = event.dataTypes[index];
-					event.detail = DND.DROP_COPY;
-					return;
-				}
-			} else {
-				int index = 0;
-				while (index < event.dataTypes.length) {
-					if (textTransfer.isSupportedType(event.dataTypes[index])) break;
-					index++;
-				}
-				if (index < event.dataTypes.length) {
-					event.currentDataType = event.dataTypes[index];
-					event.detail = DND.DROP_COPY;
-					return;
-				}
-			}
-		}
-
-		public void drop(DropTargetEvent event) {
-			TableItem item = (TableItem)event.item;
-			if (item == null) {
-				event.detail = DND.DROP_NONE;
-				return;
-			}
-			if (fileTransfer.isSupportedType(event.currentDataType)) {
-				String[] files = (String[])event.data;
-				if (files != null && files.length > 0) {
-					item.setText(files[0]);
-				}
-			}
-			if (textTransfer.isSupportedType(event.currentDataType)) {
-				String text = (String)event.data;
-				if (text != null) {
-					item.setText(text);
-				}
-			}
-		}
-		
-	});
-	shell.setSize(300, 150);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet186.html b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet186.html
deleted file mode 100644
index d9f8803..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet186.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<HTML>
-  <HEAD>
-    <TITLE>Post</TITLE>
-	<p>Test for Posting Data in IE</p>
-
-  </HEAD>
-
-  <BODY>
-    <FORM METHOD="post"
-       ACTION="http://host/cgi-bin/mas_form">
-    <INPUT TYPE="text" NAME="name"
-       SIZE=20 VALUE="Try it (post)">
- </FORM>
- 
-  </BODY>
-</HTML>
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet186.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet186.java
deleted file mode 100644
index 7602c2d..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet186.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Reading and writing to a SAFEARRAY
- * 
- * This example reads from a PostData object in a BeforeNavigate2 event and
- * creates a PostData object in a call to Navigate (32-bit win32 only).
- * NOTE: This snippet uses internal SWT packages that are
- * subject to change without notice.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.internal.win32.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet186 {
-
-static int CodePage = OS.GetACP();
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new GridLayout(2, false));
-	
-	final Text text = new Text(shell, SWT.BORDER);
-	text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
-	Button go = new Button(shell, SWT.PUSH);
-	go.setText("Go");
-	OleFrame oleFrame = new OleFrame(shell, SWT.NONE);
-	oleFrame.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
-	OleControlSite controlSite;
-	OleAutomation automation;
-	try {
-		controlSite = new OleControlSite(oleFrame, SWT.NONE, "Shell.Explorer");
-		automation = new OleAutomation(controlSite);
-		controlSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
-	} catch (SWTException ex) {
-		return;
-	}
-	
-	final OleAutomation auto = automation;
-	go.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event e) {
-			String url = text.getText();
-			int[] rgdispid = auto.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];
-			auto.invoke(dispIdMember, rgvarg, rgdispidNamedArgs);
-		}
-	});
-	
-	
-	// Read PostData whenever we navigate to a site that uses it
-	int BeforeNavigate2 = 0xfa;
-	controlSite.addEventListener(BeforeNavigate2, new OleListener() {
-		public void handleEvent(OleEvent event) {
-			Variant url = event.arguments[1];
-			Variant postData = event.arguments[4];
-			if (postData != null) {
-				System.out.println("PostData = "+readSafeArray(postData)+", URL = "+url.getString());
-			}
-		}
-	});
-	
-	// Navigate to this web site which uses post data to fill in the text field
-	// and put the string "hello world" into the text box
-	text.setText("file://"+Snippet186.class.getResource("Snippet186.html").getFile());
-	int[] rgdispid = automation.getIDsOfNames(new String[]{"Navigate", "URL", "PostData"}); 
-	int dispIdMember = rgdispid[0];	
-	Variant[] rgvarg = new Variant[2];
-	rgvarg[0] = new Variant(text.getText());
-	rgvarg[1] = writeSafeArray("hello world");
-	int[] rgdispidNamedArgs = new int[2];
-	rgdispidNamedArgs[0] = rgdispid[1];
-	rgdispidNamedArgs[1] = rgdispid[2];
-	automation.invoke(dispIdMember, rgvarg, rgdispidNamedArgs);
-		
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-// The following structs are accessed in the readSafeArray and writeSafeArray
-// functions:
-//
-// VARIANT:
-// 		short vt
-// 		short wReserved1
-// 		short wReserved2
-// 		short wReserved3
-// 		int parray
-//
-// SAFEARRAY:
-//      short cDims      // Count of dimensions in this array
-//      short fFeatures  // Flags used by the SafeArray
-//      int cbElements   // Size of an element of the array
-//      int cLocks       // Number of times the array has been locked without corresponding unlock
-//      int pvData       // Pointer to the data
-//      SAFEARRAYBOUND[] rgsabound // One bound for each dimension
-//
-// SAFEARRAYBOUND:
-//      int cElements    // the number of elements in the dimension
-//      int lLbound      // the lower bound of the dimension 
-
-static String readSafeArray(Variant variantByRef) {
-	// Read a safearray that contains data of 
-	// type VT_UI1 (unsigned shorts) which contains
-	// a text stream.
-    int pPostData = variantByRef.getByRef();
-    short[] vt_type = new short[1];
-    OS.MoveMemory(vt_type, pPostData, 2);
-    String result = null;
-    if (vt_type[0] == (short)(OLE.VT_BYREF | OLE.VT_VARIANT)) {
-        int[] pVariant = new int[1];
-        OS.MoveMemory(pVariant, pPostData + 8, 4);
-        vt_type = new short[1];
-        OS.MoveMemory(vt_type, pVariant[0], 2);
-        if (vt_type[0] == (short)(OLE.VT_ARRAY | OLE.VT_UI1)) {
-            int[] pSafearray = new int[1];
-            OS.MoveMemory(pSafearray, pVariant[0] + 8, 4);
-            short[] cDims = new short[1];
-            OS.MoveMemory(cDims, pSafearray[0], 2);
-            int[] pvData = new int[1];
-            OS.MoveMemory(pvData, pSafearray[0] + 12, 4);
-            int safearrayboundOffset = 0;
-            for (int i = 0; i < cDims[0]; i++) {
-                int[] cElements = new int[1];
-                OS.MoveMemory(cElements, pSafearray[0] + 16 + safearrayboundOffset, 4);
-                safearrayboundOffset += 8;
-                int cchWideChar = OS.MultiByteToWideChar (CodePage, OS.MB_PRECOMPOSED,  pvData[0], -1, null, 0);
-				if (cchWideChar == 0) return null;
-				char[] lpWideCharStr = new char [cchWideChar - 1];
-				OS.MultiByteToWideChar (CodePage, OS.MB_PRECOMPOSED,  pvData[0], -1, lpWideCharStr, lpWideCharStr.length);
-				result = new String(lpWideCharStr);
-            }
-        }
-    }
-    return result;
-}
-
-static Variant writeSafeArray (String string) {
-	// Create a one dimensional safearray containing two VT_UI1 values
-	// where VT_UI1 is an unsigned char
-	
-	// Define cDims, fFeatures and cbElements
-	short cDims = 1;
-	short FADF_FIXEDSIZE = 0x10;
-	short FADF_HAVEVARTYPE = 0x80;
-	short fFeatures = (short)(FADF_FIXEDSIZE | FADF_HAVEVARTYPE);
-	int cbElements = 1;
-	// Create a pointer and copy the data into it
-	int count = string.length();
-	char[] chars = new char[count + 1];
-	string.getChars(0, count, chars, 0);
-	int cchMultiByte = OS.WideCharToMultiByte(CodePage, 0, chars, -1, null, 0, null, null);
-	if (cchMultiByte == 0) return null;
-	int pvData = OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, cchMultiByte);
-	OS.WideCharToMultiByte(CodePage, 0, chars, -1, pvData, cchMultiByte, null, null);
-	int cElements1 = cchMultiByte;
-	int lLbound1 = 0;
-	// Create a safearray in memory
-	// 12 bytes for cDims, fFeatures and cbElements + 4 bytes for pvData + number of dimensions * (size of safearraybound)
-	int sizeofSafeArray = 12 + 4 + 1*8;
-	int pSafeArray = OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, sizeofSafeArray);
-	// Copy the data into the safe array
-	int offset = 0;
-	OS.MoveMemory(pSafeArray + offset, new short[] {cDims}, 2); offset += 2;
-	OS.MoveMemory(pSafeArray + offset, new short[] {fFeatures}, 2); offset += 2;
-	OS.MoveMemory(pSafeArray + offset, new int[] {cbElements}, 4); offset += 4;
-	OS.MoveMemory(pSafeArray + offset, new int[] {0}, 4); offset += 4;
-	OS.MoveMemory(pSafeArray + offset, new int[] {pvData}, 4); offset += 4;
-	OS.MoveMemory(pSafeArray + offset, new int[] {cElements1}, 4); offset += 4;
-	OS.MoveMemory(pSafeArray + offset, new int[] {lLbound1}, 4); offset += 4;
-	// Create a variant in memory to hold the safearray
-	int pVariant = OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, Variant.sizeof);
-	short vt = (short)(OLE.VT_ARRAY | OLE.VT_UI1);
-	OS.MoveMemory(pVariant, new short[] {vt}, 2);
-	OS.MoveMemory(pVariant + 8, new int[]{pSafeArray}, 4);
-	// Create a by ref variant
-	Variant variantByRef = new Variant(pVariant, (short)(OLE.VT_BYREF | OLE.VT_VARIANT));
-	return variantByRef;
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet187.html b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet187.html
deleted file mode 100644
index c9b2762..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet187.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<HTML>
-  <HEAD>
-    <TITLE>Evaluate</TITLE>
-	<p>Test for IE Script</p>
-    <SCRIPT>
-      function evaluate(x)
-      {
-         alert("hello")
-         return eval(x)
-      }
-   </SCRIPT>
-  </HEAD>
-
-  <BODY>
-  </BODY>
-</HTML>
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet187.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet187.java
deleted file mode 100644
index ccb0162..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet187.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Running a script within IE. (win32 only)
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-public class Snippet187 {
-	
-public static void main(String[] args) {
-	final Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	OleControlSite controlSite;
-	try {
-		OleFrame frame = new OleFrame(shell, SWT.NONE);
-		controlSite = new OleControlSite(frame, SWT.NONE, "Shell.Explorer");
-		controlSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
-	} catch (SWTError e) {
-		System.out.println("Unable to open activeX control");
-		return;
-	}
-	
-	// IWebBrowser
-	final OleAutomation webBrowser = new OleAutomation(controlSite);
-
-	// When the document is loaded, access the document object for the new page
-	// and evalute expression using Script.
-	int DownloadComplete = 104;
-	controlSite.addEventListener(DownloadComplete, new OleListener() {
-		public void handleEvent(OleEvent event) {
-			int[] htmlDocumentID = webBrowser.getIDsOfNames(new String[]{"Document"}); 
-			if (htmlDocumentID == null) return;
-			Variant pVarResult = webBrowser.getProperty(htmlDocumentID[0]);
-			if (pVarResult == null || pVarResult.getType() == 0) return;
-			//IHTMLDocument2
-			OleAutomation htmlDocument = null;
-			try {
-				htmlDocument = pVarResult.getAutomation();
-				pVarResult.dispose();
-	
-				int[] scriptID = htmlDocument.getIDsOfNames(new String[]{"Script"}); 
-				if (scriptID == null) return;
-				pVarResult = htmlDocument.getProperty(scriptID[0]);
-				if (pVarResult == null || pVarResult.getType() == 0) return;
-				OleAutomation htmlWindow = null;
-				try {
-					//IHTMLWindow2
-					htmlWindow = pVarResult.getAutomation();
-					pVarResult.dispose();
-					int[] evaluateID = htmlWindow.getIDsOfNames(new String[] {"evaluate"});
-					if (evaluateID == null) return;
-					String expression = "5+Math.sin(9)";
-					Variant[] rgvarg = new Variant[] {new Variant(expression)};
-					pVarResult = htmlWindow.invoke(evaluateID[0], rgvarg, null);
-					if (pVarResult == null || pVarResult.getType() == 0) return;
-					System.out.println(expression+" ="+pVarResult.getString());
-				} finally {
-					htmlWindow.dispose();
-				}
-			} finally {
-				htmlDocument.dispose();
-			}
-		}
-	});
-	
-	// Navigate to a web site
-	int[] ids = webBrowser.getIDsOfNames(new String[]{"Navigate", "URL"}); 
-	Variant[] rgvarg = new Variant[] {new Variant("http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet187.html")};
-	int[] rgdispidNamedArgs = new int[]{ids[1]};
-	webBrowser.invoke(ids[0], rgvarg, rgdispidNamedArgs);
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	//Remember to release OleAutomation Object
-	webBrowser.dispose();
-	display.dispose();
-	
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet188.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet188.java
deleted file mode 100644
index e36ae50..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet188.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Scroll a widget into view on focus in
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-
-public class Snippet188 {
-	
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new GridLayout());
-	final ScrolledComposite sc = new ScrolledComposite(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	sc.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
-	Composite c = new Composite(sc, SWT.NONE);
-	c.setLayout(new GridLayout(10, true));
-	for (int i = 0 ; i < 300; i++) {
-		Button b = new Button(c, SWT.PUSH);
-		b.setText("Button "+i);
-	}
-	sc.setContent(c);
-	sc.setExpandHorizontal(true);
-	sc.setExpandVertical(true);
-	sc.setMinSize(c.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-	sc.setShowFocusedControl(true);
-	
-	shell.setSize(300, 500);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet189.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet189.java
deleted file mode 100644
index 54f30b2..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet189.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Text with underline and strike through
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-
-public class Snippet189 {
-	
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setText("StyledText with underline and strike through");
-	shell.setLayout(new FillLayout());
-	StyledText text = new StyledText (shell, SWT.BORDER);
-	text.setText("0123456789 ABCDEFGHIJKLM NOPQRSTUVWXYZ");
-	// make 0123456789 appear underlined
-	StyleRange style1 = new StyleRange();
-	style1.start = 0;
-	style1.length = 10;
-	style1.underline = true;
-	text.setStyleRange(style1);
-	// make ABCDEFGHIJKLM have a strike through
-	StyleRange style2 = new StyleRange();
-	style2.start = 11;
-	style2.length = 13;
-	style2.strikeout = true;
-	text.setStyleRange(style2);
-	// make NOPQRSTUVWXYZ appear underlined and have a strike through
-	StyleRange style3 = new StyleRange();
-	style3.start = 25;
-	style3.length = 13;
-	style3.underline = true;
-	style3.strikeout = true;
-	text.setStyleRange(style3);
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet19.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet19.java
deleted file mode 100644
index be69169..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet19.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Text example snippet: verify input (only allow digits)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet19 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Text text = new Text (shell, SWT.BORDER | SWT.V_SCROLL);
-	text.setBounds (10, 10, 200, 200);
-	text.addListener (SWT.Verify, new Listener () {
-		public void handleEvent (Event e) {
-			String string = e.text;
-			char [] chars = new char [string.length ()];
-			string.getChars (0, chars.length, chars, 0);
-			for (int i=0; i<chars.length; i++) {
-				if (!('0' <= chars [i] && chars [i] <= '9')) {
-					e.doit = false;
-					return;
-				}
-			}
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet190.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet190.java
deleted file mode 100644
index b9d71c4..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet190.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Floating point values in Spinner
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-
-public class Snippet190 {
-	
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setText("Spinner with float values");
-	shell.setLayout(new GridLayout());
-	final Spinner spinner = new Spinner(shell, SWT.NONE);
-	// allow 3 decimal places
-	spinner.setDigits(3);
-	// set the minimum value to 0.001
-	spinner.setMinimum(1);
-	// set the maximum value to 20
-	spinner.setMaximum(20000);
-	// set the increment value to 0.010
-	spinner.setIncrement(10);
-	// set the seletion to 3.456
-	spinner.setSelection(3456);
-	spinner.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			int selection = spinner.getSelection();
-			int digits = spinner.getDigits();
-			System.out.println("Selection is "+(selection / Math.pow(10, digits)));
-		}
-	});
-	shell.setSize(200, 200);
-	shell.open();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet191.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet191.java
deleted file mode 100644
index 0fac1a6..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet191.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Detect when the user scrolls a text control
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-public class Snippet191 {
-public static void main(String[] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	final Text text = new Text (shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	for (int i=0; i<32; i++) {
-		text.append (i + "-This is a line of text in a widget-" + i + "\n");
-	}
-	text.setSelection (0);
-	Listener listener = new Listener () {
-		int lastIndex = text.getTopIndex ();
-		public void handleEvent (Event e) {
-			int index = text.getTopIndex ();
-			if (index != lastIndex) {
-				lastIndex = index;
-				System.out.println ("Scrolled, topIndex=" + index);
-			}
-		}
-	};
-	/* NOTE: Only detects scrolling by the user */
-	text.addListener (SWT.MouseDown, listener);
-	text.addListener (SWT.MouseMove, listener);
-	text.addListener (SWT.MouseUp, listener);
-	text.addListener (SWT.KeyDown, listener);
-	text.addListener (SWT.KeyUp, listener);
-	text.addListener (SWT.Resize, listener);
-	ScrollBar hBar = text.getHorizontalBar();
-	if (hBar != null) {
-		hBar.addListener (SWT.Selection, listener);
-	}
-	ScrollBar vBar = text.getVerticalBar();
-	if (vBar != null) {
-		vBar.addListener (SWT.Selection, listener);
-	}
-	shell.pack ();
-	Point size = shell.computeSize (SWT.DEFAULT, SWT.DEFAULT);
-	shell.setSize (size. x - 32, size.y / 2);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet192.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet192.java
deleted file mode 100644
index 3d8d6d0..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet192.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-import java.util.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Show a sort indicator in the column header
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-public class Snippet192 {
-public static void main(String[] args) {
-	// initialize data with keys and random values
-	int size = 100;
-	Random random = new Random();
-	final int[][] data = new int[size][];
-	for (int i = 0; i < data.length; i++) {
-		data[i] = new int[] {i, random.nextInt()};
-	}
-	// create a virtual table to display data
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Table table = new Table(shell, SWT.VIRTUAL);
-	table.setHeaderVisible(true);
-	table.setLinesVisible(true);
-	table.setItemCount(size);
-	final TableColumn column1 = new TableColumn(table, SWT.NONE);
-	column1.setText("Key");
-	column1.setWidth(200);
-	final TableColumn column2 = new TableColumn(table, SWT.NONE);
-	column2.setText("Value");
-	column2.setWidth(200);
-	table.addListener(SWT.SetData, new Listener() {
-		public void handleEvent(Event e) {
-			TableItem item = (TableItem) e.item;
-			int index = table.indexOf(item);
-			int[] datum = data[index];
-			item.setText(new String[] {Integer.toString(datum[0]),
-					Integer.toString(datum[1]) });
-		}
-	});
-	// Add sort indicator and sort data when column selected
-	Listener sortListener = new Listener() {
-		public void handleEvent(Event e) {
-			// determine new sort column and direction
-			TableColumn sortColumn = table.getSortColumn();
-			TableColumn currentColumn = (TableColumn) e.widget;
-			int dir = table.getSortDirection();
-			if (sortColumn == currentColumn) {
-				dir = dir == SWT.UP ? SWT.DOWN : SWT.UP;
-			} else {
-				table.setSortColumn(currentColumn);
-				dir = SWT.UP;
-			}
-			// sort the data based on column and direction
-			final int index = currentColumn == column1 ? 0 : 1;
-			final int direction = dir;
-			Arrays.sort(data, new Comparator() {
-				public int compare(Object arg0, Object arg1) {
-					int[] a = (int[]) arg0;
-					int[] b = (int[]) arg1;
-					if (a[index] == b[index]) return 0;
-					if (direction == SWT.UP) {
-						return a[index] < b[index] ? -1 : 1;
-					}
-					return a[index] < b[index] ? 1 : -1;
-				}
-			});
-			// update data displayed in table
-			table.setSortDirection(dir);
-			table.clearAll();
-		}
-	};
-	column1.addListener(SWT.Selection, sortListener);
-	column2.addListener(SWT.Selection, sortListener);
-	table.setSortColumn(column1);
-	table.setSortDirection(SWT.UP);
-	shell.setSize(shell.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, 300);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet193.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet193.java
deleted file mode 100644
index ef0b65a..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet193.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Tree example snippet: allow user to reorder columns by dragging and programmatically.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet193 {
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new RowLayout(SWT.HORIZONTAL));
-		final Tree tree = new Tree(shell, SWT.BORDER | SWT.CHECK);
-		tree.setLayoutData(new RowData(-1, 300));
-		tree.setHeaderVisible(true);
-		TreeColumn column = new TreeColumn(tree, SWT.LEFT);
-		column.setText("Column 0");
-		column = new TreeColumn(tree, SWT.CENTER);
-		column.setText("Column 1");
-		column = new TreeColumn(tree, SWT.LEFT);
-		column.setText("Column 2");
-		column = new TreeColumn(tree, SWT.RIGHT);
-		column.setText("Column 3");
-		column = new TreeColumn(tree, SWT.CENTER);
-		column.setText("Column 4");
-		for (int i = 0; i < 5; i++) {
-			TreeItem item = new TreeItem(tree, SWT.NONE);
-			String[] text = new String[]{i+":0", i+":1", i+":2", i+":3", i+":4"};
-			item.setText(text);
-			for (int j = 0; j < 5; j++) {
-				TreeItem subItem = new TreeItem(item, SWT.NONE);
-				text = new String[]{i+","+j+":0", i+","+j+":1", i+","+j+":2", i+","+j+":3", i+","+j+":4"};
-				subItem.setText(text);
-				for (int k = 0; k < 5; k++) {
-					TreeItem subsubItem = new TreeItem(subItem, SWT.NONE);
-					text = new String[]{i+","+j+","+k+":0", i+","+j+","+k+":1", i+","+j+","+k+":2", i+","+j+","+k+":3", i+","+j+","+k+":4"};
-					subsubItem.setText(text);
-				}
-			}
-		}
-		Listener listener = new Listener() {
-			public void handleEvent(Event e) {
-				System.out.println("Move "+e.widget);
-			}
-		};
-		TreeColumn[] columns = tree.getColumns();
-		for (int i = 0; i < columns.length; i++) {
-			columns[i].setWidth(100);
-			columns[i].setMoveable(true);
-			columns[i].addListener(SWT.Move, listener);
-		}
-		Button b = new Button(shell, SWT.PUSH);
-		b.setText("invert column order");
-		b.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				int[] order = tree.getColumnOrder();
-				for (int i = 0; i < order.length / 2; i++) {
-					int temp = order[i];
-					order[i] = order[order.length - i - 1];
-					order[order.length - i - 1] = temp;
-				}
-				tree.setColumnOrder(order);
-			}
-		});
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet194.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet194.java
deleted file mode 100644
index 046253f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet194.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Write an animated GIF to a file.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet194 {
-	Display display;
-	Color white, red, green, blue;
-	PaletteData palette;
-	Font font;
-
-	public static void main(String[] args) {
-		new Snippet194().run();
-	}
-	
-	public void run() {
-		display = new Display();
-		RGB whiteRGB = new RGB(0xff, 0xff, 0xff);
-		RGB redRGB = new RGB(0xff, 0, 0);
-		RGB greenRGB = new RGB(0, 0xff, 0);
-		RGB blueRGB = new RGB(0, 0, 0xff);
-		palette = new PaletteData(new RGB[] {
-				whiteRGB,	// 0
-				redRGB,		// 1
-				greenRGB,	// 2
-				blueRGB });	// 3
-		white = new Color(display, whiteRGB);
-		red = new Color(display, redRGB);
-		green = new Color(display, greenRGB);
-		blue = new Color(display, blueRGB);
-		font = new Font(display, "Comic Sans MS", 24, SWT.BOLD);
-		
-		ImageData[] data = new ImageData[4];
-		data[0] = newFrame("",  white, false, 0, 0, 101, 55, SWT.DM_FILL_NONE, 40);
-		data[1] = newFrame("S", red,   true,  0, 0,  30, 55, SWT.DM_FILL_NONE, 40);
-		data[2] = newFrame("W", green, true, 28, 0,  39, 55, SWT.DM_FILL_NONE, 40);
-		data[3] = newFrame("T", blue,  true, 69, 0,  32, 55, SWT.DM_FILL_BACKGROUND, 200);
-		
-		ImageLoader loader = new ImageLoader();
-		loader.data = data;
-		loader.backgroundPixel = 0;
-		loader.logicalScreenHeight = data[0].height;
-		loader.logicalScreenWidth = data[0].width;
-		loader.repeatCount = 0; // run forever
-		loader.save("swt.gif", SWT.IMAGE_GIF);
-
-		white.dispose();
-		red.dispose();
-		green.dispose();
-		blue.dispose();
-		font.dispose();
-		display.dispose();
-	}
-
-	ImageData newFrame(String letter, Color color, boolean transparent, int x, int y, int width, int height, int disposalMethod, int delayTime) {
-		ImageData temp = new ImageData(width, height, 2, palette); // 4-color palette has depth 2
-		Image image = new Image(display, temp);
-		GC gc = new GC(image);
-		gc.setBackground(white);
-		gc.fillRectangle(0, 0, width, height);
-		gc.setForeground(color);
-		gc.setFont(font);
-		gc.drawString(letter, 5, 5);
-		gc.dispose();
-		ImageData frame = image.getImageData();
-		if (transparent) frame.transparentPixel = 0; // white
-		image.dispose();
-		frame.x = x;
-		frame.y = y;
-		frame.disposalMethod = disposalMethod;
-		frame.delayTime = delayTime;
-		return frame;
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet195.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet195.java
deleted file mode 100644
index 82fcfc5..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet195.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * SWT OpenGL snippet: use LWJGL to draw to an SWT GLCanvas
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.opengl.GLCanvas;
-import org.eclipse.swt.opengl.GLData;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GLContext;
-import org.lwjgl.opengl.glu.GLU;
-import org.lwjgl.LWJGLException;
-
-public class Snippet195 {
-	static 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, cosTheta = 1.0f, 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);
-			GL11.glBegin(GL11.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;
-				GL11.glNormal3f(cosTheta1 * cosPhi, -sinTheta1 * cosPhi, sinPhi);
-				GL11.glVertex3f(cosTheta1 * dist, -sinTheta1 * dist, r * sinPhi);
-				GL11.glNormal3f(cosTheta * cosPhi, -sinTheta * cosPhi, sinPhi);
-				GL11.glVertex3f(cosTheta * dist, -sinTheta * dist, r * sinPhi);
-			}
-			GL11.glEnd();
-			theta = theta1;
-			cosTheta = cosTheta1;
-			sinTheta = sinTheta1;
-		}
-	}
-
-	public static void main(String [] args) {
-		final Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		Composite comp = new Composite(shell, SWT.NONE);
-		comp.setLayout(new FillLayout());
-		GLData data = new GLData ();
-		data.doubleBuffer = true;
-		final GLCanvas canvas = new GLCanvas(comp, SWT.NONE, data);
-
-		canvas.setCurrent();
-		try {
-			GLContext.useContext(canvas);
-		} catch(LWJGLException e) { e.printStackTrace(); }
-
-		canvas.addListener(SWT.Resize, new Listener() {
-			public void handleEvent(Event event) {
-				Rectangle bounds = canvas.getBounds();
-				float fAspect = (float) bounds.width / (float) bounds.height;
-				canvas.setCurrent();
-				try {
-					GLContext.useContext(canvas);
-				} catch(LWJGLException e) { e.printStackTrace(); }
-				GL11.glViewport(0, 0, bounds.width, bounds.height);
-				GL11.glMatrixMode(GL11.GL_PROJECTION);
-				GL11.glLoadIdentity();
-				GLU.gluPerspective(45.0f, fAspect, 0.5f, 400.0f);
-				GL11.glMatrixMode(GL11.GL_MODELVIEW);
-				GL11.glLoadIdentity();
-			}
-		});
-
-		GL11.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL11.glColor3f(1.0f, 0.0f, 0.0f);
-		GL11.glHint(GL11.GL_PERSPECTIVE_CORRECTION_HINT, GL11.GL_NICEST);
-		GL11.glClearDepth(1.0);
-		GL11.glLineWidth(2);
-		GL11.glEnable(GL11.GL_DEPTH_TEST);
-
-		shell.setText("SWT/LWJGL Example");
-		shell.setSize(640, 480);
-		shell.open();
-
-		display.asyncExec(new Runnable() {
-			int rot = 0;
-			public void run() {
-				if (!canvas.isDisposed()) {
-					canvas.setCurrent();
-					try {
-						GLContext.useContext(canvas);
-					} catch(LWJGLException e) { e.printStackTrace(); }
-					GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
-					GL11.glClearColor(.3f, .5f, .8f, 1.0f);
-					GL11.glLoadIdentity();
-					GL11.glTranslatef(0.0f, 0.0f, -10.0f);
-					float frot = rot;
-					GL11.glRotatef(0.15f * rot, 2.0f * frot, 10.0f * frot, 1.0f);
-					GL11.glRotatef(0.3f * rot, 3.0f * frot, 1.0f * frot, 1.0f);
-					rot++;
-					GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_LINE);
-					GL11.glColor3f(0.9f, 0.9f, 0.9f);
-					drawTorus(1, 1.9f + ((float) Math.sin((0.004f * frot))), 15, 15);
-					canvas.swapBuffers();
-					display.asyncExec(this);
-				}
-			}
-		});
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet196.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet196.java
deleted file mode 100644
index 98081d4..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet196.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Text example snippet: use a regular expression to verify input
- * In this case a phone number is used.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import java.util.regex.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet196 {
-	/*
-	 * Phone numbers follow the rule [(][1-9][1-9][1-9][)][1-9][1-9][1-9][-][1-9][1-9][1-9][1-9]
-	 */
-	private static final String REGEX = "[(]\\d{3}[)]\\d{3}[-]\\d{4}";  //$NON-NLS-1$
-	private static final String template = "(###)###-####"; //$NON-NLS-1$
-	private static final String defaultText = "(000)000-0000"; //$NON-NLS-1$
-	
-	
-public static void main(String[] args) {
-	
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new GridLayout());
-	final Text text = new Text(shell, SWT.BORDER);
-	Font font = new Font(display, "Courier New", 10, SWT.NONE); //$NON-NLS-1$
-	text.setFont(font);
-	text.setText(template);	
-	text.addListener(SWT.Verify, new Listener() {
-		//create the pattern for verification
-		Pattern pattern = Pattern.compile(REGEX);	
-		//ignore event when caused by inserting text inside event handler
-		boolean ignore;
-		public void handleEvent(Event e) {
-			if (ignore) return;
-			e.doit = false;
-			if (e.start > 13 || e.end > 14) return;
-			StringBuffer buffer = new StringBuffer(e.text);
-			
-			//handle backspace
-			if (e.character == '\b') {
-				for (int i = e.start; i < e.end; i++) {
-					// skip over separators
-					switch (i) {
-						case 0: 
-							if (e.start + 1 == e.end) {
-								return;
-							} else {
-								buffer.append('(');
-							}
-							break;
-						case 4:
-							if (e.start + 1 == e.end) {
-								buffer.append(new char [] {'#',')'});
-								e.start--;
-							} else {
-								buffer.append(')');
-							}
-							break;
-						case 8:
-							if (e.start + 1 == e.end) {
-								buffer.append(new char [] {'#','-'});
-								e.start--;
-							} else {
-								buffer.append('-');
-							}
-							break;
-						default: buffer.append('#');
-					}
-				}
-				text.setSelection(e.start, e.start + buffer.length());
-				ignore = true;
-				text.insert(buffer.toString());
-				ignore = false;
-				// move cursor backwards over separators
-				if (e.start == 5 || e.start == 9) e.start--;
-				text.setSelection(e.start, e.start);
-				return;
-			}
-			
-			StringBuffer newText = new StringBuffer(defaultText);
-			char[] chars = e.text.toCharArray();
-			int index = e.start - 1;
-			for (int i = 0; i < e.text.length(); i++) {
-				index++;
-				switch (index) {
-					case 0:
-						if (chars[i] == '(') continue;
-						index++;
-						break;
-					case 4:
-						if (chars[i] == ')') continue;
-						index++;
-						break;
-					case 8:
-						if (chars[i] == '-') continue;
-						index++;
-						break;
-				}
-				if (index >= newText.length()) return;
-				newText.setCharAt(index, chars[i]);
-			}
-			// if text is selected, do not paste beyond range of selection
-			if (e.start < e.end && index + 1 != e.end) return;
-			Matcher matcher = pattern.matcher(newText);
-			if (matcher.lookingAt()) {
-				text.setSelection(e.start, index + 1);
-				ignore = true;
-				text.insert(newText.substring(e.start, index + 1));
-				ignore = false;
-			}			
-		}
-	});
-		
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	font.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet197.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet197.java
deleted file mode 100644
index 3a609bc..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet197.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Draw wrapped text using TextLayout
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet197 {
-	final static String longString = "The preferred size of a widget is the minimum size needed to show its content. In the case of a Composite, the preferred size is the smallest rectangle that contains all of its children. If children have been positioned by the application, the Composite computes its own preferred size based on the size and position of the children. If a Composite is using a layout class to position its children, it asks the Layout to compute the size of its clientArea, and then it adds in the trim to determine its preferred size.";
-public static void main(String[] args) {
-	Display display = new Display();
-	final Shell shell = new Shell(display);
-	final TextLayout layout = new TextLayout(display);
-	layout.setText(longString);
-	Listener listener = new Listener() {
-		public void handleEvent (Event event) {
-			switch (event.type) {
-			case SWT.Paint:
-				layout.draw(event.gc, 10, 10);
-				break;
-			case SWT.Resize:
-				layout.setWidth(shell.getSize().x - 20);
-				break;
-			}
-		}
-	};
-	shell.addListener(SWT.Paint, listener);
-	shell.addListener(SWT.Resize, listener);
-	shell.setSize(300, 300);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet198.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet198.java
deleted file mode 100644
index 26621fd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet198.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Create a path from some text
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet198 {
-public static void main(String[] args) {
-	Display display = new Display();
-	FontData data = display.getSystemFont().getFontData()[0];
-	Font font = new Font(display, data.getName(), 96, SWT.BOLD | SWT.ITALIC);
-	final Color green = display.getSystemColor(SWT.COLOR_GREEN);
-	final Color blue = display.getSystemColor(SWT.COLOR_BLUE);
-	final Path path;
-	try {
-		path = new Path(display);
-		path.addString("SWT", 0, 0, font);
-	} catch (SWTException e) {
-		//Advanced Graphics not supported.  
-		//This new API requires the Cairo Vector engine on GTK and Motif and GDI+ on Windows.
-		System.out.println(e.getMessage());
-		return;
-	}
-	Shell shell = new Shell(display);
-	shell.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event e) {			
-			GC gc = e.gc;
-			gc.setBackground(green);
-			gc.setForeground(blue);
-			gc.fillPath(path);
-			gc.drawPath(path);
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	path.dispose();
-	font.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet199.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet199.java
deleted file mode 100644
index 4b6f831..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet199.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Listen for events in Excel (win32 only)
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet199 {
-	static String IID_AppEvents = "{00024413-0000-0000-C000-000000000046}";
-	// Event ID
-	static int NewWorkbook            = 0x0000061d;
-	static int SheetSelectionChange   = 0x00000616;
-	static int SheetBeforeDoubleClick = 0x00000617;
-	static int SheetBeforeRightClick  = 0x00000618;
-	static int SheetActivate          = 0x00000619;
-	static int SheetDeactivate        = 0x0000061a;
-	static int SheetCalculate         = 0x0000061b;
-	static int SheetChange            = 0x0000061c;
-	static int WorkbookOpen           = 0x0000061f;
-	static int WorkbookActivate       = 0x00000620;
-	static int WorkbookDeactivate     = 0x00000621;
-	static int WorkbookBeforeClose    = 0x00000622;
-	static int WorkbookBeforeSave     = 0x00000623;
-	static int WorkbookBeforePrint    = 0x00000624;
-	static int WorkbookNewSheet       = 0x00000625;
-	static int WorkbookAddinInstall   = 0x00000626;
-	static int WorkbookAddinUninstall = 0x00000627;
-	static int WindowResize           = 0x00000612;
-	static int WindowActivate         = 0x00000614;
-	static int WindowDeactivate       = 0x00000615;
-	static int SheetFollowHyperlink   = 0x0000073e;
-
- public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	OleControlSite controlSite;
-	try {
-		OleFrame frame = new OleFrame(shell, SWT.NONE);
-		controlSite = new OleControlSite(frame, SWT.NONE, "Excel.Sheet");
-		controlSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
-	} catch (SWTError e) {
-		System.out.println("Unable to open activeX control");
-		return;
-	}
-	shell.open();
-
-	OleAutomation excelSheet = new OleAutomation(controlSite);
-	int[] dispIDs = excelSheet.getIDsOfNames(new String[] {"Application"});
-	Variant pVarResult = excelSheet.getProperty(dispIDs[0]);
-	OleAutomation application = pVarResult.getAutomation();
-	pVarResult.dispose();
-	excelSheet.dispose();
-	
-	int eventID = SheetSelectionChange;
-	OleListener listener = new OleListener() {
-		public void handleEvent (OleEvent e) {
-			System.out.println("selection has changed");
-			// two arguments which must be released (row and column)
-			Variant[] args = e.arguments;
-			for (int i = 0; i < args.length; i++) {
-				System.out.println(args[i]);
-				args [i].dispose();
-			}
-		}
-	};
-	controlSite.addEventListener(application, IID_AppEvents, eventID, listener);
-	
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	application.dispose();
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet2.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet2.java
deleted file mode 100644
index 78e5bd6..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet2.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Table example snippet: sort a table by column
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import java.text.*;
-import java.util.*;
-
-public class Snippet2 {
-
-public static void main (String [] args) {
-    Display display = new Display ();
-    Shell shell = new Shell (display);
-    shell.setLayout(new FillLayout());
-    final Table table = new Table(shell, SWT.BORDER);
-    table.setHeaderVisible(true);
-    final TableColumn column1 = new TableColumn(table, SWT.NONE);
-    column1.setText("Column 1");
-    final TableColumn column2 = new TableColumn(table, SWT.NONE);
-    column2.setText("Column 2");
-    TableItem item = new TableItem(table, SWT.NONE);
-    item.setText(new String[] {"a", "3"});
-    item = new TableItem(table, SWT.NONE);
-    item.setText(new String[] {"b", "2"});
-    item = new TableItem(table, SWT.NONE);
-    item.setText(new String[] {"c", "1"});
-    column1.setWidth(100);
-    column2.setWidth(100);
-    Listener sortListener = new Listener() {
-        public void handleEvent(Event e) {
-            TableItem[] items = table.getItems();
-            Collator collator = Collator.getInstance(Locale.getDefault());
-            TableColumn column = (TableColumn)e.widget;
-            int index = column == column1 ? 0 : 1;
-            for (int i = 1; i < items.length; i++) {
-                String value1 = items[i].getText(index);
-                for (int j = 0; j < i; j++){
-                    String value2 = items[j].getText(index);
-                    if (collator.compare(value1, value2) < 0) {
-                        String[] values = {items[i].getText(0), items[i].getText(1)};
-                        items[i].dispose();
-                        TableItem item = new TableItem(table, SWT.NONE, j);
-                        item.setText(values);
-                        items = table.getItems();
-                        break;
-                    }
-                }
-            }
-            table.setSortColumn(column);
-        }
-    };
-    column1.addListener(SWT.Selection, sortListener);
-    column2.addListener(SWT.Selection, sortListener);
-    table.setSortColumn(column1);
-    table.setSortDirection(SWT.UP);
-    shell.setSize(shell.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, 300);
-    shell.open();
-    while (!shell.isDisposed ()) {
-        if (!display.readAndDispatch ()) display.sleep ();
-    }
-    display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet20.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet20.java
deleted file mode 100644
index 46f0bd9..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet20.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * CoolBar example snippet: create a cool bar
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet20 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	CoolBar bar = new CoolBar (shell, SWT.BORDER);
-	for (int i=0; i<2; i++) {
-		CoolItem item = new CoolItem (bar, SWT.NONE);
-		Button button = new Button (bar, SWT.PUSH);
-		button.setText ("Button " + i);
-		Point size = button.computeSize (SWT.DEFAULT, SWT.DEFAULT);
-		item.setPreferredSize (item.computeSize (size.x, size.y));
-		item.setControl (button);
-	}
-	bar.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet200.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet200.java
deleted file mode 100644
index 5cd43da..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet200.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Fill a shape with a predefined pattern
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet200 {
-public static void main(String[] args) {
-	Display display = new Display();
-	//define a pattern on an image
-	final Image image = new Image(display, 1000, 1000);
-	Color blue = display.getSystemColor(SWT.COLOR_BLUE);
-	Color yellow = display.getSystemColor(SWT.COLOR_YELLOW);
-	Color white = display.getSystemColor(SWT.COLOR_WHITE);
-	GC gc = new GC(image);
-	gc.setBackground(white);
-	gc.setForeground(yellow);
-	gc.fillGradientRectangle(0, 0, 1000, 1000, true);
-	for (int i=-500; i<1000; i+=10) {
-		gc.setForeground(blue);
-		gc.drawLine(i, 0, 500 + i, 1000);
-		gc.drawLine(500 + i, 0, i, 1000);
-	}	
-	gc.dispose();
-	final Pattern pattern;
-	try {
-		pattern = new Pattern(display, image);
-	} catch (SWTException e) {
-		//Advanced Graphics not supported.  
-		//This new API requires the Cairo Vector engine on GTK and Motif and GDI+ on Windows.
-		System.out.println(e.getMessage());
-		return;
-	}
-	
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	Composite c = new Composite(shell, SWT.DOUBLE_BUFFERED);
-	c.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event event) {
-			Rectangle r = ((Composite)event.widget).getClientArea();
-			GC gc = event.gc;
-			gc.setBackgroundPattern(pattern);
-			gc.fillOval(5, 5, r.width - 10, r.height - 10);	
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	image.dispose();
-	pattern.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet201.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet201.java
deleted file mode 100644
index 35a1cb7..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet201.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Virtual Table example snippet: create a table with 1,000,000 items (lazy, page size 64)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet201 {
-
-static final int PAGE_SIZE = 64;
-static final int COUNT = 100000;
-
-public static void main(String[] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout (SWT.VERTICAL));
-	final Table table = new Table (shell, SWT.VIRTUAL | SWT.BORDER);
-	table.addListener (SWT.SetData, new Listener () {
-		public void handleEvent (Event event) {
-			TableItem item = (TableItem) event.item;
-			int index = table.indexOf (item);
-			int start = index / PAGE_SIZE * PAGE_SIZE;
-			int end = Math.min (start + PAGE_SIZE, table.getItemCount ());
-			for (int i = start; i < end; i++) {
-				item = table.getItem (i);
-				item.setText ("Item " + i);
-			}
-		}
-	});
-	table.setLayoutData (new RowData (200, 200));
-	Button button = new Button (shell, SWT.PUSH);
-	button.setText ("Add Items");
-	final Label label = new Label(shell, SWT.NONE);
-	button.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			long t1 = System.currentTimeMillis ();
-			table.setItemCount (COUNT);
-			long t2 = System.currentTimeMillis ();
-			label.setText ("Items: " + COUNT + ", Time: " + (t2 - t1) + " (ms) [page=" + PAGE_SIZE + "]");
-			shell.layout ();
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet202.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet202.java
deleted file mode 100644
index 3eb9047..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet202.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Virtual Tree example snippet: populate tree lazily
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet202 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.setLayout (new FillLayout());
-	final Tree tree = new Tree(shell, SWT.VIRTUAL | SWT.BORDER);
-	tree.addListener(SWT.SetData, new Listener() {
-		public void handleEvent(Event event) {
-			TreeItem item = (TreeItem)event.item;
-			TreeItem parentItem = item.getParentItem();
-			String text = null;
-			if (parentItem == null) {
-				text = "node "+tree.indexOf(item);
-			} else {
-				text = parentItem.getText()+" - "+parentItem.indexOf(item);
-			}
-			item.setText(text);
-			item.setItemCount(10);
-		}
-	});
-	tree.setItemCount(20);
-	shell.setSize(400, 300);
-	shell.open();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet203.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet203.java
deleted file mode 100644
index 6fb6de8..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet203.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * TextLayout example snippet: using TextLayout justify, alignment and indent 
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-
-public class Snippet203 {
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	final Shell shell = new Shell(display, SWT.SHELL_TRIM | SWT.DOUBLE_BUFFERED);	
-	shell.setText("Indent, Justify, Align");
-	String[] texts = {
-		"Plans do not materialize out of nowhere, nor are they entirely static. To ensure the planning process is transparent and open to the entire Eclipse community, we (the Eclipse PMC) post plans in an embryonic form and revise them throughout the release cycle.",
-		"The first part of the plan deals with the important matters of release deliverables, release milestones, target operating environments, and release-to-release compatibility. These are all things that need to be clear for any release, even if no features were to change.",
-		"The remainder of the plan consists of plan items for the various Eclipse subprojects. Each plan item covers a feature or API that is to be added to Eclipse, or some aspect of Eclipse that is to be improved. Each plan item has its own entry in the Eclipse bugzilla database, with a title and a concise summary (usually a single paragraph) that explains the work item at a suitably high enough level so that everyone can readily understand what the work item is without having to understand the nitty-gritty detail.",
-	};
-	int[] alignments = {SWT.LEFT, SWT.CENTER, SWT.RIGHT};
-	final TextLayout[] layouts = new TextLayout[texts.length];
-	for (int i = 0; i < layouts.length; i++) {
-		TextLayout layout = new TextLayout(display);
-		layout.setText(texts[i]);
-		layout.setIndent(30);
-		layout.setJustify(true);
-		layout.setAlignment(alignments[i]);		
-		layouts[i] = layout;
-	}
-	shell.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event event) {
-			Point point = new Point(10, 10);
-			int width = shell.getClientArea().width - 2 * point.x;
-			for (int i = 0; i < layouts.length; i++) {
-				TextLayout layout = layouts[i];
-				layout.setWidth(width);
-				layout.draw(event.gc, point.x, point.y);
-				point.y += layout.getBounds().height + 10;
-			}			
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	for (int i = 0; i < layouts.length; i++) {
-		layouts[i].dispose();		
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet204.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet204.java
deleted file mode 100644
index d4b608d..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet204.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * TextLayout example snippet: using the rise field of a TextStyle.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-
-public class Snippet204 {
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display, SWT.SHELL_TRIM | SWT.DOUBLE_BUFFERED);
-	shell.setText("Modify Rise");
-	FontData data = display.getSystemFont().getFontData()[0];
-	Font font = new Font(display, data.getName(), 24, SWT.NORMAL);
-	Font smallFont = new Font(display, data.getName(), 8, SWT.NORMAL);
-	GC gc = new GC(shell);
-	gc.setFont(smallFont);
-	FontMetrics smallMetrics = gc.getFontMetrics();
-	final int smallBaseline = smallMetrics.getAscent() + smallMetrics.getLeading();
-	gc.setFont(font);
-	FontMetrics metrics = gc.getFontMetrics();
-	final int baseline = metrics.getAscent() + metrics.getLeading();
-	gc.dispose();
-	
-	final TextLayout layout0 = new TextLayout(display);
-	layout0.setText("SubscriptScriptSuperscript");
-	layout0.setFont(font);
-	TextStyle subscript0 = new TextStyle(smallFont, null, null);
-	TextStyle superscript0 = new TextStyle(smallFont, null, null);
-	superscript0.rise = baseline - smallBaseline;
-	layout0.setStyle(subscript0, 0, 8);
-	layout0.setStyle(superscript0, 15, 25);
-		
-	final TextLayout layout1 = new TextLayout(display);
-	layout1.setText("SubscriptScriptSuperscript");
-	layout1.setFont(font);
-	TextStyle subscript1 = new TextStyle(smallFont, null, null);
-	subscript1.rise = -smallBaseline;
-	TextStyle superscript1 = new TextStyle(smallFont, null, null);
-	superscript1.rise = baseline;
-	layout1.setStyle(subscript1, 0, 8);
-	layout1.setStyle(superscript1, 15, 25);
-	
-	shell.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event event) {
-			Display display = event.display;
-			GC gc = event.gc;
-			
-			Rectangle rect0 = layout0.getBounds();
-			rect0.x += 10;
-			rect0.y += 10;
-			gc.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
-			gc.setForeground(display.getSystemColor(SWT.COLOR_BLACK));
-			gc.fillRectangle(rect0);
-			layout0.draw(gc, rect0.x, rect0.y);
-			gc.setForeground(display.getSystemColor(SWT.COLOR_MAGENTA));
-			gc.drawLine(rect0.x, rect0.y, rect0.x + rect0.width, rect0.y);
-			gc.drawLine(rect0.x, rect0.y + baseline, rect0.x + rect0.width, rect0.y + baseline);
-			gc.drawLine(rect0.x + rect0.width / 2, rect0.y, rect0.x + rect0.width / 2, rect0.y + rect0.height);
-			
-			Rectangle rect1 = layout1.getBounds();
-			rect1.x += 10;
-			rect1.y += 20 + rect0.height;
-			gc.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
-			gc.setForeground(display.getSystemColor(SWT.COLOR_BLACK));
-			gc.fillRectangle(rect1);			
-			layout1.draw(gc, rect1.x, rect1.y);
-			
-			gc.setForeground(display.getSystemColor(SWT.COLOR_MAGENTA));
-			gc.drawLine(rect1.x, rect1.y + smallBaseline, rect1.x + rect1.width, rect1.y + smallBaseline);
-			gc.drawLine(rect1.x, rect1.y + baseline + smallBaseline, rect1.x + rect1.width, rect1.y + baseline + smallBaseline);
-			gc.drawLine(rect1.x + rect1.width / 2, rect1.y, rect1.x + rect1.width / 2, rect1.y + rect1.height);
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	layout0.dispose();
-	layout1.dispose();
-	smallFont.dispose();
-	font.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet205.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet205.java
deleted file mode 100644
index 978f135..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet205.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * TextLayout example snippet: using the GlyphMetrics to embedded images in 
- * a TextLayout. 
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-
-
-public class Snippet205 {
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	final Shell shell = new Shell(display, SWT.SHELL_TRIM | SWT.DOUBLE_BUFFERED);
-	shell.setText("Embedding objects in text");
-	final Image[] images = {new Image(display, 32, 32), new Image(display, 20, 40), new Image(display, 40, 20)};
-	int[] colors  = {SWT.COLOR_BLUE, SWT.COLOR_MAGENTA, SWT.COLOR_GREEN};
-	for (int i = 0; i < images.length; i++) {
-		GC gc = new GC(images[i]);
-		gc.setBackground(display.getSystemColor(colors[i]));
-		gc.fillRectangle(images[i].getBounds());
-		gc.dispose();
-	}
-	
-	final Button button = new Button(shell, SWT.PUSH);
-	button.setText("Button");
-	button.pack();
-	String text = "Here is some text with a blue image \uFFFC, a magenta image \uFFFC, a green image \uFFFC, and a button: \uFFFC.";
-	final int[] imageOffsets = {36, 55, 72};
-	final TextLayout layout = new TextLayout(display);
-	layout.setText(text);
-	for (int i = 0; i < images.length; i++) {
-		Rectangle bounds = images[i].getBounds();
-		TextStyle imageStyle = new TextStyle(null, null, null);
-		imageStyle.metrics = new GlyphMetrics(bounds.height, 0, bounds.width); 
-		layout.setStyle(imageStyle, imageOffsets[i], imageOffsets[i]);
-	}
-	Rectangle bounds = button.getBounds();
-	TextStyle buttonStyle = new TextStyle(null, null, null);
-	buttonStyle.metrics = new GlyphMetrics(bounds.height, 0, bounds.width); 
-	final int buttonOffset = text.length() - 2;
-	layout.setStyle(buttonStyle, buttonOffset, buttonOffset);
-	
-	shell.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event event) {
-			GC gc = event.gc;
-			Point margin = new Point(10, 10);
-			layout.setWidth(shell.getClientArea().width - 2 * margin.x);
-			layout.draw(event.gc, margin.x, margin.y);
-			for (int i = 0; i < images.length; i++) {
-				int offset = imageOffsets[i];
-				int lineIndex = layout.getLineIndex(offset);
-				FontMetrics lineMetrics = layout.getLineMetrics(lineIndex);
-				Point point = layout.getLocation(offset, false);
-				GlyphMetrics glyphMetrics = layout.getStyle(offset).metrics;
-				gc.drawImage(images[i], point.x + margin.x, point.y + margin.y + lineMetrics.getAscent() - glyphMetrics.ascent);
-			}
-			int lineIndex = layout.getLineIndex(buttonOffset);
-			FontMetrics lineMetrics = layout.getLineMetrics(lineIndex);
-			Point point = layout.getLocation(buttonOffset, false);
-			GlyphMetrics glyphMetrics = layout.getStyle(buttonOffset).metrics;
-			button.setLocation(point.x + margin.x, point.y + margin.y + lineMetrics.getAscent() - glyphMetrics.ascent);
-		}
-	});
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	layout.dispose();
-	for (int i = 0; i < images.length; i++) {
-		images[i].dispose();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet206.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet206.java
deleted file mode 100644
index 81ab501..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet206.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Button example snippet: a Button with text and image
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet206 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Image image = display.getSystemImage(SWT.ICON_QUESTION);
-	Shell shell = new Shell(display);
-	shell.setLayout (new GridLayout());
-	Button button = new Button(shell, SWT.PUSH);
-	button.setImage(image);
-	button.setText("Button");
-	shell.setSize(300, 300);
-	shell.open();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet207.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet207.java
deleted file mode 100644
index 35e090e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet207.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Use transformation matrices to reflect, rotate and shear images
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet207 {	
-	public static void main(String[] args) {
-		final Display display = new Display();
-		
-		final Image image = new Image(display, 110, 60);
-		GC gc = new GC(image);
-		Font font = new Font(display, "Times", 30, SWT.BOLD);
-		gc.setFont(font);
-		gc.setBackground(display.getSystemColor(SWT.COLOR_RED));
-		gc.fillRectangle(0, 0, 110, 60);
-		gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE));
-		gc.drawText("SWT", 10, 10, true);
-		font.dispose();
-		gc.dispose();
-		
-		final Rectangle rect = image.getBounds();
-		Shell shell = new Shell(display);
-		shell.setText("Matrix Tranformations");
-		shell.setLayout(new FillLayout());
-		final Canvas canvas = new Canvas(shell, SWT.DOUBLE_BUFFERED);
-		canvas.addPaintListener(new PaintListener () {
-			public void paintControl(PaintEvent e) {	
-				GC gc = e.gc;
-				gc.setAdvanced(true);
-				if (!gc.getAdvanced()){
-					gc.drawText("Advanced graphics not supported", 30, 30, true);
-					return;
-				}
-				
-				// Original image
-				int x = 30, y = 30;
-				gc.drawImage(image, x, y); 
-				x += rect.width + 30;
-				
-				Transform transform = new Transform(display);
-				
-				// Note that the tranform is applied to the whole GC therefore
-				// the coordinates need to be adjusted too.
-				
-				// Reflect around the y axis.
-				transform.setElements(-1, 0, 0, 1, 0 ,0);
-				gc.setTransform(transform);
-				gc.drawImage(image, -1*x-rect.width, y);
-				
-				x = 30; y += rect.height + 30;
-				
-				// Reflect around the x axis. 
-				transform.setElements(1, 0, 0, -1, 0, 0);
-				gc.setTransform(transform);
-				gc.drawImage(image, x, -1*y-rect.height);
-				
-				x += rect.width + 30;
-				
-				// Reflect around the x and y axes	
-				transform.setElements(-1, 0, 0, -1, 0, 0);
-				gc.setTransform(transform);
-				gc.drawImage(image, -1*x-rect.width, -1*y-rect.height);
-				
-				x = 30; y += rect.height + 30;
-				
-				// Shear in the x-direction
-				transform.setElements(1, 0, -1, 1, 0, 0);
-				gc.setTransform(transform);
-				gc.drawImage(image, 300, y);
-				
-				// Shear in y-direction
-				transform.setElements(1, -1, 0, 1, 0, 0);
-				gc.setTransform(transform);
-				gc.drawImage(image, 150, 475);
-				
-				// Rotate by 45 degrees	
-				float cos45 = (float)Math.cos(45);
-				float sin45 = (float)Math.sin(45);
-				transform.setElements(cos45, sin45, -sin45, cos45, 0, 0);
-				gc.setTransform(transform);
-				gc.drawImage(image, 350, 100);
-				
-				transform.dispose();
-			}
-		});
-		
-		shell.setSize(350, 550);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		image.dispose();
-		display.dispose();
-	}
-}
-	
-
-
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet208.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet208.java
deleted file mode 100644
index 7a8865c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet208.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Change hue, saturation and brightness of a color
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet208 {	 
-
-public static void main (String [] args) {
-	PaletteData palette = new PaletteData(0xff, 0xff00, 0xff0000);	
-	
-	// ImageData showing variations of hue	
-	ImageData hueData = new ImageData(360, 100, 24, palette);	
-	float hue = 0;
-	for (int x = 0; x < hueData.width; x++) {
-		for (int y = 0; y < hueData.height; y++) {
-			int pixel = palette.getPixel(new RGB(hue, 1f, 1f));
-			hueData.setPixel(x, y, pixel);
-		}
-		hue += 360f / hueData.width;
-	}
-
-	// ImageData showing saturation on x axis and brightness on y axis
-	ImageData saturationBrightnessData = new ImageData(360, 360, 24, palette);
-	float saturation = 0f;
-	float brightness = 1f;
-	for (int x = 0; x < saturationBrightnessData.width; x++) {
-		brightness = 1f;
-		for (int y = 0; y < saturationBrightnessData.height; y++) {
-			int pixel = palette.getPixel(new RGB(360f, saturation, brightness));	
-			saturationBrightnessData.setPixel(x, y, pixel);
-			brightness -= 1f / saturationBrightnessData.height;
-		}
-		saturation += 1f / saturationBrightnessData.width;
-	}
-		
-	Display display = new Display();
-	Image hueImage = new Image(display, hueData);
-	Image saturationImage = new Image(display, saturationBrightnessData);
-	Shell shell = new Shell(display);
-	shell.setText("Hue, Saturation, Brightness");
-	GridLayout gridLayout = new GridLayout(2, false);
-	gridLayout.verticalSpacing = 10;
-	gridLayout.marginWidth = gridLayout.marginHeight = 16;
-	shell.setLayout(gridLayout);		
-	
-	Label label = new Label(shell, SWT.CENTER);
-	label.setImage(hueImage);
-	GridData data = new GridData(SWT.RIGHT, SWT.CENTER, false, false, 2, 1);
-	label.setLayoutData(data);	
-	
-	label = new Label(shell, SWT.CENTER); //spacer
-	label = new Label(shell, SWT.CENTER);
-	label.setText("Hue");
-	data = new GridData(SWT.CENTER, SWT.CENTER, false, false);
-	label.setLayoutData(data);
-	label = new Label(shell, SWT.CENTER); //spacer
-	data = new GridData(SWT.CENTER, SWT.CENTER, false, false, 2, 1);
-	label.setLayoutData(data);
-	
-	label = new Label(shell, SWT.LEFT);
-	label.setText("Brightness");
-	data = new GridData(SWT.LEFT, SWT.CENTER, false, false);
-	label.setLayoutData(data);
-	
-	label = new Label(shell, SWT.CENTER);
-	label.setImage(saturationImage);
-	data = new GridData(SWT.CENTER, SWT.CENTER, false, false);
-	label.setLayoutData (data);
-	
-	label = new Label(shell, SWT.CENTER); //spacer
-	label = new Label(shell, SWT.CENTER);
-	label.setText("Saturation");
-	data = new GridData(SWT.CENTER, SWT.CENTER, false, false);
-	label.setLayoutData(data);
-	
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) {
-			display.sleep();
-		}
-	}
-	hueImage.dispose();
-	saturationImage.dispose();	
-	display.dispose();
-}
-
-}
-
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet209.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet209.java
deleted file mode 100644
index 8992502..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet209.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * SWT OpenGL snippet: use JOGL to draw to an SWT GLCanvas
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.opengl.GLCanvas;
-import org.eclipse.swt.opengl.GLData;
-
-import javax.media.opengl.GL;
-import javax.media.opengl.GLContext;
-import javax.media.opengl.GLDrawableFactory;
-import javax.media.opengl.glu.GLU;
-
-public class Snippet209 {
-	static void drawTorus(GL gl, 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, cosTheta = 1.0f, 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;
-		}
-	}
-
-	public static void main(String [] args) {
-		final Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		Composite comp = new Composite(shell, SWT.NONE);
-		comp.setLayout(new FillLayout());
-		GLData data = new GLData ();
-		data.doubleBuffer = true;
-		final GLCanvas canvas = new GLCanvas(comp, SWT.NONE, data);
-
-		canvas.setCurrent();
-		final GLContext context = GLDrawableFactory.getFactory().createExternalGLContext();
-
-		canvas.addListener(SWT.Resize, new Listener() {
-			public void handleEvent(Event event) {
-				Rectangle bounds = canvas.getBounds();
-				float fAspect = (float) bounds.width / (float) bounds.height;
-				canvas.setCurrent();
-				context.makeCurrent();
-				GL gl = context.getGL ();
-				gl.glViewport(0, 0, bounds.width, bounds.height);
-				gl.glMatrixMode(GL.GL_PROJECTION);
-				gl.glLoadIdentity();
-				GLU glu = new GLU();
-				glu.gluPerspective(45.0f, fAspect, 0.5f, 400.0f);
-				gl.glMatrixMode(GL.GL_MODELVIEW);
-				gl.glLoadIdentity();
-				context.release();
-			}
-		});
-
-		context.makeCurrent();
-		GL gl = context.getGL ();
-		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);
-		gl.glLineWidth(2);
-		gl.glEnable(GL.GL_DEPTH_TEST);
-		context.release();
-
-		shell.setText("SWT/JOGL Example");
-		shell.setSize(640, 480);
-		shell.open();
-
-		display.asyncExec(new Runnable() {
-			int rot = 0;
-			public void run() {
-				if (!canvas.isDisposed()) {
-					canvas.setCurrent();
-					context.makeCurrent();
-					GL gl = context.getGL ();
-					gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-					gl.glClearColor(.3f, .5f, .8f, 1.0f);
-					gl.glLoadIdentity();
-					gl.glTranslatef(0.0f, 0.0f, -10.0f);
-					float frot = rot;
-					gl.glRotatef(0.15f * rot, 2.0f * frot, 10.0f * frot, 1.0f);
-					gl.glRotatef(0.3f * rot, 3.0f * frot, 1.0f * frot, 1.0f);
-					rot++;
-					gl.glPolygonMode(GL.GL_FRONT_AND_BACK, GL.GL_LINE);
-					gl.glColor3f(0.9f, 0.9f, 0.9f);
-					drawTorus(gl, 1, 1.9f + ((float) Math.sin((0.004f * frot))), 15, 15);
-					canvas.swapBuffers();
-					context.release();
-					display.asyncExec(this);
-				}
-			}
-		});
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet21.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet21.java
deleted file mode 100644
index 42ba008..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet21.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Canvas example snippet: implement tab traversal (behave like a tab group)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet21 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Color red = display.getSystemColor (SWT.COLOR_RED);
-	final Color blue = display.getSystemColor (SWT.COLOR_BLUE);
-	Shell shell = new Shell (display);
-	Button b = new Button (shell, SWT.PUSH);
-	b.setBounds (10, 10, 100, 32);
-	b.setText ("Button");
-	shell.setDefaultButton (b);
-	final Canvas c = new Canvas (shell, SWT.BORDER);
-	c.setBounds (10, 50, 100, 32);
-	c.addListener (SWT.Traverse, new Listener () {
-		public void handleEvent (Event e) {
-			switch (e.detail) {
-				/* Do tab group traversal */
-				case SWT.TRAVERSE_ESCAPE:
-				case SWT.TRAVERSE_RETURN:
-				case SWT.TRAVERSE_TAB_NEXT:	
-				case SWT.TRAVERSE_TAB_PREVIOUS:
-				case SWT.TRAVERSE_PAGE_NEXT:	
-				case SWT.TRAVERSE_PAGE_PREVIOUS:
-					e.doit = true;
-					break;
-			}
-		}
-	});
-	c.addListener (SWT.FocusIn, new Listener () {
-		public void handleEvent (Event e) {
-			c.setBackground (red);
-		}
-	});
-	c.addListener (SWT.FocusOut, new Listener () {
-		public void handleEvent (Event e) {
-			c.setBackground (blue);
-		}
-	});
-	c.addListener (SWT.KeyDown, new Listener () {
-		public void handleEvent (Event e) {
-			System.out.println ("KEY");
-			for (int i=0; i<64; i++) {
-				Color c1 = red, c2 = blue;
-				if (c.isFocusControl ()) {
-					c1 = blue;  c2 = red;
-				}
-				c.setBackground (c1);
-				c.update ();
-				c.setBackground (c2);
-			}
-		}
-	});
-	Text t = new Text (shell, SWT.SINGLE | SWT.BORDER);
-	t.setBounds (10, 85, 100, 32);
-
-	Text r = new Text (shell, SWT.MULTI | SWT.BORDER);
-	r.setBounds (10, 120, 100, 32);
-	
-	c.setFocus ();
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet210.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet210.java
deleted file mode 100644
index 5be6a60..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet210.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Drag text between two StyledText widgets
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet210 {
-	static String string1 = "A drag source is the provider of data in a Drag and Drop data transfer as well as "+
-                           "the originator of the Drag and Drop operation. The data provided by the drag source "+
-                           "may be transferred to another location in the same widget, to a different widget "+
-                           "within the same application, or to a different application altogether. For example, "+
-                           "you can drag text from your application and drop it on an email application, or you "+
-                           "could drag an item in a tree and drop it below a different node in the same tree.";
-
-	static String string2 = "A drop target receives data in a Drag and Drop operation. The data received by "+
-	                        "the drop target may have come from the same widget, from a different widget within "+
-	                        "the same application, or from a different application altogether. For example, you "+
-	                        "can drag text from an email application and drop it on your application, or you could "+
-	                        "drag an item in a tree and drop it below a different node in the same tree.";
-	
-public static void main (String [] args) {
-	final Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	int style = SWT.MULTI | SWT.WRAP | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER;
-	final StyledText text1 = new StyledText(shell, style);
-	text1.setText(string1);
-	DragSource source = new DragSource(text1, DND.DROP_COPY | DND.DROP_MOVE);
-	source.setTransfer(new Transfer[] {TextTransfer.getInstance()});
-	source.addDragListener(new DragSourceAdapter() {
-		Point selection;
-		public void dragStart(DragSourceEvent e) {
-			selection = text1.getSelection();
-			e.doit = selection.x != selection.y;
-		}
-		public void dragSetData(DragSourceEvent e) {
-			e.data = text1.getText(selection.x, selection.y-1);
-		}
-		public void dragFinished(DragSourceEvent e) {
-			if (e.detail == DND.DROP_MOVE) {
-				text1.replaceTextRange(selection.x, selection.y - selection.x, "");
-			}
-			selection = null;
-		}
-	});
-	
-	final StyledText text2 = new StyledText(shell, style);
-	text2.setText(string2);
-	DropTarget target = new DropTarget(text2, DND.DROP_DEFAULT | DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK);
-	target.setTransfer(new Transfer[] {TextTransfer.getInstance()});
-	target.addDropListener(new DropTargetAdapter() {
-		public void dragEnter(DropTargetEvent e) {
-			if (e.detail == DND.DROP_DEFAULT)
-				e.detail = DND.DROP_COPY;
-		}
-		public void dragOperationChanged(DropTargetEvent e) {
-			if (e.detail == DND.DROP_DEFAULT)
-				e.detail = DND.DROP_COPY;
-		}
-		public void drop(DropTargetEvent e) {
-			text2.insert((String)e.data);
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet211.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet211.java
deleted file mode 100644
index 038598c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet211.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * SWT StyledText snippet: use rise and font with StyleRange. 
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.custom.*;
-
-public class Snippet211 {
-
-	static String text = 
-		"You can set any font you want in a range. You can also set a baseline rise and all other old features" + 
-		" like background and foreground, and mix them any way you want. Totally awesome.";
-	
-	public static void main(String [] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		StyledText styledText = new StyledText(shell, SWT.WRAP | SWT.BORDER);
-		styledText.setText(text);
-		FontData data = styledText.getFont().getFontData()[0];
-		Font font1 = new Font(display, data.getName(), data.getHeight() * 2, data.getStyle());
-		Font font2 = new Font(display, data.getName(), data.getHeight() * 4 / 5, data.getStyle());
-		StyleRange[] styles = new StyleRange[8];
-		styles[0] = new StyleRange();
-		styles[0].font = font1; 
-		styles[1] = new StyleRange();
-		styles[1].rise = data.getHeight() / 3; 
-		styles[2] = new StyleRange();
-		styles[2].background = display.getSystemColor(SWT.COLOR_GREEN); 
-		styles[3] = new StyleRange();
-		styles[3].foreground = display.getSystemColor(SWT.COLOR_MAGENTA); 
-		styles[4] = new StyleRange();
-		styles[4].font = font2; 
-		styles[4].foreground = display.getSystemColor(SWT.COLOR_BLUE);;
-		styles[4].underline = true;
-		styles[5] = new StyleRange();
-		styles[5].rise = -data.getHeight() / 3; 
-		styles[5].strikeout = true;
-		styles[5].underline = true;
-		styles[6] = new StyleRange();
-		styles[6].font = font1; 
-		styles[6].foreground = display.getSystemColor(SWT.COLOR_YELLOW);
-		styles[6].background = display.getSystemColor(SWT.COLOR_BLUE);
-		styles[7] = new StyleRange();
-		styles[7].rise =  data.getHeight() / 3;
-		styles[7].underline = true;
-		styles[7].fontStyle = SWT.BOLD;
-		styles[7].foreground = display.getSystemColor(SWT.COLOR_RED);
-		styles[7].background = display.getSystemColor(SWT.COLOR_BLACK);
-		
-		int[] ranges = new int[] {16, 4, 61, 13, 107, 10, 122, 10, 134, 3, 143, 6, 160, 7, 168, 7};
-		styledText.setStyleRanges(ranges, styles);
-		
-		shell.setSize(300, 300);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		font1.dispose();
-		font2.dispose();		
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet212.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet212.java
deleted file mode 100644
index 3bef3b7..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet212.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.custom.*;
-
-/**
- * StyledText snippet: embed images
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-public class Snippet212 {
-	
-	static StyledText styledText;
-	static String text = 
-		"This snippet shows how to embed images in a StyledText.\n"+
-		"Here is one: \uFFFC, and here is another: \uFFFC."+
-		"Use the add button to add an image from your filesystem to the StyledText at the current caret offset.";
-	static Image[] images;
-	static int[] offsets;
-
-	static void addImage(Image image, int offset) {
-		StyleRange style = new StyleRange ();
-		style.start = offset;
-		style.length = 1;
-		Rectangle rect = image.getBounds();
-		style.metrics = new GlyphMetrics(rect.height, 0, rect.width);
-		styledText.setStyleRange(style);		
-	}
-	
-	public static void main(String [] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setLayout(new GridLayout());
-		styledText = new StyledText(shell, SWT.WRAP | SWT.BORDER);
-		styledText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-		styledText.setText(text);
-		images = new Image[] {
-			display.getSystemImage(SWT.ICON_QUESTION),
-			display.getSystemImage(SWT.ICON_INFORMATION),
-		};
-		offsets = new int[images.length];
-		int lastOffset = 0;
-		for (int i = 0; i < images.length; i++) {
-			int offset = text.indexOf("\uFFFC", lastOffset);
-			offsets[i] = offset;
-			addImage(images[i], offset);
-			lastOffset = offset + 1;
-		}
-		
-		// use a verify listener to keep the offsets up to date
-		styledText.addVerifyListener(new VerifyListener()  {
-			public void verifyText(VerifyEvent e) {
-				int start = e.start;
-				int replaceCharCount = e.end - e.start;
-				int newCharCount = e.text.length();
-				for (int i = 0; i < offsets.length; i++) {
-					int offset = offsets[i];
-					if (start <= offset && offset < start + replaceCharCount) {
-						// this image is being deleted from the text
-						if (images[i] != null && !images[i].isDisposed()) {
-							images[i].dispose();
-							images[i] = null;
-						}
-						offset = -1;
-					}
-					if (offset != -1 && offset >= start) offset += newCharCount - replaceCharCount;
-					offsets[i] = offset;
-				}
-			}
-		});
-		styledText.addPaintObjectListener(new PaintObjectListener() {
-			public void paintObject(PaintObjectEvent event) {
-				GC gc = event.gc;
-				StyleRange style = event.style;
-				int start = style.start;
-				for (int i = 0; i < offsets.length; i++) {
-					int offset = offsets[i];
-					if (start == offset) {
-						Image image = images[i];
-						int x = event.x;
-						int y = event.y + event.ascent - style.metrics.ascent;						
-						gc.drawImage(image, x, y);
-					}
-				}
-			}
-		});
-		
-		Button button = new Button (shell, SWT.PUSH);
-		button.setText("Add Image");
-		button.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false));
-		button.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				FileDialog dialog = new FileDialog(shell);
-				String filename = dialog.open();
-				if (filename != null) {
-					try {
-						Image image = new Image(display, filename);
-						int offset = styledText.getCaretOffset();
-						styledText.replaceTextRange(offset, 0, "\uFFFC");
-						int index = 0;
-						while (index < offsets.length) {
-							if (offsets[index] == -1 && images[index] == null) break;
-							index++;
-						}
-						if (index == offsets.length) {
-							int[] tmpOffsets = new int[index + 1];
-							System.arraycopy(offsets, 0, tmpOffsets, 0, offsets.length);
-							offsets = tmpOffsets;
-							Image[] tmpImages = new Image[index + 1];
-							System.arraycopy(images, 0, tmpImages, 0, images.length);
-							images = tmpImages;
-						}
-						offsets[index] = offset;
-						images[index] = image;
-						addImage(image, offset);
-					} catch (Exception e) {
-						e.printStackTrace();
-					}
-				}				
-			}
-		});
-		shell.setSize(400, 400);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		for (int i = 0; i < images.length; i++) {
-			Image image = images[i];
-			if (image != null && !image.isDisposed()) {
-				image.dispose();
-			}
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet213.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet213.java
deleted file mode 100644
index e49b430..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet213.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * SWT StyledText snippet: use indent, alignment and justify.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.custom.*;
-
-public class Snippet213 {
-
-	static String text = 
-		"The first paragraph has an indentation of fifty pixels. Indentation is the amount of white space in front of the first line of a paragraph. If this paragraph wraps to several lines you should see the indentation only on the first line.\n\n" +
-		"The second paragraph is center aligned. Alignment only works when the StyledText is using word wrap. Alignment, as with all other line attributes, can be set for the whole widget or just for a set of lines.\n\n" +
-		"The third paragraph is justified. Like alignment, justify only works when the StyledText is using word wrap. If the paragraph wraps to several lines, the justification is performed on all lines but the last one.\n\n" +		
-		"The last paragraph is justified and right aligned. In this case, the alignment is only noticeable in the final line.";
-	
-	public static void main(String [] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		StyledText styledText = new StyledText(shell, SWT.WRAP | SWT.BORDER);
-		styledText.setText(text);
-		styledText.setLineIndent(0, 1, 50);
-		styledText.setLineAlignment(2, 1, SWT.CENTER);
-		styledText.setLineJustify(4, 1, true);
-		styledText.setLineAlignment(6, 1, SWT.RIGHT);
-		styledText.setLineJustify(6, 1, true);
-		
-		shell.setSize(300, 400);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet214.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet214.java
deleted file mode 100644
index ef00465..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet214.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Control example snippet: set a background image (a dynamic gradient)
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet214 {
-	static Image oldImage;
-	public static void main(String [] args) {
-		final Display display = new Display ();
-		final Shell shell = new Shell (display);
-		shell.setBackgroundMode (SWT.INHERIT_DEFAULT);
-		FillLayout layout1 = new FillLayout (SWT.VERTICAL);
-		layout1.marginWidth = layout1.marginHeight = 10;
-		shell.setLayout (layout1);
-		Group group = new Group (shell, SWT.NONE);
-		group.setText ("Group ");
-		RowLayout layout2 = new RowLayout (SWT.VERTICAL);
-		layout2.marginWidth = layout2.marginHeight = layout2.spacing = 10;
-		group.setLayout (layout2);
-		for (int i=0; i<8; i++) {
-			Button button = new Button (group, SWT.RADIO);
-			button.setText ("Button " + i);
-		}
-		shell.addListener (SWT.Resize, new Listener () {
-			public void handleEvent (Event event) {
-				Rectangle rect = shell.getClientArea ();
-				Image newImage = new Image (display, Math.max (1, rect.width), 1);	
-				GC gc = new GC (newImage);
-				gc.setForeground (display.getSystemColor (SWT.COLOR_WHITE));
-				gc.setBackground (display.getSystemColor (SWT.COLOR_BLUE));
-				gc.fillGradientRectangle (rect.x, rect.y, rect.width, 1, false);
-				gc.dispose ();
-				shell.setBackgroundImage (newImage);
-				if (oldImage != null) oldImage.dispose ();
-				oldImage = newImage;
-			}
-		});
-		shell.pack ();
-		shell.open ();
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		if (oldImage != null) oldImage.dispose ();
-		display.dispose ();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet215.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet215.java
deleted file mode 100644
index 0d7331f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet215.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * GC example snippet: take a screen shot with a GC
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.custom.*;
-
-public class Snippet215 {
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	Button button = new Button(shell, SWT.PUSH);
-	button.setText("Capture");
-	button.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			
-			/* Take the screen shot */
-			GC gc = new GC(display);
-			final Image image = new Image(display, display.getBounds());
-			gc.copyArea(image, 0, 0);
-			gc.dispose();
-			
-			Shell popup = new Shell(shell, SWT.SHELL_TRIM);
-			popup.setLayout(new FillLayout());
-			popup.setText("Image");
-			popup.setBounds(50, 50, 200, 200);
-			popup.addListener(SWT.Close, new Listener() {
-				public void handleEvent(Event e) {
-					image.dispose();
-				}
-			});
-			
-			ScrolledComposite sc = new ScrolledComposite (popup, SWT.V_SCROLL | SWT.H_SCROLL);
-			Canvas canvas = new Canvas(sc, SWT.NONE);
-			sc.setContent(canvas);
-			canvas.setBounds(display.getBounds ());
-			canvas.addPaintListener(new PaintListener() {
-				public void paintControl(PaintEvent e) {
-					e.gc.drawImage(image, 0, 0);
-				}
-			});
-			popup.open();
-		}
-	});
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet216.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet216.java
deleted file mode 100644
index ee8f7c4..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet216.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Tool Tips example snippet: show a tool tip inside a rectangle
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet216 {
-	public static void main (String [] args) {
-		Display display = new Display ();
-		final Color [] colors = {
-			display.getSystemColor (SWT.COLOR_RED),
-			display.getSystemColor (SWT.COLOR_GREEN),
-			display.getSystemColor (SWT.COLOR_BLUE),
-		};
-		final Rectangle [] rects = {
-			new Rectangle (10, 10, 30, 30),
-			new Rectangle (20, 45, 25, 35),
-			new Rectangle (80, 80, 10, 10),
-		};
-		final Shell shell = new Shell (display);
-		Listener mouseListener = new Listener () {
-			public void handleEvent (Event event) {
-				switch (event.type) {
-					case SWT.MouseEnter:
-					case SWT.MouseMove:
-						for (int i=0; i<rects.length; i++) {
-							if (rects [i].contains (event.x, event.y)) {
-								String text = "ToolTip " + i;
-								if (!(text.equals (shell.getToolTipText ()))) {
-									shell.setToolTipText ("ToolTip " + i);
-								}
-								return;
-							}
-						}
-						shell.setToolTipText (null);
-						break;
-					}
-			}
-		};
-		shell.addListener (SWT.MouseMove, mouseListener);
-		shell.addListener (SWT.MouseEnter, mouseListener);
-		shell.addListener (SWT.Paint, new Listener () {
-			public void handleEvent (Event event) {
-				GC gc = event.gc;
-				for (int i=0; i<rects.length; i++) {
-					gc.setBackground (colors [i]);
-					gc.fillRectangle (rects [i]);
-					gc.drawRectangle (rects [i]);
-				}
-			}
-		});
-		shell.setSize (200, 200);
-		shell.open ();
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		display.dispose ();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet217.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet217.java
deleted file mode 100644
index 3f511e4..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet217.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * StyledText snippet: embed controls
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-public class Snippet217 {
-	
-	static StyledText styledText;
-	static String text = 
-		"This snippet shows how to embed widgets in a StyledText.\n"+
-		"Here is one: \uFFFC, and here is another: \uFFFC.";
-	static int[] offsets;
-	static Control[] controls;
-	static int MARGIN = 5;
-	
-	static void addControl(Control control, int offset) {
-		StyleRange style = new StyleRange ();
-		style.start = offset;
-		style.length = 1;
-		control.pack();
-		Rectangle rect = control.getBounds();
-		int ascent = 2*rect.height/3;
-		int descent = rect.height - ascent;
-		style.metrics = new GlyphMetrics(ascent + MARGIN, descent + MARGIN, rect.width + 2*MARGIN);
-		styledText.setStyleRange(style);	
-	}
-	
-	public static void main(String [] args) {
-		final Display display = new Display();
-		Font font = new Font(display, "Tahoma", 32, SWT.NORMAL);
-		final Shell shell = new Shell(display);
-		shell.setLayout(new GridLayout());
-		styledText = new StyledText(shell, SWT.WRAP | SWT.BORDER);
-		styledText.setFont(font);
-		styledText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-		styledText.setText(text);
-		controls = new Control[2];
-		Button button = new Button(styledText, SWT.PUSH);
-		button.setText("Button 1");
-		controls[0] = button;
-		Combo combo = new Combo(styledText, SWT.NONE);
-		combo.add("item 1");
-		combo.add("another item");
-		controls[1] = combo;
-		offsets = new int[controls.length];
-		int lastOffset = 0;
-		for (int i = 0; i < controls.length; i++) {
-			int offset = text.indexOf("\uFFFC", lastOffset);
-			offsets[i] = offset;
-			addControl(controls[i], offsets[i]);
-			lastOffset = offset + 1;
-		}
-		
-		// use a verify listener to keep the offsets up to date
-		styledText.addVerifyListener(new VerifyListener()  {
-			public void verifyText(VerifyEvent e) {
-				int start = e.start;
-				int replaceCharCount = e.end - e.start;
-				int newCharCount = e.text.length();
-				for (int i = 0; i < offsets.length; i++) {
-					int offset = offsets[i];
-					if (start <= offset && offset < start + replaceCharCount) {
-						// this widget is being deleted from the text
-						if (controls[i] != null && !controls[i].isDisposed()) {
-							controls[i].dispose();
-							controls[i] = null;
-						}
-						offset = -1;
-					}
-					if (offset != -1 && offset >= start) offset += newCharCount - replaceCharCount;
-					offsets[i] = offset;
-				}
-			}
-		});
-		
-		// reposition widgets on paint event
-		styledText.addPaintObjectListener(new PaintObjectListener() {
-			public void paintObject(PaintObjectEvent event) {
-				StyleRange style = event.style;
-				int start = style.start;
-				for (int i = 0; i < offsets.length; i++) {
-					int offset = offsets[i];
-					if (start == offset) {
-						Point pt = controls[i].getSize();
-						int x = event.x + MARGIN;
-						int y = event.y + event.ascent - 2*pt.y/3;
-						controls[i].setLocation(x, y);
-						break;
-					}
-				}
-			}
-		});
-			
-		shell.setSize(400, 400);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		font.dispose();
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet218.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet218.java
deleted file mode 100644
index fd24a40..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet218.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * SWT StyledText snippet: use gradient background.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.graphics.*;
-
-public class Snippet218 {
-
-	static String text = "Plans do not materialize out of nowhere, nor are they entirely static. To ensure the planning process is " +
-		"transparent and open to the entire Eclipse community, we (the Eclipse PMC) post plans in an embryonic "+
-		"form and revise them throughout the release cycle. \n"+
-		"The first part of the plan deals with the important matters of release deliverables, release milestones, target "+
-		"operating environments, and release-to-release compatibility. These are all things that need to be clear for "+
-		"any release, even if no features were to change.  \n";
-	static Image oldImage;
-	
-	public static void main(String [] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		final StyledText styledText = new StyledText(shell, SWT.WRAP | SWT.BORDER);
-		styledText.setText(text);
-		FontData data = display.getSystemFont().getFontData()[0];
-		Font font = new Font(display, data.getName(), 16, SWT.BOLD);
-		styledText.setFont(font);
-		styledText.setForeground(display.getSystemColor (SWT.COLOR_BLUE));
-		styledText.addListener (SWT.Resize, new Listener () {
-			public void handleEvent (Event event) {
-				Rectangle rect = styledText.getClientArea ();
-				Image newImage = new Image (display, 1, Math.max (1, rect.height));
-				GC gc = new GC (newImage);
-				gc.setForeground (display.getSystemColor (SWT.COLOR_WHITE));
-				gc.setBackground (display.getSystemColor (SWT.COLOR_YELLOW));
-				gc.fillGradientRectangle (rect.x, rect.y, 1, rect.height, true);
-				gc.dispose ();
-				styledText.setBackgroundImage (newImage);
-				if (oldImage != null) oldImage.dispose ();
-				oldImage = newImage;
-			}
-		});	
-		shell.setSize(700, 400);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		if (oldImage != null) oldImage.dispose ();
-		font.dispose();
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet219.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet219.java
deleted file mode 100644
index 7f44f49..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet219.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * Region snippet: Create non-rectangular shell from an image with transparency
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-public class Snippet219 {
-	public static void main(String[] args) {
-		final Display display = new Display ();
-		final Image image = display.getSystemImage(SWT.ICON_INFORMATION);
-		final Shell shell = new Shell (display, SWT.NO_TRIM);
-		Region region = new Region();
-		final ImageData imageData = image.getImageData();
-		if (imageData.alphaData != null) {
-			Rectangle pixel = new Rectangle(0, 0, 1, 1);
-			for (int y = 0; y < imageData.height; y++) {
-				for (int x = 0; x < imageData.width; x++) {
-					if (imageData.getAlpha(x, y) == 255) {
-						pixel.x = imageData.x + x;
-						pixel.y = imageData.y + y;
-						region.add(pixel);
-					} 
-				}
-			}
-		} else {
-			ImageData mask = imageData.getTransparencyMask();
-			Rectangle pixel = new Rectangle(0, 0, 1, 1);
-			for (int y = 0; y < mask.height; y++) {
-				for (int x = 0; x < mask.width; x++) {
-					if (mask.getPixel(x, y) != 0) {
-						pixel.x = imageData.x + x;
-						pixel.y = imageData.y + y;
-						region.add(pixel);
-					}
-				}
-			}
-		}
-		shell.setRegion(region);
-
-		Listener l = new Listener() {
-			int startX, startY;
-			public void handleEvent(Event e)  {
-				if (e.type == SWT.KeyDown && e.character == SWT.ESC) {
-					shell.dispose();
-				}
-				if (e.type == SWT.MouseDown && e.button == 1) {
-					startX = e.x;
-					startY = e.y; 
-				}
-				if (e.type == SWT.MouseMove && (e.stateMask & SWT.BUTTON1) != 0) {
-					Point p = shell.toDisplay(e.x, e.y);
-					p.x -= startX;
-					p.y -= startY;
-					shell.setLocation(p);
-				}
-				if (e.type == SWT.Paint) {
-					e.gc.drawImage(image, imageData.x, imageData.y);
-				}
-			}
-		};
-		shell.addListener(SWT.KeyDown, l);
-		shell.addListener(SWT.MouseDown, l);
-		shell.addListener(SWT.MouseMove, l);
-		shell.addListener(SWT.Paint, l);
-
-		shell.setSize(imageData.x + imageData.width, imageData.y + imageData.height);
-		shell.open ();
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		region.dispose();
-		image.dispose ();
-		display.dispose ();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet22.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet22.java
deleted file mode 100644
index 765b5ba..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet22.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Text example snippet: select all the text in the control
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.widgets.*;
-
-public class Snippet22 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Text text = new Text (shell, 0);
-	text.setText ("ASDF");
-	text.setSize (64, 32);
-	text.selectAll ();
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet220.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet220.java
deleted file mode 100644
index b882516..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet220.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-/* 
- * Tree example snippet: Images on the right side of the TreeItem
- *
- * For a detailed explanation of this snippet see
- * http://www.eclipse.org/articles/Article-CustomDrawingTableAndTreeItems/customDraw.htm#_example5
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet220 {	
-	
-public static void main(String [] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setBounds(10, 10, 350, 200);
-	Image xImage = new Image (display, 16, 16);
-	GC gc = new GC(xImage);
-	gc.setForeground(display.getSystemColor(SWT.COLOR_RED));
-	gc.drawLine(1, 1, 14, 14);
-	gc.drawLine(1, 14, 14, 1);
-	gc.drawOval(2, 2, 11, 11);
-	gc.dispose();
-	final int IMAGE_MARGIN = 2;
-	final Tree tree = new Tree(shell, SWT.CHECK);
-	tree.setBounds(10, 10, 300, 150);
-	TreeItem item = new TreeItem(tree, SWT.NONE);
-	item.setText("root item");
-	for (int i = 0; i < 4; i++) {
-		TreeItem newItem = new TreeItem(item, SWT.NONE);
-		newItem.setText("descendent " + i);
-		if (i % 2 == 0) newItem.setData(xImage);
-		item.setExpanded(true);
-		item = newItem;
-	}
-
-	/*
-	 * NOTE: MeasureItem and PaintItem are called repeatedly.  Therefore it is
-	 * critical for performance that these methods be as efficient as possible.
-	 */
-	tree.addListener(SWT.MeasureItem, new Listener() {
-		public void handleEvent(Event event) {
-			TreeItem item = (TreeItem)event.item;
-			Image trailingImage = (Image)item.getData();
-			if (trailingImage != null) {
-				event.width += trailingImage.getBounds().width + IMAGE_MARGIN;
-			}
-		}
-	});
-	tree.addListener(SWT.PaintItem, new Listener() {
-		public void handleEvent(Event event) {
-			TreeItem item = (TreeItem)event.item;
-			Image trailingImage = (Image)item.getData();
-			if (trailingImage != null) {
-				int x = event.x + event.width + IMAGE_MARGIN;
-				int itemHeight = tree.getItemHeight();
-				int imageHeight = trailingImage.getBounds().height;
-				int y = event.y + (itemHeight - imageHeight) / 2;
-				event.gc.drawImage(trailingImage, x, y);
-			}
-		}
-	});
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	xImage.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet221.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet221.java
deleted file mode 100644
index 6b60692..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet221.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-/* 
- * example snippet: Scroll tree when mouse at top or bottom
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet221 {
-	static Runnable Heartbeat;
-	static boolean Tracking;
-	static int ScrollSpeed = 40;
-	
-public static void main(String[] args) {
-	final Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Tree tree = new Tree(shell, SWT.FULL_SELECTION | SWT.BORDER);
-	tree.setHeaderVisible(true);
-	TreeColumn column0 = new TreeColumn(tree, SWT.LEFT);
-	column0.setText("Column 0");
-	TreeColumn column1 = new TreeColumn(tree, SWT.LEFT);
-	column1.setText("Column 1");
-	TreeColumn column2 = new TreeColumn(tree, SWT.LEFT);
-	column2.setText("Column 2");
-	for (int i = 0; i < 9; i++) {
-		TreeItem item = new TreeItem(tree, SWT.NONE);
-		item.setText("item "+i);
-		item.setText(1, "column 1 - "+i);
-		item.setText(2, "column 2 - "+i);
-		for (int j = 0; j < 9; j++) {
-			TreeItem subItem = new TreeItem(item, SWT.NONE);
-			subItem.setText("item "+i+" "+j);
-			subItem.setText(1, "column 1 - "+i+" "+j);
-			subItem.setText(2, "column 2 - "+i+" "+j);
-			for (int k = 0; k < 9; k++) {
-				TreeItem subsubItem = new TreeItem(subItem, SWT.NONE);
-				subsubItem.setText("item "+i+" "+j+" "+k);
-				subsubItem.setText(1, "column 1 - "+i+" "+j+" "+k);
-				subsubItem.setText(2, "column 2 - "+i+" "+j+" "+k);
-			}
-		}
-	}
-	column0.pack();
-	column1.pack();
-	column2.pack();
-	
-	Heartbeat = new Runnable() {
-		public void run() {
-			if (!Tracking || tree.isDisposed()) return;
-			Point cursor = display.getCursorLocation();
-			cursor = display.map(null, tree, cursor);
-			Scroll(tree, cursor.x, cursor.y);
-			display.timerExec(ScrollSpeed, Heartbeat);
-		}
-	};
-	Listener listener = new Listener() {
-		public void handleEvent(Event event) {
-			switch (event.type) {
-			case SWT.MouseEnter:
-				Tracking = true;
-				display.timerExec(0, Heartbeat);
-				break;
-			case SWT.MouseExit:
-				Tracking = false;
-				break;
-			}
-		}
-	};
-	tree.addListener(SWT.MouseEnter, listener); 
-	tree.addListener(SWT.MouseExit, listener);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-static void Scroll(Tree tree, int x, int y) {
-	TreeItem item = tree.getItem(new Point(x, y));
-	if (item == null) return;
-	Rectangle area = tree.getClientArea();
-	int headerHeight = tree.getHeaderHeight();
-	int itemHeight= tree.getItemHeight();
-	TreeItem nextItem = null;
-	if (y < area.y + headerHeight + 2 * itemHeight) {
-		nextItem = PreviousItem(tree, item);
-	}
-	if (y > area.y + area.height - 2 * itemHeight) {
-		nextItem = NextItem(tree, item);
-	}
-	if (nextItem != null) tree.showItem(nextItem);
-}
-
-static TreeItem PreviousItem(Tree tree, TreeItem item) {
-	if (item == null) return null;
-	TreeItem childItem = item;
-	TreeItem parentItem = childItem.getParentItem();
-	int index = parentItem == null ? tree.indexOf(childItem) : parentItem.indexOf(childItem);
-	if (index == 0) {
-		return parentItem;
-	} else {
-		TreeItem nextItem = parentItem == null ? tree.getItem(index-1) : parentItem.getItem(index-1);
-		int count = nextItem.getItemCount();
-		while (count > 0 && nextItem.getExpanded()) {
-			nextItem = nextItem.getItem(count - 1);
-			count = nextItem.getItemCount();
-		}
-		return nextItem;
-	}
-}
-static TreeItem NextItem(Tree tree, TreeItem item) {
-	if (item == null) return null;
-	if (item.getExpanded()) {
-		return item.getItem(0);
-	} else {
-		TreeItem childItem = item;
-		TreeItem parentItem = childItem.getParentItem();
-		int index = parentItem == null ? tree.indexOf(childItem) : parentItem.indexOf(childItem);
-		int count = parentItem == null ? tree.getItemCount() : parentItem.getItemCount();
-		while (true) {
-			if (index + 1 < count) {
-				return parentItem == null ? tree.getItem(index + 1) : parentItem.getItem(index + 1);
-			} else {
-				if (parentItem == null) {
-					return null;
-				} else {
-					childItem = parentItem;
-					parentItem = childItem.getParentItem();
-					index = parentItem == null ? tree.indexOf(childItem) : parentItem.indexOf(childItem);
-					count = parentItem == null ? tree.getItemCount() : parentItem.getItemCount();
-				}
-			}
-		}
-	}
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet222.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet222.java
deleted file mode 100644
index 2f99385..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet222.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-/* 
- * example snippet: StyledText bulleted list example
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet222 {
-	
-public static void main(String[] args) {	
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setText("StyledText Bullet Example");
-	shell.setLayout(new FillLayout());
-	final StyledText styledText = new StyledText (shell, SWT.FULL_SELECTION | SWT.BORDER | SWT.WRAP | SWT.V_SCROLL);
-	StringBuffer text = new StringBuffer();
-	text.append("Here is StyledText with some bulleted lists:\n\n");
-	for (int i = 0; i < 4; i++) text.append("Red Bullet List Item " + i + "\n");
-	text.append("\n");
-	for (int i = 0; i < 2; i++) text.append("Numbered List Item " + i + "\n");
-	for (int i = 0; i < 4; i++) text.append("Sub List Item " + i + "\n");
-	for (int i = 0; i < 2; i++) text.append("Numbered List Item " + (2 + i) + "\n");
-	text.append("\n");
-	for (int i = 0; i < 4; i++) text.append("Custom Draw List Item " + i + "\n");	
-	styledText.setText(text.toString());
-		
-	StyleRange style0 = new StyleRange();
-	style0.metrics = new GlyphMetrics(0, 0, 40);
-	style0.foreground = display.getSystemColor(SWT.COLOR_RED);
-	Bullet bullet0 = new Bullet (style0);
-	StyleRange style1 = new StyleRange();
-	style1.metrics = new GlyphMetrics(0, 0, 50);
-	style1.foreground = display.getSystemColor(SWT.COLOR_BLUE);
-	Bullet bullet1 = new Bullet (ST.BULLET_NUMBER | ST.BULLET_TEXT, style1);
-	bullet1.text = ".";
-	StyleRange style2 = new StyleRange();
-	style2.metrics = new GlyphMetrics(0, 0, 80);
-	style2.foreground = display.getSystemColor(SWT.COLOR_GREEN);
-	Bullet bullet2 = new Bullet (ST.BULLET_TEXT, style2);
-	bullet2.text = "\u2713";
-	StyleRange style3 = new StyleRange();
-	style3.metrics = new GlyphMetrics(0, 0, 50);
-	Bullet bullet3 = new Bullet (ST.BULLET_CUSTOM, style2);
-
-	styledText.setLineBullet(2, 4, bullet0);
-	styledText.setLineBullet(7, 2, bullet1);
-	styledText.setLineBullet(9, 4, bullet2);
-	styledText.setLineBullet(13, 2, bullet1);
-	styledText.setLineBullet(16, 4, bullet3);
-
-	styledText.addPaintObjectListener(new PaintObjectListener() {
-		public void paintObject(PaintObjectEvent event) {
-			Display display = event.display;
-			StyleRange style = event.style;
-			Font font = style.font;
-			if (font == null) font = styledText.getFont();
-			TextLayout layout = new TextLayout(display);
-			layout.setAscent(event.ascent);
-			layout.setDescent(event.descent);
-			layout.setFont(font);
-			layout.setText("\u2023 1." + event.bulletIndex + ")");
-			layout.draw(event.gc, event.x + 10, event.y);
-			layout.dispose();
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet223.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet223.java
deleted file mode 100644
index 0cfd92a..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet223.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-/* 
- * example snippet: ExpandBar example
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-
-public class Snippet223 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	shell.setText("ExpandBar Example");
-	ExpandBar bar = new ExpandBar (shell, SWT.V_SCROLL);
-	Image image = display.getSystemImage(SWT.ICON_QUESTION);
-	
-	// First item
-	Composite composite = new Composite (bar, SWT.NONE);
-	GridLayout layout = new GridLayout ();
-	layout.marginLeft = layout.marginTop = layout.marginRight = layout.marginBottom = 10;
-	layout.verticalSpacing = 10;
-	composite.setLayout(layout);
-	Button button = new Button (composite, SWT.PUSH);
-	button.setText("SWT.PUSH");
-	button = new Button (composite, SWT.RADIO);
-	button.setText("SWT.RADIO");
-	button = new Button (composite, SWT.CHECK);
-	button.setText("SWT.CHECK");
-	button = new Button (composite, SWT.TOGGLE);
-	button.setText("SWT.TOGGLE");
-	ExpandItem item0 = new ExpandItem (bar, SWT.NONE, 0);
-	item0.setText("What is your favorite button");
-	item0.setHeight(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
-	item0.setControl(composite);
-	item0.setImage(image);
-	
-	// Second item
-	composite = new Composite (bar, SWT.NONE);
-	layout = new GridLayout (2, false);
-	layout.marginLeft = layout.marginTop = layout.marginRight = layout.marginBottom = 10;
-	layout.verticalSpacing = 10;
-	composite.setLayout(layout);	
-	Label label = new Label (composite, SWT.NONE);
-	label.setImage(display.getSystemImage(SWT.ICON_ERROR));
-	label = new Label (composite, SWT.NONE);
-	label.setText("SWT.ICON_ERROR");
-	label = new Label (composite, SWT.NONE);
-	label.setImage(display.getSystemImage(SWT.ICON_INFORMATION));
-	label = new Label (composite, SWT.NONE);
-	label.setText("SWT.ICON_INFORMATION");
-	label = new Label (composite, SWT.NONE);
-	label.setImage(display.getSystemImage(SWT.ICON_WARNING));
-	label = new Label (composite, SWT.NONE);
-	label.setText("SWT.ICON_WARNING");
-	label = new Label (composite, SWT.NONE);
-	label.setImage(display.getSystemImage(SWT.ICON_QUESTION));
-	label = new Label (composite, SWT.NONE);
-	label.setText("SWT.ICON_QUESTION");
-	ExpandItem item1 = new ExpandItem (bar, SWT.NONE, 1);
-	item1.setText("What is your favorite icon");
-	item1.setHeight(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
-	item1.setControl(composite);
-	item1.setImage(image);
-	
-	// Third item
-	composite = new Composite (bar, SWT.NONE);
-	layout = new GridLayout (2, true);
-	layout.marginLeft = layout.marginTop = layout.marginRight = layout.marginBottom = 10;
-	layout.verticalSpacing = 10;
-	composite.setLayout(layout);
-	label = new Label (composite, SWT.NONE);
-	label.setText("Scale");	
-	new Scale (composite, SWT.NONE);
-	label = new Label (composite, SWT.NONE);
-	label.setText("Spinner");	
-	new Spinner (composite, SWT.BORDER);
-	label = new Label (composite, SWT.NONE);
-	label.setText("Slider");	
-	new Slider (composite, SWT.NONE);
-	ExpandItem item2 = new ExpandItem (bar, SWT.NONE, 2);
-	item2.setText("What is your favorite range widget");
-	item2.setHeight(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
-	item2.setControl(composite);
-	item2.setImage(image);
-	
-	item1.setExpanded(true);
-	bar.setSpacing(8);
-	shell.setSize(400, 350);
-	shell.open();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) {
-			display.sleep ();
-		}
-	}
-	image.dispose();
-	display.dispose();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet224.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet224.java
deleted file mode 100644
index 125087e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet224.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * implement radio behavior for setSelection()
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet224 {
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout (SWT.VERTICAL));
-	for (int i=0; i<8; i++) {
-		Button button = new Button (shell, SWT.RADIO);
-		button.setText ("B" + i);
-		if (i == 0) button.setSelection (true);
-	}
-	Button button = new Button (shell, SWT.PUSH);
-	button.setText ("Set Selection to B4");
-	button.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			Control [] children = shell.getChildren ();
-			Button newButton = (Button) children [4];
-			for (int i=0; i<children.length; i++) {
-				Control child = children [i];
-				if (child instanceof Button && (child.getStyle () & SWT.RADIO) != 0) {
-					((Button) child).setSelection (false);
-				}
-			}
-			newButton.setSelection (true);
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet225.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet225.java
deleted file mode 100644
index e77752c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet225.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-  
-/*
- * Tooltip example snippet: create a balloon tooltip for a tray item
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet225 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	Image image = null;
-	final ToolTip tip = new ToolTip(shell, SWT.BALLOON | SWT.ICON_INFORMATION);
-	tip.setMessage("Here is a message for the user. When the message is too long it wraps. I should say something cool but nothing comes to my mind.");
-	Tray tray = display.getSystemTray();
-	if (tray != null) {
-		TrayItem item = new TrayItem(tray, SWT.NONE);
-		image = display.getSystemImage(SWT.ICON_INFORMATION);
-		item.setImage(image);
-		tip.setText("Notification from a tray item");
-		item.setToolTip(tip);
-	} else {
-		tip.setText("Notification from anywhere");
-		tip.setLocation(400, 400);
-	}
-	Button button = new Button (shell, SWT.PUSH);
-	button.setText("Press for balloon tip");
-	button.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			tip.setVisible(true);
-		}
-	});
-	button.pack();
-	shell.setBounds(50, 50, 300, 200);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	if (image != null) image.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet226.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet226.java
deleted file mode 100644
index b88dbfd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet226.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Tree example snippet: Draw a custom gradient selection
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet226 {
-	
-public static void main(String [] args) {
-	final Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setText("Custom gradient selection for Tree");
-	shell.setLayout(new FillLayout());
-	final Tree tree = new Tree(shell, SWT.MULTI | SWT.FULL_SELECTION);
-	tree.setHeaderVisible(true);
-	tree.setLinesVisible(true);
-	int columnCount = 4;
-	for (int i=0; i<columnCount; i++) {
-		TreeColumn column = new TreeColumn(tree, SWT.NONE);
-		column.setText("Column " + i);	
-	}
-	int itemCount = 3;
-	for (int i=0; i<itemCount; i++) {
-		TreeItem item1 = new TreeItem(tree, SWT.NONE);
-		item1.setText("item "+i);
-		for (int c=1; c < columnCount; c++) {
-			item1.setText(c, "item ["+i+"-"+c+"]");
-		}
-		for (int j=0; j<itemCount; j++) {
-			TreeItem item2 = new TreeItem(item1, SWT.NONE);
-			item2.setText("item ["+i+" "+j+"]");
-			for (int c=1; c<columnCount; c++) {
-				item2.setText(c, "item ["+i+" "+j+"-"+c+"]");
-			}
-			for (int k=0; k<itemCount; k++) {
-				TreeItem item3 = new TreeItem(item2, SWT.NONE);
-				item3.setText("item ["+i+" "+j+" "+k+"]");
-				for (int c=1; c<columnCount; c++) {
-					item3.setText(c, "item ["+i+" "+j+" "+k+"-"+c+"]");
-				}
-			}
-		}
-	}
-
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	tree.addListener(SWT.EraseItem, new Listener() {
-		public void handleEvent(Event event) {
-			event.detail &= ~SWT.HOT;
-			if ((event.detail & SWT.SELECTED) != 0) {
-				GC gc = event.gc;
-				Rectangle area = tree.getClientArea();
-				/*
-				 * If you wish to paint the selection beyond the end of
-				 * last column, you must change the clipping region.
-				 */
-				int columnCount = tree.getColumnCount();
-				if (event.index == columnCount - 1 || columnCount == 0) {
-					int width = area.x + area.width - event.x;
-					if (width > 0) {
-						Region region = new Region();
-						gc.getClipping(region);
-						region.add(event.x, event.y, width, event.height); 
-						gc.setClipping(region);
-						region.dispose();
-					}
-				}
-				gc.setAdvanced(true);
-				if (gc.getAdvanced()) gc.setAlpha(127);								
-				Rectangle rect = event.getBounds();
-				Color foreground = gc.getForeground();
-				Color background = gc.getBackground();
-				gc.setForeground(display.getSystemColor(SWT.COLOR_RED));
-				gc.setBackground(display.getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-				gc.fillGradientRectangle(0, rect.y, 500, rect.height, false);
-				// restore colors for subsequent drawing
-				gc.setForeground(foreground);
-				gc.setBackground(background);
-				event.detail &= ~SWT.SELECTED;					
-			}						
-		}
-	});		
-	for (int i=0; i<columnCount; i++) {
-		tree.getColumn(i).pack();
-	}	
-	tree.setSelection(tree.getItem(0));
-	shell.setSize(500, 200);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();	
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet227.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet227.java
deleted file mode 100644
index 911b58f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet227.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-/* 
- * Tree example snippet: Multiple lines in a TreeItem
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet227 {	
-public static void main(String [] args) {
-	Display display = new Display();
-	Shell shell = new Shell (display);
-	shell.setText("Multiple lines in a TreeItem");
-	shell.setLayout (new FillLayout());
-	final Tree tree = new Tree(shell, SWT.MULTI | SWT.FULL_SELECTION);
-	tree.setHeaderVisible(true);
-	tree.setLinesVisible(true);
-	int columnCount = 4;
-	for (int i=0; i<columnCount; i++) {
-		TreeColumn column = new TreeColumn(tree, SWT.NONE);
-		column.setText("Column " + i);
-		column.setWidth(100);
-	}
-	int itemCount = 3;
-	for (int i=0; i<itemCount; i++) {
-		TreeItem item1 = new TreeItem(tree, SWT.NONE);
-		item1.setText("item "+i);
-		for (int c=1; c < columnCount; c++) {
-			item1.setText(c, "item ["+i+"-"+c+"]");
-		}
-		for (int j=0; j<itemCount; j++) {
-			TreeItem item2 = new TreeItem(item1, SWT.NONE);
-			item2.setText("item ["+i+" "+j+"]");
-			for (int c=1; c<columnCount; c++) {
-				item2.setText(c, "item ["+i+" "+j+"-"+c+"]");
-			}
-			for (int k=0; k<itemCount; k++) {
-				TreeItem item3 = new TreeItem(item2, SWT.NONE);
-				item3.setText("item ["+i+" "+j+" "+k+"]");
-				for (int c=1; c<columnCount; c++) {
-					item3.setText(c, "item ["+i+" "+j+" "+k+"-"+c+"]");
-				}
-			}
-		}
-	}
-
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	Listener paintListener = new Listener() {
-		public void handleEvent(Event event) {
-			switch(event.type) {		
-				case SWT.MeasureItem: {
-					TreeItem item = (TreeItem)event.item;
-					String text = getText(item, event.index);
-					Point size = event.gc.textExtent(text);
-					event.width = size.x;
-					event.height = Math.max(event.height, size.y);
-					break;
-				}
-				case SWT.PaintItem: {
-					TreeItem item = (TreeItem)event.item;
-					String text = getText(item, event.index);
-					Point size = event.gc.textExtent(text);					
-					int offset2 = event.index == 0 ? Math.max(0, (event.height - size.y) / 2) : 0;
-					event.gc.drawText(text, event.x, event.y + offset2, true);
-					break;
-				}
-				case SWT.EraseItem: {	
-					event.detail &= ~SWT.FOREGROUND;
-					break;
-				}
-			}
-		}
-		String getText(TreeItem item, int column) {
-			String text = item.getText(column);
-			if (column != 0) {
-				TreeItem parent = item.getParentItem();
-				int index = parent == null ? tree.indexOf(item) : parent.indexOf(item);
-				if ((index+column) % 3 == 1){
-					text +="\nnew line";
-				}
-				if ((index+column) % 3 == 2) {
-					text +="\nnew line\nnew line";
-				}
-			}
-			return text;
-		}
-	};
-	tree.addListener(SWT.MeasureItem, paintListener);
-	tree.addListener(SWT.PaintItem, paintListener);
-	tree.addListener(SWT.EraseItem, paintListener);
-
-	shell.setSize(600, 400);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet228.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet228.java
deleted file mode 100644
index 2528710..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet228.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Table example snippet: Draw a bar graph
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet228 {
-	
-public static void main(String [] args) {
-	final Display display = new Display();		
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	shell.setText("Show results as a bar chart in Table");
-	final Table table = new Table(shell, SWT.BORDER);
-	table.setHeaderVisible(true);
-	table.setLinesVisible(true);
-	TableColumn column1 = new TableColumn(table, SWT.NONE);
-	column1.setText("Bug Status");
-	column1.setWidth(100);
-	final TableColumn column2 = new TableColumn(table, SWT.NONE);
-	column2.setText("Percent");
-	column2.setWidth(200);
-	String[] labels = new String[]{"Resolved", "New", "Won't Fix", "Invalid"};
-	for (int i=0; i<labels.length; i++) {
-		 TableItem item = new TableItem(table, SWT.NONE);
-		 item.setText(labels[i]);
-	}
-
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	table.addListener(SWT.PaintItem, new Listener() {
-		int[] percents = new int[] {50, 30, 5, 15};
-		public void handleEvent(Event event) {
-			if (event.index == 1) {
-				GC gc = event.gc;
-				TableItem item = (TableItem)event.item;
-				int index = table.indexOf(item);
-				int percent = percents[index];
-				Color foreground = gc.getForeground();
-				Color background = gc.getBackground();
-				gc.setForeground(display.getSystemColor(SWT.COLOR_RED));
-				gc.setBackground(display.getSystemColor(SWT.COLOR_YELLOW));
-				int width = (column2.getWidth() - 1) * percent / 100;
-				gc.fillGradientRectangle(event.x, event.y, width, event.height, true);					
-				Rectangle rect2 = new Rectangle(event.x, event.y, width-1, event.height-1);
-				gc.drawRectangle(rect2);
-				gc.setForeground(display.getSystemColor(SWT.COLOR_LIST_FOREGROUND));
-				String text = percent+"%";
-				Point size = event.gc.textExtent(text);					
-				int offset = Math.max(0, (event.height - size.y) / 2);
-				gc.drawText(text, event.x+2, event.y+offset, true);
-				gc.setForeground(background);
-				gc.setBackground(foreground);
-			}
-		}
-	});		
-			
-	shell.pack();
-	shell.open();
-	while(!shell.isDisposed()) {
-		if(!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet229.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet229.java
deleted file mode 100644
index 78c513b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet229.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Table example snippet: Draw a custom gradient selection
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet229 {
-public static void main(String [] args) {
-	final Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setText("Custom gradient selection for Table");
-	shell.setLayout(new FillLayout());
-	final Table table = new Table(shell, SWT.MULTI | SWT.FULL_SELECTION);
-	table.setHeaderVisible(true);
-	table.setLinesVisible(true);
-	int columnCount = 3;
-	for (int i=0; i<columnCount; i++) {
-		TableColumn column = new TableColumn(table, SWT.NONE);
-		column.setText("Column " + i);	
-	}
-	int itemCount = 8;
-	for(int i = 0; i < itemCount; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		item.setText(new String[] {"item "+i+" a", "item "+i+" b", "item "+i+" c"});
-	}		
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	table.addListener(SWT.EraseItem, new Listener() {
-		public void handleEvent(Event event) {
-			event.detail &= ~SWT.HOT;	
-			if((event.detail & SWT.SELECTED) != 0) {
-				GC gc = event.gc;
-				Rectangle area = table.getClientArea();
-				/*
-				 * If you wish to paint the selection beyond the end of
-				 * last column, you must change the clipping region.
-				 */
-				int columnCount = table.getColumnCount();
-				if (event.index == columnCount - 1 || columnCount == 0) {
-					int width = area.x + area.width - event.x;
-					if (width > 0) {
-						Region region = new Region();
-						gc.getClipping(region);
-						region.add(event.x, event.y, width, event.height); 
-						gc.setClipping(region);
-						region.dispose();
-					}
-				}
-				gc.setAdvanced(true);
-				if (gc.getAdvanced()) gc.setAlpha(127);								
-				Rectangle rect = event.getBounds();
-				Color foreground = gc.getForeground();
-				Color background = gc.getBackground();
-				gc.setForeground(display.getSystemColor(SWT.COLOR_RED));
-				gc.setBackground(display.getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-				gc.fillGradientRectangle(0, rect.y, 500, rect.height, false);
-				// restore colors for subsequent drawing
-				gc.setForeground(foreground);
-				gc.setBackground(background);
-				event.detail &= ~SWT.SELECTED;					
-			}						
-		}
-	});		
-	for (int i=0; i<columnCount; i++) {
-		table.getColumn(i).pack();
-	}	
-	table.setSelection(table.getItem(0));
-	shell.setSize(500, 200);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();	
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet23.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet23.java
deleted file mode 100644
index 5123690..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet23.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Tracker example snippet: create a tracker (drag on mouse down)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet23 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.open ();
-	shell.addListener (SWT.MouseDown, new Listener () {
-		public void handleEvent (Event e) {
-			Tracker tracker = new Tracker (shell, SWT.NONE);
-			tracker.setRectangles (new Rectangle [] {
-				new Rectangle (e.x, e.y, 100, 100),
-			});
-			tracker.open ();
-		}
-	});
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet230.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet230.java
deleted file mode 100644
index ee062db..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet230.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Table example snippet: Images on the right hand side of a TableItem
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet230 {
-	
-public static void main(String [] args) {
-	Display display = new Display();
-	final Image image = display.getSystemImage(SWT.ICON_INFORMATION);
-	Shell shell = new Shell(display);
-	shell.setText("Images on the right side of the TableItem");
-	shell.setLayout(new FillLayout ());
-	Table table = new Table(shell, SWT.MULTI | SWT.FULL_SELECTION);
-	table.setHeaderVisible(true);
-	table.setLinesVisible(true);			
-	int columnCount = 3;
-	for (int i=0; i<columnCount; i++) {
-		TableColumn column = new TableColumn(table, SWT.NONE);
-		column.setText("Column " + i);	
-	}
-	int itemCount = 8;
-	for(int i = 0; i < itemCount; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		item.setText(new String[] {"item "+i+" a", "item "+i+" b", "item "+i+" c"});
-	}
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	Listener paintListener = new Listener() {
-		public void handleEvent(Event event) {		
-			switch(event.type) {
-				case SWT.MeasureItem: {
-					Rectangle rect = image.getBounds();
-					event.width += rect.width;
-					event.height = Math.max(event.height, rect.height + 2);
-					break;
-				}
-				case SWT.PaintItem: {
-					int x = event.x + event.width;
-					Rectangle rect = image.getBounds();
-					int offset = Math.max(0, (event.height - rect.height) / 2);
-					event.gc.drawImage(image, x, event.y + offset);
-					break;
-				}
-			}
-		}
-	};		
-	table.addListener(SWT.MeasureItem, paintListener);
-	table.addListener(SWT.PaintItem, paintListener);		
-
-	for(int i = 0; i < columnCount; i++) {
-		table.getColumn(i).pack();
-	}	
-	shell.setSize(500, 200);
-	shell.open();
-	while(!shell.isDisposed ()) {
-		if(!display.readAndDispatch()) display.sleep();
-	}
-	if(image != null) image.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet231.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet231.java
deleted file mode 100644
index 1df78e2..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet231.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * example snippet: Multiple lines per TableItem
- *
- * For a detailed explanation of this snippet see
- * http://www.eclipse.org/articles/Article-CustomDrawingTableAndTreeItems/customDraw.htm#_example6
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet231 {
-	
-public static void main(String [] args) {
-	final int COLUMN_COUNT = 4;
-	final int ITEM_COUNT = 8;
-	final int TEXT_MARGIN = 3;
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	final Table table = new Table(shell, SWT.FULL_SELECTION);
-	table.setHeaderVisible(true);
-	table.setLinesVisible(true);
-	for (int i = 0; i < COLUMN_COUNT; i++) {
-		new TableColumn(table, SWT.NONE);
-	}
-	for (int i = 0; i < ITEM_COUNT; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		for (int j = 0; j < COLUMN_COUNT; j++) {
-			String string = "item " + i + " col " + j;
-			if ((i + j) % 3 == 1) {
-				string +="\nnew line1";
-			}
-			if ((i + j) % 3 == 2) {
-				string +="\nnew line1\nnew line2";
-			}
-			item.setText(j, string);
-		}
-	}
-
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	table.addListener(SWT.MeasureItem, new Listener() {
-		public void handleEvent(Event event) {
-			TableItem item = (TableItem)event.item;
-			String text = item.getText(event.index);
-			Point size = event.gc.textExtent(text);
-			event.width = size.x + 2 * TEXT_MARGIN;
-			event.height = Math.max(event.height, size.y + TEXT_MARGIN);
-		}
-	});
-	table.addListener(SWT.EraseItem, new Listener() {
-		public void handleEvent(Event event) {
-			event.detail &= ~SWT.FOREGROUND;
-		}
-	});
-	table.addListener(SWT.PaintItem, new Listener() {
-		public void handleEvent(Event event) {
-			TableItem item = (TableItem)event.item;
-			String text = item.getText(event.index);
-			/* center column 1 vertically */
-			int yOffset = 0;
-			if (event.index == 1) {
-				Point size = event.gc.textExtent(text);
-				yOffset = Math.max(0, (event.height - size.y) / 2);
-			}
-			event.gc.drawText(text, event.x + TEXT_MARGIN, event.y + yOffset, true);
-		}
-	});
-
-	for (int i = 0; i < COLUMN_COUNT; i++) {
-		table.getColumn(i).pack();
-	}
-	table.pack();
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet232.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet232.java
deleted file mode 100644
index b5a2cfb..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet232.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Tree example snippet: Draw a bar graph
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet232 {
-	
-public static void main(String [] args) {
-	final Display display = new Display();		
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	shell.setText("Show results as a bar chart in Tree");
-	final Tree tree = new Tree(shell, SWT.BORDER);
-	tree.setHeaderVisible(true);
-	tree.setLinesVisible(true);
-	TreeColumn column1 = new TreeColumn(tree, SWT.NONE);
-	column1.setText("Bug Status");
-	column1.setWidth(100);
-	final TreeColumn column2 = new TreeColumn(tree, SWT.NONE);
-	column2.setText("Percent");
-	column2.setWidth(200);
-	String[] states = new String[]{"Resolved", "New", "Won't Fix", "Invalid"};
-	String[] teams = new String[] {"UI", "SWT", "OSGI"};
-	for (int i=0; i<teams.length; i++) {
-		TreeItem item = new TreeItem(tree, SWT.NONE);
-		item.setText(teams[i]);
-		for (int j = 0; j < states.length; j++) {
-			TreeItem subItem = new TreeItem(item, SWT.NONE);
-			subItem.setText(states[j]);	
-		}
-	}
-
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	tree.addListener(SWT.PaintItem, new Listener() {
-		int[] percents = new int[] {50, 30, 5, 15};
-		public void handleEvent(Event event) {
-			if (event.index == 1) {
-				TreeItem item = (TreeItem)event.item;
-				TreeItem parent = item.getParentItem();
-				if (parent != null) {
-					GC gc = event.gc;
-					int index = parent.indexOf(item);
-					int percent = percents[index];
-					Color foreground = gc.getForeground();
-					Color background = gc.getBackground();
-					gc.setForeground(display.getSystemColor(SWT.COLOR_RED));
-					gc.setBackground(display.getSystemColor(SWT.COLOR_YELLOW));
-					int width = (column2.getWidth() - 1) * percent / 100;
-					gc.fillGradientRectangle(event.x, event.y, width, event.height, true);					
-					Rectangle rect2 = new Rectangle(event.x, event.y, width-1, event.height-1);
-					gc.drawRectangle(rect2);
-					gc.setForeground(display.getSystemColor(SWT.COLOR_LIST_FOREGROUND));
-					String text = percent+"%";
-					Point size = event.gc.textExtent(text);					
-					int offset = Math.max(0, (event.height - size.y) / 2);
-					gc.drawText(text, event.x+2, event.y+offset, true);
-					gc.setForeground(background);
-					gc.setBackground(foreground);
-				}
-			}
-		}
-	});		
-			
-	shell.pack();
-	shell.open();
-	while(!shell.isDisposed()) {
-		if(!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet233.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet233.java
deleted file mode 100644
index 220412d..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet233.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Shell example snippet: create a dialog shell and position it
- * with upper left corner at cursor position
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-
-public class Snippet233 {
-	public static void main (String [] args) {
-		final Display display = new Display ();
-		final Shell shell = new Shell (display);
-		shell.setText ("Parent Shell");
-		shell.addMouseListener (new MouseAdapter() {
-			public void mouseDown (MouseEvent e) {
-				Shell dialog = new Shell (shell, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
-				Point pt = display.getCursorLocation ();
-				dialog.setLocation (pt.x, pt.y);
-				dialog.setText ("Dialog Shell");
-				dialog.setSize (100, 100);
-				dialog.open (); 
-			}});
-		shell.setSize (400, 400);
-		shell.open ();
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		display.dispose ();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet234.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet234.java
deleted file mode 100644
index 27539ad..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet234.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-/* 
- * Table example snippet: Fixed first column and horizontal scroll remaining columns
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet234 {
-public static void main (String [] args) {
-	int rowCount = 40;
-	int columnCount = 15;
-	final Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	
-	Composite parent = new Composite(shell, SWT.BORDER);
-	GridLayout layout = new GridLayout(2, false);
-	layout.marginWidth = layout.marginHeight = layout.horizontalSpacing = 0;
-	parent.setLayout(layout);
-	final Table leftTable = new Table(parent, SWT.MULTI | SWT.FULL_SELECTION);
-	leftTable.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, true));
-	leftTable.setHeaderVisible(true);
-	final Table rightTable = new Table(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
-	rightTable.setHeaderVisible(true);
-	GridData table2Data = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 2);
-	rightTable.setLayoutData(table2Data);
-	// Create columns
-	TableColumn column1 = new TableColumn(leftTable, SWT.NONE);
-	column1.setText("Name");
-	column1.setWidth(150);
-	for (int i = 0; i < columnCount; i++) {
-		TableColumn column = new TableColumn(rightTable, SWT.NONE);
-		column.setText("Value "+i);
-		column.setWidth(200);
-	}
-	// Create rows
-	for (int i = 0; i < rowCount; i++) {
-		TableItem item = new TableItem(leftTable, SWT.NONE);
-		item.setText("item "+i);
-		item = new TableItem(rightTable, SWT.NONE);
-		for (int j = 0; j < columnCount; j++) {
-			item.setText(j, "Item "+i+" value @ "+j);
-		}
-	}
-	// Make selection the same in both tables
-	leftTable.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			rightTable.setSelection(leftTable.getSelectionIndices());
-		}
-	});
-	rightTable.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			leftTable.setSelection(rightTable.getSelectionIndices());
-		}
-	});
-	// On Windows, the selection is gray if the table does not have focus.
-	// To make both tables appear in focus, draw the selection background here.
-	// This part only works on version 3.2 or later.
-	Listener eraseListener = new Listener() {
-		public void handleEvent(Event event) {
-			event.detail &= ~SWT.HOT;
-			if((event.detail & SWT.SELECTED) != 0) {
-				GC gc = event.gc;
-				Rectangle rect = event.getBounds();
-				gc.setForeground(display.getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT));
-				gc.setBackground(display.getSystemColor(SWT.COLOR_LIST_SELECTION));
-				gc.fillRectangle(rect);
-				event.detail &= ~SWT.SELECTED;					
-			}
-		}
-	};
-	
-	leftTable.addListener(SWT.EraseItem, eraseListener);
-	rightTable.addListener(SWT.EraseItem, eraseListener);
-	// Make vertical scrollbars scroll together
-	ScrollBar vBarLeft = leftTable.getVerticalBar();
-	vBarLeft.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			rightTable.setTopIndex(leftTable.getTopIndex());
-		}
-	});
-	ScrollBar vBarRight = rightTable.getVerticalBar();
-	vBarRight.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			leftTable.setTopIndex(rightTable.getTopIndex());
-		}
-	});
-	// Horizontal bar on second table takes up a little extra space.
-	// To keep vertical scroll bars in sink, force table1 to end above
-	// horizontal scrollbar
-	ScrollBar hBarRight = rightTable.getHorizontalBar();
-	Label spacer = new Label(parent, SWT.NONE);
-	GridData spacerData = new GridData();
-	spacerData.heightHint = hBarRight.getSize().y;
-	spacer.setVisible(false);
-	parent.setBackground(leftTable.getBackground());
-	
-	shell.setSize(600, 400);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet235.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet235.java
deleted file mode 100644
index e57a59f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet235.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-/* 
- * example snippet: detect a system settings change
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet235 {
-
-
-public static void main(String [] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.setText("The SWT.Settings Event");
-	shell.setLayout(new GridLayout());
-	Label label = new Label(shell, SWT.WRAP);
-	label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-	label.setText("Change a system setting and the table below will be updated.");
-	final Table table = new Table(shell, SWT.BORDER);
-	table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-	TableColumn column = new TableColumn(table, SWT.NONE);
-	column = new TableColumn(table, SWT.NONE);
-	column.setWidth(150);
-	column = new TableColumn(table, SWT.NONE);
-	for (int i = 0; i < colorIds.length; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		Color color = display.getSystemColor(colorIds[i]);
-		item.setText(0, colorNames[i]);
-		item.setBackground(1, color);
-		item.setText(2, color.toString());
-	}
-	TableColumn[] columns = table.getColumns();
-	columns[0].pack();
-	columns[2].pack();
-	display.addListener(SWT.Settings, new Listener() {
-		public void handleEvent(Event event) {
-			for (int i = 0; i < colorIds.length; i++) {
-				Color color = display.getSystemColor(colorIds[i]);
-				TableItem item = table.getItem(i);
-				item.setBackground(1, color);
-			}
-			TableColumn[] columns = table.getColumns();
-			columns[0].pack();
-			columns[2].pack();
-		}
-	});
-
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-static int[] colorIds = new int[] {SWT.COLOR_INFO_BACKGROUND, 
-		SWT.COLOR_INFO_FOREGROUND, 
-		SWT.COLOR_LIST_BACKGROUND,
-		SWT.COLOR_LIST_FOREGROUND,
-		SWT.COLOR_LIST_SELECTION,
-		SWT.COLOR_LIST_SELECTION_TEXT,
-		SWT.COLOR_TITLE_BACKGROUND,
-		SWT.COLOR_TITLE_BACKGROUND_GRADIENT,
-		SWT.COLOR_TITLE_FOREGROUND,
-		SWT.COLOR_TITLE_INACTIVE_BACKGROUND,
-		SWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT,
-		SWT.COLOR_TITLE_INACTIVE_FOREGROUND,
-		SWT.COLOR_WIDGET_BACKGROUND,
-		SWT.COLOR_WIDGET_BORDER,
-		SWT.COLOR_WIDGET_DARK_SHADOW,
-		SWT.COLOR_WIDGET_FOREGROUND,
-		SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW,
-		SWT.COLOR_WIDGET_LIGHT_SHADOW,
-		SWT.COLOR_WIDGET_NORMAL_SHADOW,};
-static String [] colorNames = new String[] {"SWT.COLOR_INFO_BACKGROUND",
-		"SWT.COLOR_INFO_FOREGROUND", 
-		"SWT.COLOR_LIST_BACKGROUND",
-		"SWT.COLOR_LIST_FOREGROUND",
-		"SWT.COLOR_LIST_SELECTION",
-		"SWT.COLOR_LIST_SELECTION_TEXT",
-		"SWT.COLOR_TITLE_BACKGROUND",
-		"SWT.COLOR_TITLE_BACKGROUND_GRADIENT",
-		"SWT.COLOR_TITLE_FOREGROUND",
-		"SWT.COLOR_TITLE_INACTIVE_BACKGROUND",
-		"SWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT",
-		"SWT.COLOR_TITLE_INACTIVE_FOREGROUND",
-		"SWT.COLOR_WIDGET_BACKGROUND",
-		"SWT.COLOR_WIDGET_BORDER",
-		"SWT.COLOR_WIDGET_DARK_SHADOW",
-		"SWT.COLOR_WIDGET_FOREGROUND",
-		"SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW",
-		"SWT.COLOR_WIDGET_LIGHT_SHADOW",
-		"SWT.COLOR_WIDGET_NORMAL_SHADOW",};
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet236.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet236.java
deleted file mode 100644
index fbf57eb..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet236.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-/* 
- * Table example snippet: draw different foreground colors for text in a TableItem.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet236 {
-
-public static void main(String [] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setText("Table: Change style multiple times in cell");
-	shell.setLayout(new FillLayout());
-	Table table = new Table(shell, SWT.MULTI | SWT.FULL_SELECTION);
-	table.setLinesVisible(true);
-	for(int i = 0; i < 10; i++) {
-		new TableItem(table, SWT.NONE);			
-	}
-	final TextLayout textLayout = new TextLayout(display);
-	textLayout.setText("SWT: Standard Widget Toolkit");
-	Font font1 = new Font(display, "Tahoma", 14, SWT.BOLD);
-	Font font2 = new Font(display, "Tahoma", 10, SWT.NORMAL);
-	Font font3 = new Font(display, "Tahoma", 14, SWT.ITALIC);
-	TextStyle style1 = new TextStyle(font1, display.getSystemColor(SWT.COLOR_BLUE), null);
-	TextStyle style2 = new TextStyle(font2, display.getSystemColor(SWT.COLOR_MAGENTA), null);
-	TextStyle style3 = new TextStyle(font3, display.getSystemColor(SWT.COLOR_RED), null);
-	textLayout.setStyle(style1, 0, 0); textLayout.setStyle(style1, 5, 12);
-	textLayout.setStyle(style2, 1, 1); textLayout.setStyle(style2, 14, 19);
-	textLayout.setStyle(style3, 2, 2); textLayout.setStyle(style3, 21, 27);
-
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	table.addListener(SWT.PaintItem, new Listener() {
-		public void handleEvent(Event event) {
-			textLayout.draw(event.gc, event.x, event.y);
-		}
-	});
-	final Rectangle textLayoutBounds = textLayout.getBounds();
-	table.addListener(SWT.MeasureItem, new Listener() {
-		public void handleEvent(Event e) {
-			e.width = textLayoutBounds.width + 2;
-			e.height = textLayoutBounds.height + 2;
-		}
-	});
-	shell.setSize(400, 200);
-	shell.open();
-	while(!shell.isDisposed()) {
-		if(!display.readAndDispatch()) display.sleep();
-	}
-	font1.dispose();
-	font2.dispose();
-	font3.dispose();
-	textLayout.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet237.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet237.java
deleted file mode 100644
index eb823f5..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet237.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-/* 
- * Composite Snippet: inherit a background color or image
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet237 {
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.setText("Composite.setBackgroundMode()");
-	shell.setLayout(new RowLayout(SWT.VERTICAL));
-	
-	Color color = display.getSystemColor(SWT.COLOR_CYAN);
-	
-	Group group = new Group(shell, SWT.NONE);
-	group.setText("SWT.INHERIT_NONE");
-	group.setBackground(color);
-	group.setBackgroundMode(SWT.INHERIT_NONE);
-	createChildren(group);
-	
-	group = new Group(shell, SWT.NONE);
-	group.setBackground(color);
-	group.setText("SWT.INHERIT_DEFAULT");
-	group.setBackgroundMode(SWT.INHERIT_DEFAULT);
-	createChildren(group);
-	
-	group = new Group(shell, SWT.NONE);
-	group.setBackground(color);
-	group.setText("SWT.INHERIT_FORCE");
-	group.setBackgroundMode(SWT.INHERIT_FORCE);
-	createChildren(group);
-	
-	shell.pack();
-	shell.open();
-	while(!shell.isDisposed()) {
-		if(!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-static void createChildren(Composite parent) {
-	parent.setLayout(new RowLayout());
-	List list = new List(parent, SWT.BORDER | SWT.MULTI);
-	list.add("List item 1");
-	list.add("List item 2");
-	Label label = new Label(parent, SWT.NONE);
-	label.setText("Label");
-	Button button = new Button(parent, SWT.RADIO);
-	button.setText("Radio Button");
-	button = new Button(parent, SWT.CHECK);
-	button.setText("Check box Button");
-	button = new Button(parent, SWT.PUSH);
-	button.setText("Push Button");
-	Text text = new Text(parent, SWT.BORDER);
-	text.setText("Text");
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet238.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet238.java
deleted file mode 100644
index ca6ce04..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet238.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Menu example snippet: create a popup menu with a submenu
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet238 {
-
-public static void main(String[] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Composite composite = new Composite (shell, SWT.BORDER);
-	composite.setSize (100, 100);
-	Menu menu = new Menu (shell, SWT.POP_UP);
-	MenuItem item1 = new MenuItem (menu, SWT.PUSH);
-	item1.setText ("Push Item");
-	MenuItem item2 = new MenuItem (menu, SWT.CASCADE);
-	item2.setText ("Cascade Item");
-	Menu subMenu = new Menu (menu);
-	item2.setMenu (subMenu);
-	MenuItem subItem1 = new MenuItem (subMenu, SWT.PUSH);
-	subItem1.setText ("Subitem 1");
-	MenuItem subItem2 = new MenuItem (subMenu, SWT.PUSH);
-	subItem2.setText ("Subitem 2");
-	composite.setMenu (menu);
-	shell.setMenu (menu);
-	shell.setSize (300, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet239.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet239.java
deleted file mode 100644
index 34732e2..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet239.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Table snippet: make text span multiple columns
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet239 {
-	
-public static void main(String [] args) {
-	final Display display = new Display();
-	Shell shell = new Shell (display);
-	shell.setText("Text spans two columns in a TableItem");
-	shell.setLayout (new FillLayout());
-	final Table table = new Table(shell, SWT.MULTI | SWT.FULL_SELECTION);
-	table.setHeaderVisible(true);
-	int columnCount = 4;
-	for (int i=0; i<columnCount; i++) {
-		TableColumn column = new TableColumn(table, SWT.NONE);
-		column.setText("Column " + i);	
-	}
-	int itemCount = 8;
-	for (int i = 0; i < itemCount; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		item.setText(0, "item "+i+" a");
-		item.setText(3, "item "+i+" d");
-	}	
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	final String string = "text that spans two columns";
-	GC gc = new GC(table);
-	final Point extent = gc.stringExtent(string);
-	gc.dispose();
-	final Color red = display.getSystemColor(SWT.COLOR_RED);
-	Listener paintListener = new Listener() {
-		public void handleEvent(Event event) {
-			switch(event.type) {		
-				case SWT.MeasureItem: {
-					if (event.index == 1 || event.index == 2) {
-						event.width = extent.x/2;
-						event.height = Math.max(event.height, extent.y + 2);
-					}
-					break;
-				}
-				case SWT.PaintItem: {
-					if (event.index == 1 || event.index == 2) {
-						int offset = 0;
-						if (event.index == 2) {
-							TableColumn column1 = table.getColumn(1);
-							offset = column1.getWidth();
-						}
-						event.gc.setForeground(red);
-						int y = event.y + (event.height - extent.y)/2;
-						event.gc.drawString(string, event.x - offset, y, true);
-					}
-					break;
-				}
-			}
-		}
-	};
-	table.addListener(SWT.MeasureItem, paintListener);
-	table.addListener(SWT.PaintItem, paintListener);
-	for (int i = 0; i < columnCount; i++) {
-		table.getColumn(i).pack();
-	}
-	shell.pack();
-	shell.open();
-	while(!shell.isDisposed()) {
-		if(!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet24.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet24.java
deleted file mode 100644
index fda44ac..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet24.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * example snippet: detect CR in a text or combo control (default selection)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet24 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout ());
-	Combo combo = new Combo (shell, SWT.NONE);
-	combo.setItems (new String [] {"A-1", "B-1", "C-1"});
-	Text text = new Text (shell, SWT.SINGLE | SWT.BORDER);
-	text.setText ("some text");
-	combo.addListener (SWT.DefaultSelection, new Listener () {
-		public void handleEvent (Event e) {
-			System.out.println (e.widget + " - Default Selection");
-		}
-	});
-	text.addListener (SWT.DefaultSelection, new Listener () {
-		public void handleEvent (Event e) {
-			System.out.println (e.widget + " - Default Selection");
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet240.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet240.java
deleted file mode 100644
index de8a1b4..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet240.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Tree snippet: Text that spans multiple columns
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet240 {
-
-public static void main(String [] args) {
-	final Display display = new Display();
-	Shell shell = new Shell (display);
-	shell.setText("Text spans two columns in a TreeItem");
-	shell.setLayout (new FillLayout());
-	final Tree tree = new Tree(shell, SWT.MULTI | SWT.FULL_SELECTION);
-	tree.setHeaderVisible(true);
-	int columnCount = 4;
-	for (int i=0; i<columnCount; i++) {
-		TreeColumn column = new TreeColumn(tree, SWT.NONE);
-		column.setText("Column " + i);	
-	}
-	int itemCount = 8;
-	for (int i = 0; i < itemCount; i++) {
-		TreeItem item = new TreeItem(tree, SWT.NONE);
-		item.setText(0, "item "+i+" a");
-		item.setText(3, "item "+i+" d");
-		for (int j = 0; j < 3; j++) {
-			TreeItem subItem = new TreeItem(item, SWT.NONE);
-			subItem.setText(0, "subItem "+i+"-"+j+" a");
-			subItem.setText(3, "subItem "+i+"-"+j+" d");
-		}
-	}	
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	final String string = "text that spans two columns";
-	GC gc = new GC(tree);
-	final Point extent = gc.stringExtent(string);
-	gc.dispose();
-	final Color red = display.getSystemColor(SWT.COLOR_RED);
-	Listener paintListener = new Listener() {
-		public void handleEvent(Event event) {
-			switch(event.type) {		
-				case SWT.MeasureItem: {
-					if (event.index == 1 || event.index == 2) {
-						event.width = extent.x/2;
-						event.height = Math.max(event.height, extent.y + 2);
-					}
-					break;
-				}
-				case SWT.PaintItem: {
-					if (event.index == 1 || event.index == 2) {
-						int offset = 0;
-						if (event.index == 2) {
-							TreeColumn column1 = tree.getColumn(1);
-							offset = column1.getWidth();
-						}
-						event.gc.setForeground(red);
-						int y = event.y + (event.height - extent.y)/2;
-						event.gc.drawString(string, event.x - offset, y, true);
-					}
-					break;
-				}
-			}
-		}
-	};
-	tree.addListener(SWT.MeasureItem, paintListener);
-	tree.addListener(SWT.PaintItem, paintListener);
-	for (int i = 0; i < columnCount; i++) {
-		tree.getColumn(i).pack();
-	}
-	shell.pack();
-	shell.open();
-	while(!shell.isDisposed()) {
-		if(!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet241.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet241.java
deleted file mode 100644
index 26f1e83..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet241.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Text snippet: Override Tab behavior to traverse out of a Text.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet241 {
-
-public static void main(String [] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setBounds(10,10,200,200);
-	Text text1 = new Text(shell, SWT.MULTI | SWT.WRAP);
-	text1.setBounds(10,10,150,50);
-	text1.setText("Tab will traverse out from here.");
-	text1.addTraverseListener(new TraverseListener() {
-		public void keyTraversed(TraverseEvent e) {
-			if (e.detail == SWT.TRAVERSE_TAB_NEXT || e.detail == SWT.TRAVERSE_TAB_PREVIOUS) {
-				e.doit = true;
-			}
-		}
-	});
-	Text text2 = new Text(shell, SWT.MULTI | SWT.WRAP);
-	text2.setBounds(10,100,150,50);
-	text2.setText("But Tab will NOT traverse out from here (Ctrl+Tab will).");
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet242.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet242.java
deleted file mode 100644
index 714273a..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet242.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Cursor snippet: Hide the Cursor over a control.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet242 {
-
-public static void main(String [] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setBounds(10, 10, 200, 200);
-	Canvas canvas = new Canvas(shell, SWT.BORDER);
-	canvas.setBounds(10,50,150,100);
-	canvas.addPaintListener(new PaintListener() {
-		public void paintControl(PaintEvent e) {
-			e.gc.drawString("hide Cursor here", 10, 10);
-		}
-	});
-
-	// create a cursor with a transparent image
-	Color white = display.getSystemColor (SWT.COLOR_WHITE);
-	Color black = display.getSystemColor (SWT.COLOR_BLACK);
-	PaletteData palette = new PaletteData (new RGB [] {white.getRGB(), black.getRGB()});
-	ImageData sourceData = new ImageData (16, 16, 1, palette);
-	sourceData.transparentPixel = 0;
-	Cursor cursor = new Cursor(display, sourceData, 0, 0);
-
-	shell.open();
-	canvas.setCursor(cursor);
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	cursor.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet243.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet243.java
deleted file mode 100644
index 1f242f6..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet243.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Text snippet: type in one text, output to another
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet243 {
-
-public static void main(String [] args) {
-	final Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout ());
-	final Text text0 = new Text (shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	final Text text1 = new Text (shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	text0.addVerifyListener (new VerifyListener () {
-		public void verifyText (VerifyEvent event) {
-			text1.setTopIndex (text0.getTopIndex ());
-			text1.setSelection (event.start, event.end);
-			text1.insert (event.text);
-		}
-	});
-	shell.setBounds(10, 10, 200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet244.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet244.java
deleted file mode 100644
index 617dfe9..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet244.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * StyledText snippet: Draw a box around text.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet244 {
-	static String SEARCH_STRING = "box";
-    public static void main(String[] args) {
-        final Display display = new Display();
-        final Color RED = display.getSystemColor(SWT.COLOR_RED);
-        Shell shell = new Shell(display);
-        shell.setBounds(10,10,250,250);
-        final StyledText text = new StyledText(shell, SWT.NONE);
-        text.setBounds(10,10,200,200);
-        text.addListener(SWT.Paint, new Listener() {
-			public void handleEvent(Event event) {
-				String contents = text.getText();
-				int stringWidth = event.gc.stringExtent(SEARCH_STRING).x;
-				int lineHeight = text.getLineHeight();
-				event.gc.setForeground(RED);
-				int index = contents.indexOf(SEARCH_STRING);
-				while (index != -1) {
-					Point topLeft = text.getLocationAtOffset(index);
-					event.gc.drawRectangle(topLeft.x - 1, topLeft.y, stringWidth + 1, lineHeight - 1);
-					index = contents.indexOf(SEARCH_STRING, index + 1);
-				}
-			}
-		});
-        text.setText("This demonstrates drawing a box\naround every occurrence of the word\nbox in the StyledText");
-        shell.open();
-        while (!shell.isDisposed()) {
-            if (!display.readAndDispatch()) display.sleep();
-        }
-        display.dispose();
-    }
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet245.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet245.java
deleted file mode 100644
index 00b8425..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet245.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Canvas snippet: paint a circle in a canvas
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-
-public class Snippet245 {
-
-public static void main(String [] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.addPaintListener(new PaintListener() {
-		public void paintControl(PaintEvent event) {
-			Rectangle rect = shell.getClientArea();
-			event.gc.drawOval(0, 0, rect.width - 1, rect.height - 1);
-		}
-	});
-	shell.setBounds(10, 10, 200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet246.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet246.java
deleted file mode 100644
index 3e186b7..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet246.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Write an Image to a PNG file.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet246 {
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Font font = new Font(display, "Comic Sans MS", 24, SWT.BOLD);
-		Image image = new Image(display, 87, 48);
-		GC gc = new GC(image);
-		gc.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
-		gc.fillRectangle(image.getBounds());
-		gc.setFont(font);
-		gc.setForeground(display.getSystemColor(SWT.COLOR_RED));
-		gc.drawString("S", 3, 0);
-		gc.setForeground(display.getSystemColor(SWT.COLOR_GREEN));
-		gc.drawString("W", 25, 0);
-		gc.setForeground(display.getSystemColor(SWT.COLOR_BLUE));
-		gc.drawString("T", 62, 0);
-		gc.dispose();
-
-		ImageLoader loader = new ImageLoader();
-		loader.data = new ImageData[] {image.getImageData()};
-		loader.save("swt.png", SWT.IMAGE_PNG);
-
-		image.dispose();
-		font.dispose();
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet247.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet247.java
deleted file mode 100644
index 0d0500e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet247.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Control example snippet: allow a multi-line text to process the default button
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet247 {
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new RowLayout());
-	Text text = new Text(shell, SWT.MULTI | SWT.BORDER);
-	String modifier = SWT.MOD1 == SWT.CTRL ? "Ctrl" : "Command";
-	text.setText("Hit " + modifier + "+Return\nto see\nthe default button\nrun");
-	text.addTraverseListener(new TraverseListener () {
-		public void keyTraversed(TraverseEvent e) {
-			switch (e.detail) {
-				case SWT.TRAVERSE_RETURN:
-					if ((e.stateMask & SWT.MOD1) != 0) e.doit = true;
-			}
-		}
-	});
-	Button button = new Button (shell, SWT.PUSH);
-	button.pack();
-	button.setText("OK");
-	button.addSelectionListener(new SelectionAdapter () {
-		public void widgetSelected(SelectionEvent e) {
-			System.out.println("OK selected");
-		}
-	});
-	shell.setDefaultButton(button);
-	shell.pack ();
-	shell.open();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet248.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet248.java
deleted file mode 100644
index 8f90abe..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet248.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Shell example snippet: allow escape to close a shell
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet248 {
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	shell.addListener (SWT.Traverse, new Listener () {
-		public void handleEvent (Event event) {
-			switch (event.detail) {
-				case SWT.TRAVERSE_ESCAPE:
-					shell.close ();
-					event.detail = SWT.TRAVERSE_NONE;
-					event.doit = false;
-					break;
-			}
-		}
-	});
-	Button button = new Button (shell, SWT.PUSH);
-	button.setText ("A Button (that doesn't process Escape)");
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet249.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet249.java
deleted file mode 100644
index 6f24ab9..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet249.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * StackLayout example snippet: use a StackLayout to switch between Composites.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet249 {
-
-	static int pageNum = -1;
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setBounds (10, 10, 300, 200);
-	// create the composite that the pages will share
-	final Composite contentPanel = new Composite (shell, SWT.BORDER);
-	contentPanel.setBounds (100, 10, 190, 90);
-	final StackLayout layout = new StackLayout ();
-	contentPanel.setLayout (layout);
-
-	// create the first page's content
-	final Composite page0 = new Composite (contentPanel, SWT.NONE);
-	page0.setLayout (new RowLayout ());
-	Label label = new Label (page0, SWT.NONE);
-	label.setText ("Label on page 1");
-	label.pack ();
-
-	// create the second page's content	
-	final Composite page1 = new Composite (contentPanel, SWT.NONE);
-	page1.setLayout (new RowLayout ());
-	Button button = new Button (page1, SWT.NONE);
-	button.setText ("Button on page 2");
-	button.pack ();
-
-	// create the button that will switch between the pages
-	Button pageButton = new Button (shell, SWT.PUSH);
-	pageButton.setText ("Push");
-	pageButton.setBounds (10, 10, 80, 25);
-	pageButton.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			pageNum = ++pageNum % 2;
-			layout.topControl = pageNum == 0 ? page0 : page1;
-			contentPanel.layout ();
-		}
-	});
-
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet25.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet25.java
deleted file mode 100644
index 93bc7e2..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet25.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Control example snippet: print key state, code and character
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet25 {
-
-static String stateMask (int stateMask) {
-	String string = "";
-	if ((stateMask & SWT.CTRL) != 0) string += " CTRL";
-	if ((stateMask & SWT.ALT) != 0) string += " ALT";
-	if ((stateMask & SWT.SHIFT) != 0) string += " SHIFT";
-	if ((stateMask & SWT.COMMAND) != 0) string += " COMMAND";
-	return string;
-}
-
-static String character (char character) {
-	switch (character) {
-		case 0: 		return "'\\0'";
-		case SWT.BS:	return "'\\b'";
-		case SWT.CR:	return "'\\r'";
-		case SWT.DEL:	return "DEL";
-		case SWT.ESC:	return "ESC";
-		case SWT.LF:	return "'\\n'";
-		case SWT.TAB:	return "'\\t'";
-	}
-	return "'" + character +"'";
-}
-
-static String keyCode (int keyCode) {
-	switch (keyCode) {
-		
-		/* Keyboard and Mouse Masks */
-		case SWT.ALT: 		return "ALT";
-		case SWT.SHIFT: 	return "SHIFT";
-		case SWT.CONTROL:	return "CONTROL";
-		case SWT.COMMAND:	return "COMMAND";
-			
-		/* Non-Numeric Keypad Keys */
-		case SWT.ARROW_UP:		return "ARROW_UP";
-		case SWT.ARROW_DOWN:	return "ARROW_DOWN";
-		case SWT.ARROW_LEFT:	return "ARROW_LEFT";
-		case SWT.ARROW_RIGHT:	return "ARROW_RIGHT";
-		case SWT.PAGE_UP:		return "PAGE_UP";
-		case SWT.PAGE_DOWN:		return "PAGE_DOWN";
-		case SWT.HOME:			return "HOME";
-		case SWT.END:			return "END";
-		case SWT.INSERT:		return "INSERT";
-
-		/* Virtual and Ascii Keys */
-		case SWT.BS:	return "BS";
-		case SWT.CR:	return "CR";		
-		case SWT.DEL:	return "DEL";
-		case SWT.ESC:	return "ESC";
-		case SWT.LF:	return "LF";
-		case SWT.TAB:	return "TAB";
-	
-		/* Functions Keys */
-		case SWT.F1:	return "F1";
-		case SWT.F2:	return "F2";
-		case SWT.F3:	return "F3";
-		case SWT.F4:	return "F4";
-		case SWT.F5:	return "F5";
-		case SWT.F6:	return "F6";
-		case SWT.F7:	return "F7";
-		case SWT.F8:	return "F8";
-		case SWT.F9:	return "F9";
-		case SWT.F10:	return "F10";
-		case SWT.F11:	return "F11";
-		case SWT.F12:	return "F12";
-		case SWT.F13:	return "F13";
-		case SWT.F14:	return "F14";
-		case SWT.F15:	return "F15";
-		
-		/* Numeric Keypad Keys */
-		case SWT.KEYPAD_ADD:		return "KEYPAD_ADD";
-		case SWT.KEYPAD_SUBTRACT:	return "KEYPAD_SUBTRACT";
-		case SWT.KEYPAD_MULTIPLY:	return "KEYPAD_MULTIPLY";
-		case SWT.KEYPAD_DIVIDE:		return "KEYPAD_DIVIDE";
-		case SWT.KEYPAD_DECIMAL:	return "KEYPAD_DECIMAL";
-		case SWT.KEYPAD_CR:			return "KEYPAD_CR";
-		case SWT.KEYPAD_0:			return "KEYPAD_0";
-		case SWT.KEYPAD_1:			return "KEYPAD_1";
-		case SWT.KEYPAD_2:			return "KEYPAD_2";
-		case SWT.KEYPAD_3:			return "KEYPAD_3";
-		case SWT.KEYPAD_4:			return "KEYPAD_4";
-		case SWT.KEYPAD_5:			return "KEYPAD_5";
-		case SWT.KEYPAD_6:			return "KEYPAD_6";
-		case SWT.KEYPAD_7:			return "KEYPAD_7";
-		case SWT.KEYPAD_8:			return "KEYPAD_8";
-		case SWT.KEYPAD_9:			return "KEYPAD_9";
-		case SWT.KEYPAD_EQUAL:		return "KEYPAD_EQUAL";
-
-		/* Other keys */
-		case SWT.CAPS_LOCK:		return "CAPS_LOCK";
-		case SWT.NUM_LOCK:		return "NUM_LOCK";
-		case SWT.SCROLL_LOCK:	return "SCROLL_LOCK";
-		case SWT.PAUSE:			return "PAUSE";
-		case SWT.BREAK:			return "BREAK";
-		case SWT.PRINT_SCREEN:	return "PRINT_SCREEN";
-		case SWT.HELP:			return "HELP";
-	}
-	return character ((char) keyCode);
-}
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Listener listener = new Listener () {
-		public void handleEvent (Event e) {
-			String string = e.type == SWT.KeyDown ? "DOWN:" : "UP  :";
-			string += " stateMask=0x" + Integer.toHexString (e.stateMask) + stateMask (e.stateMask) + ",";
-			string += " keyCode=0x" + Integer.toHexString (e.keyCode) + " " + keyCode (e.keyCode) + ",";
-			string += " character=0x" + Integer.toHexString (e.character) + " " + character (e.character);
-			System.out.println (string);
-		}
-	};
-	shell.addListener (SWT.KeyDown, listener);
-	shell.addListener (SWT.KeyUp, listener);
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet250.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet250.java
deleted file mode 100644
index 58593bf..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet250.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * DateTime example snippet: create a DateTime calendar and a DateTime time.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet250 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout ());
-
-	DateTime calendar = new DateTime (shell, SWT.CALENDAR);
-	calendar.addSelectionListener (new SelectionAdapter () {
-		public void widgetSelected (SelectionEvent e) {
-			System.out.println ("calendar date changed");
-		}
-	});
-
-	DateTime time = new DateTime (shell, SWT.TIME);
-	time.addSelectionListener (new SelectionAdapter () {
-		public void widgetSelected (SelectionEvent e) {
-			System.out.println ("time changed");
-		}
-	});
-
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet251.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet251.java
deleted file mode 100644
index 0e7ca0b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet251.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * DateTime example snippet: create a DateTime calendar, date, and time in a dialog.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet251 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-
-	Button open = new Button (shell, SWT.PUSH);
-	open.setText ("Open Dialog");
-	open.addSelectionListener (new SelectionAdapter () {
-		public void widgetSelected (SelectionEvent e) {
-			final Shell dialog = new Shell (shell, SWT.DIALOG_TRIM);
-			dialog.setLayout (new GridLayout (3, false));
-
-			final DateTime calendar = new DateTime (dialog, SWT.CALENDAR | SWT.BORDER);
-			final DateTime date = new DateTime (dialog, SWT.DATE | SWT.SHORT);
-			final DateTime time = new DateTime (dialog, SWT.TIME | SWT.SHORT);
-
-			new Label (dialog, SWT.NONE);
-			new Label (dialog, SWT.NONE);
-			Button ok = new Button (dialog, SWT.PUSH);
-			ok.setText ("OK");
-			ok.setLayoutData(new GridData (SWT.FILL, SWT.CENTER, false, false));
-			ok.addSelectionListener (new SelectionAdapter () {
-				public void widgetSelected (SelectionEvent e) {
-					System.out.println ("Calendar date selected (MM/DD/YYYY) = " + (calendar.getMonth () + 1) + "/" + calendar.getDay () + "/" + calendar.getYear ());
-					System.out.println ("Date selected (MM/YYYY) = " + (date.getMonth () + 1) + "/" + date.getYear ());
-					System.out.println ("Time selected (HH:MM) = " + time.getHours () + ":" + time.getMinutes ());
-					dialog.close ();
-				}
-			});
-			dialog.setDefaultButton (ok);
-			dialog.pack ();
-			dialog.open ();
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet252.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet252.java
deleted file mode 100644
index ddf6754..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet252.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * LineAttributes example snippet: draw 2 polylines with different line attributes.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet252 {
-	
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		
-		shell.addListener(SWT.Paint, new Listener() {
-			public void handleEvent(Event event) {
-				GC gc = event.gc;
-				
-				gc.setLineAttributes(new LineAttributes(10, SWT.CAP_FLAT, SWT.JOIN_MITER, SWT.LINE_SOLID, null, 0, 10));
-				gc.drawPolyline(new int[]{50, 100, 50, 20, 60, 30, 50, 45});
-				
-				gc.setLineAttributes(new LineAttributes(1/2f, SWT.CAP_FLAT, SWT.JOIN_MITER, SWT.LINE_DOT, null, 0, 10));
-				gc.drawPolyline(new int[]{100, 100, 100, 20, 110, 30, 100, 45});
-			}
-		});
-		
-		shell.setSize(150, 150);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet253.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet253.java
deleted file mode 100644
index 75f1ec9..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet253.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Table example snippet: compute the visible rows in a table
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet253 {
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		FillLayout layout = new FillLayout (SWT.VERTICAL);
-		shell.setLayout (layout);
-		final Table table = new Table (shell, SWT.NONE);
-		for (int i=0; i<32; i++) {
-			TableItem item = new TableItem (table, SWT.NONE);
-			item.setText ("Item " + (i+1) + " is quite long");
-		}
-		final Button button = new Button (shell, SWT.PUSH);
-		button.setText ("Visible Items []");
-		button.addListener (SWT.Selection, new Listener () {
-			public void handleEvent (Event e) {
-				Rectangle rect = table.getClientArea ();
-				int itemHeight = table.getItemHeight ();
-				int headerHeight = table.getHeaderHeight ();
-				int visibleCount = (rect.height - headerHeight + itemHeight - 1) / itemHeight;
-				button.setText ("Visible Items [" + visibleCount + "]");
-			}
-		});
-		shell.setSize(200, 250);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet256.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet256.java
deleted file mode 100644
index 1e820b2..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet256.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * TextLayout example snippet: text with underline and strike through
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet256 {
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	final Shell shell = new Shell(display, SWT.SHELL_TRIM | SWT.DOUBLE_BUFFERED);	
-	shell.setText("Underline, Strike Out");
-	Font font = shell.getFont();
-	String text = "Here is some text that is underlined or struck out or both.";
-	final TextLayout layout = new TextLayout(display);
-	layout.setText(text);
-	TextStyle style1 = new TextStyle(font, null, null);
-	style1.underline = true;
-	layout.setStyle(style1, 26, 35);
-	TextStyle style2 = new TextStyle(font, null, null);
-	style2.strikeout = true;
-	layout.setStyle(style2, 40, 49);
-	TextStyle style3 = new TextStyle(font, null, null);
-	style3.underline = true;
-	style3.strikeout = true;
-	layout.setStyle(style3, 54, 57);
-	shell.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event event) {
-			Point point = new Point(10, 10);
-			int width = shell.getClientArea().width - 2 * point.x;
-			layout.setWidth(width);
-			layout.draw(event.gc, point.x, point.y);		
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	layout.dispose();		
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet257.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet257.java
deleted file mode 100644
index eaa6712..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet257.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Drag text selection within a StyledText widget
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet257 {
-
-	static String string1 = "A drag source is the provider of data in a Drag and Drop data transfer as well as "+
-                           "the originator of the Drag and Drop operation. The data provided by the drag source "+
-                           "may be transferred to another location in the same widget, to a different widget "+
-                           "within the same application, or to a different application altogether. For example, "+
-                           "you can drag text from your application and drop it on an email application, or you "+
-                           "could drag an item in a tree and drop it below a different node in the same tree.";
-
-	static String DRAG_START_DATA = "DRAG_START_DATA";
-	
-public static void main (String [] args) {
-	final Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	shell.setSize(100, 300);
-	int style = SWT.MULTI | SWT.WRAP | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER;
-	final StyledText text = new StyledText(shell, style);
-	text.setText(string1);
-	final DragSource source = new DragSource(text, DND.DROP_COPY | DND.DROP_MOVE);
-	source.setDragSourceEffect(new DragSourceEffect(text) {
-		public void dragStart(DragSourceEvent event) {
-			event.image = display.getSystemImage(SWT.ICON_WARNING);
-		}
-	});
-	source.setTransfer(new Transfer[] {TextTransfer.getInstance()});
-	source.addDragListener(new DragSourceAdapter() {
-		Point selection;
-		public void dragStart(DragSourceEvent event) {
-			selection = text.getSelection();
-			event.doit = selection.x != selection.y;
-			text.setData(DRAG_START_DATA, selection);
-		}
-		public void dragSetData(DragSourceEvent e) {
-			e.data = text.getText(selection.x, selection.y-1);
-		}
-		public void dragFinished(DragSourceEvent event) {
-			if (event.detail == DND.DROP_MOVE) {
-				Point newSelection= text.getSelection();
-				int length = selection.y - selection.x;
-				int delta = 0;
-				if (newSelection.x < selection.x)
-					delta = length; 
-				text.replaceTextRange(selection.x + delta, length, "");
-			}
-			selection = null;
-			text.setData(DRAG_START_DATA, null);
-		}
-	});
-	
-	DropTarget target = new DropTarget(text, DND.DROP_DEFAULT | DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK);
-	target.setTransfer(new Transfer[] {TextTransfer.getInstance()});
-	target.addDropListener(new DropTargetAdapter() {
-		public void dragEnter(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT) {
-				if (text.getData(DRAG_START_DATA) == null)
-					event.detail = DND.DROP_COPY;
-				else 
-					event.detail = DND.DROP_MOVE;
-			}
-		}
-		public void dragOperationChanged(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT) {
-				if (text.getData(DRAG_START_DATA) == null)
-					event.detail = DND.DROP_COPY;
-				else 
-					event.detail = DND.DROP_MOVE;
-			}
-		}
-		public void dragOver(DropTargetEvent event) {
-			event.feedback = DND.FEEDBACK_SCROLL | DND.FEEDBACK_SELECT;
-		}
-		public void drop(DropTargetEvent event) {
-			if (event.detail != DND.DROP_NONE) {
-				Point selection = (Point) text.getData(DRAG_START_DATA);
-				int insertPos = text.getCaretOffset();
-				if (event.detail == DND.DROP_MOVE && selection != null && selection.x <= insertPos  && insertPos <= selection.y 
-						|| event.detail == DND.DROP_COPY && selection != null && selection.x < insertPos  && insertPos < selection.y) {
-					text.setSelection(selection);
-					event.detail = DND.DROP_COPY;  // prevent source from deleting selection
-				} else {
-					String string = (String)event.data;
-					text.insert(string);
-					if (selection != null)
-						text.setSelectionRange(insertPos, string.length());
-				}
-			}
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet258.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet258.java
deleted file mode 100644
index 1ade63b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet258.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Create a search text control
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.events.*;
-
-public class Snippet258 {
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new GridLayout(2, false));
-		
-		final Text text = new Text(shell, SWT.SEARCH | SWT.CANCEL);
-		Image image = null;
-		if ((text.getStyle() & SWT.CANCEL) == 0) {
-			image = display.getSystemImage(SWT.ICON_ERROR);
-			ToolBar toolBar = new ToolBar (shell, SWT.FLAT);
-			ToolItem item = new ToolItem (toolBar, SWT.PUSH);
-			item.setImage (image);
-			item.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					text.setText("");
-					System.out.println("Search cancelled");
-				}
-			});
-		}
-		text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		text.setText("Search text");
-		text.addSelectionListener(new SelectionAdapter() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				if (e.detail == SWT.CANCEL) {
-					System.out.println("Search cancelled");
-				} else {
-					System.out.println("Searching for: " + text.getText() + "...");
-				}
-			}
-		});
-
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		if (image != null) image.dispose();
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet259.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet259.java
deleted file mode 100644
index 7a5354e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet259.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Detect drag in a custom control
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet259 {
-
-static class MyList extends Canvas {
-	int selection;
-	String [] items = new String [0];
-	static final int INSET_X = 2;
-	static final int INSET_Y = 2;
-	
-static int checkStyle (int style) {
-	style &= ~(SWT.H_SCROLL | SWT.V_SCROLL);
-	style |= SWT.NO_BACKGROUND | SWT.NO_REDRAW_RESIZE;
-	return style;
-}
-
-public MyList (Composite parent, int style) {
-	super (parent, checkStyle (style));
-	super.setDragDetect (false);
-	addMouseListener (new MouseAdapter () {
-		public void mouseDown (MouseEvent event) {
-			GC gc = new GC (MyList.this);
-			Rectangle client = getClientArea();
-			int index = 0, x = client.x + INSET_X, y = client.y + INSET_Y;
-			while (index < items.length) {
-				Point pt = gc.stringExtent(items [index]);
-				Rectangle item = new Rectangle (x, y, pt.x, pt.y);
-				if (item.contains (event.x, event.y)) break;
-				y += pt.y;
-				if (!client.contains (x, y)) return;
-				index++;
-			}
-			gc.dispose ();
-			if (index == items.length || !client.contains (x, y)) {
-				return;
-			}
-			selection = index;
-			redraw ();
-			update ();
-			dragDetect (event);
-		}
-	});
-	addPaintListener (new PaintListener () {
-		public void paintControl (PaintEvent event) {
-			GC gc = event.gc;
-			Color foreground = event.display.getSystemColor (SWT.COLOR_LIST_FOREGROUND);
-			Color background = event.display.getSystemColor (SWT.COLOR_LIST_BACKGROUND);
-			Color selectForeground = event.display.getSystemColor (SWT.COLOR_LIST_SELECTION_TEXT);
-			Color selectBackground = event.display.getSystemColor (SWT.COLOR_LIST_SELECTION);
-			gc.setForeground (foreground);
-			gc.setBackground (background);
-			MyList.this.drawBackground (gc, event.x, event.y, event.width, event.height);
-			int x = INSET_X, y = INSET_Y;
-			for (int i=0; i<items.length; i++) {
-				Point pt = gc.stringExtent(items [i]);
-				gc.setForeground (i == selection ? selectForeground : foreground);
-				gc.setBackground (i == selection ? selectBackground : background);
-				gc.drawString (items [i], x, y);
-				y += pt.y;
-			}
-			
-		}
-	});
-}
-
-public Point computeSize (int wHint, int hHint, boolean changed) {
-	GC gc = new GC (this);
-	int index = 0, width = 0, height = 0;
-	while (index < items.length) {
-		Point pt = gc.stringExtent(items [index]);
-		width = Math.max (width, pt.x);
-		height += pt.y;
-		index++;
-	}
-	gc.dispose ();
-	width += INSET_X * 2;
-	height += INSET_Y * 2;
-	Rectangle rect = computeTrim (0, 0, width, height);
-	return new Point (rect.width, rect.height);
-}
-
-public String [] getItems () {
-	checkWidget ();
-	return items;
-}
-
-public void setItems (String [] items) {
-	checkWidget ();
-	if (items == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	this.items = items;
-	redraw ();	
-}
-}
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	MyList t1 = new MyList (shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	t1.setItems (new String [] {"Some", "items", "in", "the", "list"});
-	t1.addDragDetectListener (new DragDetectListener () {
-		public void dragDetected (DragDetectEvent event) {
-			System.out.println ("Drag started ...");
-		}
-	});
-	MyList t2 = new MyList (shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	t2.setItems (new String [] {"Some", "items", "in", "another", "list"});
-	t2.addDragDetectListener (new DragDetectListener () {
-		public void dragDetected (DragDetectEvent event) {
-			System.out.println ("Drag started ...");
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet26.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet26.java
deleted file mode 100644
index 7cce5e8..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet26.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Combo example snippet: create a combo box (non-editable)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet26 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Combo combo = new Combo (shell, SWT.READ_ONLY);
-	combo.setItems (new String [] {"A", "B", "C"});
-	combo.setSize (200, 200);
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet260.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet260.java
deleted file mode 100644
index 095931b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet260.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Mozilla in a Browser
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.browser.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet260 {
-
-	public static void main(String [] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		shell.setText("Mozilla");
-		final Browser browser;
-		try {
-			browser = new Browser(shell, SWT.MOZILLA);
-		} catch (SWTError e) {
-			System.out.println("Could not instantiate Browser: " + e.getMessage());
-			return;
-		}
-		shell.open();
-		browser.setUrl("http://mozilla.org");
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet261.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet261.java
deleted file mode 100644
index 42108c6..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet261.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-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.*;
-
-/*
- * Open an OLE Excel sheet.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */ 
-public class Snippet261 {
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setText("Excel Example");
-		shell.setLayout(new FillLayout());
-		try {
-			OleFrame frame = new OleFrame(shell, SWT.NONE);
-			new OleClientSite(frame, SWT.NONE, "Excel.Sheet");
-			addFileMenu(frame);
-		} catch (SWTError e) {
-			System.out.println("Unable to open activeX control");
-			return;
-		}
-		shell.setSize(800, 600);
-		shell.open();
-		
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-	
-	static void addFileMenu(OleFrame frame) {
-		final Shell shell = frame.getShell();
-		Menu menuBar = new Menu(shell, SWT.BAR);
-		shell.setMenuBar(menuBar);
-		MenuItem fileMenu = new MenuItem(menuBar, SWT.CASCADE);
-		fileMenu.setText("&File");
-		Menu menuFile = new Menu(fileMenu);
-		fileMenu.setMenu(menuFile);
-		MenuItem menuFileControl = new MenuItem(menuFile, SWT.CASCADE);
-		menuFileControl.setText("Exit");
-		menuFileControl.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				shell.dispose();
-			}
-		});
-		frame.setFileMenus(new MenuItem[] { fileMenu });
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet262.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet262.java
deleted file mode 100644
index 4c08a54..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet262.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-import java.io.*;
-
-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.*;
-
-/*
- * Open an OLE Word document.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */ 
-public class Snippet262 {
-	static OleClientSite clientSite;
-	static OleFrame frame;
-	
-	public static void main(String[] args) {
-		Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setText("Word Example");
-		shell.setLayout(new FillLayout());
-		try {
-			frame = new OleFrame(shell, SWT.NONE);
-			clientSite = new OleClientSite(frame, SWT.NONE, "Word.Document");
-			addFileMenu(frame);
-		} catch (SWTError e) {
-			System.out.println("Unable to open activeX control");
-			return;
-		}
-		shell.setSize(800, 600);
-		shell.open();
-		
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-	
-	static void addFileMenu(OleFrame frame) {
-		final Shell shell = frame.getShell();
-		Menu menuBar = shell.getMenuBar();
-		if (menuBar == null) {
-			menuBar = new Menu(shell, SWT.BAR);
-			shell.setMenuBar(menuBar);
-		}
-		MenuItem fileMenu = new MenuItem(menuBar, SWT.CASCADE);
-		fileMenu.setText("&File");
-		Menu menuFile = new Menu(fileMenu);
-		fileMenu.setMenu(menuFile);
-		frame.setFileMenus(new MenuItem[] { fileMenu });
-
-		MenuItem menuFileOpen = new MenuItem(menuFile, SWT.CASCADE);
-		menuFileOpen.setText("Open...");
-		menuFileOpen.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				fileOpen();
-			}
-		});
-		MenuItem menuFileExit = new MenuItem(menuFile, SWT.CASCADE);
-		menuFileExit.setText("Exit");
-		menuFileExit.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				shell.dispose();
-			}
-		});
-	}
-
-	static void fileOpen() {
-		FileDialog dialog = new FileDialog(clientSite.getShell(), SWT.OPEN);
-		dialog.setFilterExtensions(new String[] { "*.doc" });
-		String fileName = dialog.open();
-		if (fileName != null) {
-			clientSite.dispose();
-			clientSite = new OleClientSite(frame, SWT.NONE, "Word.Document", new File(fileName));
-			clientSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
-		}
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet263.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet263.java
deleted file mode 100644
index 010bfdd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet263.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-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.*;
-
-/*
- * Open an OLE PowerPoint slide.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */ 
-public class Snippet263 {
-	static OleClientSite clientSite;
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setText("PowerPoint Example");
-		shell.setLayout(new FillLayout());
-		try {
-			OleFrame frame = new OleFrame(shell, SWT.NONE);
-			clientSite  = new OleClientSite(frame, SWT.NONE, "PowerPoint.Slide");
-			addFileMenu(frame);
-		} catch (SWTError e) {
-			System.out.println("Unable to open activeX control");
-			return;
-		}
-		shell.setSize(800, 600);
-		shell.open();
-		
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-	
-	static void addFileMenu(OleFrame frame) {
-		final Shell shell = frame.getShell();
-		Menu menuBar = new Menu(shell, SWT.BAR);
-		shell.setMenuBar(menuBar);
-		MenuItem fileMenu = new MenuItem(menuBar, SWT.CASCADE);
-		fileMenu.setText("&File");
-		Menu menuFile = new Menu(fileMenu);
-		fileMenu.setMenu(menuFile);
-		MenuItem menuFileControl = new MenuItem(menuFile, SWT.CASCADE);
-		menuFileControl.setText("Exit");
-		menuFileControl.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				shell.dispose();
-			}
-		});
-		frame.setFileMenus(new MenuItem[] { fileMenu });
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet264.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet264.java
deleted file mode 100644
index 7d3d8be..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet264.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-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.*;
-
-/*
- * Open an OLE Media Player.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */ 
-public class Snippet264 {
-	static OleClientSite clientSite;
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setText("Media Player Example");
-		shell.setLayout(new FillLayout());
-		try {
-			OleFrame frame = new OleFrame(shell, SWT.NONE);
-			clientSite  = new OleClientSite(frame, SWT.NONE, "MPlayer");
-			addFileMenu(frame);
-		} catch (SWTError e) {
-			System.out.println("Unable to open activeX control");
-			return;
-		}
-		shell.setSize(800, 600);
-		shell.open();
-		
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-	
-	static void addFileMenu(OleFrame frame) {
-		final Shell shell = frame.getShell();
-		Menu menuBar = new Menu(shell, SWT.BAR);
-		shell.setMenuBar(menuBar);
-		MenuItem fileMenu = new MenuItem(menuBar, SWT.CASCADE);
-		fileMenu.setText("&File");
-		Menu menuFile = new Menu(fileMenu);
-		fileMenu.setMenu(menuFile);
-		MenuItem menuFileControl = new MenuItem(menuFile, SWT.CASCADE);
-		menuFileControl.setText("Exit");
-		menuFileControl.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				shell.dispose();
-			}
-		});
-		frame.setFileMenus(new MenuItem[] { fileMenu });
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet265.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet265.java
deleted file mode 100644
index 3a35da3..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet265.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-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.*;
-
-/*
- * Open an OLE Windows Media Player.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */
-public class Snippet265 {
-	static OleClientSite clientSite;
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setText("Media Player Example");
-		shell.setLayout(new FillLayout());
-		try {
-			OleFrame frame = new OleFrame(shell, SWT.NONE);
-			clientSite = new OleClientSite(frame, SWT.NONE, "WMPlayer.OCX");
-			clientSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
-			addFileMenu(frame);
-		} catch (SWTError e) {
-			System.out.println("Unable to open activeX control");
-			return;
-		}
-		shell.setSize(800, 600);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-
-	static void addFileMenu(OleFrame frame) {
-		final Shell shell = frame.getShell();
-		Menu menuBar = shell.getMenuBar();
-		if (menuBar == null) {
-			menuBar = new Menu(shell, SWT.BAR);
-			shell.setMenuBar(menuBar);
-		}
-		MenuItem fileMenu = new MenuItem(menuBar, SWT.CASCADE);
-		fileMenu.setText("&File");
-		Menu menuFile = new Menu(fileMenu);
-		fileMenu.setMenu(menuFile);
-		frame.setFileMenus(new MenuItem[] { fileMenu });
-
-		MenuItem menuFileOpen = new MenuItem(menuFile, SWT.CASCADE);
-		menuFileOpen.setText("Open...");
-		menuFileOpen.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				fileOpen();
-			}
-		});
-		MenuItem menuFileExit = new MenuItem(menuFile, SWT.CASCADE);
-		menuFileExit.setText("Exit");
-		menuFileExit.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				shell.dispose();
-			}
-		});
-	}
-
-	static void fileOpen() {
-		FileDialog dialog = new FileDialog(clientSite.getShell(), SWT.OPEN);
-		dialog.setFilterExtensions(new String[] { "*.wmv" });
-		String filename = dialog.open();
-		if (filename != null) {
-			OleAutomation player = new OleAutomation(clientSite);
-			int playURL[] = player.getIDsOfNames(new String[] { "URL" });
-			if (playURL != null) {
-				Variant theFile = new Variant(filename);
-				player.setProperty(playURL[0], theFile);
-			}
-			player.dispose();
-		}
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet266.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet266.java
deleted file mode 100644
index 39e7a0c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet266.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Span and center columns with a GridLayout.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */
-public class Snippet266 {
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new GridLayout(2, true));
-		
-		TabFolder tabFolder = new TabFolder(shell, SWT.NONE);
-		tabFolder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
-		
-		TabItem item = new TabItem(tabFolder, SWT.NONE);
-		item.setText("Widget");
-		Composite composite = new Composite(tabFolder, SWT.NONE);
-		composite.setLayout(new GridLayout());
-		Tree tree = new Tree(composite, SWT.BORDER);
-		item.setControl(composite);
-		tree.setHeaderVisible(true);
-		tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-		TreeColumn column1 = new TreeColumn(tree, SWT.NONE);
-		column1.setText("Standard");
-		TreeColumn column2 = new TreeColumn(tree, SWT.NONE);
-		column2.setText("Widget");
-		TreeItem branch = new TreeItem(tree, SWT.NONE);
-		branch.setText(new String [] {"Efficient", "Portable"});
-		TreeItem leaf = new TreeItem(branch, SWT.NONE);
-		leaf.setText(new String [] {"Cross", "Platform"});
-		branch.setExpanded(true);
-		branch = new TreeItem(tree, SWT.NONE);
-		branch.setText(new String [] {"Native", "Controls"});
-		leaf = new TreeItem(branch, SWT.NONE);
-		leaf.setText(new String [] {"Cross", "Platform"});
-		branch = new TreeItem(tree, SWT.NONE);
-		branch.setText(new String [] {"Cross", "Platform"});
-		column1.pack();
-		column2.pack();
-
-		item = new TabItem(tabFolder, SWT.NONE);
-		item.setText("Toolkit");
-		
-		Button button = new Button(shell, SWT.CHECK);
-		button.setText("Totally");
-		button.setSelection(true);
-		button.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false));
-		
-		button = new Button(shell, SWT.PUSH);
-		button.setText("Awesome");
-		button.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false));
-		
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet267.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet267.java
deleted file mode 100644
index 68fc8db..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet267.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.mozilla.interfaces.*;
-
-/*
- * Browser example snippet: Toggle a Mozilla Browser between Design mode and View mode.
- * 
- * IMPORTANT: For this snippet to work properly all of the requirements
- * for using JavaXPCOM in a stand-alone application must be satisfied
- * (see http://www.eclipse.org/swt/faq.php#howusejavaxpcom).
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */
-public class Snippet267 {
-	static Browser browser;
-	public static void main (String [] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new GridLayout(2, true));
-		shell.setText("Use Mozilla's Design Mode");
-		try {
-			browser = new Browser(shell, SWT.MOZILLA);
-		} catch (SWTError e) {
-			System.out.println("Could not instantiate Browser: " + e.getMessage());
-			return;
-		}
-		browser.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true, 2, 1));
-
-		final Button offButton = new Button(shell, SWT.RADIO);
-		offButton.setText("Design Mode Off");
-		offButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				if (!offButton.getSelection()) return;
-				setDesignMode("off");
-			}
-		});
-		final Button onButton = new Button(shell, SWT.RADIO);
-		onButton.setText("Design Mode On");
-		onButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				if (!onButton.getSelection()) return;
-				boolean success = setDesignMode("on");
-				if (!success) {
-					onButton.setSelection(false);
-					offButton.setSelection(true);
-				}
-			}
-		});
-		offButton.setSelection(true);
-
-		browser.setUrl("http://www.google.com");
-		shell.setSize(400,400);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-	public static boolean setDesignMode(String value) {
-		nsIWebBrowser webBrowser = (nsIWebBrowser)browser.getWebBrowser();
-		if (webBrowser == null) {
-			System.out.println("Could not get the nsIWebBrowser from the Browser widget");
-			return false;
-		}
-		nsIDOMWindow window = webBrowser.getContentDOMWindow();
-		nsIDOMDocument document = window.getDocument();
-		nsIDOMNSHTMLDocument nsDocument = (nsIDOMNSHTMLDocument)document.queryInterface(nsIDOMNSHTMLDocument.NS_IDOMNSHTMLDOCUMENT_IID);
-		nsDocument.setDesignMode(value);
-		return true;
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet268.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet268.java
deleted file mode 100644
index 1307c30..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet268.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-  
-/*
- * UI Automation (for testing tools) snippet: post mouse wheel events to a styled text
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.*;
-
-public class Snippet268 {
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	StyledText styledText = new StyledText(shell, SWT.V_SCROLL);
-	String multiLineString = "";
-	for (int i = 0; i < 200; i++) {
-		multiLineString = multiLineString.concat("This is line number " + i + " in the multi-line string.\n");
-	}
-	styledText.setText(multiLineString);
-	shell.setSize(styledText.computeSize(SWT.DEFAULT, 400));
-	shell.open();
-	styledText.addListener(SWT.MouseWheel, new Listener() {
-		public void handleEvent(Event e){
-			System.out.println("Mouse Wheel event " + e);
-		}
-	});
-	final Point pt = display.map(shell, null, 50, 50);
-	new Thread(){
-		Event event;
-		public void run() {
-			for (int i = 0; i < 50; i++) {
-				event = new Event();
-				event.type = SWT.MouseWheel;
-				event.detail = SWT.SCROLL_LINE;
-				event.x = pt.x;
-				event.y = pt.y;
-				event.count = -2;
-				display.post(event);
-				try {
-					Thread.sleep(100);
-				} catch (InterruptedException e) {}
-			}
-		}	
-	}.start();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet269.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet269.java
deleted file mode 100644
index 2da4bd8..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet269.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-  
-/*
- * Combo example snippet: set the caret position within a Combo's text
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet269 {
-
-public static void main(String[] args) {
-	final Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	Combo combo = new Combo (shell, SWT.NONE);
-	combo.add ("item");
-	combo.select (0);
-	shell.pack ();
-	shell.open ();
-	int stringLength = combo.getText ().length (); 
-	combo.setSelection (new Point (stringLength, stringLength));
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet27.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet27.java
deleted file mode 100644
index 333a9c2..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet27.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Shell example snippet: open a shell minimized (iconified)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.widgets.*;
-
-public class Snippet27 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setMinimized (true);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet270.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet270.java
deleted file mode 100644
index 72e6c10..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet270.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Browser snippet: bring up a browser with pop-up window support
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.browser.*;
-
-public class Snippet270 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setText("Main Window");
-	shell.setLayout(new FillLayout());
-	final Browser browser;
-	try {
-		browser = new Browser(shell, SWT.NONE);
-	} catch (SWTError e) {
-		System.out.println("Could not instantiate Browser: " + e.getMessage());
-		return;
-	}
-	initialize(display, browser);
-	shell.open();
-	browser.setUrl("http://www.eclipse.org");
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-		}
-		display.dispose();
-	}
-
-/* register WindowEvent listeners */
-static void initialize(final Display display, Browser browser) {
-	browser.addOpenWindowListener(new OpenWindowListener() {
-		public void open(WindowEvent event) {
-			if (!event.required) return;	/* only do it if necessary */
-			Shell shell = new Shell(display);
-			shell.setText("New Window");
-			shell.setLayout(new FillLayout());
-			Browser browser = new Browser(shell, SWT.NONE);
-			initialize(display, browser);
-			event.browser = browser;
-		}
-	});
-	browser.addVisibilityWindowListener(new VisibilityWindowListener() {
-		public void hide(WindowEvent event) {
-			Browser browser = (Browser)event.widget;
-			Shell shell = browser.getShell();
-			shell.setVisible(false);
-		}
-		public void show(WindowEvent event) {
-			Browser browser = (Browser)event.widget;
-			final Shell shell = browser.getShell();
-			if (event.location != null) shell.setLocation(event.location);
-			if (event.size != null) {
-				Point size = event.size;
-				shell.setSize(shell.computeSize(size.x, size.y));
-			}
-			shell.open();
-		}
-	});
-	browser.addCloseWindowListener(new CloseWindowListener() {
-		public void close(WindowEvent event) {
-			Browser browser = (Browser)event.widget;
-			Shell shell = browser.getShell();
-			shell.close();
-		}
-	});
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet271.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet271.java
deleted file mode 100644
index a282193..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet271.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Table snippet: specify custom content dimensions in a table with no columns
- * 
- * For a detailed explanation of this snippet see
- * http://www.eclipse.org/articles/Article-CustomDrawingTableAndTreeItems/customDraw.htm#_example1
- *  
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet271 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setBounds(10,10,200,250);
-	final Table table = new Table(shell, SWT.NONE);
-	table.setBounds(10,10,150,200);
-	table.setLinesVisible(true);
-	for (int i = 0; i < 5; i++) {
-		new TableItem(table, SWT.NONE).setText("item " + i);
-	}
-
-	/*
-	 * NOTE: MeasureItem is called repeatedly.  Therefore it is critical
-	 * for performance that this method be as efficient as possible.
-	 */
-	table.addListener(SWT.MeasureItem, new Listener() {
-		public void handleEvent(Event event) {
-			int clientWidth = table.getClientArea().width;
-			event.height = event.gc.getFontMetrics().getHeight() * 2;
-			event.width = clientWidth * 2;
-		}
-	});
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet272.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet272.java
deleted file mode 100644
index a178c1c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet272.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Table snippet: specify custom column widths when a column is packed
- *  
- * For a detailed explanation of this snippet see
- * http://www.eclipse.org/articles/Article-CustomDrawingTableAndTreeItems/customDraw.htm#_example2
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet272 {
-
-public static void main(String[] args) {
-	Display display = new Display(); 
-	Shell shell = new Shell(display);
-	shell.setBounds(10,10,400,200);
-	Table table = new Table(shell, SWT.NONE);
-	table.setBounds(10,10,350,150);
-	table.setHeaderVisible(true);
-	table.setLinesVisible(true);
-	final TableColumn column0 = new TableColumn(table, SWT.NONE);
-	column0.setWidth(100);
-	final TableColumn column1 = new TableColumn(table, SWT.NONE);
-	column1.setWidth(100);
-	column0.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			column0.pack();
-		}
-	});
-	column1.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			column1.pack();
-		}
-	});
-	for (int i = 0; i < 5; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		item.setText(0, "item " + i + " col 0");
-		item.setText(1, "item " + i + " col 1");
-	}
-
-	/*
-	 * NOTE: MeasureItem is called repeatedly.  Therefore it is critical
-	 * for performance that this method be as efficient as possible.
-	 */
-	table.addListener(SWT.MeasureItem, new Listener() {
-		public void handleEvent(Event event) {
-			event.width *= 2;
-		}
-	});
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet273.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet273.java
deleted file mode 100644
index 06e6c3b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet273.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Table snippet: modify the clipping of custom background paints
- * 
- * For a detailed explanation of this snippet see
- * http://www.eclipse.org/articles/Article-CustomDrawingTableAndTreeItems/customDraw.htm#_example4
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet273 {
-
-public static void main(String[] args) {
-	final String[] MONTHS = {
-		"Jan", "Feb", "Mar", "Apr", "May", "Jun",
-		"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
-	};
-	final int[] HIGHS = {-7, -4, 1, 11, 18, 24, 26, 25, 20, 13, 5, -4};
-	final int[] LOWS = {-15, -13, -7, 1, 7, 13, 15, 14, 10, 4, -2, -11};
-	final int SCALE_MIN = -30; final int SCALE_MAX = 30;
-	final int SCALE_RANGE = Math.abs(SCALE_MIN - SCALE_MAX);
-
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setBounds(10,10,400,350);
-	shell.setText("Ottawa Average Daily Temperature Ranges");
-	final Color blue = display.getSystemColor(SWT.COLOR_BLUE);
-	final Color white = display.getSystemColor(SWT.COLOR_WHITE);
-	final Color red = display.getSystemColor(SWT.COLOR_RED);
-	// final Image parliamentImage = new Image(display, "./parliament.jpg");
-	final Table table = new Table(shell, SWT.NONE);
-	table.setBounds(10,10,350,300);
-	// table.setBackgroundImage(parliamentImage);
-	for (int i = 0; i < 12; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		item.setText(MONTHS[i] + " (" + LOWS[i] + "C..." + HIGHS[i] + "C)");
-	}
-	final int clientWidth = table.getClientArea().width;
-
-	/*
-	 * NOTE: MeasureItem and EraseItem are called repeatedly. Therefore it is
-	 * critical for performance that these methods be as efficient as possible.
-	 */
-	table.addListener(SWT.MeasureItem, new Listener() {
-		public void handleEvent(Event event) {
-			int itemIndex = table.indexOf((TableItem)event.item);
-			int rightX = (HIGHS[itemIndex] - SCALE_MIN) * clientWidth / SCALE_RANGE;
-			event.width = rightX;
-		}
-	});
-	table.addListener(SWT.EraseItem, new Listener() {
-		public void handleEvent(Event event) {
-			int itemIndex = table.indexOf((TableItem)event.item);
-			int leftX = (LOWS[itemIndex] - SCALE_MIN) * clientWidth / SCALE_RANGE;
-			int rightX = (HIGHS[itemIndex] - SCALE_MIN) * clientWidth / SCALE_RANGE;
-			GC gc = event.gc;
-			Rectangle clipping = gc.getClipping();
-			clipping.x = leftX;
-			clipping.width = rightX - leftX;
-			gc.setClipping(clipping);
-			Color oldForeground = gc.getForeground();
-			Color oldBackground = gc.getBackground();
-			gc.setForeground(blue);
-			gc.setBackground(white);
-			gc.fillGradientRectangle(event.x, event.y, event.width / 2, event.height, false);
-			gc.setForeground(white);
-			gc.setBackground(red);
-			gc.fillGradientRectangle(
-				event.x + event.width / 2, event.y, event.width / 2, event.height, false);
-			gc.setForeground(oldForeground);
-			gc.setBackground(oldBackground);
-			event.detail &= ~SWT.BACKGROUND;
-			event.detail &= ~SWT.HOT;
-		}
-	});
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	// parliamentImage.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet274.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet274.java
deleted file mode 100644
index 4647e97..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet274.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Tree snippet: implement standard tree check box behavior (SWT.CHECK)
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet274 {
-	
-	static void checkPath(TreeItem item, boolean checked, boolean grayed) {
-	    if (item == null) return;
-	    if (grayed) {
-	        checked = true;
-	    } else {
-	        int index = 0;
-	        TreeItem[] items = item.getItems();
-	        while (index < items.length) {
-	            TreeItem child = items[index];
-	            if (child.getGrayed() || checked != child.getChecked()) {
-	                checked = grayed = true;
-	                break;
-	            }
-	            index++;
-	        }
-	    }
-	    item.setChecked(checked);
-	    item.setGrayed(grayed);
-	    checkPath(item.getParentItem(), checked, grayed);
-	}
-
-	static void checkItems(TreeItem item, boolean checked) {
-	    item.setGrayed(false);
-	    item.setChecked(checked);
-	    TreeItem[] items = item.getItems();
-	    for (int i = 0; i < items.length; i++) {
-	        checkItems(items[i], checked);
-	    }
-	}
-
-	public static void main(String[] args) {
-	    Display display = new Display();
-	    Shell shell = new Shell(display);
-	    Tree tree = new Tree(shell, SWT.BORDER | SWT.CHECK);
-	    tree.addListener(SWT.Selection, new Listener() {
-	        public void handleEvent(Event event) {
-	            if (event.detail == SWT.CHECK) {
-	                TreeItem item = (TreeItem) event.item;
-	                boolean checked = item.getChecked();
-	                checkItems(item, checked);
-	                checkPath(item.getParentItem(), checked, false);
-	            }
-	        }
-	    });
-	    for (int i = 0; i < 4; i++) {
-	        TreeItem itemI = new TreeItem(tree, SWT.NULL);
-	        itemI.setText("Item " + i);
-	        for (int j = 0; j < 4; j++) {
-	            TreeItem itemJ = new TreeItem(itemI, SWT.NULL);
-	            itemJ.setText("Item " + i + " " + j);
-	            for (int k = 0; k < 4; k++) {
-	                TreeItem itemK = new TreeItem(itemJ, SWT.NULL);
-	                itemK.setText("Item " + i + " " + j + " " + k);
-	            }
-	        }
-	    }
-	    tree.setSize(200, 200);
-	    shell.pack();
-	    shell.open();
-	    while (!shell.isDisposed()) {
-	        if (!display.readAndDispatch()) display.sleep();
-	    }
-	    display.dispose();
-	}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet275.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet275.java
deleted file mode 100644
index 7f09fd2..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet275.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Canvas snippet: update a portion of a Canvas frequently
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet275 {
-
-static String value;
-public static void main (String[] args) {
-	final int INTERVAL = 888;
-	final Display display = new Display ();
-	final Image image = new Image (display, 750, 750);
-	GC gc = new GC (image);
-	gc.setBackground (display.getSystemColor (SWT.COLOR_RED));
-	gc.fillRectangle (image.getBounds ());
-	gc.dispose ();
-
-	Shell shell = new Shell (display);
-	shell.setBounds (10, 10, 790, 790);
-	final Canvas canvas = new Canvas (shell, SWT.NONE);
-	canvas.setBounds (10, 10, 750, 750);
-	canvas.addListener (SWT.Paint, new Listener () {
-		public void handleEvent (Event event) {
-			value = String.valueOf (System.currentTimeMillis ());
-			event.gc.drawImage (image, 0, 0);
-			event.gc.drawString (value, 10, 10, true);
-		}
-	});
-	display.timerExec (INTERVAL, new Runnable () {
-		public void run () {
-			if (canvas.isDisposed ()) return;
-			// canvas.redraw (); // <-- bad, damages more than is needed
-			GC gc = new GC (canvas);
-			Point extent = gc.stringExtent (value + '0');
-			gc.dispose ();
-			canvas.redraw (10, 10, extent.x, extent.y, false);
-			display.timerExec (INTERVAL, this);
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed ()){
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	image.dispose ();
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet276.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet276.java
deleted file mode 100644
index ab779f6..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet276.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Display snippet: map from control-relative to display-relative coordinates
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet276 {
-
-public static void main (String[] args) {
-	final Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setBounds (200, 200, 400, 400);
-	Label label = new Label (shell, SWT.NONE);
-	label.setText ("click in shell to print display-relative coordinate");
-	Listener listener = new Listener () {
-		public void handleEvent (Event event) {
-			Point point = new Point (event.x, event.y);
-			System.out.println (display.map ((Control)event.widget, null, point));
-		}
-	};
-	shell.addListener (SWT.MouseDown, listener);
-	label.addListener (SWT.MouseDown, listener);
-	label.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()){
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet277.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet277.java
deleted file mode 100644
index f8bd1fd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet277.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Browser example snippet: Implement a custom download handler for a Mozilla Browser.
- * 
- * IMPORTANT: For this snippet to work properly all of the requirements
- * for using JavaXPCOM in a stand-alone application must be satisfied
- * (see http://www.eclipse.org/swt/faq.php#howusejavaxpcom).
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.browser.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.mozilla.interfaces.*;
-import org.mozilla.xpcom.Mozilla;
-
-public class Snippet277 {
-	static Shell shell;
-	static Table table;
-
-	public static void main (String [] args) {
-		Display display = new Display ();
-		shell = new Shell (display);
-		shell.setLayout(new GridLayout ());
-		shell.setText ("Custom Download Handler");
-
-		Browser browser;
-		try {
-			browser = new Browser (shell, SWT.MOZILLA);
-		} catch (SWTError e) {
-			System.out.println ("Could not instantiate Browser: " + e.getMessage ());
-			return;
-		}
-		GridData data = new GridData (GridData.FILL_BOTH);
-		data.minimumHeight = 800;
-		data.minimumWidth = 800;
-		browser.setLayoutData (data);
-
-		table = new Table (shell, SWT.NONE);
-		table.setForeground (display.getSystemColor (SWT.COLOR_RED));
-		data = new GridData (GridData.FILL_HORIZONTAL);
-		data.exclude = true;
-		table.setLayoutData (data);
-		new TableColumn (table, SWT.NONE);
-		new TableColumn (table, SWT.NONE);
-
-		nsIComponentRegistrar registrar = Mozilla.getInstance ().getComponentRegistrar ();
-		String NS_DOWNLOAD_CID = "e3fa9D0a-1dd1-11b2-bdef-8c720b597445";
-		String NS_TRANSFER_CONTRACTID = "@mozilla.org/transfer;1";
-		registrar.registerFactory (NS_DOWNLOAD_CID, "Transfer", NS_TRANSFER_CONTRACTID, new nsIFactory () {
-			public nsISupports queryInterface (String uuid) {
-				if (uuid.equals (nsIFactory.NS_IFACTORY_IID) ||
-					uuid.equals (nsIFactory.NS_ISUPPORTS_IID)) return this;
-				return null;
-			}
-			public nsISupports createInstance (nsISupports outer, String iid) {
-				return createTransfer ();
-			}
-			public void lockFactory (boolean lock) {}
-		});
-
-		browser.setUrl ("http://www.eclipse.org/downloads");
-		shell.pack ();
-		shell.open ();
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		display.dispose ();
-	}
-
-	static nsITransfer createTransfer () {
-		/* nsITransfer is documented at http://www.xulplanet.com/references/xpcomref/ifaces/nsITransfer.html */
-		return new nsITransfer () {
-			public nsISupports queryInterface (String uuid) {
-				if (uuid.equals (nsITransfer.NS_ITRANSFER_IID) ||
-					uuid.equals (nsITransfer.NS_IWEBPROGRESSLISTENER2_IID) ||
-					uuid.equals (nsITransfer.NS_IWEBPROGRESSLISTENER_IID) ||
-					uuid.equals (nsITransfer.NS_ISUPPORTS_IID)) return this;
-				return null;
-			}
-			public void onStateChange (nsIWebProgress webProgress, nsIRequest request, long stateFlags, long status) {
-				if ((stateFlags & nsIWebProgressListener.STATE_STOP) != 0) {
-					removeFromTable ();
-				}
-			}
-			public void onProgressChange64 (nsIWebProgress webProgress, nsIRequest request, long curSelfProgress, long maxSelfProgress, long curTotalProgress, long maxTotalProgress) {
-				long currentKBytes = curTotalProgress / 1024;
-				long totalKBytes = maxTotalProgress / 1024;
-				tableItem.setText (1, baseString + " (" + currentKBytes + "/" + totalKBytes + ")");
-				table.getColumn (1).pack ();
-			}
-			public void init (nsIURI source, nsIURI target, String displayName, nsIMIMEInfo MIMEInfo, double startTime, nsILocalFile tempFile, final nsICancelable cancelable) {
-				tableItem = new TableItem (table, SWT.NONE);
-				button = new Button (table, SWT.PUSH);
-				button.setText ("Cancel");
-				button.pack ();
-				button.addListener (SWT.Selection, new Listener () {
-					public void handleEvent (Event event) {
-						cancelable.cancel (Mozilla.NS_ERROR_ABORT);
-						removeFromTable ();
-					}
-				});
-				TableEditor editor = new TableEditor (table);
-				editor.setEditor (button, tableItem, 0);
-				editor.minimumWidth = button.computeSize (SWT.DEFAULT, SWT.DEFAULT).x;
-				baseString = "Downloading to " + target.getPath ();
-				tableItem.setText (1, baseString);
-				if (table.getItemCount () == 1) {
-					((GridData)table.getLayoutData ()).exclude = false;	/* show the table */
-					table.getColumn (0).setWidth (editor.minimumWidth);
-				}
-				table.getColumn (1).pack ();
-				table.getShell ().layout ();
-			}
-			public void onStatusChange (nsIWebProgress webProgress, nsIRequest request, long status, String message) {}
-			public void onSecurityChange (nsIWebProgress webProgress, nsIRequest request, long state) {}
-			public void onProgressChange (nsIWebProgress webProgress, nsIRequest request, int curSelfProgress, int maxSelfProgress, int curTotalProgress, int maxTotalProgress) {}
-			public void onLocationChange (nsIWebProgress webProgress, nsIRequest request, nsIURI location) {}
-
-			/* the following are not part of the nsITransfer interface but are here for the snippet's convenience */
-			Button button;
-			TableItem tableItem;
-			String baseString;
-
-			void removeFromTable () {
-				tableItem.dispose ();
-				button.dispose ();
-				if (table.getItemCount () == 0) {
-					((GridData)table.getLayoutData ()).exclude = true;	/* hide the table */
-				}
-				table.getColumn (1).pack ();
-				table.getShell ().layout ();
-			}
-		};
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet278.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet278.java
deleted file mode 100644
index b21e994..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet278.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Tool tip snippet: show a Label's tool tip iff it's not fully visible
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet278 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setBounds (10, 10, 300, 100);
-	shell.setLayout (new FillLayout ());
-	final Label label = new Label (shell, SWT.NONE);
-	label.setText ("resize the Shell then hover over this Label");
-	label.addListener (SWT.MouseEnter, new Listener () {
-		public void handleEvent (Event event) {
-			Point requiredSize = label.computeSize (SWT.DEFAULT, SWT.DEFAULT);
-			Point labelSize = label.getSize ();
-			boolean fullyVisible = requiredSize.x <= labelSize.x && requiredSize.y <= labelSize.y;
-			System.out.println ("Label is fully visible: " + fullyVisible);
-			label.setToolTipText (fullyVisible ? null : label.getText ());
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet279.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet279.java
deleted file mode 100644
index 8f9f7e8..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet279.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * draw a reflection of an image
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet279 {
-	public static void main (String [] args) {
-		Display display = new Display ();
-		Shell shell = new Shell (display, SWT.SHELL_TRIM | SWT.DOUBLE_BUFFERED);
-		shell.setLayout(new FillLayout ());
-		final Image image = display.getSystemImage (SWT.ICON_QUESTION);
-		shell.addListener (SWT.Paint, new Listener () {
-			public void handleEvent (Event e) {
-				Rectangle rect = image.getBounds ();
-				GC gc = e.gc;
-				int x = 10, y = 10;
-				gc.drawImage (image, x, y);
-				Transform tr = new Transform (e.display);
-				tr.setElements (1, 0, 0, -1, 1, 2*(y+rect.height));
-				gc.setTransform (tr);
-				gc.drawImage (image, x, y);
-				gc.setTransform (null);
-				Color background = gc.getBackground ();
-				Pattern p = new Pattern (e.display, x, y+rect.height, x, y+(2*rect.height), background, 0, background, 255);
-				gc.setBackgroundPattern (p);
-				gc.fillRectangle (x, y+rect.height, rect.width, rect.height);
-				p.dispose ();
-				tr.dispose ();
-			}
-		});
-		shell.setSize (600, 400);
-		shell.open ();
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ())
-				display.sleep ();
-		}
-		display.dispose ();
-	}
-	
-}
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet28.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet28.java
deleted file mode 100644
index c891fcc..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet28.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Shell example snippet: open a shell maximized (full screen)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.widgets.*;
-
-public class Snippet28 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setMaximized (true);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet280.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet280.java
deleted file mode 100644
index cf09b1c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet280.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * draw a multi-gradient (without advanced graphics)
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet280 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Shell shell = new Shell (display, SWT.SHELL_TRIM | SWT.NO_BACKGROUND);
-	shell.setLayout(new FillLayout ());
-	shell.addListener (SWT.Paint, new Listener () {
-		public void handleEvent (Event e) {
-			GC gc = e.gc;
-			Rectangle rect = shell.getClientArea ();
-			Color color1 = new Color (display, 234, 246, 253);
-			Color color2 = new Color (display, 217, 240, 252);
-			gc.setForeground(color1);
-			gc.setBackground(color2);
-			gc.fillGradientRectangle (rect.x, rect.y, rect.width, rect.height / 2, true);
-			color1.dispose ();
-			color2.dispose ();
-			Color color3 = new Color (display, 190, 230, 253);
-			Color color4 = new Color (display, 167, 217, 245);
-			gc.setForeground(color3);
-			gc.setBackground(color4);
-			gc.fillGradientRectangle (rect.x, rect.y + (rect.height / 2), rect.width, rect.height / 2 + 1, true);
-			color3.dispose ();
-			color4.dispose ();
-			
-		}
-	});
-	shell.setSize (200, 64);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ())
-			display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet281.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet281.java
deleted file mode 100644
index 95e0aca..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet281.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * draw a multi-gradient
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet281 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Shell shell = new Shell (display, SWT.SHELL_TRIM | SWT.NO_BACKGROUND);
-	shell.setLayout(new FillLayout ());
-	shell.addListener (SWT.Paint, new Listener () {
-		public void handleEvent (Event e) {
-			GC gc = e.gc;
-			Rectangle rect = shell.getClientArea ();
-			Color color1 = new Color (display, 234, 246, 253);
-			Color color2 = new Color (display, 217, 240, 252);
-			Color color3 = new Color (display, 190, 230, 253);
-			Color color4 = new Color (display, 167, 217, 245);
-			Pattern p1 = new Pattern (display, 0, 0, 0, rect.height / 2, color1, color2);
-			gc.setBackgroundPattern (p1);
-			gc.fillRectangle (rect.x, rect.y, rect.width, rect.height / 2);
-			Pattern p2 = new Pattern (display, 0, rect.height / 2, 0, rect.height, color3, color4);
-			gc.setBackgroundPattern (p2);
-			gc.fillRectangle (rect.x, rect.y + (rect.height / 2), rect.width, rect.height / 2 + 1);
-			p1.dispose ();
-			p2.dispose ();
-			color1.dispose ();
-			color2.dispose ();
-			color3.dispose ();
-			color4.dispose ();
-		}
-	});
-	shell.setSize (200, 64);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ())
-			display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet282.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet282.java
deleted file mode 100644
index 7d884dd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet282.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Copy/paste image to/from clipboard.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet282 {
-
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Clipboard clipboard = new Clipboard(display);
-		final Shell shell = new Shell(display, SWT.SHELL_TRIM);
-		shell.setLayout(new GridLayout());
-		shell.setText("Clipboard ImageTransfer");
-
-	    final Button imageButton = new Button(shell, SWT.NONE );
-	    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-	    gd.minimumHeight = 400;
-	    gd.minimumWidth = 600;
-	    imageButton.setLayoutData(gd);
-
-		Composite buttons = new Composite(shell, SWT.NONE);
-		buttons.setLayout(new GridLayout(4, true));
-		Button button = new Button(buttons, SWT.PUSH);
-		button.setText("Open");
-		button.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				FileDialog dialog = new FileDialog (shell, SWT.OPEN);
-				dialog.setText("Open an image file or cancel");
-				String string = dialog.open ();
-				if (string != null) {
-					Image image = imageButton.getImage();
-					if (image != null) image.dispose();
-					image = new Image(display, string);
-					imageButton.setImage(image);
-				}
-			}
-		});
-
-		button = new Button(buttons, SWT.PUSH);
-		button.setText("Copy");
-		button.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				Image image = imageButton.getImage();
-				if (image != null) {
-					ImageTransfer transfer = ImageTransfer.getInstance();
-					clipboard.setContents(new Object[]{image.getImageData()}, new Transfer[]{transfer});
-				}
-			}
-		});
-
-		button = new Button(buttons, SWT.PUSH);
-		button.setText("Paste");
-		button.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				ImageTransfer transfer = ImageTransfer.getInstance();
-				ImageData imageData = (ImageData)clipboard.getContents(transfer);
-				if (imageData != null) {
-					imageButton.setText("");
-					Image image = imageButton.getImage();
-					if (image != null) image.dispose();
-					image = new Image(display, imageData);
-					imageButton.setImage(image);
-				} else {
-					imageButton.setText("No image");
-				}
-			}
-		});
-		
-		button = new Button(buttons, SWT.PUSH);
-		button.setText("Clear");
-		button.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				imageButton.setText("");
-				Image image = imageButton.getImage();
-				if (image != null) image.dispose();
-				imageButton.setImage(null);
-			}
-		});
-		
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet283.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet283.java
deleted file mode 100644
index 952e0cd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet283.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Table example snippet: Draw left aligned icon, text and selection
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet283 {
-	public static void main(String[] args) {
-		Display display = new Display();
-		Image image = new Image (display, Snippet283.class.getResourceAsStream("eclipse.png"));
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		final Table table = new Table(shell, SWT.FULL_SELECTION);
-		for (int i = 0; i < 8; i++) {
-			TableItem item = new TableItem(table, SWT.NONE);
-			item.setText ("Item " + i + " with long text that scrolls.");
-			if (i % 2 == 1) item.setImage (image);
-		}
-		table.addListener(SWT.MouseDown, new Listener() {
-			public void handleEvent(Event event) {
-				Rectangle rect = table.getClientArea ();
-				Point point = new Point (event.x, event.y);
-				if (table.getItem(point) != null) return;
-				for (int i=table.getTopIndex (); i<table.getItemCount(); i++) {
-					TableItem item = table.getItem (i);
-					Rectangle itemRect = item.getBounds ();
-					if (!itemRect.intersects (rect)) return;
-					itemRect.x = rect.x;
-					itemRect.width = rect.width;
-					if (itemRect.contains (point)) {
-						table.setSelection (item);
-						Event selectionEvent = new Event ();
-						selectionEvent.item = item;
-						table.notifyListeners(SWT.Selection, selectionEvent);
-						return;
-					}
-				}
-			}
-		});
-		/*
-		 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-		 * Therefore, it is critical for performance that these methods be
-		 * as efficient as possible.
-		 */
-		table.addListener(SWT.EraseItem, new Listener() {
-			public void handleEvent(Event event) {
-				event.detail &= ~SWT.FOREGROUND;
-				String osName = System.getProperty("os.name");
-				if (osName != null && osName.indexOf ("Windows") != -1) {
-					if (osName.indexOf ("Vista") != -1 || osName.indexOf ("unknown") != -1) {
-						return;
-					}
-				}
-				event.detail &= ~(SWT.FOREGROUND | SWT.SELECTED | SWT.HOT | SWT.FOCUSED);
-				GC gc = event.gc;
-				TableItem item = (TableItem)event.item;
-				Rectangle rect = table.getClientArea ();
-				Rectangle itemRect = item.getBounds ();
-				itemRect.x = rect.x;
-				itemRect.width = rect.width;
-				gc.setClipping ((Rectangle) null);
-				gc.fillRectangle (itemRect);
-			}
-		});
-		table.addListener(SWT.PaintItem, new Listener() {
-			public void handleEvent(Event event) {
-				TableItem item = (TableItem)event.item;
-				GC gc = event.gc;
-				Image image = item.getImage (0);
-				String text = item.getText (0);
-				Point textExtent = gc.stringExtent (text);
-				Rectangle imageRect = item.getImageBounds(0);
-				Rectangle textRect = item.getTextBounds (0);
-				int textY = textRect.y + Math.max (0, (textRect.height - textExtent.y) / 2);
-				if (image == null) {
-					gc.drawString(text, imageRect.x, textY, true);
-				} else {
-					Rectangle imageExtent = image.getBounds ();
-					int imageY = imageRect.y + Math.max (0, (imageRect.height - imageExtent.height) / 2);
-					gc.drawImage (image, imageRect.x, imageY);
-					gc.drawString (text, textRect.x, textY, true);
-				}
-			}
-		});
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet284.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet284.java
deleted file mode 100644
index ae3f3a3..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet284.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Drag and Drop example snippet: drag a URL between two labels.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet284 {
-
-public static void main (String [] args) {
-	
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setText("URLTransfer");
-	shell.setLayout(new FillLayout());
-	final Label label1 = new Label (shell, SWT.BORDER);
-	label1.setText ("http://www.eclipse.org");
-	final Label label2 = new Label (shell, SWT.BORDER);
-	setDragSource (label1);
-	setDropTarget (label2);
-	shell.setSize(600, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-public static void setDragSource (final Label label) {
-	int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
-	final DragSource source = new DragSource (label, operations);
-	source.setTransfer(new Transfer[] {URLTransfer.getInstance()});
-	source.addDragListener (new DragSourceListener () {
-		public void dragStart(DragSourceEvent e) {
-		}
-		public void dragSetData(DragSourceEvent e) {
-			e.data = label.getText();
-		}
-		public void dragFinished(DragSourceEvent event) {
-		}
-	});
-}
-
-public static void setDropTarget (final Label label) {
-	int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
-	DropTarget target = new DropTarget(label, operations);
-	target.setTransfer(new Transfer[] {URLTransfer.getInstance()});
-	target.addDropListener (new DropTargetAdapter() {
-		public void dragEnter(DropTargetEvent e) {
-			if (e.detail == DND.DROP_NONE)
-				e.detail = DND.DROP_LINK;
-		}
-		public void dragOperationChanged(DropTargetEvent e) {
-			if (e.detail == DND.DROP_NONE)
-				e.detail = DND.DROP_LINK;
-		}
-		public void drop(DropTargetEvent event) {
-			if (event.data == null) {
-				event.detail = DND.DROP_NONE;
-				return;
-			}
-			label.setText(((String) event.data));
-		}
-	});
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet285.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet285.java
deleted file mode 100644
index 71270c0..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet285.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * create a circular shell from a path.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet285 {
-	static void loadPath(Region region, float[] points, byte[] types) {
-		int start = 0, end = 0;
-		for (int i = 0; i < types.length; i++) {
-			switch (types[i]) {
-				case SWT.PATH_MOVE_TO: {
-					if (start != end) {
-						int n = 0;
-						int[] temp = new int[end - start];
-						for (int k = start; k < end; k++) {
-							temp[n++] = Math.round(points[k]);
-						}
-						region.add(temp);
-					}
-					start = end;
-					end += 2;
-					break;
-				}
-				case SWT.PATH_LINE_TO: {
-					end += 2;
-					break;
-				}
-				case SWT.PATH_CLOSE: {
-					if (start != end) {
-						int n = 0;
-						int[] temp = new int[end - start];
-						for (int k = start; k < end; k++) {
-							temp[n++] = Math.round(points[k]);
-						}
-						region.add(temp);
-					}
-					start = end;
-					break;
-				}
-			}
-		}
-	}
-	public static void main(String[] args) {
-		int width = 250, height = 250;
-		final Display display = new Display();
-		final Shell shell = new Shell(display, SWT.NO_TRIM);
-		final Path path = new Path(display);
-		path.addArc(0, 0, width, height, 0, 360);
-		Path path2 = new Path(display, path, 0.1f);
-		path.dispose();
-		PathData data = path2.getPathData();
-		path2.dispose();
-		Region region = new Region(display);
-		loadPath(region, data.points, data.types);
-		shell.setRegion(region);
-		Listener listener = new Listener() {
-			public void handleEvent(Event event) {
-				switch (event.type) {
-					case SWT.MouseDown: {
-						shell.dispose();
-						break;
-					}
-					case SWT.Paint: {
-						GC gc = event.gc;
-						Rectangle rect = shell.getClientArea();
-						Pattern pattern = new Pattern(display, rect.x, rect.y
-								+ rect.height, rect.x + rect.width, rect.y, display
-								.getSystemColor(SWT.COLOR_BLUE), display
-								.getSystemColor(SWT.COLOR_WHITE));
-						gc.setBackgroundPattern(pattern);
-						gc.fillRectangle(rect);
-						pattern.dispose();
-						break;
-					}
-				}
-			}
-		};
-		shell.addListener(SWT.MouseDown, listener);
-		shell.addListener(SWT.Paint, listener);
-		shell.setSize(width, height);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		region.dispose();
-		display.dispose();
-	}
-	
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet286.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet286.java
deleted file mode 100644
index 6f0696c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet286.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * use a menu item's armListener to update a status line.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet286 {
-
-	public static void main(java.lang.String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new GridLayout());
-		
-		Canvas blankCanvas = new Canvas(shell, SWT.BORDER);
-		blankCanvas.setLayoutData(new GridData(200, 200));
-		final Label statusLine = new Label(shell, SWT.NONE);
-		statusLine.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-
-		Menu bar = new Menu (shell, SWT.BAR);
-		shell.setMenuBar (bar);
-		
-		MenuItem menuItem = new MenuItem (bar, SWT.CASCADE);
-		menuItem.setText ("Test");
-		Menu menu = new Menu(bar);
-		menuItem.setMenu (menu);
-		
-		for (int i = 0; i < 5; i++) {
-			MenuItem item = new MenuItem (menu, SWT.PUSH);
-			item.setText ("Item " + i);
-			item.addArmListener(new ArmListener() {
-				public void widgetArmed(ArmEvent e) {
-					statusLine.setText(((MenuItem)e.getSource()).getText());
-				}
-			});
-		}
-		
-		shell.pack();
-		shell.open();
-		
-		while(!shell.isDisposed()) {
-			if(!display.readAndDispatch()) display.sleep();
-		}
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet287.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet287.java
deleted file mode 100644
index 7aee84e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet287.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Tree example snippet: search for a string in a Tree recursively
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet287 {
-
-static Tree tree;
-public static void main(String[] args) {
-	final String SEARCH_STRING = "4b";
-
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setBounds (10,10,300,300);
-	shell.setLayout (new GridLayout ());
-
-	/* create the Tree */
-	tree = new Tree (shell, SWT.FULL_SELECTION);
-	tree.setLinesVisible (true);
-	tree.setLayoutData (new GridData (GridData.FILL_BOTH));
-	for (int i = 0; i < 3; i++) {
-		new TreeColumn (tree, SWT.NONE).setWidth (90);
-	}
-	int index = 0;
-	for (int i = 0; i < 3; i++) {
-		TreeItem item = createItem (null, index++);
-		for (int j = 0; j < i; j++) {
-			item = createItem (item, index++);
-		}
-	}
-
-	Button button = new Button (shell, SWT.PUSH);
-	button.setText ("Find '" + SEARCH_STRING + "'");
-	button.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			int itemCount = tree.getItemCount ();
-			for (int i = 0; i < itemCount; i++) {
-				TreeItem item = tree.getItem (i);
-				boolean success = find (item, SEARCH_STRING);
-				if (success) {
-					System.out.println ("Found it");
-					return;
-				}
-			}
-			System.out.println ("Did not find it");
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-/* for creating sample Tree */
-static TreeItem createItem (TreeItem parent, int itemIndex) {
-	TreeItem newItem = null;
-	if (parent == null) {	/* root level item */
-		newItem = new TreeItem (tree, SWT.NONE);
-	} else {
-		newItem = new TreeItem (parent, SWT.NONE);
-	}
-	String indexString = String.valueOf (itemIndex); 
-	newItem.setText(new String[] {
-		indexString + 'a', indexString + 'b', indexString + 'c'});
-	return newItem;
-}
-
-/* recursive find */
-public static boolean find (TreeItem item, String searchString) {
-	/* check this item */
-	for (int i = 0; i < tree.getColumnCount (); i++) {
-		String contents = item.getText (i);
-		if ((contents.toUpperCase ().indexOf (searchString.toUpperCase ())) != -1) {
-			tree.setSelection (item);
-			return true;
-		}
-	}
-
-	if (!item.getExpanded ()) return false; /* don't check child items */
-
-	/* check child items */
-	int childCount = item.getItemCount ();
-	for (int i = 0; i < childCount; i++) {
-		TreeItem child = item.getItem (i);
-		boolean success = find (child, searchString);
-		if (success) return true;
-	}
-
-	return false;
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet288.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet288.java
deleted file mode 100644
index b3f5e86..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet288.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Create a ToolBar containing animated GIFs
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import java.io.File;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet288 {
-	
-	static Display display;
-	static Shell shell;
-	static GC shellGC;
-	static Color shellBackground;
-	static ImageLoader[] loader;
-	static ImageData[][] imageDataArray;
-	static Thread animateThread[];
-	static Image[][] image;
-	private static ToolItem item[];
-	static final boolean useGIFBackground = false;
-
-	public static void main (String [] args) {
-		display = new Display();
-		Shell shell = new Shell (display);
-		shellBackground = shell.getBackground();
-		FileDialog dialog = new FileDialog(shell, SWT.OPEN | SWT.MULTI);
-		dialog.setText("Select Multiple Animated GIFs");
-		dialog.setFilterExtensions(new String[] {"*.gif"});
-		String filename = dialog.open();
-		String filenames[] = dialog.getFileNames();
-		int numToolBarItems = filenames.length;
-		if (numToolBarItems > 0) {
-			try {
-				loadAllImages(new File(filename).getParent(), filenames);
-			} catch (SWTException e) {
-				System.err.println("There was an error loading an image.");
-				e.printStackTrace();
-			}
-			ToolBar toolBar = new ToolBar (shell, SWT.FLAT | SWT.BORDER | SWT.WRAP);
-			item = new ToolItem[numToolBarItems];
-			for (int i = 0; i < numToolBarItems; i++) {
-				item[i] = new ToolItem (toolBar, SWT.PUSH);
-				item[i].setImage(image[i][0]);
-			}
-			toolBar.pack ();
-			shell.open ();
-			
-			startAnimationThreads();
-			
-			while (!shell.isDisposed()) {
-				if (!display.readAndDispatch ()) display.sleep ();
-			}
-			
-			for (int i = 0; i < numToolBarItems; i++) {
-				for (int j = 0; j < image[i].length; j++) {
-					image[i][j].dispose();
-				}
-			}
-			display.dispose ();
-		}
-	}
-
-	private static void loadAllImages(String directory, String[] filenames) throws SWTException {
-		int numItems = filenames.length;
-		loader = new ImageLoader[numItems];
-		imageDataArray = new ImageData[numItems][];
-		image = new Image[numItems][];
-		for (int i = 0; i < numItems; i++) {
-			loader[i] = new ImageLoader();
-			int fullWidth = loader[i].logicalScreenWidth;
-			int fullHeight = loader[i].logicalScreenHeight;
-			imageDataArray[i] = loader[i].load(directory + File.separator + filenames[i]);
-			int numFramesOfAnimation = imageDataArray[i].length;
-			image[i] = new Image[numFramesOfAnimation];
-			for (int j = 0; j < numFramesOfAnimation; j++) {
-				if (j == 0) {
-					//for the first frame of animation, just draw the first frame
-					image[i][j] = new Image(display, imageDataArray[i][j]);
-					fullWidth = imageDataArray[i][j].width;
-					fullHeight = imageDataArray[i][j].height;
-				}
-				else {
-					//after the first frame of animation, draw the background or previous frame first, then the new image data 
-					image[i][j] = new Image(display, fullWidth, fullHeight);
-					GC gc = new GC(image[i][j]);
-					gc.setBackground(shellBackground);
-					gc.fillRectangle(0, 0, fullWidth, fullHeight);
-					ImageData imageData = imageDataArray[i][j];
-					switch (imageData.disposalMethod) {
-					case SWT.DM_FILL_BACKGROUND:
-						/* Fill with the background color before drawing. */
-						Color bgColor = null;
-						if (useGIFBackground && loader[i].backgroundPixel != -1) {
-							bgColor = new Color(display, imageData.palette.getRGB(loader[i].backgroundPixel));
-						}
-						gc.setBackground(bgColor != null ? bgColor : shellBackground);
-						gc.fillRectangle(imageData.x, imageData.y, imageData.width, imageData.height);
-						if (bgColor != null) bgColor.dispose();
-						break;
-					default:
-						/* Restore the previous image before drawing. */
-						gc.drawImage(
-							image[i][j-1],
-							0,
-							0,
-							fullWidth,
-							fullHeight,
-							0,
-							0,
-							fullWidth,
-							fullHeight);
-						break;
-					}
-					Image newFrame = new Image(display, imageData);
-					gc.drawImage(newFrame,
-							0,
-							0,
-							imageData.width,
-							imageData.height,
-							imageData.x,
-							imageData.y,
-							imageData.width,
-							imageData.height);
-					newFrame.dispose();
-					gc.dispose();
-				}
-			}
-		}
-	}
-
-	private static void startAnimationThreads() {
-		animateThread = new Thread[image.length];
-		for (int ii = 0; ii < image.length; ii++) {
-			final int i = ii;
-			animateThread[i] = new Thread("Animation "+i) {
-				int imageDataIndex = 0;
-				public void run() {
-					try {
-						int repeatCount = loader[i].repeatCount;
-						while (loader[i].repeatCount == 0 || repeatCount > 0) {
-							imageDataIndex = (imageDataIndex + 1) % imageDataArray[i].length;
-							if (!display.isDisposed()) {
-								display.asyncExec(new Runnable() {
-									public void run() {
-										if (!item[i].isDisposed())
-											item[i].setImage(image[i][imageDataIndex]);
-									}
-								});
-							}
-							
-							/* Sleep for the specified delay time (adding commonly-used slow-down fudge factors). */
-							try {
-								int ms = imageDataArray[i][imageDataIndex].delayTime * 10;
-								if (ms < 20) ms += 30;
-								if (ms < 30) ms += 10;
-								Thread.sleep(ms);
-							} catch (InterruptedException e) {
-							}
-
-							/* If we have just drawn the last image, decrement the repeat count and start again. */
-							if (imageDataIndex == imageDataArray[i].length - 1) repeatCount--;
-						}
-					} catch (SWTException ex) {
-						System.out.println("There was an error animating the GIF");
-						ex.printStackTrace();
-					}
-				}
-			};
-			animateThread[i].setDaemon(true);
-			animateThread[i].start();
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet289.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet289.java
deleted file mode 100644
index 59e69fe..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet289.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Combo example snippet: add an item to a combo box
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet289  {
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Combo combo = new Combo(shell, SWT.NONE);
-	combo.setItems(new String [] {"1111", "2222", "3333", "4444"});
-	combo.setText(combo.getItem(0));
-	combo.addVerifyListener(new VerifyListener() {
-		public void verifyText(VerifyEvent e) {
-			String newText = e.text;
-			try {
-				Integer.parseInt(newText);
-			} catch (NumberFormatException ex) {
-				e.doit = false;
-			}
-		}
-	});
-	combo.addTraverseListener(new TraverseListener() {
-		public void keyTraversed(TraverseEvent e) {
-			if (e.detail == SWT.TRAVERSE_RETURN) {
-				e.doit = false;
-				e.detail = SWT.TRAVERSE_NONE;
-				String newText = combo.getText();
-				try {
-					Integer.parseInt(newText);
-					combo.add(newText);
-					combo.setSelection(new Point(0, newText.length()));
-				} catch (NumberFormatException ex) {
-				}
-			}
-		}
-	});
-
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet29.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet29.java
deleted file mode 100644
index 8c8c36f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet29.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Menu example snippet: create a bar and pull down menu (accelerators, mnemonics)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet29 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Menu bar = new Menu (shell, SWT.BAR);
-	shell.setMenuBar (bar);
-	MenuItem fileItem = new MenuItem (bar, SWT.CASCADE);
-	fileItem.setText ("&File");
-	Menu submenu = new Menu (shell, SWT.DROP_DOWN);
-	fileItem.setMenu (submenu);
-	MenuItem item = new MenuItem (submenu, SWT.PUSH);
-	item.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			System.out.println ("Select All");
-		}
-	});
-	item.setText ("Select &All\tCtrl+A");
-	item.setAccelerator (SWT.MOD1 + 'A');
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet290.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet290.java
deleted file mode 100644
index eb91c12..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet290.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Canvas snippet: ignore 2nd mouse up event after double-click
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-
-public class Snippet290 {
-
-public static void main(String [] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.addMouseListener(new MouseAdapter() {
-		public void mouseUp(MouseEvent e) {
-			if (e.count == 1) {
-				System.out.println("Mouse up");
-			}
-		}
-		public void mouseDoubleClick(MouseEvent e) {
-			System.out.println("Double-click");
-		}
-	});
-	shell.setBounds(10, 10, 200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet291.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet291.java
deleted file mode 100644
index fc6ba89..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet291.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Give accessible names to a tree and its tree items
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.accessibility.*;
-
-public class Snippet291 {
-	public static void main(String[] args) {
-		final Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		final Tree tree = new Tree(shell, SWT.BORDER);
-		for (int i = 0; i < 5; i++) {
-			TreeItem treeItem = new TreeItem (tree, SWT.NULL);
-			treeItem.setText ("item" + i);
-			for (int j = 0; j < 3; j++) {
-				TreeItem subItem = new TreeItem(treeItem, SWT.NONE);
-				subItem.setText("item" + i + j);
-			}
-		}
-		tree.getAccessible().addAccessibleListener(new AccessibleAdapter() {
-			public void getName(AccessibleEvent e) {
-				if (e.childID == ACC.CHILDID_SELF) {
-					e.result = "This is the Accessible Name for the Tree";
-				} else {
-					TreeItem item = (TreeItem)display.findWidget(tree, e.childID);
-					if (item != null) {
-						e.result = "This is the Accessible Name for the TreeItem: " + item.getText();
-					}
-				}
-			}
-		});
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet292.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet292.java
deleted file mode 100644
index 539b305..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet292.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Take a snapshot of a control
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet292 {
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		final Tree tree = new Tree(shell, SWT.BORDER);
-		for (int i = 0; i < 5; i++) {
-			TreeItem treeItem = new TreeItem (tree, SWT.NULL);
-			treeItem.setText ("TreeItem " + i);
-			for (int j = 0; j < 3; j++) {
-				TreeItem subItem = new TreeItem(treeItem, SWT.NONE);
-				subItem.setText("SubItem " + i + "-" + j);
-			}
-			if (i % 3 == 0) treeItem.setExpanded (true);
-		}
-		final Label label = new Label (shell, SWT.NONE);
-		label.addListener (SWT.Dispose, new Listener () {
-			public void handleEvent (Event e) {
-				Image image = label.getImage ();
-				if (image != null) image.dispose ();
-			}
-		});
-		Button button = new Button (shell, SWT.PUSH);
-		button.setText ("Snapshot");
-		button.addListener (SWT.Selection, new Listener () {
-			public void handleEvent (Event e) {
-				Image image = label.getImage ();
-				if (image != null) image.dispose ();
-				image = new Image (display, tree.getBounds ());
-				GC gc = new GC (image);
-				boolean success = tree.print (gc);
-				gc.dispose ();
-				label.setImage (image);
-				if (!success) {
-					MessageBox messageBox = new MessageBox (shell, SWT.OK | SWT.PRIMARY_MODAL);
-					messageBox.setMessage ("Sorry, taking a snapshot is not supported on your platform");
-					messageBox.open ();
-				}
-			}
-		});
-		GridLayout layout = new GridLayout (2, true);
-		shell.setLayout(layout);
-		tree.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		label.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		button.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true, 2, 1));
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet293.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet293.java
deleted file mode 100644
index b4bc599..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet293.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * create a tri-state button.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet293 {
-
-	public static void main(java.lang.String[] args) {
-			Display display = new Display();
-			Shell shell = new Shell(display);
-			shell.setLayout(new GridLayout());
-			
-			Button b1 = new Button (shell, SWT.CHECK);
-			b1.setText("State 1");
-			b1.setSelection(true);
-			
-			Button b2 = new Button (shell, SWT.CHECK);
-			b2.setText("State 2");
-			b2.setSelection(false);
-			
-			Button b3 = new Button (shell, SWT.CHECK);
-			b3.setText("State 3");
-			b3.setSelection(true);
-			b3.setGrayed(true);
-			
-			shell.pack();
-			shell.open();
-			while (!shell.isDisposed()) {
-				if (!display.readAndDispatch())
-					display.sleep();
-			}
-			display.dispose();
-		}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet294.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet294.java
deleted file mode 100644
index 6f8d668..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet294.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Region on a control: create a non-rectangular button
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.4
- */
-
-public class Snippet294 {
-
-	static int[] circle(int r, int offsetX, int offsetY) {
-		int[] polygon = new int[8 * r + 4];
-		// x^2 + y^2 = r^2
-		for (int i = 0; i < 2 * r + 1; i++) {
-			int x = i - r;
-			int y = (int)Math.sqrt(r*r - x*x);
-			polygon[2*i] = offsetX + x;
-			polygon[2*i+1] = offsetY + y;
-			polygon[8*r - 2*i - 2] = offsetX + x;
-			polygon[8*r - 2*i - 1] = offsetY - y;
-		}
-		return polygon;
-	}
-
-	public static void main(String[] args) {
-		final Display display = new Display();
-		
-		final Shell shell = new Shell(display);
-		shell.setText("Regions on a Control");
-		shell.setLayout(new FillLayout());
-		shell.setBackground(display.getSystemColor(SWT.COLOR_DARK_RED));
-		
-		Button b2 = new Button(shell, SWT.PUSH);
-		b2.setText("Button with Regions");
-		
-		// define a region that looks like a circle with two holes in ot
-		Region region = new Region();
-		region.add(circle(67, 87, 77));
-		region.subtract(circle(20, 87, 47));
-		region.subtract(circle(20, 87, 113));
-		
-		// define the shape of the button using setRegion
-		b2.setRegion(region);
-		b2.setLocation(100,50);
-		
-		b2.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				shell.close();
-			}
-		});
-		
-		shell.setSize(200,200);
-		shell.open();
-		
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		region.dispose();
-		display.dispose();
-	}
-	
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet295.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet295.java
deleted file mode 100644
index aec4242..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet295.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * create a dialog Shell and prompt for a text string
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet295 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setText("Shell");
-	FillLayout fillLayout = new FillLayout();
-	fillLayout.marginWidth = 10;
-	fillLayout.marginHeight = 10;
-	shell.setLayout(fillLayout);
-
-	Button open = new Button (shell, SWT.PUSH);
-	open.setText ("Prompt for a String");
-	open.addSelectionListener (new SelectionAdapter () {
-		public void widgetSelected (SelectionEvent e) {
-			final Shell dialog = new Shell (shell, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
-			dialog.setText("Dialog Shell");
-			FormLayout formLayout = new FormLayout ();
-			formLayout.marginWidth = 10;
-			formLayout.marginHeight = 10;
-			formLayout.spacing = 10;
-			dialog.setLayout (formLayout);
-
-			Label label = new Label (dialog, SWT.NONE);
-			label.setText ("Type a String:");
-			FormData data = new FormData ();
-			label.setLayoutData (data);
-
-			Button cancel = new Button (dialog, SWT.PUSH);
-			cancel.setText ("Cancel");
-			data = new FormData ();
-			data.width = 60;
-			data.right = new FormAttachment (100, 0);
-			data.bottom = new FormAttachment (100, 0);
-			cancel.setLayoutData (data);
-			cancel.addSelectionListener (new SelectionAdapter () {
-				public void widgetSelected (SelectionEvent e) {
-					System.out.println("User cancelled dialog");
-					dialog.close ();
-				}
-			});
-
-			final Text text = new Text (dialog, SWT.BORDER);
-			data = new FormData ();
-			data.width = 200;
-			data.left = new FormAttachment (label, 0, SWT.DEFAULT);
-			data.right = new FormAttachment (100, 0);
-			data.top = new FormAttachment (label, 0, SWT.CENTER);
-			data.bottom = new FormAttachment (cancel, 0, SWT.DEFAULT);
-			text.setLayoutData (data);
-
-			Button ok = new Button (dialog, SWT.PUSH);
-			ok.setText ("OK");
-			data = new FormData ();
-			data.width = 60;
-			data.right = new FormAttachment (cancel, 0, SWT.DEFAULT);
-			data.bottom = new FormAttachment (100, 0);
-			ok.setLayoutData (data);
-			ok.addSelectionListener (new SelectionAdapter () {
-				public void widgetSelected (SelectionEvent e) {
-					System.out.println ("User typed: " + text.getText ());
-					dialog.close ();
-				}
-			});
-
-			dialog.setDefaultButton (ok);
-			dialog.pack ();
-			dialog.open ();
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet296.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet296.java
deleted file mode 100644
index e4c6dab..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet296.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * ScrolledComposite snippet: use a ScrolledComposite to scroll a Tree vertically
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet296 {
-	
-public static void main (String[] args) {
-	final Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setBounds (10, 10, 300, 300);
-	final ScrolledComposite sc = new ScrolledComposite (shell, SWT.VERTICAL);
-	sc.setBounds (10, 10, 280, 200);
-	final int clientWidth = sc.getClientArea ().width;
-
-	final Tree tree = new Tree (sc, SWT.NONE);
-	for (int i = 0; i < 99; i++) {
-		TreeItem item = new TreeItem (tree, SWT.NONE);
-		item.setText ("item " + i);
-		new TreeItem (item, SWT.NONE).setText ("child");
-	}
-	sc.setContent (tree);
-	int prefHeight = tree.computeSize (SWT.DEFAULT, SWT.DEFAULT).y;
-	tree.setSize (clientWidth, prefHeight);
-	/*
-	 * The following listener ensures that the Tree is always large
-	 * enough to not need to show its own vertical scrollbar.
-	 */
-	tree.addTreeListener (new TreeListener () {
-		public void treeExpanded (TreeEvent e) {
-			int prefHeight = tree.computeSize (SWT.DEFAULT, SWT.DEFAULT).y;
-			tree.setSize (clientWidth, prefHeight);
-		}
-		public void treeCollapsed (TreeEvent e) {
-			int prefHeight = tree.computeSize (SWT.DEFAULT, SWT.DEFAULT).y;
-			tree.setSize (clientWidth, prefHeight);
-		}
-	});
-	/*
-	 * The following listener ensures that a newly-selected item
-	 * in the Tree is always visible.
-	 */
-	tree.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			TreeItem [] selectedItems = tree.getSelection();
-			if (selectedItems.length > 0) {
-				Rectangle itemRect = selectedItems[0].getBounds();
-				Rectangle area = sc.getClientArea();
-				Point origin = sc.getOrigin();
-				if (itemRect.x < origin.x || itemRect.y < origin.y
-						|| itemRect.x + itemRect.width > origin.x + area.width
-						|| itemRect.y + itemRect.height > origin.y + area.height) {
-					sc.setOrigin(itemRect.x, itemRect.y);
-				}
-			}
-		}
-	});
-
-	Button downButton = new Button (shell, SWT.PUSH);
-	downButton.setBounds (10, 220, 120, 30);
-	downButton.setText ("Down 10px");
-	downButton.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			sc.setOrigin (0, sc.getOrigin ().y + 10);
-		}
-	});
-	Button upButton = new Button (shell, SWT.PUSH);
-	upButton.setBounds (140, 220, 120, 30);
-	upButton.setText ("Up 10px");
-	upButton.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			sc.setOrigin (0, sc.getOrigin ().y - 10);
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet297.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet297.java
deleted file mode 100644
index f4c7128..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet297.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Table example snippet: create a table with column header images
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet297 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Image images[] = new Image[] {
-		display.getSystemImage(SWT.ICON_INFORMATION),
-		display.getSystemImage(SWT.ICON_ERROR),
-		display.getSystemImage(SWT.ICON_QUESTION),
-		display.getSystemImage(SWT.ICON_WARNING),
-	};
-	String[] titles = {"Information", "Error", "Question", "Warning"};
-	String[] questions = {"who?", "what?", "where?", "when?", "why?"};
-	Shell shell = new Shell (display);
-	shell.setLayout(new GridLayout());
-	Table table = new Table (shell, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION);
-	GridData data = new GridData (SWT.FILL, SWT.FILL, true, true);
-	data.heightHint = 200;
-	table.setLayoutData (data);
-	table.setLinesVisible (true);
-	table.setHeaderVisible (true);
-	for (int i=0; i<titles.length; i++) {
-		TableColumn column = new TableColumn (table, SWT.NONE);
-		column.setText (titles [i]);
-		column.setImage(images [i]);
-	}	
-	int count = 128;
-	for (int i=0; i<count; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		item.setText (0, "some info");
-		item.setText (1, "error #" + i);
-		item.setText (2, questions [i % questions.length]);
-		item.setText (3, "look out!");
-	}
-	for (int i=0; i<titles.length; i++) {
-		table.getColumn (i).pack ();
-	}	
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet298.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet298.java
deleted file mode 100644
index 50c9e2e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet298.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Transform snippet: shear images
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet298 {
-
-public static void main (String [] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event event) {
-			int[] icons = new int[]{SWT.ICON_ERROR, SWT.ICON_WARNING, SWT.ICON_INFORMATION, SWT.ICON_QUESTION, SWT.ICON_WORKING};
-			int x = 10;
-			for (int i = 0; i < icons.length; i++) {
-				Image image = display.getSystemImage(icons[i]);
-				if (image != null) {
-					Transform t = new Transform(display);
-					t.translate(x, 10);
-					t.shear(1, 0);
-					GC gc = event.gc;
-					gc.setTransform(t);
-					t.dispose();
-					gc.drawImage(image, 0, 0);
-					x += image.getBounds().width + 10;
-				}
-			}
-		}
-	});
-	shell.setSize(260, 100);
-	shell.open();	
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet299.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet299.java
deleted file mode 100644
index a3a8ade..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet299.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.swt.snippets;
-
-/*
- * RowLayout: center alignment
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet299 {
-
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		RowLayout layout = new RowLayout();
-		layout.center = true;
-		shell.setLayout(layout);
-
-		Button button0 = new Button(shell, SWT.PUSH);
-		button0.setText("Button 0");
-		
-		Button button1 = new Button(shell, SWT.PUSH);
-		button1.setText("Button 1");
-		button1.setLayoutData(new RowData (SWT.DEFAULT, 50));
-		
-		Button button2 = new Button(shell, SWT.PUSH);
-		button2.setText("Button 2");
-		button2.setLayoutData(new RowData (SWT.DEFAULT, 70));
-
-		Button button3 = new Button(shell, SWT.PUSH);
-		button3.setText("Button 3");
-
-		shell.pack();
-		shell.open();
-		
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet3.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet3.java
deleted file mode 100644
index a95f1ed..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet3.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Table example snippet: find a table cell from mouse down (SWT.FULL_SELECTION)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-
-public class Snippet3 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	final Table table = new Table(shell, SWT.BORDER | SWT.V_SCROLL
-			| SWT.FULL_SELECTION);
-	table.setHeaderVisible(true);
-	table.setLinesVisible(true);
-	final int rowCount = 64, columnCount = 4;
-	for (int i = 0; i < columnCount; i++) {
-		TableColumn column = new TableColumn(table, SWT.NONE);
-		column.setText("Column " + i);
-	}
-	for (int i = 0; i < rowCount; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		for (int j = 0; j < columnCount; j++) {
-			item.setText(j, "Item " + i + "-" + j);
-		}
-	}
-	for (int i = 0; i < columnCount; i++) {
-		table.getColumn(i).pack();
-	}
-	Point size = table.computeSize(SWT.DEFAULT, 200);
-	table.setSize(size);
-	shell.pack();
-	table.addListener(SWT.MouseDown, new Listener() {
-		public void handleEvent(Event event) {
-			Point pt = new Point(event.x, event.y);
-			TableItem item = table.getItem(pt);
-			if (item == null)
-				return;
-			for (int i = 0; i < columnCount; i++) {
-				Rectangle rect = item.getBounds(i);
-				if (rect.contains(pt)) {
-					int index = table.indexOf(item);
-					System.out.println("Item " + index + "-" + i);
-				}
-			}
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet30.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet30.java
deleted file mode 100644
index bcbd760..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet30.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Program example snippet: invoke the system text editor on autoexec.bat
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.program.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet30 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Program p = Program.findProgram (".txt");
-	if (p != null) p.execute ("c:\\autoexec.bat"); // Windows-specific filename
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet300.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet300.java
deleted file mode 100644
index 07b9b2d..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet300.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * example snippet: DND between Swing and SWT
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import javax.swing.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.awt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet300 {
-
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setText("SWT and Swing DND Example");
-		GridLayout layout = new GridLayout(1, false);
-		shell.setLayout(layout);
-
-		Text swtText = new Text(shell, SWT.BORDER);
-		swtText.setText("SWT Text");
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		swtText.setLayoutData(data);
-		setDragDrop(swtText);
-
-		Composite comp = new Composite(shell, SWT.EMBEDDED);
-		java.awt.Frame frame = SWT_AWT.new_Frame(comp);
-		JTextField swingText = new JTextField(40);
-		swingText.setText("Swing Text");
-		swingText.setDragEnabled(true);
-		frame.add(swingText);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.heightHint = swingText.getPreferredSize().height;
-		comp.setLayoutData(data);
-
-		shell.setSize(400, 200);
-		shell.open();
-		while(!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-	public static void setDragDrop (final Text text) {
-		Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
-		int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
-		
-		final DragSource source = new DragSource (text, operations);
-		source.setTransfer(types);
-		source.addDragListener (new DragSourceListener () {
-			Point selection;
-			public void dragStart(DragSourceEvent e) {
-				selection = text.getSelection();
-				e.doit = selection.x != selection.y;
-			}
-			public void dragSetData(DragSourceEvent e) {
-				e.data = text.getText(selection.x, selection.y-1);
-			}
-			public void dragFinished(DragSourceEvent e) {
-				if (e.detail == DND.DROP_MOVE) {
-					text.setSelection(selection);
-					text.insert("");
-				}
-				selection = null;
-			}
-		});
-
-		DropTarget target = new DropTarget(text, operations);
-		target.setTransfer(types);
-		target.addDropListener (new DropTargetAdapter() {
-			public void drop(DropTargetEvent event) {
-				if (event.data == null) {
-					event.detail = DND.DROP_NONE;
-					return;
-				}
-				text.append((String) event.data);
-			}
-		});
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet301.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet301.java
deleted file mode 100644
index 448b871..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet301.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Table example snippet: create a table with no scroll bars
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet301 {
-	public static void main (String [] args) {
-		Display display = new Display ();
-		Shell shell = new Shell (display);
-		FillLayout layout = new FillLayout();
-		layout.marginHeight = 10;
-		layout.marginWidth = 10;
-		shell.setLayout(layout);
-		Table table = new Table (shell, SWT.BORDER | SWT.NO_SCROLL);
-		for (int i=0; i<10; i++) {
-			TableItem item = new TableItem (table, SWT.NONE);
-			item.setText ("Item " + i);
-		}
-		shell.pack ();
-		shell.open ();
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		display.dispose ();
-	}
-
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet302.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet302.java
deleted file mode 100644
index 08fc5fc..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet302.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Tree example snippet: create a tree with no scroll bars
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet302 {
-	public static void main (String [] args) {
-		Display display = new Display ();
-		Shell shell = new Shell (display);
-		FillLayout layout = new FillLayout();
-		layout.marginHeight = 10;
-		layout.marginWidth = 10;
-		shell.setLayout(layout);
-		Tree tree = new Tree (shell, SWT.BORDER | SWT.NO_SCROLL);
-		for (int i=0; i<10; i++) {
-			TreeItem item = new TreeItem (tree, SWT.NONE);
-			item.setText ("Item " + i);
-		}
-		shell.pack ();
-		shell.open ();
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		display.dispose ();
-	}
-
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet31.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet31.java
deleted file mode 100644
index e898c1e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet31.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Tracker example snippet: create a tracker (drag when "torn off")
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet31 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setSize (200, 200);
-	shell.open ();
-	Listener listener = new Listener () {
-		Point point = null;
-		static final int JITTER = 8;
-		public void handleEvent (Event event) {
-			switch (event.type) {
-				case SWT.MouseDown:
-					point = new Point (event.x, event.y);
-					break;
-				case SWT.MouseMove:
-					if (point == null) return;
-					int deltaX = point.x - event.x, deltaY = point.y - event.y;
-					if (Math.abs (deltaX) < JITTER && Math.abs (deltaY) < JITTER) {
-						return;
-					}
-					Tracker tracker = new Tracker (display, SWT.NONE);
-					Rectangle rect = display.map (shell, null, shell.getClientArea ());
-					rect.x -= deltaX;
-					rect.y -= deltaY;
-					tracker.setRectangles (new Rectangle [] {rect});
-					tracker.open ();
-					//FALL THROUGH
-				case SWT.MouseUp:
-					point = null;
-					break;
-			}
-		}
-	};
-	shell.addListener (SWT.MouseDown, listener);
-	shell.addListener (SWT.MouseMove, listener);
-	shell.addListener (SWT.MouseUp, listener);
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet32.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet32.java
deleted file mode 100644
index 61cbda9..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet32.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Program example snippet: find the icon of the program that edits .bmp files
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.program.*;
-
-public class Snippet32 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Label label = new Label (shell, SWT.NONE);
-	label.setText ("Can't find icon for .bmp");
-	Image image = null;
-	Program p = Program.findProgram (".bmp");
-	if (p != null) {
-		ImageData data = p.getImageData ();
-		if (data != null) {
-			image = new Image (display, data);
-			label.setImage (image);
-		}
-	}
-	label.pack ();
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	if (image != null) image.dispose ();
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet33.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet33.java
deleted file mode 100644
index 24fc913..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet33.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * DirectoryDialog example snippet: prompt for a directory
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.widgets.*;
-
-public class Snippet33 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.open ();
-	DirectoryDialog dialog = new DirectoryDialog (shell);
-	dialog.setFilterPath ("c:\\"); //Windows specific
-	System.out.println ("RESULT=" + dialog.open ());
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet34.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet34.java
deleted file mode 100644
index 27765cb..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet34.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Label example snippet: create a label (with an image)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet34 {
-
-public static void main (String[] args) {
-	Display display = new Display();
-	Image image = new Image (display, 16, 16);
-	Color color = display.getSystemColor (SWT.COLOR_RED);
-	GC gc = new GC (image);
-	gc.setBackground (color);
-	gc.fillRectangle (image.getBounds ());
-	gc.dispose ();
-	Shell shell = new Shell (display);
-	Label label = new Label (shell, SWT.BORDER);
-	label.setImage (image);
-	label.pack ();
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep (); 
-	} 
-	image.dispose ();
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet35.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet35.java
deleted file mode 100644
index 38387ce..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet35.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Table example snippet: create a table (no columns, no headers)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet35 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Table table = new Table (shell, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-	for (int i=0; i<12; i++) {
-		TableItem item = new TableItem (table, 0);
-		item.setText ("Item " + i);
-	}
-	table.setSize (100, 100);
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet36.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet36.java
deleted file mode 100644
index 85e7284..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet36.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * ToolBar example snippet: create a flat tool bar (images)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet36 {
-
-public static void main (String [] args) {
-	Display display = new Display();
-	Image image = new Image (display, 16, 16);
-	Color color = display.getSystemColor (SWT.COLOR_RED);
-	GC gc = new GC (image);
-	gc.setBackground (color);
-	gc.fillRectangle (image.getBounds ());
-	gc.dispose ();
-	Shell shell = new Shell (display);
-	ToolBar toolBar = new ToolBar (shell, SWT.FLAT | SWT.BORDER);
-	for (int i=0; i<12; i++) {
-		ToolItem item = new ToolItem (toolBar, SWT.DROP_DOWN);
-		item.setImage (image);
-	}
-	toolBar.pack ();
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	image.dispose ();
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet37.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet37.java
deleted file mode 100644
index 6dcf6cb..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet37.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Label example snippet: create a label (a separator)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet37 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	new Label (shell, SWT.SEPARATOR | SWT.HORIZONTAL);
-	new Label (shell, SWT.SEPARATOR | SWT.VERTICAL);
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet38.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet38.java
deleted file mode 100644
index 55a5813..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet38.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Table example snippet: create a table (columns, headers, lines)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet38 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new GridLayout());
-	Table table = new Table (shell, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION);
-	table.setLinesVisible (true);
-	table.setHeaderVisible (true);
-	GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
-	data.heightHint = 200;
-	table.setLayoutData(data);
-	String[] titles = {" ", "C", "!", "Description", "Resource", "In Folder", "Location"};
-	for (int i=0; i<titles.length; i++) {
-		TableColumn column = new TableColumn (table, SWT.NONE);
-		column.setText (titles [i]);
-	}	
-	int count = 128;
-	for (int i=0; i<count; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		item.setText (0, "x");
-		item.setText (1, "y");
-		item.setText (2, "!");
-		item.setText (3, "this stuff behaves the way I expect");
-		item.setText (4, "almost everywhere");
-		item.setText (5, "some.folder");
-		item.setText (6, "line " + i + " in nowhere");
-	}
-	for (int i=0; i<titles.length; i++) {
-		table.getColumn (i).pack ();
-	}	
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet39.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet39.java
deleted file mode 100644
index 63285a4..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet39.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * CCombo example snippet: create a CCombo
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet39 {
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new GridLayout());
-		
-		CCombo combo = new CCombo(shell, SWT.FLAT | SWT.BORDER);
-		combo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-		for (int i = 0; i < 5; i++) {
-			combo.add("item" + i);
-		}
-		combo.setText("item0");
-
-		combo.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				System.out.println("Item selected");
-			};
-		});
-
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet4.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet4.java
deleted file mode 100644
index 8fc8411..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet4.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Shell example snippet: prevent escape from closing a dialog
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet4 {
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		final Shell shell = new Shell(display);
-		Button b = new Button(shell, SWT.PUSH);
-		b.setText("Open Dialog ...");
-		b.pack();
-		b.setLocation(10, 10);
-		b.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				Shell dialog = new Shell(shell, SWT.DIALOG_TRIM);
-				dialog.addListener(SWT.Traverse, new Listener() {
-					public void handleEvent(Event e) {
-						if (e.detail == SWT.TRAVERSE_ESCAPE) {
-							e.doit = false;
-						}
-					}
-				});
-				dialog.open();
-			}
-		});
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet40.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet40.java
deleted file mode 100644
index 582576b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet40.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Menu example snippet: create a popup menu (set in multiple controls)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet40 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Composite c1 = new Composite (shell, SWT.BORDER);
-	c1.setSize (100, 100);
-	Composite c2 = new Composite (shell, SWT.BORDER);
-	c2.setBounds (100, 0, 100, 100);
-	Menu menu = new Menu (shell, SWT.POP_UP);
-	MenuItem item = new MenuItem (menu, SWT.PUSH);
-	item.setText ("Popup");
-	c1.setMenu (menu);
-	c2.setMenu (menu);
-	shell.setMenu (menu);
-	shell.setSize (300, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet41.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet41.java
deleted file mode 100644
index 140e19c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet41.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Tool Tips example snippet: create tool tips for a tab item, tool item, and shell
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet41 {
-
-public static void main (String [] args) {
-	String string = "This is a string\nwith a new line.";
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	TabFolder folder = new TabFolder (shell, SWT.BORDER);
-	folder.setSize (200, 200);
-	TabItem item0 = new TabItem (folder, 0);
-	item0.setToolTipText ("TabItem toolTip: " + string);
-	ToolBar bar = new ToolBar (shell, SWT.BORDER);
-	bar.setBounds (0, 200, 200, 64);
-	ToolItem item1 = new ToolItem (bar, 0);
-	item1.setToolTipText ("ToolItem toolTip: " + string);
-	shell.setToolTipText ("Shell toolTip: " + string);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet42.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet42.java
deleted file mode 100644
index 9adf41f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet42.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Display example snippet: get the bounds and client area of a display
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.widgets.*;
-
-public class Snippet42 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	System.out.println ("Display Bounds=" + display.getBounds () + " Display ClientArea=" + display.getClientArea ());
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet43.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet43.java
deleted file mode 100644
index c8e6344..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet43.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Caret example snippet: create a caret (using an image)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet43 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.open ();
-	Caret caret = new Caret (shell, SWT.NONE);
-	Color white = display.getSystemColor (SWT.COLOR_WHITE);
-	Color black = display.getSystemColor (SWT.COLOR_BLACK);
-	Image image = new Image (display, 20, 20);
-	GC gc = new GC (image);
-	gc.setBackground (black);
-	gc.fillRectangle (0, 0, 20, 20);
-	gc.setForeground (white);
-	gc.drawLine (0, 0, 19, 19);
-	gc.drawLine (19, 0, 0, 19);
-	gc.dispose ();
-	caret.setLocation (10, 10);
-	caret.setImage (image);
-	gc = new GC (shell);
-	gc.drawImage (image, 10, 64);
-	caret.setVisible (false);
-	gc.drawString ("Test", 12, 12);
-	caret.setVisible (true);
-	gc.dispose ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	image.dispose ();
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet44.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet44.java
deleted file mode 100644
index 8056868..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet44.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Cursor example snippet: set the hand cursor into a control
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet44 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Cursor cursor = new Cursor (display, SWT.CURSOR_HAND);
-	Shell shell = new Shell (display);
-	shell.open ();
-	final Button b = new Button (shell, 0);
-	b.setBounds (10, 10, 200, 200);
-	b.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			b.setCursor (cursor);
-		}
-	});
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	cursor.dispose ();
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet45.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet45.java
deleted file mode 100644
index 52acee3..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet45.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Scale example snippet: create a scale (maximum 40, page increment 5)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet45 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Scale scale = new Scale (shell, SWT.BORDER);
-	scale.setSize (200, 64);
-	scale.setMaximum (40);
-	scale.setPageIncrement (5);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet46.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet46.java
deleted file mode 100644
index 37ac629..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet46.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Composite example snippet: intercept mouse events (drag a button with the mouse)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet46 {
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	final Composite composite = new Composite (shell, SWT.NONE);
-	composite.setEnabled (false);
-	composite.setLayout (new FillLayout ());
-	Button button = new Button (composite, SWT.PUSH);
-	button.setText ("Button");
-	composite.pack ();
-	composite.setLocation (10, 10);
-	final Point [] offset = new Point [1];
-	Listener listener = new Listener () {
-		public void handleEvent (Event event) {
-			switch (event.type) {
-				case SWT.MouseDown:
-					Rectangle rect = composite.getBounds ();
-					if (rect.contains (event.x, event.y)) {
-						Point pt1 = composite.toDisplay (0, 0);
-						Point pt2 = shell.toDisplay (event.x, event.y); 
-						offset [0] = new Point (pt2.x - pt1.x, pt2.y - pt1.y);
-					}
-					break;
-				case SWT.MouseMove:
-					if (offset [0] != null) {
-						Point pt = offset [0];
-						composite.setLocation (event.x - pt.x, event.y - pt.y);
-					}
-					break;
-				case SWT.MouseUp:
-					offset [0] = null;
-					break;
-			}
-		}
-	};
-	shell.addListener (SWT.MouseDown, listener);
-	shell.addListener (SWT.MouseUp, listener);
-	shell.addListener (SWT.MouseMove, listener);
-	shell.setSize (300, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet47.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet47.java
deleted file mode 100644
index 16055ca..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet47.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * ToolBar example snippet: create tool bar (normal, hot and disabled images)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet47 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-
-	Image image = new Image (display, 20, 20);
-	Color color = display.getSystemColor (SWT.COLOR_BLUE);
-	GC gc = new GC (image);
-	gc.setBackground (color);
-	gc.fillRectangle (image.getBounds ());
-	gc.dispose ();
-	
-	Image disabledImage = new Image (display, 20, 20);
-	color = display.getSystemColor (SWT.COLOR_GREEN);
-	gc = new GC (disabledImage);
-	gc.setBackground (color);
-	gc.fillRectangle (disabledImage.getBounds ());
-	gc.dispose ();
-	
-	Image hotImage = new Image (display, 20, 20);
-	color = display.getSystemColor (SWT.COLOR_RED);
-	gc = new GC (hotImage);
-	gc.setBackground (color);
-	gc.fillRectangle (hotImage.getBounds ());
-	gc.dispose ();
-	
-	ToolBar bar = new ToolBar (shell, SWT.BORDER | SWT.FLAT);
-	bar.setSize (200, 32);
-	for (int i=0; i<12; i++) {
-		ToolItem item = new ToolItem (bar, 0);
-		item.setImage (image);
-		item.setDisabledImage (disabledImage);
-		item.setHotImage (hotImage);
-		if (i % 3 == 0) item.setEnabled (false);
-	}
-	
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	image.dispose ();
-	disabledImage.dispose ();
-	hotImage.dispose ();
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet48.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet48.java
deleted file mode 100644
index f63ba77..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet48.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Canvas example snippet: scroll an image (flicker free, no double buffering)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet48 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	Image originalImage = null;
-	FileDialog dialog = new FileDialog (shell, SWT.OPEN);
-	dialog.setText ("Open an image file or cancel");
-	String string = dialog.open ();
-	if (string != null) {
-		originalImage = new Image (display, string);
-	}
-	if (originalImage == null) {
-		int width = 150, height = 200;
-		originalImage = new Image (display, width, height);
-		GC gc = new GC (originalImage);
-		gc.fillRectangle (0, 0, width, height);
-		gc.drawLine (0, 0, width, height);
-		gc.drawLine (0, height, width, 0);
-		gc.drawText ("Default Image", 10, 10);
-		gc.dispose ();
-	}
-	final Image image = originalImage;
-	final Point origin = new Point (0, 0);
-	final Canvas canvas = new Canvas (shell, SWT.NO_BACKGROUND |
-			SWT.NO_REDRAW_RESIZE | SWT.V_SCROLL | SWT.H_SCROLL);
-	final ScrollBar hBar = canvas.getHorizontalBar ();
-	hBar.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			int hSelection = hBar.getSelection ();
-			int destX = -hSelection - origin.x;
-			Rectangle rect = image.getBounds ();
-			canvas.scroll (destX, 0, 0, 0, rect.width, rect.height, false);
-			origin.x = -hSelection;
-		}
-	});
-	final ScrollBar vBar = canvas.getVerticalBar ();
-	vBar.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			int vSelection = vBar.getSelection ();
-			int destY = -vSelection - origin.y;
-			Rectangle rect = image.getBounds ();
-			canvas.scroll (0, destY, 0, 0, rect.width, rect.height, false);
-			origin.y = -vSelection;
-		}
-	});
-	canvas.addListener (SWT.Resize,  new Listener () {
-		public void handleEvent (Event e) {
-			Rectangle rect = image.getBounds ();
-			Rectangle client = canvas.getClientArea ();
-			hBar.setMaximum (rect.width);
-			vBar.setMaximum (rect.height);
-			hBar.setThumb (Math.min (rect.width, client.width));
-			vBar.setThumb (Math.min (rect.height, client.height));
-			int hPage = rect.width - client.width;
-			int vPage = rect.height - client.height;
-			int hSelection = hBar.getSelection ();
-			int vSelection = vBar.getSelection ();
-			if (hSelection >= hPage) {
-				if (hPage <= 0) hSelection = 0;
-				origin.x = -hSelection;
-			}
-			if (vSelection >= vPage) {
-				if (vPage <= 0) vSelection = 0;
-				origin.y = -vSelection;
-			}
-			canvas.redraw ();
-		}
-	});
-	canvas.addListener (SWT.Paint, new Listener () {
-		public void handleEvent (Event e) {
-			GC gc = e.gc;
-			gc.drawImage (image, origin.x, origin.y);
-			Rectangle rect = image.getBounds ();
-			Rectangle client = canvas.getClientArea ();
-			int marginWidth = client.width - rect.width;
-			if (marginWidth > 0) {
-				gc.fillRectangle (rect.width, 0, marginWidth, client.height);
-			}
-			int marginHeight = client.height - rect.height;
-			if (marginHeight > 0) {
-				gc.fillRectangle (0, rect.height, client.width, marginHeight);
-			}
-		}
-	});
-	shell.setSize (200, 150);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	originalImage.dispose();
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet49.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet49.java
deleted file mode 100644
index b66a128..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet49.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * ToolBar example snippet: create tool bar (wrap on resize)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet49 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	final ToolBar toolBar = new ToolBar (shell, SWT.WRAP);
-	for (int i=0; i<12; i++) {
-		ToolItem item = new ToolItem (toolBar, SWT.PUSH);
-		item.setText ("Item " + i);
-	}
-	shell.addListener (SWT.Resize, new Listener () {
-		public void handleEvent (Event e) {
-			Rectangle rect = shell.getClientArea ();
-			Point size = toolBar.computeSize (rect.width, SWT.DEFAULT);
-			toolBar.setSize (size);
-		}
-	});
-	toolBar.pack ();
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet5.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet5.java
deleted file mode 100644
index e3ea978..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet5.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * ScrolledComposite example snippet: scroll a control in a scrolled composite
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.custom.*;
-
-public class Snippet5 {
-
-public static void main (String [] args) 
-{
-    Display display = new Display ();
-    Shell shell = new Shell (display);
-    shell.setLayout(new FillLayout());
-
-    // this button is always 400 x 400. Scrollbars appear if the window is resized to be
-    // too small to show part of the button
-    ScrolledComposite c1 = new ScrolledComposite(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-    Button b1 = new Button(c1, SWT.PUSH);
-    b1.setText("fixed size button");
-    b1.setSize(400, 400);
-    c1.setContent(b1);
-
-    // this button has a minimum size of 400 x 400. If the window is resized to be big
-    // enough to show more than 400 x 400, the button will grow in size. If the window
-    // is made too small to show 400 x 400, scrollbars will appear.
-    ScrolledComposite c2 = new ScrolledComposite(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-    Button b2 = new Button(c2, SWT.PUSH);
-    b2.setText("expanding button");
-    c2.setContent(b2);
-    c2.setExpandHorizontal(true);
-    c2.setExpandVertical(true);
-    c2.setMinWidth(400);
-    c2.setMinHeight(400);
-
-    shell.setSize(600, 300);
-    shell.open ();
-    while (!shell.isDisposed ()) {
-        if (!display.readAndDispatch ()) display.sleep ();
-    }
-    display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet50.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet50.java
deleted file mode 100644
index 786d299..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet50.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Shell example snippet: create a dialog shell
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.widgets.*;
-
-public class Snippet50 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setText ("Shell");
-	shell.setSize (200, 200);
-	shell.open ();
-	Shell dialog = new Shell (shell);
-	dialog.setText ("Dialog");
-	dialog.setSize (200, 200);
-	dialog.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet51.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet51.java
deleted file mode 100644
index 301bd74..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet51.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Table example snippet: scroll a table (set the top index)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet51 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Table table = new Table (shell, SWT.BORDER | SWT.MULTI);
-	table.setSize (200, 200);
-	for (int i=0; i<128; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		item.setText ("Item " + i);
-	}
-	table.setTopIndex (95);
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet52.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet52.java
deleted file mode 100644
index 3442460..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet52.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Table example snippet: select an index (select and scroll)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet52 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Table table = new Table (shell, SWT.BORDER | SWT.MULTI);
-	table.setSize (200, 200);
-	for (int i=0; i<128; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		item.setText ("Item " + i);
-	}
-	table.setSelection (95);
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet53.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet53.java
deleted file mode 100644
index 26cae45..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet53.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Table example snippet: remove selected items
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet53 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	final Table table = new Table (shell, SWT.BORDER | SWT.MULTI);
-	table.setSize (200, 200);
-	for (int i=0; i<128; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		item.setText ("Item " + i);
-	}
-	Menu menu = new Menu (shell, SWT.POP_UP);
-	table.setMenu (menu);
-	MenuItem item = new MenuItem (menu, SWT.PUSH);
-	item.setText ("Delete Selection");
-	item.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			table.remove (table.getSelectionIndices ());
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet54.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet54.java
deleted file mode 100644
index 910b3a4..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet54.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Sash example snippet: create a sash (allow it to be moved)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet54 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	final Sash sash = new Sash (shell, SWT.BORDER | SWT.VERTICAL);
-	sash.setBounds (10, 10, 32, 100);
-	sash.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			sash.setBounds (e.x, e.y, e.width, e.height);
-		}
-	});
-	shell.open ();
-	sash.setFocus ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet55.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet55.java
deleted file mode 100644
index 0e6a83f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet55.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Text example snippet: resize a text control (show about 10 characters)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet55 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Text text = new Text (shell, SWT.BORDER);
-	int columns = 10;
-	GC gc = new GC (text);
-	FontMetrics fm = gc.getFontMetrics ();
-	int width = columns * fm.getAverageCharWidth ();
-	int height = fm.getHeight ();
-	gc.dispose ();
-	text.setSize (text.computeSize (width, height));
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet56.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet56.java
deleted file mode 100644
index 9eeabb8..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet56.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * ProgressBar example snippet: update a progress bar (from another thread)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet56 {
-
-	public static void main(String[] args) {
-		final Display display = new Display();
-		Shell shell = new Shell(display);
-		final ProgressBar bar = new ProgressBar(shell, SWT.SMOOTH);
-		bar.setBounds(10, 10, 200, 32);
-		shell.open();
-		final int maximum = bar.getMaximum();
-		new Thread() {
-			public void run() {
-				for (final int[] i = new int[1]; i[0] <= maximum; i[0]++) {
-				try {Thread.sleep (100);} catch (Throwable th) {}
-					if (display.isDisposed()) return;
-					display.asyncExec(new Runnable() {
-						public void run() {
-						if (bar.isDisposed ()) return;
-							bar.setSelection(i[0]);
-						}
-					});
-				}
-			}
-		}.start();
-		while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-		}
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet57.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet57.java
deleted file mode 100644
index 84295f6..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet57.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * ProgressBar example snippet: update a progress bar (from the UI thread)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet57 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	ProgressBar bar = new ProgressBar (shell, SWT.SMOOTH);
-	bar.setBounds (10, 10, 200, 32);
-	shell.open ();
-	for (int i=0; i<=bar.getMaximum (); i++) {
-		try {Thread.sleep (100);} catch (Throwable th) {}
-		bar.setSelection (i);
-	}
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet58.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet58.java
deleted file mode 100644
index a914414..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet58.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * ToolBar example snippet: place a combo box in a tool bar
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet58 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	ToolBar bar = new ToolBar (shell, SWT.BORDER);
-	for (int i=0; i<4; i++) {
-		ToolItem item = new ToolItem (bar, 0);
-		item.setText ("Item " + i);
-	}
-	ToolItem sep = new ToolItem (bar, SWT.SEPARATOR);
-	int start = bar.getItemCount ();
-	for (int i=start; i<start+4; i++) {
-		ToolItem item = new ToolItem (bar, 0);
-		item.setText ("Item " + i);
-	}
-	Combo combo = new Combo (bar, SWT.READ_ONLY);
-	for (int i=0; i<4; i++) {
-		combo.add ("Item " + i);
-	}
-	combo.pack ();
-	sep.setWidth (combo.getSize ().x);
-	sep.setControl (combo);
-	bar.pack ();
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet59.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet59.java
deleted file mode 100644
index 978dacd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet59.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * List example snippet: print selected items in a list
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet59 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	final List list = new List (shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
-	for (int i=0; i<128; i++) list.add ("Item " + i);
-	list.setBounds (0, 0, 100, 100);
-	list.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			String string = "";
-			int [] selection = list.getSelectionIndices ();
-			for (int i=0; i<selection.length; i++) string += selection [i] + " ";
-			System.out.println ("Selection={" + string + "}");
-		}
-	});
-	list.addListener (SWT.DefaultSelection, new Listener () {
-		public void handleEvent (Event e) {
-			String string = "";
-			int [] selection = list.getSelectionIndices ();
-			for (int i=0; i<selection.length; i++) string += selection [i] + " ";
-			System.out.println ("DefaultSelection={" + string + "}");
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet6.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet6.java
deleted file mode 100644
index 5332477..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet6.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * GridLayout example snippet: insert widgets into a grid layout
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet6 {
-
-public static void main (String [] args) {
-    Display display = new Display ();
-    final Shell shell = new Shell (display);
-    shell.setLayout(new GridLayout());
-    final Composite c = new Composite(shell, SWT.NONE);
-    GridLayout layout = new GridLayout();
-    layout.numColumns = 3;
-    c.setLayout(layout);
-    for (int i = 0; i < 10; i++) {
-        Button b = new Button(c, SWT.PUSH);
-        b.setText("Button "+i);
-    }
-
-    Button b = new Button(shell, SWT.PUSH);
-    b.setText("add a new button at row 2 column 1");
-    final int[] index = new int[1];
-    b.addListener(SWT.Selection, new Listener() {
-        public void handleEvent(Event e) {
-            Button s = new Button(c, SWT.PUSH);
-            s.setText("Special "+index[0]);
-            index[0]++;
-            Control[] children = c.getChildren();
-            s.moveAbove(children[3]);
-            shell.layout(new Control[] {s});
-        }
-    });
-
-    shell.open ();
-    while (!shell.isDisposed ()) {
-        if (!display.readAndDispatch ()) display.sleep ();
-    }
-    display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet60.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet60.java
deleted file mode 100644
index 92bce12..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet60.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Display example snippet: create two one shot timers (5000 ms, 2000 ms)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.widgets.*;
-
-public class Snippet60 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setSize (200, 200);
-	shell.open ();
-	display.timerExec (5000, new Runnable () {
-		public void run () {
-			System.out.println ("5000");
-		}
-	});
-	display.timerExec (2000, new Runnable () {
-		public void run () {
-			System.out.println ("2000");
-		}
-	});
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet61.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet61.java
deleted file mode 100644
index cc95e6b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet61.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Tree example snippet: print selected items in a tree
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet61 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	final Tree tree = new Tree (shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
-	for (int i=0; i<4; i++) {
-		TreeItem item0 = new TreeItem (tree, 0);
-		item0.setText ("Item " + i);
-		for (int j=0; j<4; j++) {
-			TreeItem item1 = new TreeItem (item0, 0);
-			item1.setText ("SubItem " + i + " " + j);
-			for (int k=0; k<4; k++) {
-				TreeItem item2 = new TreeItem (item1, 0);
-				item2.setText ("SubItem " + i + " " + j + " " + k);
-			}	
-		}
-	}
-	tree.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			String string = "";
-			TreeItem [] selection = tree.getSelection ();
-			for (int i=0; i<selection.length; i++) string += selection [i] + " ";
-			System.out.println ("Selection={" + string + "}");
-		}
-	});
-	tree.addListener (SWT.DefaultSelection, new Listener () {
-		public void handleEvent (Event e) {
-			String string = "";
-			TreeItem [] selection = tree.getSelection ();
-			for (int i=0; i<selection.length; i++) string += selection [i] + " ";
-			System.out.println ("DefaultSelection={" + string + "}");
-		}
-	});
-	tree.addListener (SWT.Expand, new Listener () {
-		public void handleEvent (Event e) {
-			System.out.println ("Expand={" + e.item + "}");
-		}
-	});
-	tree.addListener (SWT.Collapse, new Listener () {
-		public void handleEvent (Event e) {
-			System.out.println ("Collapse={" + e.item + "}");
-		}
-	});
-	tree.getItems () [0].setExpanded (true);
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet62.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet62.java
deleted file mode 100644
index 81b9677..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet62.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Control example snippet: print mouse state and button (down, move, up)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet62 {
-
-static String stateMask (int stateMask) {
-	String string = "";
-	if ((stateMask & SWT.CTRL) != 0) string += " CTRL";
-	if ((stateMask & SWT.ALT) != 0) string += " ALT";
-	if ((stateMask & SWT.SHIFT) != 0) string += " SHIFT";
-	if ((stateMask & SWT.COMMAND) != 0) string += " COMMAND";
-	return string;
-}
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	Listener listener = new Listener () {
-		public void handleEvent (Event e) {
-			String string = "Unknown";
-			switch (e.type) {
-				case SWT.MouseDown: string = "DOWN"; break;
-				case SWT.MouseMove: string = "MOVE"; break;
-				case SWT.MouseUp: string = "UP"; break;
-			}
-			string +=": button: " + e.button + ", ";
-			string += "stateMask=0x" + Integer.toHexString (e.stateMask) + stateMask (e.stateMask) + ", x=" + e.x + ", y=" + e.y;
-			if ((e.stateMask & SWT.BUTTON1) != 0) string += " BUTTON1";
-			if ((e.stateMask & SWT.BUTTON2) != 0) string += " BUTTON2";
-			if ((e.stateMask & SWT.BUTTON3) != 0) string += " BUTTON3";
-			if ((e.stateMask & SWT.BUTTON4) != 0) string += " BUTTON4";
-			if ((e.stateMask & SWT.BUTTON5) != 0) string += " BUTTON5";
-			System.out.println (string);
-		}
-	};
-	shell.addListener (SWT.MouseDown, listener);
-	shell.addListener (SWT.MouseMove, listener);
-	shell.addListener (SWT.MouseUp, listener);
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet63.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet63.java
deleted file mode 100644
index 9cae1a1..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet63.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Shell example snippet: create a dialog shell (prompt for a value)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet63 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.pack ();
-	shell.open ();
-	final boolean [] result = new boolean [1];
-	final Shell dialog = new Shell (shell, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
-	dialog.setLayout (new RowLayout ());
-	final Button ok = new Button (dialog, SWT.PUSH);
-	ok.setText ("OK");
-	Button cancel = new Button (dialog, SWT.PUSH);
-	cancel.setText ("Cancel");
-	Listener listener =new Listener () {
-		public void handleEvent (Event event) {
-			result [0] = event.widget == ok;
-			dialog.close ();
-		}
-	};
-	ok.addListener (SWT.Selection, listener);
-	cancel.addListener (SWT.Selection, listener);
-	dialog.pack ();
-	dialog.open ();
-	System.out.println ("Prompt ...");
-	while (!dialog.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	System.out.println ("Result: " + result [0]);
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet64.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet64.java
deleted file mode 100644
index 8a8db13..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet64.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Table example snippet: print selected items in a table
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet64 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	final Table table = new Table (shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
-	for (int i=0; i<16; i++) {
-		TableItem item = new TableItem (table, 0);
-		item.setText ("Item " + i);
-	}
-	table.setBounds (0, 0, 100, 100);
-	table.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			String string = "";
-			TableItem [] selection = table.getSelection ();
-			for (int i=0; i<selection.length; i++) string += selection [i] + " ";
-			System.out.println ("Selection={" + string + "}");
-		}
-	});
-	table.addListener (SWT.DefaultSelection, new Listener () {
-		public void handleEvent (Event e) {
-			String string = "";
-			TableItem [] selection = table.getSelection ();
-			for (int i=0; i<selection.length; i++) string += selection [i] + " ";
-			System.out.println ("DefaultSelection={" + string + "}");
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet65.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet65.java
deleted file mode 100644
index 320552f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet65.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * FormLayout example snippet: create a simple dialog using form layout
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet65 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	Label label = new Label (shell, SWT.WRAP);
-	label.setText ("This is a long text string that will wrap when the dialog is resized.");
-	List list = new List (shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	list.setItems (new String [] {"Item 1", "Item 2"});
-	Button button1 = new Button (shell, SWT.PUSH);
-	button1.setText ("OK");
-	Button button2 = new Button (shell, SWT.PUSH);
-	button2.setText ("Cancel");
-	
-	final int insetX = 4, insetY = 4;
-	FormLayout formLayout = new FormLayout ();
-	formLayout.marginWidth = insetX;
-	formLayout.marginHeight = insetY;
-	shell.setLayout (formLayout);
-	
-	Point size = label.computeSize (SWT.DEFAULT, SWT.DEFAULT);
-	final FormData labelData = new FormData (size.x, SWT.DEFAULT);
-	labelData.left = new FormAttachment (0, 0);
-	labelData.right = new FormAttachment (100, 0);
-	label.setLayoutData (labelData);
-	shell.addListener (SWT.Resize, new Listener () {
-		public void handleEvent (Event e) {
-			Rectangle rect = shell.getClientArea ();
-			labelData.width = rect.width - insetX * 2;
-			shell.layout ();
-		}
-	});
-		
-	FormData button2Data = new FormData ();
-	button2Data.right = new FormAttachment (100, -insetX);
-	button2Data.bottom = new FormAttachment (100, 0);
-	button2.setLayoutData (button2Data);
-	
-	FormData button1Data = new FormData ();
-	button1Data.right = new FormAttachment (button2, -insetX);
-	button1Data.bottom = new FormAttachment (100, 0);
-	button1.setLayoutData (button1Data);
-	
-	FormData listData = new FormData ();
-	listData.left = new FormAttachment (0, 0);
-	listData.right = new FormAttachment (100, 0);
-	listData.top = new FormAttachment (label, insetY);
-	listData.bottom = new FormAttachment (button2, -insetY);
-	list.setLayoutData (listData);
-	
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet66.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet66.java
deleted file mode 100644
index 2328f87..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet66.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * GC example snippet: implement a simple scribble program
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet66 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	Listener listener = new Listener () {
-		int lastX = 0, lastY = 0;
-		public void handleEvent (Event event) {
-			switch (event.type) {
-				case SWT.MouseMove:
-					if ((event.stateMask & SWT.BUTTON1) == 0) break;
-					GC gc = new GC (shell);
-					gc.drawLine (lastX, lastY, event.x, event.y);
-					gc.dispose ();
-					//FALL THROUGH
-				case SWT.MouseDown:
-					lastX = event.x;
-					lastY = event.y;
-					break;
-			}
-		}
-	};
-	shell.addListener (SWT.MouseDown, listener);
-	shell.addListener (SWT.MouseMove, listener);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet67.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet67.java
deleted file mode 100644
index 0214e9d..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet67.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * ToolBar example snippet: place a drop down menu in a tool bar
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet67 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Shell shell = new Shell (display);
-	final ToolBar toolBar = new ToolBar (shell, SWT.NONE);
-	final Menu menu = new Menu (shell, SWT.POP_UP);
-	for (int i=0; i<8; i++) {
-		MenuItem item = new MenuItem (menu, SWT.PUSH);
-		item.setText ("Item " + i);
-	}
-	final ToolItem item = new ToolItem (toolBar, SWT.DROP_DOWN);
-	item.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			if (event.detail == SWT.ARROW) {
-				Rectangle rect = item.getBounds ();
-				Point pt = new Point (rect.x, rect.y + rect.height);
-				pt = toolBar.toDisplay (pt);
-				menu.setLocation (pt.x, pt.y);
-				menu.setVisible (true);
-			}
-		}
-	});
-	toolBar.pack ();
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	menu.dispose ();
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet68.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet68.java
deleted file mode 100644
index d952b1e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet68.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Display example snippet: stop a repeating timer when a button is pressed
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet68 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Color red = display.getSystemColor (SWT.COLOR_RED);
-	final Color blue = display.getSystemColor (SWT.COLOR_BLUE);
-	Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout ());
-	Button button = new Button (shell, SWT.PUSH);
-	button.setText ("Stop Timer");
-	final Label label = new Label (shell, SWT.BORDER);
-	label.setBackground (red);
-	final int time = 500;
-	final Runnable timer = new Runnable () {
-		public void run () {
-			if (label.isDisposed ()) return;
-			Color color = label.getBackground ().equals (red) ? blue : red;
-			label.setBackground (color);
-			display.timerExec (time, this);
-		}
-	};
-	display.timerExec (time, timer);
-	button.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			display.timerExec (-1, timer);
-		}
-	});
-	button.pack ();
-	label.setLayoutData (new RowData (button.getSize ()));
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet69.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet69.java
deleted file mode 100644
index 94bf999..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet69.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * FormLayout example snippet: center a label and single line text using a form layout
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet69 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Label label = new Label (shell, SWT.NONE | SWT.BORDER);
-	label.setText ("Name");
-	Text text = new Text (shell, SWT.NONE);
-
-	FormLayout layout = new FormLayout ();
-	layout.marginWidth = layout.marginHeight = 5;
-	shell.setLayout (layout);
-
-	GC gc = new GC (text);
-	FontMetrics fm = gc.getFontMetrics ();
-	int charWidth = fm.getAverageCharWidth ();
-	int width = text.computeSize (charWidth * 8, SWT.DEFAULT).x;
-	gc.dispose ();
-	FormData data = new FormData (width, SWT.DEFAULT);
-	text.setLayoutData (data);
-	data.left = new FormAttachment (label, 5);
-	data.top = new FormAttachment (label, 0, SWT.CENTER);
-	
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet7.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet7.java
deleted file mode 100644
index e28363e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet7.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * example snippet: create a table (lazy)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet7 {
-	
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Image image = new Image (display, 16, 16);
-	GC gc = new GC (image);
-	gc.setBackground (display.getSystemColor (SWT.COLOR_RED));
-	gc.fillRectangle (image.getBounds ());
-	gc.dispose ();
-	final Shell shell = new Shell (display);
-	shell.setText ("Lazy Table");
-	shell.setLayout (new FillLayout ());
-	final Table table = new Table (shell, SWT.BORDER | SWT.MULTI);
-	table.setSize (200, 200);
-	Thread thread = new Thread () {
-		public void run () {
-			for (int i=0; i<20000; i++) {
-				if (table.isDisposed ()) return;
-				final int [] index = new int [] {i};
-				display.syncExec (new Runnable () {
-					public void run () {
-						if (table.isDisposed ()) return;
-						TableItem item = new TableItem (table, SWT.NONE);
-						item.setText ("Table Item " + index [0]);
-						item.setImage (image);
-					}
-				});
-			}
-		}
-	};
-	thread.start ();
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	image.dispose ();
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet70.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet70.java
deleted file mode 100644
index aac2779..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet70.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * GC example snippet: create an icon (in memory)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet70 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Color red = display.getSystemColor (SWT.COLOR_RED);
-	Color white = display.getSystemColor (SWT.COLOR_WHITE);
-	Color black = display.getSystemColor (SWT.COLOR_BLACK);
-	
-	Image image = new Image (display, 20, 20);
-	GC gc = new GC (image);
-	gc.setBackground (red);
-	gc.fillRectangle (5, 5, 10, 10);
-	gc.dispose ();
-	ImageData imageData = image.getImageData ();
-	
-	PaletteData palette = new PaletteData (
-		new RGB [] {
-			new RGB (0, 0, 0),
-			new RGB (0xFF, 0xFF, 0xFF),
-		});
-	ImageData maskData = new ImageData (20, 20, 1, palette);
-	Image mask = new Image (display, maskData);
-	gc = new GC (mask);
-	gc.setBackground (black);
-	gc.fillRectangle (0, 0, 20, 20);
-	gc.setBackground (white);
-	gc.fillRectangle (5, 5, 10, 10);
-	gc.dispose ();
-	maskData = mask.getImageData ();
-	
-	Image icon = new Image (display, imageData, maskData);
-	Shell shell = new Shell (display);
-	Button button = new Button (shell, SWT.PUSH);
-	button.setImage (icon);
-	button.setSize (60, 60);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	icon.dispose ();
-	image.dispose ();
-	mask.dispose ();
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet71.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet71.java
deleted file mode 100644
index ca0d4fc..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet71.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * FormLayout example snippet: create a simple OK/CANCEL dialog using form layout
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet71 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.pack ();
-	shell.open ();
-	Shell dialog = new Shell (shell, SWT.DIALOG_TRIM);
-	Label label = new Label (dialog, SWT.NONE);
-	label.setText ("Exit the application?");
-	Button okButton = new Button (dialog, SWT.PUSH);
-	okButton.setText ("&OK");
-	Button cancelButton = new Button (dialog, SWT.PUSH);
-	cancelButton.setText ("&Cancel");
-	
-	FormLayout form = new FormLayout ();
-	form.marginWidth = form.marginHeight = 8;
-	dialog.setLayout (form);
-	FormData okData = new FormData ();
-	okData.top = new FormAttachment (label, 8);
-	okButton.setLayoutData (okData);
-	FormData cancelData = new FormData ();
-	cancelData.left = new FormAttachment (okButton, 8);
-	cancelData.top = new FormAttachment (okButton, 0, SWT.TOP);
-	cancelButton.setLayoutData (cancelData);
-	
-	dialog.setDefaultButton (okButton);
-	dialog.pack ();
-	dialog.open ();
-	
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet72.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet72.java
deleted file mode 100644
index 2d6c89a..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet72.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * FileDialog example snippet: prompt for a file name (to save)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet72 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.open ();
-	FileDialog dialog = new FileDialog (shell, SWT.SAVE);
-	dialog.setFilterNames (new String [] {"Batch Files", "All Files (*.*)"});
-	dialog.setFilterExtensions (new String [] {"*.bat", "*.*"}); //Windows wild cards
-	dialog.setFilterPath ("c:\\"); //Windows path
-	dialog.setFileName ("fred.bat");
-	System.out.println ("Save to: " + dialog.open ());
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet73.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet73.java
deleted file mode 100644
index 45d855c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet73.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Menu example snippet: enable menu items dynamically (when menu shown)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet73 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	final Tree tree = new Tree (shell, SWT.BORDER | SWT.MULTI);
-	final Menu menu = new Menu (shell, SWT.POP_UP);
-	tree.setMenu (menu);
-	for (int i=0; i<12; i++) {
-		TreeItem treeItem = new TreeItem (tree, SWT.NONE);
-		treeItem.setText ("Item " + i);
-		MenuItem menuItem = new MenuItem (menu, SWT.PUSH);
-		menuItem.setText (treeItem.getText ());
-	}
-	menu.addListener (SWT.Show, new Listener () {
-		public void handleEvent (Event event) {
-			MenuItem [] menuItems = menu.getItems ();
-			TreeItem [] treeItems = tree.getSelection ();
-			for (int i=0; i<menuItems.length; i++) {
-				String text = menuItems [i].getText ();
-				int index = 0;
-				while (index<treeItems.length) {
-					if (treeItems [index].getText ().equals (text)) break;
-					index++;
-				}
-				menuItems [i].setEnabled (index != treeItems.length);
-			}
-		}
-	});
-	tree.setSize (200, 200);
-	shell.setSize (300, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet74.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet74.java
deleted file mode 100644
index de8bdb0..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet74.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Caret example snippet: create a caret
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet74 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Caret caret = new Caret (shell, SWT.NONE);
-	caret.setBounds (10, 10, 2, 32);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet75.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet75.java
deleted file mode 100644
index 0c279ce..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet75.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Composite example snippet: set the tab traversal order of children
- * In this example, composite1 (i.e. c1) tab order is set to: B2, B1, B3, and
- * shell tab order is set to: c1, B7, toolBar1, (c4: no focusable children), c2, L2
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet75 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout ());
-	
-	Composite c1 = new Composite (shell, SWT.BORDER);
-	c1.setLayout (new RowLayout ());
-	Button b1 = new Button (c1, SWT.PUSH);
-	b1.setText ("B&1");
-	Button r1 = new Button (c1, SWT.RADIO);
-	r1.setText ("R1");
-	Button r2 = new Button (c1, SWT.RADIO);
-	r2.setText ("R&2");
-	Button r3 = new Button (c1, SWT.RADIO);
-	r3.setText ("R3");
-	Button b2 = new Button (c1, SWT.PUSH);
-	b2.setText ("B2");
-	List l1 = new List (c1, SWT.SINGLE | SWT.BORDER);
-	l1.setItems (new String [] {"L1"});
-	Button b3 = new Button (c1, SWT.PUSH);
-	b3.setText ("B&3");
-	Button b4 = new Button (c1, SWT.PUSH);
-	b4.setText ("B&4");
-	
-	Composite c2 = new Composite (shell, SWT.BORDER);
-	c2.setLayout (new RowLayout ());
-	Button b5 = new Button (c2, SWT.PUSH);
-	b5.setText ("B&5");
-	Button b6 = new Button (c2, SWT.PUSH);
-	b6.setText ("B&6");
-	
-	List l2 = new List (shell, SWT.SINGLE | SWT.BORDER);
-	l2.setItems (new String [] {"L2"});
-	
-	ToolBar tb1 = new ToolBar (shell, SWT.FLAT | SWT.BORDER);
-	ToolItem i1 = new ToolItem (tb1, SWT.RADIO);
-	i1.setText ("I1");
-	ToolItem i2 = new ToolItem (tb1, SWT.RADIO);
-	i2.setText ("I2");
-	Combo combo1 = new Combo (tb1, SWT.READ_ONLY | SWT.BORDER);
-	combo1.setItems (new String [] {"C1"});
-	combo1.setText ("C1");
-	combo1.pack ();
-	ToolItem i3 = new ToolItem (tb1, SWT.SEPARATOR);
-	i3.setWidth (combo1.getSize ().x);
-	i3.setControl (combo1);
-	ToolItem i4 = new ToolItem (tb1, SWT.PUSH);
-	i4.setText ("I&4");
-	ToolItem i5 = new ToolItem (tb1, SWT.CHECK);
-	i5.setText ("I5");
-	
-	Button b7 = new Button (shell, SWT.PUSH);
-	b7.setText ("B&7");
-	
-	Composite c4 = new Composite (shell, SWT.BORDER);
-	Composite c5 = new Composite (c4, SWT.BORDER);
-	c5.setLayout(new FillLayout());
-	new Label(c5, SWT.NONE).setText("No");
-	c5.pack();
-
-	Control [] tabList1 = new Control [] {b2, b1, b3};
-	c1.setTabList (tabList1);
-	Control [] tabList2 = new Control [] {c1, b7, tb1, c4, c2, l2};
-	shell.setTabList (tabList2);
-
-	shell.pack ();
-	shell.open ();
-	
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet76.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet76.java
deleted file mode 100644
index e81783b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet76.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * TabFolder example snippet: create a tab folder (six pages)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet76 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	final TabFolder tabFolder = new TabFolder (shell, SWT.BORDER);
-	for (int i=0; i<6; i++) {
-		TabItem item = new TabItem (tabFolder, SWT.NONE);
-		item.setText ("TabItem " + i);
-		Button button = new Button (tabFolder, SWT.PUSH);
-		button.setText ("Page " + i);
-		item.setControl (button);
-	}
-	tabFolder.pack ();
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet77.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet77.java
deleted file mode 100644
index a9b276a..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet77.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Table example snippet: resize columns as table resizes
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet77 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-		
-	final Composite comp = new Composite(shell, SWT.NONE);
-	final Table table = new Table(comp, SWT.BORDER | SWT.V_SCROLL);
-	table.setHeaderVisible(true);
-	table.setLinesVisible(true);
-	final TableColumn column1 = new TableColumn(table, SWT.NONE);
-	column1.setText("Column 1");
-	final TableColumn column2 = new TableColumn(table, SWT.NONE);
-	column2.setText("Column 2");
-	for (int i = 0; i < 10; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		item.setText(new String[] {"item 0" + i, "item 1"+i});
-	}
-	comp.addControlListener(new ControlAdapter() {
-		public void controlResized(ControlEvent e) {
-			Rectangle area = comp.getClientArea();
-			Point size = table.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			ScrollBar vBar = table.getVerticalBar();
-			int width = area.width - table.computeTrim(0,0,0,0).width - vBar.getSize().x;
-			if (size.y > area.height + table.getHeaderHeight()) {
-				// Subtract the scrollbar width from the total column width
-				// if a vertical scrollbar will be required
-				Point vBarSize = vBar.getSize();
-				width -= vBarSize.x;
-			}
-			Point oldSize = table.getSize();
-			if (oldSize.x > area.width) {
-				// table is getting smaller so make the columns 
-				// smaller first and then resize the table to
-				// match the client area width
-				column1.setWidth(width/3);
-				column2.setWidth(width - column1.getWidth());
-				table.setSize(area.width, area.height);
-			} else {
-				// table is getting bigger so make the table 
-				// bigger first and then make the columns wider
-				// to match the client area width
-				table.setSize(area.width, area.height);
-				column1.setWidth(width/3);
-				column2.setWidth(width - column1.getWidth());
-			}
-		}
-	});
-		
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet78.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet78.java
deleted file mode 100644
index e81da90..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet78.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Drag and Drop example snippet: drag text between two labels
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet78 {
-
-public static void main (String [] args) {
-	
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	final Label label1 = new Label (shell, SWT.BORDER);
-	label1.setText ("TEXT");
-	final Label label2 = new Label (shell, SWT.BORDER);
-	setDragDrop (label1);
-	setDragDrop (label2);
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-public static void setDragDrop (final Label label) {
-	
-	Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
-	int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
-	
-	final DragSource source = new DragSource (label, operations);
-	source.setTransfer(types);
-	source.addDragListener (new DragSourceListener () {
-		public void dragStart(DragSourceEvent event) {
-			event.doit = (label.getText ().length () != 0);
-		}
-		public void dragSetData (DragSourceEvent event) {
-			event.data = label.getText ();
-		}
-		public void dragFinished(DragSourceEvent event) {
-			if (event.detail == DND.DROP_MOVE)
-				label.setText ("");
-		}
-	});
-
-	DropTarget target = new DropTarget(label, operations);
-	target.setTransfer(types);
-	target.addDropListener (new DropTargetAdapter() {
-		public void drop(DropTargetEvent event) {
-			if (event.data == null) {
-				event.detail = DND.DROP_NONE;
-				return;
-			}
-			label.setText ((String) event.data);
-		}
-	});
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet79.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet79.java
deleted file mode 100644
index 945d35f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet79.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Drag and Drop example snippet: define my own data transfer type
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import java.io.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet79 {
-
-/* The data being transferred is an <bold>array of type MyType</bold> where MyType is define as: */
-static class MyType {
-	String fileName;
-	long fileLength;
-	long lastModified;
-}
-
-static class MyTransfer extends ByteArrayTransfer {
-
-	private static final String MYTYPENAME = "name_for_my_type";
-	private static final int MYTYPEID = registerType (MYTYPENAME);
-	private static MyTransfer _instance = new MyTransfer ();
-
-public static MyTransfer getInstance () {
-	return _instance;
-}
-
-public void javaToNative (Object object, TransferData transferData) {
-	if (!checkMyType(object) || !isSupportedType (transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	MyType [] myTypes = (MyType []) object;
-	try {
-		// write data to a byte array and then ask super to convert to pMedium
-		ByteArrayOutputStream out = new ByteArrayOutputStream ();
-		DataOutputStream writeOut = new DataOutputStream (out);
-		for (int i = 0, length = myTypes.length; i < length; i++) {
-			byte [] buffer = myTypes [i].fileName.getBytes ();
-			writeOut.writeInt (buffer.length);
-			writeOut.write (buffer);
-			writeOut.writeLong (myTypes [i].fileLength);
-			writeOut.writeLong (myTypes [i].lastModified);
-		}
-		byte [] buffer = out.toByteArray ();
-		writeOut.close ();
-		super.javaToNative (buffer, transferData);
-	}
-	catch (IOException e) {}
-}
-
-public Object nativeToJava (TransferData transferData) {
-	if (isSupportedType (transferData)) {
-		byte [] buffer = (byte []) super.nativeToJava (transferData);
-		if (buffer == null) return null;
-
-		MyType [] myData = new MyType [0];
-		try {
-			ByteArrayInputStream in = new ByteArrayInputStream (buffer);
-			DataInputStream readIn = new DataInputStream (in);
-			while (readIn.available () > 20) {
-				MyType datum = new MyType ();
-				int size = readIn.readInt ();
-				byte [] name = new byte [size];
-				readIn.read (name);
-				datum.fileName = new String (name);
-				datum.fileLength = readIn.readLong ();
-				datum.lastModified = readIn.readLong ();
-				MyType [] newMyData = new MyType [myData.length + 1];
-				System.arraycopy (myData, 0, newMyData, 0, myData.length);
-				newMyData [myData.length] = datum;
-				myData = newMyData;
-			}
-			readIn.close ();
-		}
-		catch (IOException ex) {
-			return null;
-		}
-		return myData;
-	}
-
-	return null;
-}
-
-protected String [] getTypeNames () {
-	return new String [] {MYTYPENAME};
-}
-
-protected int [] getTypeIds () {
-	return new int [] {MYTYPEID};
-}
-
-boolean checkMyType(Object object) {
-	if (object == null || 
-		!(object instanceof MyType[]) || 
-		((MyType[])object).length == 0) {
-		return false;
-	}
-	MyType[] myTypes = (MyType[])object;
-	for (int i = 0; i < myTypes.length; i++) {
-		if (myTypes[i] == null || 
-			myTypes[i].fileName == null || 
-			myTypes[i].fileName.length() == 0) {
-			return false;
-		}
-	}
-	return true;
-}
-
-protected boolean validate(Object object) {
-	return checkMyType(object);
-}
-}
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	final Label label1 = new Label (shell, SWT.BORDER | SWT.WRAP);
-	label1.setText ("Drag Source for MyData[]");
-	final Label label2 = new Label (shell, SWT.BORDER | SWT.WRAP);
-	label2.setText ("Drop Target for MyData[]");
-
-	DragSource source = new DragSource (label1, DND.DROP_COPY);
-	source.setTransfer (new Transfer [] {MyTransfer.getInstance ()});
-	source.addDragListener (new DragSourceAdapter () {
-		public void dragSetData (DragSourceEvent event) {
-			MyType myType1 = new MyType ();
-			myType1.fileName = "C:\\abc.txt";
-			myType1.fileLength = 1000;
-			myType1.lastModified = 12312313;
-			MyType myType2 = new MyType ();
-			myType2.fileName = "C:\\xyz.txt";
-			myType2.fileLength = 500;
-			myType2.lastModified = 12312323;
-			event.data = new MyType [] {myType1, myType2};
-		}
-	});
-	DropTarget target = new DropTarget (label2, DND.DROP_COPY | DND.DROP_DEFAULT);
-	target.setTransfer (new Transfer [] {MyTransfer.getInstance ()});
-	target.addDropListener (new DropTargetAdapter () {
-		public void dragEnter (DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT) {
-				event.detail = DND.DROP_COPY;
-			}
-		}
-
-		public void dragOperationChanged (DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT) {
-				event.detail = DND.DROP_COPY;
-			}
-		}
-
-		public void drop (DropTargetEvent event) {
-			if (event.data != null) {
-				MyType [] myTypes = (MyType []) event.data;
-				if (myTypes != null) {
-					String string = "";
-					for (int i = 0; i < myTypes.length; i++) {
-						string += myTypes [i].fileName + " ";
-					}
-					label2.setText (string);
-				}
-			}
-		}
-
-	});
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet8.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet8.java
deleted file mode 100644
index 0912b79..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet8.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Tree example snippet: create a tree (lazy)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-import java.io.*;
-
-public class Snippet8 {
-	
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setText ("Lazy Tree");
-	shell.setLayout (new FillLayout ());
-	final Tree tree = new Tree (shell, SWT.BORDER);
-	File [] roots = File.listRoots ();
-	for (int i=0; i<roots.length; i++) {
-		TreeItem root = new TreeItem (tree, 0);
-		root.setText (roots [i].toString ());
-		root.setData (roots [i]);
-		new TreeItem (root, 0);
-	}
-	tree.addListener (SWT.Expand, new Listener () {
-		public void handleEvent (final Event event) {
-			final TreeItem root = (TreeItem) event.item;
-			TreeItem [] items = root.getItems ();
-			for (int i= 0; i<items.length; i++) {
-				if (items [i].getData () != null) return;
-				items [i].dispose ();
-			}
-			File file = (File) root.getData ();
-			File [] files = file.listFiles ();
-			if (files == null) return;
-			for (int i= 0; i<files.length; i++) {
-				TreeItem item = new TreeItem (root, 0);
-				item.setText (files [i].getName ());
-				item.setData (files [i]);
-				if (files [i].isDirectory()) {
-					new TreeItem (item, 0);
-				}
-			}
-		}
-	});
-	Point size = tree.computeSize (300, SWT.DEFAULT);
-	int width = Math.max (300, size.x);
-	int height = Math.max (300, size.y);
-	shell.setSize (shell.computeSize (width, height));
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet80.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet80.java
deleted file mode 100644
index 6505582..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet80.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Tree example snippet: limit selection to items that match a pattern
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet80 {
-	
-public static void main(String[] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Tree tree = new Tree(shell, SWT.BORDER | SWT.MULTI);
-	for (int i = 0; i < 2; i++) {
-		TreeItem item = new TreeItem(tree, SWT.NONE);
-		item.setText("item " + i);
-		for (int j = 0; j < 2; j++) {
-			TreeItem subItem = new TreeItem(item, SWT.NONE);
-			subItem.setText("item " + j);
-			for (int k = 0; k < 2; k++) {
-				TreeItem subsubItem = new TreeItem(subItem, SWT.NONE);
-				subsubItem.setText("item " + k);
-			}
-		}
-	}
-	
-	tree.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			TreeItem[] selection = tree.getSelection();
-			TreeItem[] revisedSelection = new TreeItem[0];
-			for (int i = 0; i < selection.length; i++) {
-				String text = selection[i].getText();
-				if (text.indexOf("1") > 0) {
-					TreeItem[] newSelection = new TreeItem[revisedSelection.length + 1];
-					System.arraycopy(revisedSelection, 0, newSelection, 0, revisedSelection.length);
-					newSelection[revisedSelection.length] = selection[i];
-					revisedSelection = newSelection;
-				}
-			}
-			tree.setSelection(revisedSelection);
-		}
-	});
-
-	shell.setSize(300, 300);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet81.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet81.java
deleted file mode 100644
index de57edd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet81.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * OLE and ActiveX example snippet: browse the typelibinfo for a program id (win32 only)
- * NOTE: This snippet uses internal SWT packages that are
- * subject to change without notice.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet81 {
-	
-public static void main(String[] args) {
-	
-	if (args.length == 0) {
-		System.out.println("Usage: java Main <program id>");
-		return;
-	}
-
-	String progID = args[0];
-	
-	Display display = new Display();
-	Shell shell = new Shell(display);
-
-	OleFrame frame = new OleFrame(shell, SWT.NONE);
-	OleControlSite site = null;
-	OleAutomation auto = null;
-	try {
-		site = new OleControlSite(frame, SWT.NONE, progID);	
-		auto = new OleAutomation(site);
-	} catch (SWTException ex) {
-		System.out.println("Unable to open type library for "+progID);
-		return;
-	}
-		
-	printTypeInfo(auto);
-	
-	auto.dispose();
-	shell.dispose();
-	display.dispose();
-
-}
-
-private static void printTypeInfo(OleAutomation auto) {
-	TYPEATTR typeattr = auto.getTypeInfoAttributes();
-	if (typeattr != null) {		
-		if (typeattr.cFuncs > 0) System.out.println("Functions :\n");
-		for (int i = 0; i < typeattr.cFuncs; i++) {			
-			OleFunctionDescription data = auto.getFunctionDescription(i);
-			String argList = "";
-			int firstOptionalArgIndex = data.args.length - data.optionalArgCount;
-			for (int j = 0; j < data.args.length; j++) {
-				argList += "[";
-				if (j >= firstOptionalArgIndex) argList += "optional, ";
-				argList += getDirection(data.args[j].flags)+"] "+getTypeName(data.args[j].type)+" "+data.args[j].name;
-				if ( j < data.args.length - 1) argList += ", ";
-			}			
-			System.out.println(getInvokeKind(data.invokeKind)+" (id = "+data.id+") : "
-					        +"\n\tSignature   : "+getTypeName(data.returnType)+" "+data.name+"("+argList+")"
-			                    +"\n\tDescription : "+data.documentation
-			                    +"\n\tHelp File   : "+data.helpFile+"\n");
-		}
-		
-		if (typeattr.cVars > 0) System.out.println("\n\nVariables  :\n");
-		for (int i = 0; i < typeattr.cVars; i++) {
-			OlePropertyDescription data = auto.getPropertyDescription(i);
-			System.out.println("PROPERTY (id = "+data.id+") :"
-			                    +"\n\tName : "+data.name
-			                    +"\n\tType : "+getTypeName(data.type)+"\n");
-		}
-	}
-}
-private static String getTypeName(int type) {
-	switch (type) {
-		case OLE.VT_BOOL : return "boolean";
-		case OLE.VT_R4 : return "float";
-		case OLE.VT_R8 : return "double";
-		case OLE.VT_I4 : return "int";
-		case OLE.VT_DISPATCH : return "IDispatch";
-		case OLE.VT_UNKNOWN : return "IUnknown";
-		case OLE.VT_I2 : return "short";
-		case OLE.VT_BSTR : return "String";
-		case OLE.VT_VARIANT : return "Variant";
-		case OLE.VT_CY : return "Currency";
-		case OLE.VT_DATE : return "Date";
-		case OLE.VT_UI1 : return "unsigned char";
-		case OLE.VT_UI4 : return "unsigned int";
-		case OLE.VT_USERDEFINED : return "UserDefined";
-		case OLE.VT_HRESULT : return "int";
-		case OLE.VT_VOID : return "void";
-		
-		case OLE.VT_BYREF | OLE.VT_BOOL : return "boolean *";
-		case OLE.VT_BYREF | OLE.VT_R4 : return "float *";
-		case OLE.VT_BYREF | OLE.VT_R8 : return "double *";
-		case OLE.VT_BYREF | OLE.VT_I4 : return "int *";
-		case OLE.VT_BYREF | OLE.VT_DISPATCH : return "IDispatch *";
-		case OLE.VT_BYREF | OLE.VT_UNKNOWN : return "IUnknown *";
-		case OLE.VT_BYREF | OLE.VT_I2 : return "short *";
-		case OLE.VT_BYREF | OLE.VT_BSTR : return "String *";
-		case OLE.VT_BYREF | OLE.VT_VARIANT : return "Variant *";
-		case OLE.VT_BYREF | OLE.VT_CY : return "Currency *";
-		case OLE.VT_BYREF | OLE.VT_DATE : return "Date *";
-		case OLE.VT_BYREF | OLE.VT_UI1 : return "unsigned char *";
-		case OLE.VT_BYREF | OLE.VT_UI4 : return "unsigned int *";
-		case OLE.VT_BYREF | OLE.VT_USERDEFINED : return "UserDefined *";
-	}
-	return "unknown "+ type;	
-}
-private static String getDirection(int direction){
-	String dirString = "";
-	boolean comma = false;
-	if ((direction & OLE.IDLFLAG_FIN) != 0) {
-		dirString += "in";
-		comma = true;
-	}
-	if ((direction & OLE.IDLFLAG_FOUT) != 0){
-		if (comma) dirString += ", ";
-		dirString += "out";
-		comma = true;
-	}
-	if ((direction & OLE.IDLFLAG_FLCID) != 0){
-		if (comma) dirString += ", ";
-		dirString += "lcid";
-		comma = true;
-	}
-	if ((direction & OLE.IDLFLAG_FRETVAL) != 0){
-		if (comma) dirString += ", "; 
-		dirString += "retval";
-	}
-	
-	return dirString;
-}
-private static String getInvokeKind(int invKind) {
-	switch (invKind) {
-		case OLE.INVOKE_FUNC : return "METHOD";
-		case OLE.INVOKE_PROPERTYGET : return "PROPERTY GET";
-		case OLE.INVOKE_PROPERTYPUT : return "PROPERTY PUT";
-		case OLE.INVOKE_PROPERTYPUTREF : return "PROPERTY PUT BY REF";
-	}
-	return "unknown "+invKind;
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet82.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet82.java
deleted file mode 100644
index 2bd7232..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet82.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * CTabFolder example snippet: prevent an item from closing
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet82 {
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	CTabFolder folder = new CTabFolder(shell, SWT.BORDER);
-	for (int i = 0; i < 4; i++) {
-		CTabItem item = new CTabItem(folder, SWT.CLOSE);
-		item.setText("Item "+i);
-		Text text = new Text(folder, SWT.MULTI);
-		text.setText("Content for Item "+i);
-		item.setControl(text);
-	}
-	
-	final CTabItem specialItem = new CTabItem(folder, SWT.CLOSE);
-	specialItem.setText("Don't Close Me");
-	Text text = new Text(folder, SWT.MULTI);
-	text.setText("This tab can never be closed");
-	specialItem.setControl(text);
-		
-	folder.addCTabFolder2Listener(new CTabFolder2Adapter() {
-		public void close(CTabFolderEvent event) {
-			if (event.item.equals(specialItem)) {
-				event.doit = false;
-			}
-		}
-	});
-	
-	final CTabItem noCloseItem = new CTabItem(folder, SWT.NONE);
-	noCloseItem.setText("No Close Button");
-	Text text2 = new Text(folder, SWT.MULTI);
-	text2.setText("This tab does not have a close button");
-	noCloseItem.setControl(text2);
-	
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet83.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet83.java
deleted file mode 100644
index eff8fcd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet83.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Drag and Drop example snippet: determine data types available (win32 only)
- * NOTE: This snippet uses internal SWT packages that are
- * subject to change without notice.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.internal.win32.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet83 extends ByteArrayTransfer {
-
-private static Snippet83 _instance = new Snippet83();
-private int[] ids;
-private String[] names;
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Table control = new Table(shell, SWT.NONE);
-	TableItem item = new TableItem(control, SWT.NONE);
-	item.setText("Drag data over this site to see the native transfer type.");
-	DropTarget target = new DropTarget(control, DND.DROP_DEFAULT | DND.DROP_COPY | DND.DROP_LINK | DND.DROP_MOVE);
-	target.setTransfer(new Transfer[] {Snippet83.getInstance()});
-	target.addDropListener(new DropTargetAdapter() {
-		public void dragEnter(DropTargetEvent event) {			
-			String ops = "";
-			if ((event.operations & DND.DROP_COPY) != 0) ops += "Copy;";
-			if ((event.operations & DND.DROP_MOVE) != 0) ops += "Move;";
-			if ((event.operations & DND.DROP_LINK) != 0) ops += "Link;";
-			control.removeAll();
-			TableItem item1 = new TableItem(control,SWT.NONE);
-			item1.setText("Allowed Operations are "+ops);
-			
-			if (event.detail == DND.DROP_DEFAULT) {
-				if ((event.operations & DND.DROP_COPY) != 0) {
-					event.detail = DND.DROP_COPY;
-				} else if ((event.operations & DND.DROP_LINK) != 0) {
-					event.detail = DND.DROP_LINK;
-				} else if ((event.operations & DND.DROP_MOVE) != 0) {
-					event.detail = DND.DROP_MOVE;
-				}
-			}
-			
-			TransferData[] data = event.dataTypes;
-			for (int i = 0; i < data.length; i++) {
-				int id = data[i].type;
-				String name = getNameFromId(id);
-				TableItem item2 = new TableItem(control,SWT.NONE);
-				item2.setText("Data type is "+id+" "+name);
-			}
-		}
-	});
-	
-	shell.setSize(400, 400);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-
-public static Snippet83 getInstance () {
-	return _instance;
-}
-Snippet83() {
-	ids = new int[80000];
-	names = new String[80000];
-	for (int i = 0; i < ids.length; i++) {
-		ids[i] = i;
-		names[i] = getNameFromId(i);
-	}
-}
-public void javaToNative (Object object, TransferData transferData) {
-}
-public Object nativeToJava(TransferData transferData){
-	return "Hello World";
-}
-protected String[] getTypeNames(){
-	return names;
-}
-protected int[] getTypeIds(){
-	return ids;
-}
-static String getNameFromId(int id) {
-	String name = null;
-	int maxSize = 128;
-	TCHAR buffer = new TCHAR(0, maxSize);
-	int size = COM.GetClipboardFormatName(id, buffer, maxSize);
-	if (size != 0) {
-		name = buffer.toString(0, size);
-	} else {
-		switch (id) {
-			case COM.CF_HDROP:
-				name = "CF_HDROP";
-				break;
-			case COM.CF_TEXT:
-				name = "CF_TEXT";
-				break;
-			case COM.CF_BITMAP:
-				name = "CF_BITMAP";
-				break;
-			case COM.CF_METAFILEPICT:
-				name = "CF_METAFILEPICT";
-				break;
-			case COM.CF_SYLK:
-				name = "CF_SYLK";
-				break;
-			case COM.CF_DIF:
-				name = "CF_DIF";
-				break;
-			case COM.CF_TIFF:
-				name = "CF_TIFF";
-				break;
-			case COM.CF_OEMTEXT:
-				name = "CF_OEMTEXT";
-				break;
-			case COM.CF_DIB:
-				name = "CF_DIB";
-				break;
-			case COM.CF_PALETTE:
-				name = "CF_PALETTE";
-				break;
-			case COM.CF_PENDATA:
-				name = "CF_PENDATA";
-				break;
-			case COM.CF_RIFF:
-				name = "CF_RIFF";
-				break;
-			case COM.CF_WAVE:
-				name = "CF_WAVE";
-				break;
-			case COM.CF_UNICODETEXT:
-				name = "CF_UNICODETEXT";
-				break;
-			case COM.CF_ENHMETAFILE:
-				name = "CF_ENHMETAFILE";
-				break;
-			case COM.CF_LOCALE:
-				name = "CF_LOCALE";
-				break;
-			case COM.CF_MAX:
-				name = "CF_MAX";
-				break;
-		}
-		
-	}
-	return name;
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet84.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet84.java
deleted file mode 100644
index 01ff113..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet84.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Drag and Drop example snippet: define a default operation (in this example, Copy)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet84 {
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	
-	final Label label = new Label(shell, SWT.BORDER);
-	label.setText("Drag Source");
-	DragSource source = new DragSource(label, DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK);
-	source.setTransfer(new Transfer[] {TextTransfer.getInstance()});
-	source.addDragListener(new DragSourceAdapter() {
-		public void dragSetData(DragSourceEvent event) {
-			event.data = "Text Transferred";
-		}
-		public void dragFinished(DragSourceEvent event) {
-			if (event.doit) {
-				String operation = null;
-				switch (event.detail) {
-				case DND.DROP_MOVE:
-					operation = "moved"; break;
-				case DND.DROP_COPY:
-					operation = "copied"; break;
-				case DND.DROP_LINK:
-					operation = "linked"; break;
-				case DND.DROP_NONE:
-					operation = "disallowed"; break;
-				default:
-					operation = "unknown"; break;
-				}
-				label.setText("Drag Source (data "+operation+")");
-			} else {
-				label.setText("Drag Source (drag cancelled)");
-			}
-		}
-	});
-
-	final Text text = new Text(shell, SWT.BORDER | SWT.MULTI);
-	text.setText("Drop Target");
-	DropTarget target = new DropTarget(text, DND.DROP_DEFAULT | DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK);
-	target.setTransfer(new Transfer[] {TextTransfer.getInstance()});
-	target.addDropListener(new DropTargetAdapter() {
-		public void dragEnter(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT) event.detail = DND.DROP_COPY;
-		}
-		public void dragOperationChanged(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT) event.detail = DND.DROP_COPY;
-		}
-		public void drop(DropTargetEvent event) {
-			String operation = null;
-			switch (event.detail) {
-			case DND.DROP_MOVE:
-				operation = "moved"; break;
-			case DND.DROP_COPY:
-				operation = "copied"; break;
-			case DND.DROP_LINK:
-				operation = "linked"; break;
-			case DND.DROP_NONE:
-				operation = "disallowed"; break;
-			default:
-				operation = "unknown"; break;
-			}
-			text.append("\n"+operation+(String)event.data);
-		}
-	});
-	
-	shell.setSize(400, 400);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet85.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet85.java
deleted file mode 100644
index 22cd08d..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet85.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * PocketPC example snippet: Hello World
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet85 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-
-	/* 
-	 * Create a Shell with the default style
-	 * i.e. full screen, no decoration on PocketPC.
-	 */
-	Shell shell = new Shell(display);
-
-	/* 
-	 * Set a text so that the top level Shell
-	 * also appears in the PocketPC task list
-	 */
-	shell.setText("Main");
-
-	/*
-	 * Set a menubar to follow UI guidelines
-	 * on PocketPC
-	 */
-	Menu mb = new Menu(shell, SWT.BAR);
-	shell.setMenuBar(mb);
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet86.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet86.java
deleted file mode 100644
index 5299249..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet86.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * PocketPC Shell example snippet: 'Ok' button
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet86 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display, SWT.CLOSE);
-	shell.setText("Main");
-	Menu mb = new Menu(shell, SWT.BAR);
-	shell.setMenuBar(mb);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet87.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet87.java
deleted file mode 100644
index a400686..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet87.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * PocketPC Shell example snippet: resize automatically as SIP is on or off
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet87 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display, SWT.RESIZE);
-	shell.setText("Main");
-	Menu mb = new Menu(shell, SWT.BAR);
-	shell.setMenuBar(mb);
-	/* Add a button to make the resize more visual */
-	FillLayout layout = new FillLayout();
-	shell.setLayout(layout);
-	Button button = new Button(shell, SWT.PUSH);
-	button.setText("Main");
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet88.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet88.java
deleted file mode 100644
index 36c60df..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet88.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * TableEditor example snippet: edit the text of a table item (in place)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet88 {
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Table table = new Table(shell, SWT.FULL_SELECTION | SWT.HIDE_SELECTION);
-	TableColumn column1 = new TableColumn(table, SWT.NONE);
-	TableColumn column2 = new TableColumn(table, SWT.NONE);
-	for (int i = 0; i < 10; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		item.setText(new String[] {"item " + i, "edit this value"});
-	}
-	column1.pack();
-	column2.pack();
-	
-	final TableEditor editor = new TableEditor(table);
-	//The editor must have the same size as the cell and must
-	//not be any smaller than 50 pixels.
-	editor.horizontalAlignment = SWT.LEFT;
-	editor.grabHorizontal = true;
-	editor.minimumWidth = 50;
-	// editing the second column
-	final int EDITABLECOLUMN = 1;
-	
-	table.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			// Clean up any previous editor control
-			Control oldEditor = editor.getEditor();
-			if (oldEditor != null) oldEditor.dispose();
-	
-			// Identify the selected row
-			TableItem item = (TableItem)e.item;
-			if (item == null) return;
-	
-			// The control that will be the editor must be a child of the Table
-			Text newEditor = new Text(table, SWT.NONE);
-			newEditor.setText(item.getText(EDITABLECOLUMN));
-			newEditor.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent me) {
-					Text text = (Text)editor.getEditor();
-					editor.getItem().setText(EDITABLECOLUMN, text.getText());
-				}
-			});
-			newEditor.selectAll();
-			newEditor.setFocus();
-			editor.setEditor(newEditor, item, EDITABLECOLUMN);
-		}
-	});
-	shell.setSize(300, 300);
-	shell.open();
-	
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet89.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet89.java
deleted file mode 100644
index f6725bc..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet89.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Menu example snippet: create a menu with radio items
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-
-public class Snippet89 {
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Menu menu = new Menu (shell, SWT.POP_UP);
-	for (int i=0; i<4; i++) {
-		MenuItem item = new MenuItem (menu, SWT.RADIO);
-		item.setText ("Item " + i);
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				MenuItem item = (MenuItem)e.widget;
-				if (item.getSelection ()) {
-					System.out.println (item + " selected");
-				} else {
-					System.out.println (item + " unselected");
-				}
-			}
-		});
-	}
-	shell.setMenu (menu);
-	shell.setSize (300, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet9.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet9.java
deleted file mode 100644
index e55be2f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet9.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Composite example snippet: scroll a child control automatically
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet9 {
-	
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display, SWT.SHELL_TRIM | SWT.H_SCROLL | SWT.V_SCROLL);
-	final Composite composite = new Composite (shell, SWT.BORDER);
-	composite.setSize (700, 600);
-	final Color red = display.getSystemColor (SWT.COLOR_RED);
-	composite.addPaintListener (new PaintListener() {
-		public void paintControl (PaintEvent e) {
-			e.gc.setBackground (red);
-			e.gc.fillOval (5, 5, 690, 590);
-		}
-	});
-	final ScrollBar hBar = shell.getHorizontalBar ();
-	hBar.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			Point location = composite.getLocation ();
-			location.x = -hBar.getSelection ();
-			composite.setLocation (location);
-		}
-	});
-	final ScrollBar vBar = shell.getVerticalBar ();
-	vBar.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			Point location = composite.getLocation ();
-			location.y = -vBar.getSelection ();
-			composite.setLocation (location);
-		}
-	});
-	shell.addListener (SWT.Resize,  new Listener () {
-		public void handleEvent (Event e) {
-			Point size = composite.getSize ();
-			Rectangle rect = shell.getClientArea ();
-			hBar.setMaximum (size.x);
-			vBar.setMaximum (size.y);
-			hBar.setThumb (Math.min (size.x, rect.width));
-			vBar.setThumb (Math.min (size.y, rect.height));
-			int hPage = size.x - rect.width;
-			int vPage = size.y - rect.height;
-			int hSelection = hBar.getSelection ();
-			int vSelection = vBar.getSelection ();
-			Point location = composite.getLocation ();
-			if (hSelection >= hPage) {
-				if (hPage <= 0) hSelection = 0;
-				location.x = -hSelection;
-			}
-			if (vSelection >= vPage) {
-				if (vPage <= 0) vSelection = 0;
-				location.y = -vSelection;
-			}
-			composite.setLocation (location);
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet90.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet90.java
deleted file mode 100644
index 7bf13cd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet90.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Tree example snippet: detect mouse down in a tree item
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet90 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	final Tree tree = new Tree (shell, SWT.BORDER | SWT.MULTI);
-	for (int i=0; i<12; i++) {
-		TreeItem treeItem = new TreeItem (tree, SWT.NONE);
-		treeItem.setText ("Item " + i);
-	}
-	tree.addListener (SWT.MouseDown, new Listener () {
-		public void handleEvent (Event event) {
-			Point point = new Point (event.x, event.y);
-			TreeItem item = tree.getItem (point);
-			if (item != null) {
-				System.out.println ("Mouse down: " + item);
-			}
-		}
-	});
-	tree.setSize (200, 200);
-	shell.setSize (300, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet91.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet91.java
deleted file mode 100644
index cff9535..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet91.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Drag and Drop example snippet: drag leaf items in a tree
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet91 {
-
-public static void main (String [] args) {
-	
-	final Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	final Tree tree = new Tree(shell, SWT.BORDER);
-	for (int i = 0; i < 3; i++) {
-		TreeItem item = new TreeItem(tree, SWT.NONE);
-		item.setText("item "+i);
-		for (int j = 0; j < 3; j++) {
-			TreeItem subItem = new TreeItem(item, SWT.NONE);
-			subItem.setText("item "+i+" "+j);
-			for (int k = 0; k < 3; k++) {
-				TreeItem subsubItem = new TreeItem(subItem, SWT.NONE);
-				subsubItem.setText("item "+i+" "+j+" "+k);
-			}
-		}
-	}
-	
-	Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
-	int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
-	
-	final DragSource source = new DragSource (tree, operations);
-	source.setTransfer(types);
-	final TreeItem[] dragSourceItem = new TreeItem[1];
-	source.addDragListener (new DragSourceListener () {
-		public void dragStart(DragSourceEvent event) {
-			TreeItem[] selection = tree.getSelection();
-			if (selection.length > 0 && selection[0].getItemCount() == 0) {
-				event.doit = true;
-				dragSourceItem[0] = selection[0];
-			} else {
-				event.doit = false;
-			}
-		};
-		public void dragSetData (DragSourceEvent event) {
-			event.data = dragSourceItem[0].getText();
-		}
-		public void dragFinished(DragSourceEvent event) {
-			if (event.detail == DND.DROP_MOVE)
-				dragSourceItem[0].dispose();
-				dragSourceItem[0] = null;
-		}
-	});
-
-	DropTarget target = new DropTarget(tree, operations);
-	target.setTransfer(types);
-	target.addDropListener (new DropTargetAdapter() {
-		public void dragOver(DropTargetEvent event) {
-			event.feedback = DND.FEEDBACK_EXPAND | DND.FEEDBACK_SCROLL;
-			if (event.item != null) {
-				TreeItem item = (TreeItem)event.item;
-				Point pt = display.map(null, tree, event.x, event.y);
-				Rectangle bounds = item.getBounds();
-				if (pt.y < bounds.y + bounds.height/3) {
-					event.feedback |= DND.FEEDBACK_INSERT_BEFORE;
-				} else if (pt.y > bounds.y + 2*bounds.height/3) {
-					event.feedback |= DND.FEEDBACK_INSERT_AFTER;
-				} else {
-					event.feedback |= DND.FEEDBACK_SELECT;
-				}
-			}
-		}
-		public void drop(DropTargetEvent event) {
-			if (event.data == null) {
-				event.detail = DND.DROP_NONE;
-				return;
-			}
-			String text = (String)event.data;
-			if (event.item == null) {
-				TreeItem item = new TreeItem(tree, SWT.NONE);
-				item.setText(text);
-			} else {
-				TreeItem item = (TreeItem)event.item;
-				Point pt = display.map(null, tree, event.x, event.y);
-				Rectangle bounds = item.getBounds();
-				TreeItem parent = item.getParentItem();
-				if (parent != null) {
-					TreeItem[] items = parent.getItems();
-					int index = 0;
-					for (int i = 0; i < items.length; i++) {
-						if (items[i] == item) {
-							index = i;
-							break;
-						}
-					}
-					if (pt.y < bounds.y + bounds.height/3) {
-						TreeItem newItem = new TreeItem(parent, SWT.NONE, index);
-						newItem.setText(text);
-					} else if (pt.y > bounds.y + 2*bounds.height/3) {
-						TreeItem newItem = new TreeItem(parent, SWT.NONE, index+1);
-						newItem.setText(text);
-					} else {
-						TreeItem newItem = new TreeItem(item, SWT.NONE);
-						newItem.setText(text);
-					}
-					
-				} else {
-					TreeItem[] items = tree.getItems();
-					int index = 0;
-					for (int i = 0; i < items.length; i++) {
-						if (items[i] == item) {
-							index = i;
-							break;
-						}
-					}
-					if (pt.y < bounds.y + bounds.height/3) {
-						TreeItem newItem = new TreeItem(tree, SWT.NONE, index);
-						newItem.setText(text);
-					} else if (pt.y > bounds.y + 2*bounds.height/3) {
-						TreeItem newItem = new TreeItem(tree, SWT.NONE, index+1);
-						newItem.setText(text);
-					} else {
-						TreeItem newItem = new TreeItem(item, SWT.NONE);
-						newItem.setText(text);
-					}
-				}
-				
-				
-			}
-		}
-	});
-
-	shell.setSize (400, 400);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet92.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet92.java
deleted file mode 100644
index 75a7108..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet92.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Cursor example snippet: create a cursor from a source and a mask
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet92 {
-
-public static void main (String [] args) {
-	Display display = new Display();
-	Color white = display.getSystemColor (SWT.COLOR_WHITE);
-	Color black = display.getSystemColor (SWT.COLOR_BLACK);
-	
-	//Create a source ImageData of depth 1 (monochrome)
-	PaletteData palette = new PaletteData (new RGB [] {white.getRGB(), black.getRGB(),});
-	ImageData sourceData = new ImageData (20, 20, 1, palette);
-	for (int i = 0; i < 10; i ++) {
-		for (int j = 0; j < 20; j++) {
-			sourceData.setPixel(i, j, 1);
-		}
-	}
-	
-	//Create a mask ImageData of depth 1 (monochrome)
-	palette = new PaletteData (new RGB [] {white.getRGB(), black.getRGB(),});
-	ImageData maskData = new ImageData (20, 20, 1, palette);
-	for (int i = 0; i < 20; i ++) {
-		for (int j = 0; j < 10; j++) {
-			maskData.setPixel(i, j, 1);
-		}
-	}
-	//Create cursor
-	Cursor cursor = new Cursor(display, sourceData, maskData, 10, 10);
-	
-	Shell shell = new Shell(display);
-	final Image source = new Image (display,sourceData);
-	final Image mask = new Image (display, maskData);
-	//Draw source and mask just to show what they look like
-	shell.addPaintListener(new PaintListener() {
-		public void paintControl(PaintEvent e) {
-			GC gc = e.gc;
-			gc.drawString("source: ", 10, 10);
-			gc.drawImage(source, 0, 0, 20, 20, 60, 10, 20, 20);
-			gc.drawString("mask: ",10, 40);
-			gc.drawImage(mask, 0, 0, 20, 20, 60, 40, 20, 20);
-		}
-	});
-	shell.setSize(150, 150);
-	shell.open();
-	shell.setCursor(cursor);
-	
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	cursor.dispose();
-	source.dispose();
-	mask.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet93.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet93.java
deleted file mode 100644
index 255729d..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet93.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * GC example snippet: measure a string
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet93 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout ());
-	Label label = new Label (shell, SWT.NONE);
-	GC gc = new GC (label);
-	Point size = gc.textExtent ("Hello");
-	gc.dispose ();
-	label.setText ("Hello -> " + size);
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet94.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet94.java
deleted file mode 100644
index 9b26e21..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet94.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Clipboard example snippet: copy and paste data with the clipboard
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet94 {
-
-public static void main( String[] args) {
-	Display display = new Display ();
-	final Clipboard cb = new Clipboard(display);
-	final Shell shell = new Shell (display);
-	shell.setLayout(new FormLayout());
-	final Text text = new Text(shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
-	
-	Button copy = new Button(shell, SWT.PUSH);
-	copy.setText("Copy");
-	copy.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			String textData = text.getSelectionText();
-			if (textData.length() > 0) {
-				TextTransfer textTransfer = TextTransfer.getInstance();
-				cb.setContents(new Object[]{textData}, new Transfer[]{textTransfer});
-			}
-		}
-	});
-	
-	Button paste = new Button(shell, SWT.PUSH);
-	paste.setText("Paste");
-	paste.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			TextTransfer transfer = TextTransfer.getInstance();
-			String data = (String)cb.getContents(transfer);
-			if (data != null) {
-				text.insert(data);
-			}
-		}
-	});
-	
-	FormData data = new FormData();
-	data.left = new FormAttachment(paste, 0, SWT.LEFT);
-	data.right = new FormAttachment(100, -5);
-	data.top = new FormAttachment(0, 5);
-	copy.setLayoutData(data);
-	
-	data = new FormData();
-	data.right = new FormAttachment(100, -5);
-	data.top = new FormAttachment(copy, 5);
-	paste.setLayoutData(data);
-	
-	data = new FormData();
-	data.left = new FormAttachment(0, 5);
-	data.top = new FormAttachment(0, 5);
-	data.right = new FormAttachment(paste, -5);
-	data.bottom = new FormAttachment(100, -5);
-	text.setLayoutData(data);
-	
-	shell.setSize(200, 200);
-	shell.open();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	cb.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet95.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet95.java
deleted file mode 100644
index 35dc101..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet95.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * GC example snippet: capture a widget image with a GC
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet95 {
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.setText("Widget");
-	
-	final Table table = new Table(shell, SWT.MULTI);
-	table.setLinesVisible(true);
-	table.setBounds(10, 10, 100, 100);
-	for (int i = 0; i < 9; i++) {
-		new TableItem(table, SWT.NONE).setText("item" + i);
-	}
-	
-	Button button = new Button(shell, SWT.PUSH);
-	button.setText("Capture");
-	button.pack();
-	button.setLocation(10, 140);
-	button.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			Point tableSize = table.getSize();
-			GC gc = new GC(table);
-			final Image image =
-				new Image(display, tableSize.x, tableSize.y);
-			gc.copyArea(image, 0, 0);
-			gc.dispose();
-			
-			Shell popup = new Shell(shell);
-			popup.setText("Image");
-			popup.addListener(SWT.Close, new Listener() {
-				public void handleEvent(Event e) {
-					image.dispose();
-				}
-			});
-			
-			Canvas canvas = new Canvas(popup, SWT.NONE);
-			canvas.setBounds(10, 10, tableSize.x+10, tableSize.y+10);
-			canvas.addPaintListener(new PaintListener() {
-				public void paintControl(PaintEvent e) {
-					e.gc.drawImage(image, 0, 0);
-				}
-			});
-			popup.pack();
-			popup.open();
-		}
-	});
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet96.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet96.java
deleted file mode 100644
index cfe2485..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet96.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * TableCursor example snippet: navigate a table cells with arrow keys. 
- * Edit when user hits Return key.  Exit edit mode by hitting Escape (cancels edit)
- * or Return (applies edit to table).
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet96 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new GridLayout());
-
-	// create a a table with 3 columns and fill with data
-	final Table table = new Table(shell, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
-	table.setLayoutData(new GridData(GridData.FILL_BOTH));
-	TableColumn column1 = new TableColumn(table, SWT.NONE);
-	TableColumn column2 = new TableColumn(table, SWT.NONE);
-	TableColumn column3 = new TableColumn(table, SWT.NONE);
-	for (int i = 0; i < 100; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		item.setText(new String[] {"cell " + i + " 0", 	"cell " + i + " 1", "cell " + i + " 2" });
-	}
-	column1.pack();
-	column2.pack();
-	column3.pack();
-
-	// create a TableCursor to navigate around the table
-	final TableCursor cursor = new TableCursor(table, SWT.NONE);
-	// create an editor to edit the cell when the user hits "ENTER" 
-	// while over a cell in the table
-	final ControlEditor editor = new ControlEditor(cursor);
-	editor.grabHorizontal = true;
-	editor.grabVertical = true;
-
-	cursor.addSelectionListener(new SelectionAdapter() {
-		// when the TableEditor is over a cell, select the corresponding row in 
-		// the table
-		public void widgetSelected(SelectionEvent e) {
-			table.setSelection(new TableItem[] { cursor.getRow()});
-		}
-		// when the user hits "ENTER" in the TableCursor, pop up a text editor so that 
-		// they can change the text of the cell
-		public void widgetDefaultSelected(SelectionEvent e) {
-			final Text text = new Text(cursor, SWT.NONE);
-			TableItem row = cursor.getRow();
-			int column = cursor.getColumn();
-			text.setText(row.getText(column));
-			text.addKeyListener(new KeyAdapter() {
-				public void keyPressed(KeyEvent e) {
-					// close the text editor and copy the data over 
-					// when the user hits "ENTER"
-					if (e.character == SWT.CR) {
-						TableItem row = cursor.getRow();
-						int column = cursor.getColumn();
-						row.setText(column, text.getText());
-						text.dispose();
-					}
-					// close the text editor when the user hits "ESC"
-					if (e.character == SWT.ESC) {
-						text.dispose();
-					}
-				}
-			});
-			// close the text editor when the user tabs away
-			text.addFocusListener(new FocusAdapter() {
-				public void focusLost(FocusEvent e) {
-					text.dispose();
-				}
-			});
-			editor.setEditor(text);
-			text.setFocus();
-		}
-	});
-	// Hide the TableCursor when the user hits the "CTRL" or "SHIFT" key.
-	// This alows the user to select multiple items in the table.
-	cursor.addKeyListener(new KeyAdapter() {
-		public void keyPressed(KeyEvent e) {
-			if (e.keyCode == SWT.CTRL
-				|| e.keyCode == SWT.SHIFT
-				|| (e.stateMask & SWT.CONTROL) != 0
-				|| (e.stateMask & SWT.SHIFT) != 0) {
-				cursor.setVisible(false);
-			}
-		}
-	});
-	// When the user double clicks in the TableCursor, pop up a text editor so that 
-	// they can change the text of the cell
-	cursor.addMouseListener(new MouseAdapter() {
-		public void mouseDown(MouseEvent e) {
-			final Text text = new Text(cursor, SWT.NONE);
-			TableItem row = cursor.getRow();
-			int column = cursor.getColumn();
-			text.setText(row.getText(column));
-			text.addKeyListener(new KeyAdapter() {
-				public void keyPressed(KeyEvent e) {
-					// close the text editor and copy the data over 
-					// when the user hits "ENTER"
-					if (e.character == SWT.CR) {
-						TableItem row = cursor.getRow();
-						int column = cursor.getColumn();
-						row.setText(column, text.getText());
-						text.dispose();
-					}
-					// close the text editor when the user hits "ESC"
-					if (e.character == SWT.ESC) {
-						text.dispose();
-					}
-				}
-			});
-			// close the text editor when the user clicks away
-			text.addFocusListener(new FocusAdapter() {
-				public void focusLost(FocusEvent e) {
-					text.dispose();
-				}
-			});
-			editor.setEditor(text);
-			text.setFocus();
-		}
-	});
-	
-	// Show the TableCursor when the user releases the "SHIFT" or "CTRL" key.
-	// This signals the end of the multiple selection task.
-	table.addKeyListener(new KeyAdapter() {
-		public void keyReleased(KeyEvent e) {
-			if (e.keyCode == SWT.CONTROL && (e.stateMask & SWT.SHIFT) != 0)
-				return;
-			if (e.keyCode == SWT.SHIFT && (e.stateMask & SWT.CONTROL) != 0)
-				return;
-			if (e.keyCode != SWT.CONTROL
-				&& (e.stateMask & SWT.CONTROL) != 0)
-				return;
-			if (e.keyCode != SWT.SHIFT && (e.stateMask & SWT.SHIFT) != 0)
-				return;
-
-			TableItem[] selection = table.getSelection();
-			TableItem row = (selection.length == 0) ? table.getItem(table.getTopIndex()) : selection[0];
-			table.showItem(row);
-			cursor.setSelection(row, 0);
-			cursor.setVisible(true);
-			cursor.setFocus();
-		}
-	});
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet97.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet97.java
deleted file mode 100644
index 1d0174c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet97.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Menu example snippet: fill a menu dynamically (when menu shown)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet97 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	Shell shell = new Shell (display);
-	final Tree tree = new Tree (shell, SWT.BORDER | SWT.MULTI);
-	final Menu menu = new Menu (shell, SWT.POP_UP);
-	tree.setMenu (menu);
-	for (int i=0; i<12; i++) {
-		TreeItem item = new TreeItem (tree, SWT.NONE);
-		item.setText ("Item " + i);
-	}
-	menu.addListener (SWT.Show, new Listener () {
-		public void handleEvent (Event event) {
-			MenuItem [] menuItems = menu.getItems ();
-			for (int i=0; i<menuItems.length; i++) {
-				menuItems [i].dispose ();
-			}
-			TreeItem [] treeItems = tree.getSelection ();
-			for (int i=0; i<treeItems.length; i++) {
-				MenuItem menuItem = new MenuItem (menu, SWT.PUSH);
-				menuItem.setText (treeItems [i].getText ());
-			}
-		}
-	});
-	tree.setSize (200, 200);
-	shell.setSize (300, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet98.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet98.java
deleted file mode 100644
index f779186..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet98.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Composite example snippet: create and dispose children of a composite
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet98 {
-
-static int pageNum = 0;
-static Composite pageComposite;
-
-public static void main(String args[]) {
-	Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.setLayout(new GridLayout());
-	Button button = new Button(shell, SWT.PUSH);
-	button.setText("Push");
-	pageComposite = new Composite(shell, SWT.NONE);
-	pageComposite.setLayout(new GridLayout());
-	pageComposite.setLayoutData(new GridData());
-
-	button.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			if ((pageComposite != null) && (!pageComposite.isDisposed())) {
-				pageComposite.dispose();
-			}
-			pageComposite = new Composite(shell, SWT.NONE);
-			pageComposite.setLayout(new GridLayout());
-			pageComposite.setLayoutData(new GridData());
-			if (pageNum++ % 2 == 0) {
-				Table table = new Table(pageComposite, SWT.BORDER);
-				table.setLayoutData(new GridData());
-				for (int i = 0; i < 5; i++) {
-					new TableItem(table, SWT.NONE).setText("table item " + i);
-				}
-			} else {
-				new Button(pageComposite, SWT.RADIO).setText("radio");
-			}
-			shell.layout(true);
-		}
-	});
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet99.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet99.java
deleted file mode 100644
index 86a3acc..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet99.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Shell example snippet: prevent a shell from closing (prompt the user)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet99 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.addListener (SWT.Close, new Listener () {
-		public void handleEvent (Event event) {
-			int style = SWT.APPLICATION_MODAL | SWT.YES | SWT.NO;
-			MessageBox messageBox = new MessageBox (shell, style);
-			messageBox.setText ("Information");
-			messageBox.setMessage ("Close the shell?");
-			event.doit = messageBox.open () == SWT.YES;
-		}
-	});
-	shell.pack ();
-	shell.open();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/SnippetLauncher.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/SnippetLauncher.java
deleted file mode 100644
index 3741990..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/SnippetLauncher.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.eclipse.swt.snippets;
-
-/*
- * Simple "hackable" code that runs all of the SWT Snippets,
- * typically for testing. One example of a useful "hack" is
- * to add the line:
- *    if (source.indexOf("Table") == -1 && source.indexOf("Tree") == -1) continue;
- * after the line:
- *    String source = String.valueOf(buffer);
- * in order to run all of the Table and Tree Snippets.
- */
-import java.lang.reflect.*;
-import java.io.*;
-import org.eclipse.swt.SWT;
-
-public class SnippetLauncher {
-
-	public static void main (String [] args) {
-		File sourceDir = new File("src/org/eclipse/swt/snippets");
-		boolean hasSource = sourceDir.exists();
-		int count = 300;
-		if (hasSource) {
-			File [] files = sourceDir.listFiles();
-			if (files.length > 0) count = files.length;
-		}
-		for (int i = 1; i < count; i++) {
-			if (i == 136 || i == 151 || i == 180 || i == 219) continue;
-			String className = "Snippet" + i;
-			Class clazz = null;
-			try {
-				clazz = Class.forName("org.eclipse.swt.snippets." + className);
-			} catch (ClassNotFoundException e) {}
-			if (clazz != null) {
-				System.out.println("\n" + clazz.getName());
-				if (hasSource) {
-					File sourceFile = new File(sourceDir, className + ".java");
-					try {
-						FileReader reader = new FileReader(sourceFile);
-						char [] buffer = new char [(int)sourceFile.length()];
-						reader.read(buffer);
-						String source = String.valueOf(buffer);
-						int start = source.indexOf("package");
-						start = source.indexOf("/*", start);
-						int end = source.indexOf("* For a list of all");
-						System.out.println(source.substring(start, end-3));
-						boolean skip = false;
-						String platform = SWT.getPlatform();
-						if (source.indexOf("PocketPC") != -1) {
-							platform = "PocketPC";
-							skip = true;
-						} else if (source.indexOf("OpenGL") != -1) {
-							platform = "OpenGL";
-							skip = true;
-						} else if (source.indexOf("JavaXPCOM") != -1) {
-							platform = "JavaXPCOM";
-							skip = true;
-						} else {
-							String [] platforms = {"win32", "motif", "gtk", "photon", "carbon"};
-							for (int p = 0; p < platforms.length; p++) {
-								if (!platforms[p].equals(platform) && source.indexOf("." + platforms[p]) != -1) {
-									platform = platforms[p];
-									skip = true;
-									break;
-								}
-							}
-						}
-						if (skip) {
-							System.out.println("...skipping " + platform + " example...");
-							continue;
-						}
-					} catch (Exception e) {}
-				}
-				Method method = null;
-				String [] param = new String [0];
-				if (i == 81) param = new String[] {"Shell.Explorer"};
-				try {
-					method = clazz.getMethod("main", new Class[] {param.getClass()});
-				} catch (NoSuchMethodException e) {
-					System.out.println("   Did not find main(String [])");
-				}
-				if (method != null) {
-					try {
-						method.invoke(clazz, new Object [] {param});
-					} catch (IllegalAccessException e) {
-						System.out.println("   Failed to launch (illegal access)");
-					} catch (IllegalArgumentException e) {
-						System.out.println("   Failed to launch (illegal argument to main)");
-					} catch (InvocationTargetException e) {
-						System.out.println("   Exception in Snippet: " + e.getTargetException());
-					}
-				}
-			}
-		}
-	}
-}